• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>

  • DriveWorks SDK Reference
    5.10.90 Release
    For Test and Development only

    All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages

    Detailed Description

    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...
     

    Enumerations

    enum  dwIMUAlignmentStatus {
      DW_IMU_ALIGNMENT_STATUS_UNKNOWN = 0 ,
      DW_IMU_ALIGNMENT_STATUS_INVALID = 1 ,
      DW_IMU_ALIGNMENT_STATUS_COARSE = 2 ,
      DW_IMU_ALIGNMENT_STATUS_FINE = 3 ,
      DW_IMU_ALIGNMENT_STATUS_FORCE32 = 0x7FFFFFFF
    }
     High rate data output from GNSS-IMU device requires fusion of GNSS and IMU. More...
     
    enum  dwIMUFlags {
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1 ,
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1 ,
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1 ,
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1 ,
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1 ,
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1 ,
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1 ,
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1 ,
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1 ,
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1 ,
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1 ,
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1 ,
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1 ,
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1 ,
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1 ,
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1 ,
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1 ,
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1
    }
     Each flag shows if that value is valid in this IMU frame. More...
     
    enum  dwIMUHeadingType {
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1 ,
      DW_DEPRECATED_ENUM =("Use dwIMUFrame.validityInfo.heading instead") = 1U << 1 ,
      DW_IMU_HEADING_FORCE32 = 0x7FFFFFFF
    }
     Types of the heading degree. More...
     
    enum  dwIMUImuAccelerationQuality {
      DW_IMU_IMU_ACCELERATION_QUALITY_UNKNOWN = 0 ,
      DW_IMU_IMU_ACCELERATION_QUALITY_INIT = 1 ,
      DW_IMU_IMU_ACCELERATION_QUALITY_UNCALIB = 2 ,
      DW_IMU_IMU_ACCELERATION_QUALITY_OK = 3 ,
      DW_IMU_IMU_ACCELERATION_QUALITY_TMP_FAIL = 4 ,
      DW_IMU_IMU_ACCELERATION_QUALITY_PRMNT_FAIL = 5 ,
      DW_IMU_IMU_ACCELERATION_QUALITY_SENS_NOT_INST = 6 ,
      DW_IMU_IMU_ACCELERATION_QUALITY_OVERLOAD = 7 ,
      DW_IMU_IMU_ACCELERATION_QUALITY_TEMPERATURE = 8 ,
      DW_IMU_IMU_ACCELERATION_QUALITY_FORCE32 = 0x7FFFFFFF
    }
     
    enum  dwIMUImuStatus {
      DW_IMU_IMU_STATUS_UNKNOWN = 0 ,
      DW_IMU_IMU_STATUS_INIT = 1 ,
      DW_IMU_IMU_STATUS_UNCALIB = 2 ,
      DW_IMU_IMU_STATUS_OK = 3 ,
      DW_IMU_IMU_STATUS_TMP_FAIL = 4 ,
      DW_IMU_IMU_STATUS_PRMNT_FAIL = 5 ,
      DW_IMU_IMU_STATUS_SENS_NOT_INST = 6 ,
      DW_IMU_IMU_STATUS_FORCE32 = 0x7FFFFFFF
    }
     
    enum  dwIMUImuTempQuality {
      DW_IMU_IMU_TEMP_QUALITY_INIT = 0 ,
      DW_IMU_IMU_TEMP_QUALITY_UNCALIB = 1 ,
      DW_IMU_IMU_TEMP_QUALITY_OK = 2 ,
      DW_IMU_IMU_TEMP_QUALITY_TMP_FAIL = 3 ,
      DW_IMU_IMU_TEMP_QUALITY_PRMNT_FAIL = 4 ,
      DW_IMU_IMU_TEMP_QUALITY_SENS_NOT_INST = 5 ,
      DW_IMU_IMU_TEMP_QUALITY_FORCE32 = 0x7FFFFFFF
    }
     
    enum  dwIMUImuTimestampQuality {
      DW_IMU_IMU_TIMESTAMP_QUALITY_NOT_INIT = 0 ,
      DW_IMU_IMU_TIMESTAMP_QUALITY_OK = 2 ,
      DW_IMU_IMU_TIMESTAMP_QUALITY_SYNC_LOST = 3 ,
      DW_IMU_IMU_TIMESTAMP_QUALITY_FORCE32 = 0x7FFFFFFF
    }
     
    enum  dwIMUImuTurnrateAccelQuality {
      DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_UNKNOWN = 0 ,
      DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_INIT = 1 ,
      DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_UNCALIB = 2 ,
      DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_OK = 3 ,
      DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_TMP_FAIL = 4 ,
      DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_PRMNT_FAIL = 5 ,
      DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_SENS_NOT_INST = 6 ,
      DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_OVERLOAD = 7 ,
      DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_TEMPERATURE = 8 ,
      DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_FORCE32 = 0x7FFFFFFF
    }
     
    enum  dwIMUImuTurnrateQuality {
      DW_IMU_IMU_TURNRATE_QUALITY_UNKNOWN = 0 ,
      DW_IMU_IMU_TURNRATE_QUALITY_INIT = 1 ,
      DW_IMU_IMU_TURNRATE_QUALITY_UNCALIB = 2 ,
      DW_IMU_IMU_TURNRATE_QUALITY_OK = 3 ,
      DW_IMU_IMU_TURNRATE_QUALITY_TMP_FAIL = 4 ,
      DW_IMU_IMU_TURNRATE_QUALITY_PRMNT_FAIL = 5 ,
      DW_IMU_IMU_TURNRATE_QUALITY_SENS_NOT_INST = 6 ,
      DW_IMU_IMU_TURNRATE_QUALITY_OVERLOAD = 7 ,
      DW_IMU_IMU_TURNRATE_QUALITY_TEMPERATURE = 8 ,
      DW_IMU_IMU_TURNRATE_QUALITY_FORCE32 = 0x7FFFFFFF
    }
     

    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...
     

    Data Structure Documentation

    ◆ dwIMUFrame

    struct dwIMUFrame
    Data Fields
    float64_t acceleration[3]
    Note
    ID VS-90050
    description Acceleration in X, Y, and Z directions. Linear acceleration measured by the IMU sensor, it does include the gravity component as the sensor measures the reaction due to gravity. This is sometimes referred to as “proper acceleration”. This is an IMU sensor signal, as such it reflects all the motions of the sensor itself, including suspension flexing, gravity, vehicle turning, rolling and pitching. Coordinate system is that of the sensor itself, refer to manufacturer datasheet..
    min nan max nan
    freq 100 unit m/s2
    float64_t accelerationOffset[3]
    Note
    ID VS-90100
    description IMU acceleration offset values.
    min nan max nan
    freq 100 unit m/s2
    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
    Note
    ID VS-90070
    description Heading of the IMU measured in respect to the ENU system, i.e., compass. This is a signal that can be provided by certain IMU+GNSS sensor solutions as part of the state estimation. It is not used by egomotion. Heading is defined with respect to ENU coordinate system, whereas yaw is in an arbitrary local coordinate system..
    min nan max nan
    freq 100 unit deg
    dwIMUHeadingType headingType Type of the heading information.
    dwIMUImuAccelerationQuality imuAccelerationQuality[3]
    Note
    ID VS-90150
    description Vehicle IMU acceleration values status.
    TODO: Backend not yet implemented
    min nan max nan
    freq 100 unit -
    *** valid values**: { DW_IMU_IMU_ACCELERATION_QUALITY_UNKNOWN DW_IMU_IMU_ACCELERATION_QUALITY_INIT, DW_IMU_IMU_ACCELERATION_QUALITY_UNCALIB, DW_IMU_IMU_ACCELERATION_QUALITY_OK, DW_IMU_IMU_ACCELERATION_QUALITY_TMP_FAIL, DW_IMU_IMU_ACCELERATION_QUALITY_PRMNT_FAIL, DW_IMU_IMU_ACCELERATION_QUALITY_SENS_NOT_INST, DW_IMU_IMU_ACCELERATION_QUALITY_OVERLOAD, DW_IMU_IMU_ACCELERATION_QUALITY_TEMPERATURE }
    dwIMUImuStatus imuStatus
    Note
    ID VS-90200
    description Vehicle IMU overall status.
    min nan max nan
    freq 100 unit -
    *** valid values**: { DW_IMU_IMU_STATUS_UNKNOWN DW_IMU_IMU_STATUS_INIT, DW_IMU_IMU_STATUS_UNCALIB, DW_IMU_IMU_STATUS_OK, DW_IMU_IMU_STATUS_TMP_FAIL, DW_IMU_IMU_STATUS_PRMNT_FAIL, DW_IMU_IMU_STATUS_SENS_NOT_INST }
    dwIMUImuTempQuality imuTempQuality
    Note
    ID VS-90140
    description Vehicle IMU temperature status.
    TODO: Backend not yet implemented
    min nan max nan
    freq 100 unit -
    *** valid values**: { DW_IMU_IMU_TEMP_QUALITY_INIT, DW_IMU_IMU_TEMP_QUALITY_UNCALIB, DW_IMU_IMU_TEMP_QUALITY_OK, DW_IMU_IMU_TEMP_QUALITY_TMP_FAIL, DW_IMU_IMU_TEMP_QUALITY_PRMNT_FAIL, DW_IMU_IMU_TEMP_QUALITY_SENS_NOT_INST }
    dwIMUImuTimestampQuality imuTimestampQuality
    Note
    ID VS-90190
    description Vehicle IMU timestamp quality.
    TODO: Backend not yet implemented
    min nan max nan
    freq 100 unit -
    *** valid values**: { DW_IMU_IMU_TIMESTAMP_QUALITY_NOT_INIT, DW_IMU_IMU_TIMESTAMP_QUALITY_OK, DW_IMU_IMU_TIMESTAMP_QUALITY_SYNC_LOST, }
    dwIMUImuTurnrateAccelQuality imuTurnrateAccelQuality[3]
    Note
    ID VS-90180
    description Vehicle IMU gyroscope acceleration values quality.
    TODO: Backend not yet implemented
    min nan max nan
    freq 100 unit -
    *** valid values**: { DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_UNKNOWN DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_INIT, DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_UNCALIB, DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_OK, DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_TMP_FAIL, DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_PRMNT_FAIL, DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_SENS_NOT_INST, DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_OVERLOAD, DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_TEMPERATURE }
    uint8_t imuTurnrateOffsetQuality[3]
    Note
    ID VS-90170
    description Vehicle IMU gyroscope offset values quality on a scale of 0...62.
    TODO: Backend not yet implemented
    min nan max nan
    freq 100 unit unitless
    uint8_t imuTurnrateOffsetQualityStatus[3]
    Note
    ID VS-90171
    description Vehicle IMU gyroscope offset values quality is free of errors.
    TODO: Backend not yet implemented
    min nan max nan
    freq 100 unit unitless
    dwIMUImuTurnrateQuality imuTurnrateQuality[3]
    Note
    ID VS-90160
    description Vehicle IMU gyroscope values quality.
    TODO: Backend not yet implemented
    min nan max nan
    freq 100 unit -
    *** valid values**: { DW_IMU_IMU_TURNRATE_QUALITY_UNKNOWN DW_IMU_IMU_TURNRATE_QUALITY_INIT, DW_IMU_IMU_TURNRATE_QUALITY_UNCALIB, DW_IMU_IMU_TURNRATE_QUALITY_OK, DW_IMU_IMU_TURNRATE_QUALITY_TMP_FAIL, DW_IMU_IMU_TURNRATE_QUALITY_PRMNT_FAIL, DW_IMU_IMU_TURNRATE_QUALITY_SENS_NOT_INST, DW_IMU_IMU_TURNRATE_QUALITY_OVERLOAD, DW_IMU_IMU_TURNRATE_QUALITY_TEMPERATURE }
    float64_t magnetometer[3]
    Note
    ID VS-90060
    description Measurement of the magnetometer unit in X, Y, and Z directions.
    min nan max nan
    freq 100 unit utesla
    float64_t orientation[3]
    Note
    ID VS-90020
    description Roll, pitch, and yaw angle of the orientation returned by the IMU. This is a signal that can be provided by certain types of IMUs as part of their internal state estimation. It is not used by egomotion.
    min nan max nan
    freq 100 unit deg
    dwQuaterniond orientationQuaternion
    Note
    ID VS-90030
    description Quaternion representation (x, y, z, w) of the orientation returned by the IMU. This is a signal that can be provided by certain types of IMUs as part of their internal state estimation. It is not used by egomotion..
    min nan max nan
    freq 100 unit unitless
    uint8_t reserved[495] Reserved.
    uint8_t sequenceCounter
    Note
    description Sequence counter
    TODO: Backend not yet implemented
    float32_t temperature
    Note
    ID VS-90090
    description IMU temperature.
    min nan max nan
    freq 100 unit C
    dwTime_t timestamp_us
    Note
    ID VS-90010
    description Timestamp for the current message. Indicates when it's first received.
    min nan max nan
    freq 100 unit us
    uint8_t timeSyncStatus time sync status
    float64_t turnrate[3]
    Note
    ID VS-90040
    description Roll, pitch, and yaw turn rate (i.e., gyroscope). Angular velocities measured by the IMU sensor, they are given in the coordinate system of the sensor..
    min nan max nan
    freq 100 unit rad/s
    float64_t turnrateAccel[3]
    Note
    ID VS-90120
    description IMU gyroscope acceleration values.
    min nan max nan
    freq 100 unit rad/sec2
    float64_t turnrateOffset[3]
    Note
    ID VS-90110
    description IMU gyroscope offset values.
    min nan max nan
    freq 100 unit rad/s
    dwIMUSignalValidityInfo validityInfo Signal validity info.

    ◆ dwIMUFrameNew

    struct dwIMUFrameNew
    Data Fields
    float64_t acceleration[3]
    Note
    ID VS-90050
    description Acceleration in X, Y, and Z directions. Linear acceleration measured by the IMU sensor, it does include the gravity component as the sensor measures the reaction due to gravity. This is sometimes referred to as “proper acceleration”. This is an IMU sensor signal, as such it reflects all the motions of the sensor itself, including suspension flexing, gravity, vehicle turning, rolling and pitching. Coordinate system is that of the sensor itself, refer to manufacturer datasheet..
    min nan max nan
    freq 100 unit m/s2
    float64_t accelerationOffset[3]
    Note
    ID VS-90100
    description IMU acceleration offset values.
    min nan max nan
    freq 100 unit m/s2
    dwIMUAlignmentStatus alignmentStatus Alignment status.
    float64_t heading
    Note
    ID VS-90070
    description Heading of the IMU measured in respect to the ENU system, i.e., compass. This is a signal that can be provided by certain IMU+GNSS sensor solutions as part of the state estimation. It is not used by egomotion. Heading is defined with respect to ENU coordinate system, whereas yaw is in an arbitrary local coordinate system..
    min nan max nan
    freq 100 unit deg
    dwIMUImuAccelerationQuality imuAccelerationQuality[3]
    Note
    ID VS-90150
    description Vehicle IMU acceleration values status.
    TODO: Backend not yet implemented
    min nan max nan
    freq 100 unit -
    *** valid values**: { DW_IMU_IMU_ACCELERATION_QUALITY_UNKNOWN DW_IMU_IMU_ACCELERATION_QUALITY_INIT, DW_IMU_IMU_ACCELERATION_QUALITY_UNCALIB, DW_IMU_IMU_ACCELERATION_QUALITY_OK, DW_IMU_IMU_ACCELERATION_QUALITY_TMP_FAIL, DW_IMU_IMU_ACCELERATION_QUALITY_PRMNT_FAIL, DW_IMU_IMU_ACCELERATION_QUALITY_SENS_NOT_INST, DW_IMU_IMU_ACCELERATION_QUALITY_OVERLOAD, DW_IMU_IMU_ACCELERATION_QUALITY_TEMPERATURE }
    dwIMUImuStatus imuStatus
    Note
    ID VS-90200
    description Vehicle IMU overall status.
    min nan max nan
    freq 100 unit -
    *** valid values**: { DW_IMU_IMU_STATUS_UNKNOWN DW_IMU_IMU_STATUS_INIT, DW_IMU_IMU_STATUS_UNCALIB, DW_IMU_IMU_STATUS_OK, DW_IMU_IMU_STATUS_TMP_FAIL, DW_IMU_IMU_STATUS_PRMNT_FAIL, DW_IMU_IMU_STATUS_SENS_NOT_INST }
    dwIMUImuTempQuality imuTempQuality
    Note
    ID VS-90140
    description Vehicle IMU temperature status.
    TODO: Backend not yet implemented
    min nan max nan
    freq 100 unit -
    *** valid values**: { DW_IMU_IMU_TEMP_QUALITY_INIT, DW_IMU_IMU_TEMP_QUALITY_UNCALIB, DW_IMU_IMU_TEMP_QUALITY_OK, DW_IMU_IMU_TEMP_QUALITY_TMP_FAIL, DW_IMU_IMU_TEMP_QUALITY_PRMNT_FAIL, DW_IMU_IMU_TEMP_QUALITY_SENS_NOT_INST }
    dwIMUImuTimestampQuality imuTimestampQuality
    Note
    ID VS-90190
    description Vehicle IMU timestamp quality.
    TODO: Backend not yet implemented
    min nan max nan
    freq 100 unit -
    *** valid values**: { DW_IMU_IMU_TIMESTAMP_QUALITY_NOT_INIT, DW_IMU_IMU_TIMESTAMP_QUALITY_OK, DW_IMU_IMU_TIMESTAMP_QUALITY_SYNC_LOST, }
    dwIMUImuTurnrateAccelQuality imuTurnrateAccelQuality[3]
    Note
    ID VS-90180
    description Vehicle IMU gyroscope acceleration values quality.
    TODO: Backend not yet implemented
    min nan max nan
    freq 100 unit -
    *** valid values**: { DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_UNKNOWN DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_INIT, DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_UNCALIB, DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_OK, DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_TMP_FAIL, DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_PRMNT_FAIL, DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_SENS_NOT_INST, DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_OVERLOAD, DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_TEMPERATURE }
    uint8_t imuTurnrateOffsetQuality[3]
    Note
    ID VS-90170
    description Vehicle IMU gyroscope offset values quality on a scale of 0...62.
    TODO: Backend not yet implemented
    min nan max nan
    freq 100 unit unitless
    uint8_t imuTurnrateOffsetQualityStatus[3]
    Note
    ID VS-90171
    description Vehicle IMU gyroscope offset values quality is free of errors.
    TODO: Backend not yet implemented
    min nan max nan
    freq 100 unit unitless
    dwIMUImuTurnrateQuality imuTurnrateQuality[3]
    Note
    ID VS-90160
    description Vehicle IMU gyroscope values quality.
    TODO: Backend not yet implemented
    min nan max nan
    freq 100 unit -
    *** valid values**: { DW_IMU_IMU_TURNRATE_QUALITY_UNKNOWN DW_IMU_IMU_TURNRATE_QUALITY_INIT, DW_IMU_IMU_TURNRATE_QUALITY_UNCALIB, DW_IMU_IMU_TURNRATE_QUALITY_OK, DW_IMU_IMU_TURNRATE_QUALITY_TMP_FAIL, DW_IMU_IMU_TURNRATE_QUALITY_PRMNT_FAIL, DW_IMU_IMU_TURNRATE_QUALITY_SENS_NOT_INST, DW_IMU_IMU_TURNRATE_QUALITY_OVERLOAD, DW_IMU_IMU_TURNRATE_QUALITY_TEMPERATURE }
    float64_t magnetometer[3]
    Note
    ID VS-90060
    description Measurement of the magnetometer unit in X, Y, and Z directions.
    min nan max nan
    freq 100 unit utesla
    float64_t orientation[3]
    Note
    ID VS-90020
    description Roll, pitch, and yaw angle of the orientation returned by the IMU. This is a signal that can be provided by certain types of IMUs as part of their internal state estimation. It is not used by egomotion.
    min nan max nan
    freq 100 unit deg
    dwQuaterniond orientationQuaternion
    Note
    ID VS-90030
    description Quaternion representation (x, y, z, w) of the orientation returned by the IMU. This is a signal that can be provided by certain types of IMUs as part of their internal state estimation. It is not used by egomotion..
    min nan max nan
    freq 100 unit unitless
    uint8_t reserved[504] Reserved.
    uint8_t sequenceCounter
    Note
    description Sequence counter
    TODO: Backend not yet implemented
    float32_t temperature
    Note
    ID VS-90090
    description IMU temperature.
    min nan max nan
    freq 100 unit C
    dwTime_t timestamp_us
    Note
    ID VS-90010
    description Timestamp for the current message. Indicates when it's first received.
    min nan max nan
    freq 100 unit us
    float64_t turnrate[3]
    Note
    ID VS-90040
    description Roll, pitch, and yaw turn rate (i.e., gyroscope). Angular velocities measured by the IMU sensor, they are given in the coordinate system of the sensor..
    min nan max nan
    freq 100 unit rad/s
    float64_t turnrateAccel[3]
    Note
    ID VS-90120
    description IMU gyroscope acceleration values.
    min nan max nan
    freq 100 unit rad/sec2
    float64_t turnrateOffset[3]
    Note
    ID VS-90110
    description IMU gyroscope offset values.
    min nan max nan
    freq 100 unit rad/s
    dwIMUSignalValidityInfo validityInfo Signal validity information.

    ◆ dwIMUSignalValidityInfo

    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.

    Enumeration Type Documentation

    ◆ 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.

    Enumerator
    DW_IMU_ALIGNMENT_STATUS_UNKNOWN 

    Unknown status means the device does not or has not yet provided this information.

    DW_IMU_ALIGNMENT_STATUS_INVALID 

    Invalid means the IMU alignment is not yet valid, and the output data is not accurate.

    DW_IMU_ALIGNMENT_STATUS_COARSE 

    Coarse means the IMU is roughly aligned, so the data is useful, but not of the highest quality.

    DW_IMU_ALIGNMENT_STATUS_FINE 

    Fine means the IMU alignment is complete, and the device can output high quality data.

    DW_IMU_ALIGNMENT_STATUS_FORCE32 

    Definition at line 109 of file IMU.h.

    ◆ dwIMUFlags

    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.

    Definition at line 61 of file IMU.h.

    ◆ 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.

    Definition at line 92 of file IMU.h.

    ◆ dwIMUImuAccelerationQuality

    Enumerator
    DW_IMU_IMU_ACCELERATION_QUALITY_UNKNOWN 

    Signal Unknown.

    DW_IMU_IMU_ACCELERATION_QUALITY_INIT 

    Signal initializing.

    DW_IMU_IMU_ACCELERATION_QUALITY_UNCALIB 

    Sensor uncalibrated.

    DW_IMU_IMU_ACCELERATION_QUALITY_OK 

    Signal in specification.

    DW_IMU_IMU_ACCELERATION_QUALITY_TMP_FAIL 

    Signal temporary failure.

    DW_IMU_IMU_ACCELERATION_QUALITY_PRMNT_FAIL 

    Signal permanent failure.

    DW_IMU_IMU_ACCELERATION_QUALITY_SENS_NOT_INST 

    Sensor not installed.

    DW_IMU_IMU_ACCELERATION_QUALITY_OVERLOAD 

    Sensor overloaded.

    DW_IMU_IMU_ACCELERATION_QUALITY_TEMPERATURE 

    Sensor out of operating temperature.

    DW_IMU_IMU_ACCELERATION_QUALITY_FORCE32 

    Definition at line 139 of file IMU.h.

    ◆ dwIMUImuStatus

    Enumerator
    DW_IMU_IMU_STATUS_UNKNOWN 

    Signal Unknown.

    DW_IMU_IMU_STATUS_INIT 

    Signal initializing.

    DW_IMU_IMU_STATUS_UNCALIB 

    Sensor uncalibrated.

    DW_IMU_IMU_STATUS_OK 

    Signal in specification.

    DW_IMU_IMU_STATUS_TMP_FAIL 

    Signal temporary failure.

    DW_IMU_IMU_STATUS_PRMNT_FAIL 

    Signal permanent failure.

    DW_IMU_IMU_STATUS_SENS_NOT_INST 

    Sensor not installed.

    DW_IMU_IMU_STATUS_FORCE32 

    Definition at line 216 of file IMU.h.

    ◆ dwIMUImuTempQuality

    Enumerator
    DW_IMU_IMU_TEMP_QUALITY_INIT 

    Signal initializing.

    DW_IMU_IMU_TEMP_QUALITY_UNCALIB 

    Sensor uncalibrated.

    DW_IMU_IMU_TEMP_QUALITY_OK 

    Signal in specification.

    DW_IMU_IMU_TEMP_QUALITY_TMP_FAIL 

    Signal temporary failure.

    DW_IMU_IMU_TEMP_QUALITY_PRMNT_FAIL 

    Signal permanent failure.

    DW_IMU_IMU_TEMP_QUALITY_SENS_NOT_INST 

    Sensor not installed.

    DW_IMU_IMU_TEMP_QUALITY_FORCE32 

    Definition at line 122 of file IMU.h.

    ◆ dwIMUImuTimestampQuality

    Enumerator
    DW_IMU_IMU_TIMESTAMP_QUALITY_NOT_INIT 

    Not Initialized. still initializing.

    DW_IMU_IMU_TIMESTAMP_QUALITY_OK 

    Normal Operation. Functional and Electrical Checks Passed.

    DW_IMU_IMU_TIMESTAMP_QUALITY_SYNC_LOST 

    Synchronization lost.

    DW_IMU_IMU_TIMESTAMP_QUALITY_FORCE32 

    Definition at line 205 of file IMU.h.

    ◆ dwIMUImuTurnrateAccelQuality

    Enumerator
    DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_UNKNOWN 

    Signal Unknown.

    DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_INIT 

    Signal initializing.

    DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_UNCALIB 

    Sensor uncalibrated.

    DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_OK 

    Signal in specification.

    DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_TMP_FAIL 

    Signal temporary failure.

    DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_PRMNT_FAIL 

    Signal permanent failure.

    DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_SENS_NOT_INST 

    Sensor not installed.

    DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_OVERLOAD 

    Sensor overloaded.

    DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_TEMPERATURE 

    Sensor out of operating temperature.

    DW_IMU_IMU_TURNRATE_ACCEL_QUALITY_FORCE32 

    Definition at line 183 of file IMU.h.

    ◆ dwIMUImuTurnrateQuality

    Enumerator
    DW_IMU_IMU_TURNRATE_QUALITY_UNKNOWN 

    Signal Unknown.

    DW_IMU_IMU_TURNRATE_QUALITY_INIT 

    Signal initializing.

    DW_IMU_IMU_TURNRATE_QUALITY_UNCALIB 

    Sensor uncalibrated.

    DW_IMU_IMU_TURNRATE_QUALITY_OK 

    Signal in specification.

    DW_IMU_IMU_TURNRATE_QUALITY_TMP_FAIL 

    Signal temporary failure.

    DW_IMU_IMU_TURNRATE_QUALITY_PRMNT_FAIL 

    Signal permanent failure.

    DW_IMU_IMU_TURNRATE_QUALITY_SENS_NOT_INST 

    Sensor not installed.

    DW_IMU_IMU_TURNRATE_QUALITY_OVERLOAD 

    Sensor overloaded.

    DW_IMU_IMU_TURNRATE_QUALITY_TEMPERATURE 

    Sensor out of operating temperature.

    DW_IMU_IMU_TURNRATE_QUALITY_FORCE32 

    Definition at line 161 of file IMU.h.

    Function Documentation

    ◆ dwSensorIMU_popFrame()

    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.

    Parameters
    [out]framePointer to an IMU frame structure to be filled with new data.
    [in]sensorSensor handle of the sensor previously created with 'dwSAL_createSensor()'.
    Returns
    DW_INVALID_HANDLE - if given sensor handle is invalid.
    DW_INVALID_ARGUMENTS - if given arguments are invalid.
    DW_NOT_AVAILABLE - if no more data is available
    DW_SUCCESS

    ◆ dwSensorIMU_popFrameNew()

    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.

    Parameters
    [out]framePointer to an IMU frame New structure to be filled with new data.
    [in]sensorSensor handle of the sensor previously created with 'dwSAL_createSensor()'.
    Returns
    DW_INVALID_HANDLE - if given sensor handle is invalid.
    DW_INVALID_ARGUMENTS - if given arguments are invalid.
    DW_NOT_AVAILABLE - if no more data is available
    DW_SUCCESS

    ◆ dwSensorIMU_processRawData()

    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.

    Parameters
    [in]dataUndecoded imu data.
    [in]sizeSize in bytes of the raw data.
    [in]sensorSensor handle of the sensor previously created with 'dwSAL_createSensor()'.
    Returns
    DW_INVALID_HANDLE - if given sensor handle is invalid,
    DW_INVALID_ARGUMENTS - if given arguments are invalid,
    DW_NOT_READY - if more data needs to be passed in (loop while it returns 'DW_NOT_READY').
    DW_SUCCESS

    ◆ dwSensorIMU_processRawDataNew()

    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.

    Parameters
    [in]dataUndecoded imu data.
    [in]sizeSize in bytes of the raw data.
    [in]sensorSensor handle of the sensor previously created with 'dwSAL_createSensor()'.
    Returns
    DW_INVALID_HANDLE - if given sensor handle is invalid,
    DW_INVALID_ARGUMENTS - if given arguments are invalid,
    DW_NOT_READY - if more data needs to be passed in (loop while it returns 'DW_NOT_READY').
    DW_SUCCESS

    ◆ dwSensorIMU_readFrame()

    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.

    Parameters
    [out]frameA pointer to an IMU frame structure to be filled with new data.
    [in]timeoutUsTimeout, in us, to wait for a new message. Special values: DW_TIMEOUT_INFINITE - to wait infinitely. Zero - means polling of internal queue.
    [in]sensorSensor handle of the IMU sensor previously created with dwSAL_createSensor().
    Returns
    DW_INVALID_HANDLE - if given sensor handle is invalid
    DW_INVALID_ARGUMENTS - if given arguments are invalid
    DW_TIME_OUT - if operation has timeout
    DW_NOT_AVAILABLE - if sensor has not been started or data is not available in polling mode.
    DW_END_OF_STREAM - if end of stream reached (virtual sensor only).
    DW_SAL_SENSOR_ERROR - if there was an i/o or bus error.
    DW_SUCCESS

    ◆ dwSensorIMU_readFrameNew()

    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.

    Parameters
    [out]frameA pointer to an IMU frame New structure to be filled with new data.
    [in]timeoutUsTimeout, in us, to wait for a new message. Special values: DW_TIMEOUT_INFINITE - to wait infinitely. Zero - means polling of internal queue.
    [in]sensorSensor handle of the IMU sensor previously created with dwSAL_createSensor().
    Returns
    DW_INVALID_HANDLE - if given sensor handle is invalid
    DW_INVALID_ARGUMENTS - if given arguments are invalid
    DW_TIME_OUT - if operation has timeout
    DW_NOT_AVAILABLE - if sensor has not been started or data is not available in polling mode.
    DW_END_OF_STREAM - if end of stream reached (virtual sensor only).
    DW_SAL_SENSOR_ERROR - if there was an i/o or bus error.
    DW_SUCCESS
    人人超碰97caoporen国产