Why is the processing time of dwSensor_readRawData() getting longer?

Hardware Platform: [DRIVE AGX Xavier™ Developer Kit]
Software Version: [DRIVE Software 10]
Host Machine Version: [Ubuntu 18.04]
SDK Manager Version: [Example: 1.0.1.5538]

Hardware environment
-DRIVE AGX Xavier
-IMU: Xsens MTi-G-710

We would like to guarantee 30 FPS data read to the IMU device, but when we use dwSensor_readRawData() to retrieve the data, it sometimes takes more than 33 ms to call it.
Therefore, we would like to find out the reason why it is taking 33 ms and consider countermeasures.
Can you tell us the reason why it is taking more than 33ms to call the above API and how to identify it?

The situation we are currently checking is as follows

  • The output cycle of the IMU device is set to 80Hz (12.5ms) and the call time of dwSensor_readRawData() is normally 12.5ms, but sometimes exceeds 33ms.
  • When dwSensor_readRawData() is called on an IMU device, in our environment, 272 bytes of raw data can usually be obtained.
    However, sometimes integer multiples of data such as 544, 816, and 1088 bytes can be acquired, and this event often occurs when the call time is extended.
  • I set 15000 = 15ms to timeout_us, which is the argument of dwSensor_readRawData(), and moved it, but the call still exceeded 33ms.

Dear @N.Miya,
Is it possible to share some reproducible to code to trouble shoot the issue on our end?

Dear @N.Miya,
Can you provide a repro code to move this issue forward?