Defines the IMU sensor.
Data Structures | |
| struct | dwIMUFrame |
| This structure contains one frame of data from a IMU sensor. More... | |
| struct | dwIMUFrameNew |
| This structure contains one frame of data from a IMU sensor. More... | |
| struct | dwIMUSignalValidityInfo |
| This structure contains validity of each signal provided by IMU sensors. More... | |
Functions | |
| DW_API_PUBLIC dwStatus | dwSensorIMU_popFrame (dwIMUFrame *const frame, dwSensorHandle_t const sensor) |
| Returns any IMU data previously processed through the raw data stream. More... | |
| DW_API_PUBLIC dwStatus | dwSensorIMU_popFrameNew (dwIMUFrameNew *const frame, dwSensorHandle_t const sensor) |
| Returns any IMU Frame New previously processed through the raw data stream. More... | |
| DW_API_PUBLIC dwStatus | dwSensorIMU_processRawData (uint8_t const *const data, size_t const size, dwSensorHandle_t const sensor) |
| Reads the IMU frame from raw data. More... | |
| DW_API_PUBLIC dwStatus | dwSensorIMU_processRawDataNew (uint8_t const *const data, size_t const size, dwSensorHandle_t const sensor) |
| Reads the IMU frame New from raw data. More... | |
| DW_API_PUBLIC dwStatus | dwSensorIMU_readFrame (dwIMUFrame *const frame, dwTime_t const timeoutUs, dwSensorHandle_t const sensor) |
| Reads the next IMU frame from the sensor within a given timeout. More... | |
| DW_API_PUBLIC dwStatus | dwSensorIMU_readFrameNew (dwIMUFrameNew *const frame, dwTime_t const timeoutUs, dwSensorHandle_t const sensor) |
| Reads the next IMU frame New from the sensor within a given timeout. More... | |
| struct dwIMUFrame |
| Data Fields | ||
|---|---|---|
| float64_t | acceleration[3] |
|
| float64_t | accelerationOffset[3] |
|
| dwIMUAlignmentStatus | alignmentStatus | Alignment status. |
| uint32_t | flags | The flags to show which values are valid in this IMU frame. Definition of each bit is in enum dwIMUFlags. |
| float64_t | heading |
|
| dwIMUHeadingType | headingType | Type of the heading information. |
| dwIMUImuAccelerationQuality | imuAccelerationQuality[3] |
|
| dwIMUImuStatus | imuStatus |
|
| dwIMUImuTempQuality | imuTempQuality |
|
| dwIMUImuTimestampQuality | imuTimestampQuality |
|
| dwIMUImuTurnrateAccelQuality | imuTurnrateAccelQuality[3] |
|
| uint8_t | imuTurnrateOffsetQuality[3] |
|
| uint8_t | imuTurnrateOffsetQualityStatus[3] |
|
| dwIMUImuTurnrateQuality | imuTurnrateQuality[3] |
|
| float64_t | magnetometer[3] |
|
| float64_t | orientation[3] |
|
| dwQuaterniond | orientationQuaternion |
|
| uint8_t | reserved[495] | Reserved. |
| uint8_t | sequenceCounter |
|
| float32_t | temperature |
|
| dwTime_t | timestamp_us |
|
| uint8_t | timeSyncStatus | time sync status |
| float64_t | turnrate[3] |
|
| float64_t | turnrateAccel[3] |
|
| float64_t | turnrateOffset[3] |
|
| dwIMUSignalValidityInfo | validityInfo | Signal validity info. |
| struct dwIMUFrameNew |
| Data Fields | ||
|---|---|---|
| float64_t | acceleration[3] |
|
| float64_t | accelerationOffset[3] |
|
| dwIMUAlignmentStatus | alignmentStatus | Alignment status. |
| float64_t | heading |
|
| dwIMUImuAccelerationQuality | imuAccelerationQuality[3] |
|
| dwIMUImuStatus | imuStatus |
|
| dwIMUImuTempQuality | imuTempQuality |
|
| dwIMUImuTimestampQuality | imuTimestampQuality |
|
| dwIMUImuTurnrateAccelQuality | imuTurnrateAccelQuality[3] |
|
| uint8_t | imuTurnrateOffsetQuality[3] |
|
| uint8_t | imuTurnrateOffsetQualityStatus[3] |
|
| dwIMUImuTurnrateQuality | imuTurnrateQuality[3] |
|
| float64_t | magnetometer[3] |
|
| float64_t | orientation[3] |
|
| dwQuaterniond | orientationQuaternion |
|
| uint8_t | reserved[504] | Reserved. |
| uint8_t | sequenceCounter |
|
| float32_t | temperature |
|
| dwTime_t | timestamp_us |
|
| float64_t | turnrate[3] |
|
| float64_t | turnrateAccel[3] |
|
| float64_t | turnrateOffset[3] |
|
| dwIMUSignalValidityInfo | validityInfo | Signal validity information. |
| struct dwIMUSignalValidityInfo |
| Data Fields | ||
|---|---|---|
| dwSignalValidity | acceleration[3] | Validity of acceleration signals in X, Y and Z axis. |
| dwSignalValidity | accelerationOffset[3] | Validity of measured acceleration offsets in X, Y and Z axis. |
| dwSignalValidity | alignmentStatus | Validity of alignment status signal. |
| dwSignalValidity | heading | Validity of heading signal. |
| dwSignalValidity | imuAccelerationQuality[3] | Validity of status of acceleration values for X, Y and Z axis. |
| dwSignalValidity | imuStatus | Validity of overall IMU status signal. |
| dwSignalValidity | imuTempQuality | Validity of quality of measured temperature. |
| dwSignalValidity | imuTimestampQuality | Validity of status of timestamp signal. |
| dwSignalValidity | imuTurnrateAccelQuality[3] | Validity of status of gyroscope accelerations for roll, pitch and yaw angles. |
| dwSignalValidity | imuTurnrateOffsetQuality[3] | Validity of status of gyroscope offsets for roll, pitch and yaw angles. |
| dwSignalValidity | imuTurnrateOffsetQualityStatus[3] | Validity of status of IMU gyroscope offset quality values for roll, pitch and yaw angles. |
| dwSignalValidity | imuTurnrateQuality[3] | Validity of status of gyroscope values for roll, pitch and yaw angles. |
| dwSignalValidity | magnetometer[3] | Validity of measurement of magnetometer signals in X, Y and Z axis. |
| dwSignalValidity | orientation[3] | Validity of measurements of orientations in roll, pitch and yaw angles. |
| dwSignalValidity | orientationQuaternion | Validity of orientation values represented in quaternions. |
| dwSignalValidity | reserved[58] | Reserved space. |
| dwSignalValidity | sequenceCounter | Validity of IMU frame sequence counter value. |
| dwSignalValidity | temperature | Validity of measured temperature. |
| dwSignalValidity | timestamp_us | Validity of timestamp signal. |
| dwSignalValidity | timeSyncStatus | Validity of status of time sync. |
| dwSignalValidity | turnrate[3] | Validity of gyroscope in roll, pitch and yaw angles. |
| dwSignalValidity | turnrateAccel[3] | Validity of gyroscope accelerations in roll, pitch and yaw angles. |
| dwSignalValidity | turnrateOffset[3] | Validity of gyroscope offsets in roll, pitch and yaw angles. |
| enum dwIMUAlignmentStatus |
High rate data output from GNSS-IMU device requires fusion of GNSS and IMU.
The data can only be accurate if the GNSS/IMU device has gone through an internal alignment initialization, which allows the device to know the orientation of the IMU. This status indicates the quality of IMU alignment.
| enum dwIMUFlags |
Each flag shows if that value is valid in this IMU frame.
| Enumerator | |
|---|---|
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| enum dwIMUHeadingType |
Types of the heading degree.
| Enumerator | |
|---|---|
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| DW_DEPRECATED_ENUM | Value of dwIMUFrame.heading is valid. Magnetic heading. True heading. Value of dwIMUFrame.alignmentStatus is valid. Value of dwIMUFrame.magnetometer[2] is valid. Value of dwIMUFrame.magnetometer[1] is valid. Value of dwIMUFrame.magnetometer[0] is valid. Value of dwIMUFrame.acceleration[2] is valid. Value of dwIMUFrame.acceleration[1] is valid. Value of dwIMUFrame.acceleration[0] is valid. Value of dwIMUFrame.turnrate[2] is valid. Value of dwIMUFrame.turnrate[1] is valid. Value of dwIMUFrame.turnrate[0] is valid. Value of dwIMUFrame.orientationQuaternion.w is valid. Value of dwIMUFrame.orientationQuaternion.z is valid. Value of dwIMUFrame.orientationQuaternion.y is valid. Value of dwIMUFrame.orientationQuaternion.x is valid. Value of dwIMUFrame.orientation[2] is valid. Value of dwIMUFrame.orientation[1] is valid. Value of dwIMUFrame.orientation[0] is valid. 'dwIMUFrame.heading' points towards true north. 'dwIMUFrame.heading' points towards magnetic north. |
| DW_IMU_HEADING_FORCE32 | Guard. |
| enum dwIMUImuStatus |
| enum dwIMUImuTempQuality |
| DW_API_PUBLIC dwStatus dwSensorIMU_popFrame | ( | dwIMUFrame *const | frame, |
| dwSensorHandle_t const | sensor | ||
| ) |
Returns any IMU data previously processed through the raw data stream.
This happens on the CPU thread where the function is called, incurring an additional load on that thread.
| [out] | frame | Pointer to an IMU frame structure to be filled with new data. |
| [in] | sensor | Sensor handle of the sensor previously created with 'dwSAL_createSensor()'. |
| DW_API_PUBLIC dwStatus dwSensorIMU_popFrameNew | ( | dwIMUFrameNew *const | frame, |
| dwSensorHandle_t const | sensor | ||
| ) |
Returns any IMU Frame New previously processed through the raw data stream.
This happens on the CPU thread where the function is called, incurring an additional load on that thread.
| [out] | frame | Pointer to an IMU frame New structure to be filled with new data. |
| [in] | sensor | Sensor handle of the sensor previously created with 'dwSAL_createSensor()'. |
| DW_API_PUBLIC dwStatus dwSensorIMU_processRawData | ( | uint8_t const *const | data, |
| size_t const | size, | ||
| dwSensorHandle_t const | sensor | ||
| ) |
Reads the IMU frame from raw data.
Any processed messages can be picked up using the dwSensorIMU_readFrame() method. This happens on the CPU thread where the function is called, incurring an additional load on that thread.
| [in] | data | Undecoded imu data. |
| [in] | size | Size in bytes of the raw data. |
| [in] | sensor | Sensor handle of the sensor previously created with 'dwSAL_createSensor()'. |
| DW_API_PUBLIC dwStatus dwSensorIMU_processRawDataNew | ( | uint8_t const *const | data, |
| size_t const | size, | ||
| dwSensorHandle_t const | sensor | ||
| ) |
Reads the IMU frame New from raw data.
Any processed messages can be picked up using the dwSensorIMU_readFrameNew() method. This happens on the CPU thread where the function is called, incurring an additional load on that thread.
| [in] | data | Undecoded imu data. |
| [in] | size | Size in bytes of the raw data. |
| [in] | sensor | Sensor handle of the sensor previously created with 'dwSAL_createSensor()'. |
| DW_API_PUBLIC dwStatus dwSensorIMU_readFrame | ( | dwIMUFrame *const | frame, |
| dwTime_t const | timeoutUs, | ||
| dwSensorHandle_t const | sensor | ||
| ) |
Reads the next IMU frame from the sensor within a given timeout.
The method blocks until either a new valid frame is received from the sensor or the given timeout is exceeded.
| [out] | frame | A pointer to an IMU frame structure to be filled with new data. |
| [in] | timeoutUs | Timeout, in us, to wait for a new message. Special values: DW_TIMEOUT_INFINITE - to wait infinitely. Zero - means polling of internal queue. |
| [in] | sensor | Sensor handle of the IMU sensor previously created with dwSAL_createSensor(). |
| DW_API_PUBLIC dwStatus dwSensorIMU_readFrameNew | ( | dwIMUFrameNew *const | frame, |
| dwTime_t const | timeoutUs, | ||
| dwSensorHandle_t const | sensor | ||
| ) |
Reads the next IMU frame New from the sensor within a given timeout.
The method blocks until either a new valid frame is received from the sensor or the given timeout is exceeded.
| [out] | frame | A pointer to an IMU frame New structure to be filled with new data. |
| [in] | timeoutUs | Timeout, in us, to wait for a new message. Special values: DW_TIMEOUT_INFINITE - to wait infinitely. Zero - means polling of internal queue. |
| [in] | sensor | Sensor handle of the IMU sensor previously created with dwSAL_createSensor(). |