Updated: May 06, 2022

Data payload format for data of type SENSOR_FORMAT_IMU


#include <sensor/sensor_gps_imu.h>
typedef struct sensor_imu_format_t {
    int32_t orientation[3];
    uint32_t orientation_time_offset;
    int32_t acceleration[3];
    double rate_of_turn[3];
    double magnetic_field[3];
    uint32_t time_offset;
    uint32_t time_accuracy;
    uint16_t ndop;
    uint16_t edop;
    uint32_t heading_accuracy;
} sensor_imu_format_t;


int32_t orientation[3]
Orientation is the three Euler angles, in hundreds of degrees, about X (roll), Y (pitch), and Z (yaw) axes; the coordinate system is ENU.

MAX_INT32 indicates that the value is currently unavailable.

uint32_t orientation_time_offset
Offset from the timestamp in sensor_buffer_t to apply for the orientation field only.

The time is provided in microseconds and may be zero if the orientation is in sync with the IMU data.

int32_t acceleration[3]
Acceleration in the X, Y, and Z planes, in millimeters per second squared (mm/s2).
double rate_of_turn[3]
Rate of turn about the X, Y, and Z axes, in radians per second (rad/s).
double magnetic_field[3]
Magnetic field data, in arbitrary units.
uint32_t time_offset
Offset from the timestamp in sensor_buffer_t to apply for this data point.
uint32_t time_accuracy
Time accuracy estimate, in nanoseconds (ns).
uint16_t ndop
Northing Degree of Precision.
uint16_t edop
Easting Degree of Precision.
uint32_t heading_accuracy
Heading accuracy estimate, in degrees.




The data payload in sensor_buffer_t data is an array of these structures.