| Message | Message ID (hex) | Description |
|---|---|---|
| GET_SYS_INFO | 0x01 | Requests sending back information on the device type and firmware version. |
| GET_QUAT_DATA | 0x02 | Requests sending back actual orientation in quaternion representation. |
| GET_EULER_DATA | 0x03 | Requests sending back actual orientation in Euler angles representation. |
| GET_ROT_RATE_DATA | 0x04 | Requests sending back actual rotation rates. |
| REBOOT | 0x05 | Reboots the device. |
| FACTORY_RESET | 0x07 | Brings factory defaults settings to device RAM. |
| SET_ACC_CALIB_MAT | 0x08 | Sends calbration matrices for the accelerometer sensor. |
| SET_MAG_CALIB_MAT | 0x09 | Sends calbration matrices for the magnetometer sensor. |
| SET_GYR_CALIB_MAT | 0x0A | Sends calbration matrices for the gyrosope sensor. |
| SET_FILTER_MAG | 0x0B | Sends new values for measurement filter magnetometer matrix. |
| SET_FILTER_ACC | 0x0C | Sends new values for measurement filter accelerometer matrix. |
| SET_FILTER_GYR | 0x0D | Sends new values for measurement filter gyroscope matrix. |
| SET_FILTER_PROCN | 0x0E | Sends new values for filter process noise matrix. |
| GET_TEMP | 0x0F | Requests sending current temperature reading |
| SET_BAUD_RATE | 0x10 | Requests changing UART interface baud rate. Newly applied baud rate will be used after next power-on or reset of the device. To make sure they persist, WRITE_FLASH command should be used afterwards. |
| SET_I2C_ADDR | 0x11 | Requests changing I2C slave address. Newly applied I2C slave address will be after next power-on or reset of the device. To make sure they persist, WRITE_FLASH command should be used afterwards. |
| RESET_GYR | 0x15 | Resets actual gyroscope settings (only in RAM) treating current rotation as bias only (not rotating device). |
| WRITE_FLASH | 0x16 | Saves current settings to device Flash for persistance. Once written, these settings will be available after next power-on. |
| GET_ACC_CALIB_MAT | 0x17 | Requests sending back actual accelometer calibration settings. |
| GET_MAG_CALIB_MAT | 0x18 | Requests sending back actual magnetometer calibration settings. |
| GET_GYR_CALIB_MAT | 0x19 | Requests sending back actual gyeroscope calibration settings. |
| GET_RAW_ACC | 0x20 | Requests sending raw accelerometer measurement data. |
| GET_RAW_MAG | 0x21 | Requests sending raw magnetometer measurement data. |
| GET_RAW_GYR | 0x22 | Requests sending raw gyroscope measurement data. |
| GET_NORM_ACC | 0x23 | Requests sending normalized accelerometer measurement data. |
| GET_NORM_MAG | 0x24 | Requests sending normalized magnetometer measurement data. |
| GET_NORM_GYR | 0x25 | Requests sending normalized gyroscope measurement data. |
| GET_CALIB_ACC | 0x26 | Requests sending calibrated accelerometer measurement data. |
| GET_CALIB_MAG | 0x27 | Requests sending calibrated magnetometer measurement data. |
| GET_CALIB_GYR | 0x28 | Requests sending calibrated gyroscope measurement data. |
| REBOOT_BOOTLOADER | 0x29 | Requests rebooting to the bootloader mode |
| GET_FILTER_MAG | 0x2B | Requests values for measurement filter magnetometer matrix. |
| GET_FILTER_ACC | 0x2C | Requests values for measurement filter accelerometer matrix. |
| GET_FILTER_GYR | 0x2D | Requests values for measurement filter gyroscope matrix. |
| GET_FILTER_PROCN | 0x2E | Requests values for filter process noise matrix. |
| GET_I2C_ADDR | 0x30 | Requests currently set I2C address. |
| GET_BAUD_RATE | 0x31 | Requests currently set baud rate. |
| GET_STATS | 0x40 | Requests operational statistics. |
Message ID: 0x01
Description: Requests sending back information on the device type and firmware version.
Data Bytes: 0
When device receives this message, it will reply with sending back SYS_INFO message.
Message ID: 0x02
Description: Requests sending back actual orientation in quaternion representation.
Data Bytes: 0
When device receives this message, it will reply with sending back QUAT_DATA message.
Message ID: 0x03
Description: Requests sending back actual orientation in Euler angles representation.
Data Bytes: 0
When device receives this message, it will reply with sending back EULER_DATA message.
Message ID: 0x04
Description: Requests sending back actual rotation rates.
Data Bytes: 0
When device receives this message, it will reply with sending back ROT_RATE_DATA message.
Message ID: 0x05
Description: Reboots the device.
Data Bytes: 0
Message ID: 0x07
Description: Brings factory defaults settings to device RAM.
Data Bytes: 0
Message ID: 0x08
Description: Sends calbration matrices for the accelerometer sensor.
Data Bytes: 72
When device receives this message, it will reply with sending back CONFIRM message.
| Byte Offset | Data Type | Descripion |
|---|---|---|
| 0 | IEEE754 float | c11 matrix component |
| 4 | IEEE754 float | c12 matrix component |
| 8 | IEEE754 float | c13 matrix component |
| 12 | IEEE754 float | c21 matrix component |
| 16 | IEEE754 float | c22 matrix component |
| 20 | IEEE754 float | c23 matrix component |
| 24 | IEEE754 float | c31 matrix component |
| 28 | IEEE754 float | c32 matrix component |
| 32 | IEEE754 float | c33 matrix component |
| 36 | IEEE754 float | t11 matrix component |
| 40 | IEEE754 float | t12 matrix component |
| 44 | IEEE754 float | t13 matrix component |
| 48 | IEEE754 float | t21 matrix component |
| 52 | IEEE754 float | t22 matrix component |
| 56 | IEEE754 float | t23 matrix component |
| 60 | IEEE754 float | t31 matrix component |
| 64 | IEEE754 float | t32 matrix component |
| 68 | IEEE754 float | t33 matrix component |
Message ID: 0x09
Description: Sends calbration matrices for the magnetometer sensor.
Data Bytes: 72
When device receives this message, it will reply with sending back CONFIRM message.
| Byte Offset | Data Type | Descripion |
|---|---|---|
| 0 | IEEE754 float | c11 matrix component |
| 4 | IEEE754 float | c12 matrix component |
| 8 | IEEE754 float | c13 matrix component |
| 12 | IEEE754 float | c21 matrix component |
| 16 | IEEE754 float | c22 matrix component |
| 20 | IEEE754 float | c23 matrix component |
| 24 | IEEE754 float | c31 matrix component |
| 28 | IEEE754 float | c32 matrix component |
| 32 | IEEE754 float | c33 matrix component |
| 36 | IEEE754 float | t11 matrix component |
| 40 | IEEE754 float | t12 matrix component |
| 44 | IEEE754 float | t13 matrix component |
| 48 | IEEE754 float | t21 matrix component |
| 52 | IEEE754 float | t22 matrix component |
| 56 | IEEE754 float | t23 matrix component |
| 60 | IEEE754 float | t31 matrix component |
| 64 | IEEE754 float | t32 matrix component |
| 68 | IEEE754 float | t33 matrix component |
Message ID: 0x0A
Description: Sends calbration matrices for the gyrosope sensor.
Data Bytes: 72
When device receives this message, it will reply with sending back CONFIRM message.
| Byte Offset | Data Type | Descripion |
|---|---|---|
| 0 | IEEE754 float | c11 matrix component |
| 4 | IEEE754 float | c12 matrix component |
| 8 | IEEE754 float | c13 matrix component |
| 12 | IEEE754 float | c21 matrix component |
| 16 | IEEE754 float | c22 matrix component |
| 20 | IEEE754 float | c23 matrix component |
| 24 | IEEE754 float | c31 matrix component |
| 28 | IEEE754 float | c32 matrix component |
| 32 | IEEE754 float | c33 matrix component |
| 36 | IEEE754 float | t11 matrix component |
| 40 | IEEE754 float | t12 matrix component |
| 44 | IEEE754 float | t13 matrix component |
| 48 | IEEE754 float | t21 matrix component |
| 52 | IEEE754 float | t22 matrix component |
| 56 | IEEE754 float | t23 matrix component |
| 60 | IEEE754 float | t31 matrix component |
| 64 | IEEE754 float | t32 matrix component |
| 68 | IEEE754 float | t33 matrix component |
Message ID: 0x0B
Description: Sends new values for measurement filter magnetometer matrix.
Data Bytes: 12
When device receives this message, it will reply with sending back CONFIRM message.
| Byte Offset | Data Type | Descripion |
|---|---|---|
| 0 | IEEE754 float | h11 matrix component |
| 4 | IEEE754 float | h22 matrix component |
| 8 | IEEE754 float | h33 matrix component |
Message ID: 0x0C
Description: Sends new values for measurement filter accelerometer matrix.
Data Bytes: 12
When device receives this message, it will reply with sending back CONFIRM message.
| Byte Offset | Data Type | Descripion |
|---|---|---|
| 0 | IEEE754 float | h11 matrix component |
| 4 | IEEE754 float | h22 matrix component |
| 8 | IEEE754 float | h33 matrix component |
Message ID: 0x0D
Description: Sends new values for measurement filter gyroscope matrix.
Data Bytes: 12
When device receives this message, it will reply with sending back CONFIRM message.
| Byte Offset | Data Type | Descripion |
|---|---|---|
| 0 | IEEE754 float | h11 matrix component |
| 4 | IEEE754 float | h22 matrix component |
| 8 | IEEE754 float | h33 matrix component |
Message ID: 0x0E
Description: Sends new values for filter process noise matrix.
Data Bytes: 28
When device receives this message, it will reply with sending back CONFIRM message.
| Byte Offset | Data Type | Descripion |
|---|---|---|
| 0 | IEEE754 float | q11 matrix component |
| 4 | IEEE754 float | q22 matrix component |
| 8 | IEEE754 float | q33 matrix component |
| 12 | IEEE754 float | q44 matrix component |
| 16 | IEEE754 float | q55 matrix component |
| 20 | IEEE754 float | q66 matrix component |
| 24 | IEEE754 float | q77 matrix component |
Message ID: 0x0F
Description: Requests sending current temperature reading
Data Bytes: 0
When device receives this message, it will reply with sending back TEMP message.
Message ID: 0x10
Description: Requests changing UART interface baud rate. Newly applied baud rate will be used after next power-on or reset of the device. To make sure they persist, WRITE_FLASH command should be used afterwards.
Data Bytes: 1
When device receives this message, it will reply with sending back BAUD_RATE message.
| Byte Offset | Data Type | Descripion |
|---|---|---|
| 0 | 8-bit unsigned | New baud rate. |
Message ID: 0x11
Description: Requests changing I2C slave address. Newly applied I2C slave address will be after next power-on or reset of the device. To make sure they persist, WRITE_FLASH command should be used afterwards.
Data Bytes: 1
When device receives this message, it will reply with sending back I2C_ADDR message.
| Byte Offset | Data Type | Descripion |
|---|---|---|
| 0 | 8-bit unsigned | New 7-bit I2C slave address for the device. |
Message ID: 0x15
Description: Resets actual gyroscope settings (only in RAM) treating current rotation as bias only (not rotating device).
Data Bytes: 0
Message ID: 0x16
Description: Saves current settings to device Flash for persistance. Once written, these settings will be available after next power-on.
Data Bytes: 0
Message ID: 0x17
Description: Requests sending back actual accelometer calibration settings.
Data Bytes: 0
When device receives this message, it will reply with sending back ACC_CALIB_MAT message.
Message ID: 0x18
Description: Requests sending back actual magnetometer calibration settings.
Data Bytes: 0
When device receives this message, it will reply with sending back MAG_CALIB_MAT message.
Message ID: 0x19
Description: Requests sending back actual gyeroscope calibration settings.
Data Bytes: 0
When device receives this message, it will reply with sending back GYR_CALIB_MAT message.
Message ID: 0x20
Description: Requests sending raw accelerometer measurement data.
Data Bytes: 0
When device receives this message, it will reply with sending back RAW_ACC message.
Message ID: 0x21
Description: Requests sending raw magnetometer measurement data.
Data Bytes: 0
When device receives this message, it will reply with sending back RAW_MAG message.
Message ID: 0x22
Description: Requests sending raw gyroscope measurement data.
Data Bytes: 0
When device receives this message, it will reply with sending back RAW_GYR message.
Message ID: 0x23
Description: Requests sending normalized accelerometer measurement data.
Data Bytes: 0
When device receives this message, it will reply with sending back NORM_ACC message.
Message ID: 0x24
Description: Requests sending normalized magnetometer measurement data.
Data Bytes: 0
When device receives this message, it will reply with sending back NORM_MAG message.
Message ID: 0x25
Description: Requests sending normalized gyroscope measurement data.
Data Bytes: 0
When device receives this message, it will reply with sending back NORM_GYR message.
Message ID: 0x26
Description: Requests sending calibrated accelerometer measurement data.
Data Bytes: 0
When device receives this message, it will reply with sending back CALIB_ACC message.
Message ID: 0x27
Description: Requests sending calibrated magnetometer measurement data.
Data Bytes: 0
When device receives this message, it will reply with sending back CALIB_MAG message.
Message ID: 0x28
Description: Requests sending calibrated gyroscope measurement data.
Data Bytes: 0
When device receives this message, it will reply with sending back CALIB_GYR message.
Message ID: 0x29
Description: Requests rebooting to the bootloader mode
Data Bytes: 0
Message ID: 0x2B
Description: Requests values for measurement filter magnetometer matrix.
Data Bytes: 0
When device receives this message, it will reply with sending back FILTER_MAG message.
Message ID: 0x2C
Description: Requests values for measurement filter accelerometer matrix.
Data Bytes: 0
When device receives this message, it will reply with sending back FILTER_ACC message.
Message ID: 0x2D
Description: Requests values for measurement filter gyroscope matrix.
Data Bytes: 0
When device receives this message, it will reply with sending back FILTER_GYR message.
Message ID: 0x2E
Description: Requests values for filter process noise matrix.
Data Bytes: 0
When device receives this message, it will reply with sending back FILTER_PROCN message.
Message ID: 0x30
Description: Requests currently set I2C address.
Data Bytes: 0
When device receives this message, it will reply with sending back I2C_ADDR message.
Message ID: 0x31
Description: Requests currently set baud rate.
Data Bytes: 0
When device receives this message, it will reply with sending back BAUD_RATE message.
Message ID: 0x40
Description: Requests operational statistics.
Data Bytes: 32
When device receives this message, it will reply with sending back STATS message.
| Byte Offset | Data Type | Descripion |
|---|---|---|
| 0 | 32-bit signed, unsigned | Profiling table index 0 |
| 4 | 32-bit signed, unsigned | Profiling table index 1 |
| 8 | 32-bit signed, unsigned | Profiling table index 2 |
| 12 | 32-bit signed, unsigned | Profiling table index 3 |
| 16 | 32-bit signed, unsigned | Profiling table index 4 |
| 20 | 32-bit signed, unsigned | Profiling table index 5 |
| 24 | 32-bit signed, unsigned | Profiling table index 6 |
| 28 | 32-bit signed, unsigned | Profiling table index 8 |