49 #ifndef DW_SENSORS_IMU_IMU_H_    50 #define DW_SENSORS_IMU_IMU_H_    52 #include <dw/core/Config.h>   190 #endif // DW_SENSORS_IMU_IMU_H_ Value of dwIMUFrame.turnrate[2] is valid. 
 
NVIDIA DriveWorks API: Core Types 
 
float64_t magnetometer[3]
Measurement of the magnetometer unit in X, Y, and Z directions [utesla]. 
 
dwIMUFlags
Each flag shows if that value is valid in this IMU frame. 
 
Value of dwIMUFrame.orientation[2] is valid. 
 
dwQuaterniond orientationQuaternion
Quaternion representation (x, y, z, w) of the orientation returned by the IMU. 
 
Defines a double-precision quaternion. 
 
Value of dwIMUFrame.magnetometer[1] is valid. 
 
Value of dwIMUFrame.turnrate[1] is valid. 
 
dwTime_t timestamp_us
Timestamp for the current message. Indicates when it's first received [usec]. 
 
Value of dwIMUFrame.magnetometer[0] is valid. 
 
DW_API_PUBLIC dwStatus dwSensorIMU_popFrame(dwIMUFrame *frame, dwSensorHandle_t sensor)
Returns any IMU data previously processed through the raw data stream. 
 
struct dwSensorObject * dwSensorHandle_t
Handle representing a sensor. 
 
Value of dwIMUFrame.acceleration[1] is valid. 
 
dwStatus
Status definition. 
 
NVIDIA DriveWorks API: Sensors 
 
Value of dwIMUFrame.heading is valid. 
 
float64_t acceleration[3]
Acceleration in X, Y, and Z directions [m/s^2]. 
 
Value of dwIMUFrame.orientation[0] is valid. 
 
int64_t dwTime_t
Specifies a timestamp unit, in microseconds. 
 
uint32_t flags
The flags to show which values are valid in this IMU frame. 
 
!< Value of dwIMUFrame.orientationQuaternion.w is valid. 
 
An IMU frame containing sensor readings from the IMU sensor. 
 
Value of dwIMUFrame.orientation[1] is valid. 
 
Value of dwIMUFrame.acceleration[2] is valid. 
 
!< Value of dwIMUFrame.orientationQuaternion.x is valid. 
 
!< Value of dwIMUFrame.orientationQuaternion.y is valid. 
 
!< Value of dwIMUFrame.orientationQuaternion.z is valid. 
 
float64_t heading
Heading of the IMU measured in respect to the ENU system [degrees], i.e., compass. 
 
DW_API_PUBLIC dwStatus dwSensorIMU_readFrame(dwIMUFrame *frame, dwTime_t timeout_us, dwSensorHandle_t sensor)
Reads the next IMU frame from the sensor within a given timeout. 
 
Value of dwIMUFrame.magnetometer[2] is valid. 
 
Value of dwIMUFrame.acceleration[0] is valid. 
 
dwIMUHeadingType
Types of the heading degree. 
 
NVIDIA DriveWorks API: Core Exports 
 
DW_API_PUBLIC dwStatus dwSensorIMU_processRawData(const uint8_t *data, size_t size, dwSensorHandle_t sensor)
Reads the IMU frame from raw data. 
 
float64_t turnrate[3]
Roll, pitch, and yaw turn rate (i.e., gyroscope)[rad/s]. 
 
dwIMUHeadingType headingType
Type of the heading information. 
 
float64_t orientation[3]
Roll, pitch, and yaw angle of the orientation returned by the IMU [degree].