XDK API  3.6.0
Documentation
Data Structures
bno055.h File Reference

BNO055 Sensor Driver Support Header File. More...

+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  bno055_accel_double_t
 struct for Accel-output data of precision double More...
 
struct  bno055_accel_float_t
 struct for Accel-output data of precision float More...
 
struct  bno055_accel_offset_t
 struct for Accel offset More...
 
struct  bno055_accel_t
 struct for accel data read from registers More...
 
struct  bno055_euler_double_t
 struct for Euler-output data of precision double More...
 
struct  bno055_euler_float_t
 struct for Euler-output data of precision float More...
 
struct  bno055_euler_t
 struct for Euler data read from registers More...
 
struct  bno055_gravity_double_t
 struct for Gravity-output data of precision double More...
 
struct  bno055_gravity_float_t
 struct for Gravity-output data of precision float More...
 
struct  bno055_gravity_t
 struct for Gravity data read from registers More...
 
struct  bno055_gyro_double_t
 struct for Gyro-output data of precision double More...
 
struct  bno055_gyro_float_t
 struct for Gyro-output data of precision float More...
 
struct  bno055_gyro_offset_t
 struct for Gyro offset More...
 
struct  bno055_gyro_t
 struct for Gyro data read from registers More...
 
struct  bno055_linear_accel_double_t
 struct for Linear Accel-output data of precision double More...
 
struct  bno055_linear_accel_float_t
 struct for Linear accel-output data of precision float More...
 
struct  bno055_linear_accel_t
 struct for Linear Accel data read from registers More...
 
struct  bno055_mag_double_t
 struct for Mag-output data of precision double More...
 
struct  bno055_mag_float_t
 struct for Mag-output data of precision float More...
 
struct  bno055_mag_offset_t
 struct for Mag offset More...
 
struct  bno055_mag_t
 struct for Mag data read from registers More...
 
struct  bno055_quaternion_t
 struct for Quaternion data read from registers More...
 
struct  bno055_sic_matrix_t
 struct for soft iron calibration matrix More...
 
struct  bno055_t
 bno055 struct More...
 

Macros

BUS READ AND WRITE FUNCTIONS
#define BNO055_WR_FUNC_PTR
 
#define BNO055_BUS_WRITE_FUNC(dev_addr, reg_addr, reg_data, wr_len)   bus_write(dev_addr, reg_addr, reg_data, wr_len)
 
#define BNO055_RD_FUNC_PTR
 
#define BNO055_BUS_READ_FUNC(dev_addr, reg_addr, reg_data, r_len)   bus_read(dev_addr, reg_addr, reg_data, r_len)
 
#define BNO055_DELAY_RETURN_TYPE   void
 
#define BNO055_DELAY_PARAM_TYPES   u32
 
#define BNO055_DELAY_FUNC(delay_in_msec)   delay_func(delay_in_msec)
 
I2C ADDRESS DEFINITION FOR BNO055
#define BNO055_I2C_ADDR1   (0x28)
 
#define BNO055_I2C_ADDR2   (0x29)
 
REGISTER ADDRESS DEFINITION
#define BNO055_PAGE_ID_ADDR   (0X07)
 
#define BNO055_CHIP_ID_ADDR   (0x00)
 
#define BNO055_ACCEL_REV_ID_ADDR   (0x01)
 
#define BNO055_MAG_REV_ID_ADDR   (0x02)
 
#define BNO055_GYRO_REV_ID_ADDR   (0x03)
 
#define BNO055_SW_REV_ID_LSB_ADDR   (0x04)
 
#define BNO055_SW_REV_ID_MSB_ADDR   (0x05)
 
#define BNO055_BL_REV_ID_ADDR   (0X06)
 
#define BNO055_ACCEL_DATA_X_LSB_ADDR   (0X08)
 
#define BNO055_ACCEL_DATA_X_MSB_ADDR   (0X09)
 
#define BNO055_ACCEL_DATA_Y_LSB_ADDR   (0X0A)
 
#define BNO055_ACCEL_DATA_Y_MSB_ADDR   (0X0B)
 
#define BNO055_ACCEL_DATA_Z_LSB_ADDR   (0X0C)
 
#define BNO055_ACCEL_DATA_Z_MSB_ADDR   (0X0D)
 
#define BNO055_MAG_DATA_X_LSB_ADDR   (0X0E)
 
#define BNO055_MAG_DATA_X_MSB_ADDR   (0X0F)
 
#define BNO055_MAG_DATA_Y_LSB_ADDR   (0X10)
 
#define BNO055_MAG_DATA_Y_MSB_ADDR   (0X11)
 
#define BNO055_MAG_DATA_Z_LSB_ADDR   (0X12)
 
#define BNO055_MAG_DATA_Z_MSB_ADDR   (0X13)
 
#define BNO055_GYRO_DATA_X_LSB_ADDR   (0X14)
 
#define BNO055_GYRO_DATA_X_MSB_ADDR   (0X15)
 
#define BNO055_GYRO_DATA_Y_LSB_ADDR   (0X16)
 
#define BNO055_GYRO_DATA_Y_MSB_ADDR   (0X17)
 
#define BNO055_GYRO_DATA_Z_LSB_ADDR   (0X18)
 
#define BNO055_GYRO_DATA_Z_MSB_ADDR   (0X19)
 
#define BNO055_EULER_H_LSB_ADDR   (0X1A)
 
#define BNO055_EULER_H_MSB_ADDR   (0X1B)
 
#define BNO055_EULER_R_LSB_ADDR   (0X1C)
 
#define BNO055_EULER_R_MSB_ADDR   (0X1D)
 
#define BNO055_EULER_P_LSB_ADDR   (0X1E)
 
#define BNO055_EULER_P_MSB_ADDR   (0X1F)
 
#define BNO055_QUATERNION_DATA_W_LSB_ADDR   (0X20)
 
#define BNO055_QUATERNION_DATA_W_MSB_ADDR   (0X21)
 
#define BNO055_QUATERNION_DATA_X_LSB_ADDR   (0X22)
 
#define BNO055_QUATERNION_DATA_X_MSB_ADDR   (0X23)
 
#define BNO055_QUATERNION_DATA_Y_LSB_ADDR   (0X24)
 
#define BNO055_QUATERNION_DATA_Y_MSB_ADDR   (0X25)
 
#define BNO055_QUATERNION_DATA_Z_LSB_ADDR   (0X26)
 
#define BNO055_QUATERNION_DATA_Z_MSB_ADDR   (0X27)
 
#define BNO055_LINEAR_ACCEL_DATA_X_LSB_ADDR   (0X28)
 
#define BNO055_LINEAR_ACCEL_DATA_X_MSB_ADDR   (0X29)
 
#define BNO055_LINEAR_ACCEL_DATA_Y_LSB_ADDR   (0X2A)
 
#define BNO055_LINEAR_ACCEL_DATA_Y_MSB_ADDR   (0X2B)
 
#define BNO055_LINEAR_ACCEL_DATA_Z_LSB_ADDR   (0X2C)
 
#define BNO055_LINEAR_ACCEL_DATA_Z_MSB_ADDR   (0X2D)
 
#define BNO055_GRAVITY_DATA_X_LSB_ADDR   (0X2E)
 
#define BNO055_GRAVITY_DATA_X_MSB_ADDR   (0X2F)
 
#define BNO055_GRAVITY_DATA_Y_LSB_ADDR   (0X30)
 
#define BNO055_GRAVITY_DATA_Y_MSB_ADDR   (0X31)
 
#define BNO055_GRAVITY_DATA_Z_LSB_ADDR   (0X32)
 
#define BNO055_GRAVITY_DATA_Z_MSB_ADDR   (0X33)
 
#define BNO055_TEMP_ADDR   (0X34)
 
#define BNO055_CALIB_STAT_ADDR   (0X35)
 
#define BNO055_SELFTEST_RESULT_ADDR   (0X36)
 
#define BNO055_INTR_STAT_ADDR   (0X37)
 
#define BNO055_SYS_CLK_STAT_ADDR   (0X38)
 
#define BNO055_SYS_STAT_ADDR   (0X39)
 
#define BNO055_SYS_ERR_ADDR   (0X3A)
 
#define BNO055_UNIT_SEL_ADDR   (0X3B)
 
#define BNO055_DATA_SELECT_ADDR   (0X3C)
 
#define BNO055_OPR_MODE_ADDR   (0X3D)
 
#define BNO055_PWR_MODE_ADDR   (0X3E)
 
#define BNO055_SYS_TRIGGER_ADDR   (0X3F)
 
#define BNO055_TEMP_SOURCE_ADDR   (0X40)
 
#define BNO055_AXIS_MAP_CONFIG_ADDR   (0X41)
 
#define BNO055_AXIS_MAP_SIGN_ADDR   (0X42)
 
#define BNO055_SIC_MATRIX_0_LSB_ADDR   (0X43)
 
#define BNO055_SIC_MATRIX_0_MSB_ADDR   (0X44)
 
#define BNO055_SIC_MATRIX_1_LSB_ADDR   (0X45)
 
#define BNO055_SIC_MATRIX_1_MSB_ADDR   (0X46)
 
#define BNO055_SIC_MATRIX_2_LSB_ADDR   (0X47)
 
#define BNO055_SIC_MATRIX_2_MSB_ADDR   (0X48)
 
#define BNO055_SIC_MATRIX_3_LSB_ADDR   (0X49)
 
#define BNO055_SIC_MATRIX_3_MSB_ADDR   (0X4A)
 
#define BNO055_SIC_MATRIX_4_LSB_ADDR   (0X4B)
 
#define BNO055_SIC_MATRIX_4_MSB_ADDR   (0X4C)
 
#define BNO055_SIC_MATRIX_5_LSB_ADDR   (0X4D)
 
#define BNO055_SIC_MATRIX_5_MSB_ADDR   (0X4E)
 
#define BNO055_SIC_MATRIX_6_LSB_ADDR   (0X4F)
 
#define BNO055_SIC_MATRIX_6_MSB_ADDR   (0X50)
 
#define BNO055_SIC_MATRIX_7_LSB_ADDR   (0X51)
 
#define BNO055_SIC_MATRIX_7_MSB_ADDR   (0X52)
 
#define BNO055_SIC_MATRIX_8_LSB_ADDR   (0X53)
 
#define BNO055_SIC_MATRIX_8_MSB_ADDR   (0X54)
 
#define BNO055_ACCEL_OFFSET_X_LSB_ADDR   (0X55)
 
#define BNO055_ACCEL_OFFSET_X_MSB_ADDR   (0X56)
 
#define BNO055_ACCEL_OFFSET_Y_LSB_ADDR   (0X57)
 
#define BNO055_ACCEL_OFFSET_Y_MSB_ADDR   (0X58)
 
#define BNO055_ACCEL_OFFSET_Z_LSB_ADDR   (0X59)
 
#define BNO055_ACCEL_OFFSET_Z_MSB_ADDR   (0X5A)
 
#define BNO055_MAG_OFFSET_X_LSB_ADDR   (0X5B)
 
#define BNO055_MAG_OFFSET_X_MSB_ADDR   (0X5C)
 
#define BNO055_MAG_OFFSET_Y_LSB_ADDR   (0X5D)
 
#define BNO055_MAG_OFFSET_Y_MSB_ADDR   (0X5E)
 
#define BNO055_MAG_OFFSET_Z_LSB_ADDR   (0X5F)
 
#define BNO055_MAG_OFFSET_Z_MSB_ADDR   (0X60)
 
#define BNO055_GYRO_OFFSET_X_LSB_ADDR   (0X61)
 
#define BNO055_GYRO_OFFSET_X_MSB_ADDR   (0X62)
 
#define BNO055_GYRO_OFFSET_Y_LSB_ADDR   (0X63)
 
#define BNO055_GYRO_OFFSET_Y_MSB_ADDR   (0X64)
 
#define BNO055_GYRO_OFFSET_Z_LSB_ADDR   (0X65)
 
#define BNO055_GYRO_OFFSET_Z_MSB_ADDR   (0X66)
 
#define BNO055_ACCEL_RADIUS_LSB_ADDR   (0X67)
 
#define BNO055_ACCEL_RADIUS_MSB_ADDR   (0X68)
 
#define BNO055_MAG_RADIUS_LSB_ADDR   (0X69)
 
#define BNO055_MAG_RADIUS_MSB_ADDR   (0X6A)
 
#define BNO055_ACCEL_CONFIG_ADDR   (0X08)
 
#define BNO055_MAG_CONFIG_ADDR   (0X09)
 
#define BNO055_GYRO_CONFIG_ADDR   (0X0A)
 
#define BNO055_GYRO_MODE_CONFIG_ADDR   (0X0B)
 
#define BNO055_ACCEL_SLEEP_CONFIG_ADDR   (0X0C)
 
#define BNO055_GYRO_SLEEP_CONFIG_ADDR   (0X0D)
 
#define BNO055_MAG_SLEEP_CONFIG_ADDR   (0x0E)
 
#define BNO055_INT_MASK_ADDR   (0X0F)
 
#define BNO055_INT_ADDR   (0X10)
 
#define BNO055_ACCEL_ANY_MOTION_THRES_ADDR   (0X11)
 
#define BNO055_ACCEL_INTR_SETTINGS_ADDR   (0X12)
 
#define BNO055_ACCEL_HIGH_G_DURN_ADDR   (0X13)
 
#define BNO055_ACCEL_HIGH_G_THRES_ADDR   (0X14)
 
#define BNO055_ACCEL_NO_MOTION_THRES_ADDR   (0X15)
 
#define BNO055_ACCEL_NO_MOTION_SET_ADDR   (0X16)
 
#define BNO055_GYRO_INTR_SETING_ADDR   (0X17)
 
#define BNO055_GYRO_HIGHRATE_X_SET_ADDR   (0X18)
 
#define BNO055_GYRO_DURN_X_ADDR   (0X19)
 
#define BNO055_GYRO_HIGHRATE_Y_SET_ADDR   (0X1A)
 
#define BNO055_GYRO_DURN_Y_ADDR   (0X1B)
 
#define BNO055_GYRO_HIGHRATE_Z_SET_ADDR   (0X1C)
 
#define BNO055_GYRO_DURN_Z_ADDR   (0X1D)
 
#define BNO055_GYRO_ANY_MOTION_THRES_ADDR   (0X1E)
 
#define BNO055_GYRO_ANY_MOTION_SET_ADDR   (0X1F)
 
#define BNO055_MDELAY_DATA_TYPE   u32
 
#define BNO055_RETURN_FUNCTION_TYPE   s8
 
#define BNO055_FLOAT_ENABLE
 
#define BNO055_DOUBLE_ENABLE
 
CONSTANT DEFINITIONS
#define BNO055_INIT_VALUE   ((u8)0)
 
#define BNO055_GEN_READ_WRITE_LENGTH   ((u8)1)
 
#define BNO055_LSB_MSB_READ_LENGTH   ((u8)2)
 
#define BNO055_MAG_POWER_MODE_RANGE   ((u8)4)
 
#define BNO055_MAG_OPR_MODE_RANGE   ((u8)5)
 
#define BNO055_ACCEL_POWER_MODE_RANGE   ((u8)6)
 
#define BNO055_ACCEL_SLEEP_DURATION_RANGE   ((u8)16)
 
#define BNO055_GYRO_AUTO_SLEEP_DURATION_RANGE   ((u8)8)
 
#define BNO055_ACCEL_GYRO_BW_RANGE   ((u8)8)
 
#define BNO055_MAG_OUTPUT_RANGE   ((u8)8)
 
#define BNO055_ACCEL_RANGE   ((u8)5)
 
#define BNO055_SHIFT_EIGHT_BITS   ((u8)8)
 
#define BNO055_GYRO_RANGE   ((u8)5)
 
#define BNO055_ACCEL_SLEEP_MODE_RANGE   ((u8)2)
 
#define BNO055_E_NULL_PTR   ((s8)-127)
 
#define BNO055_OUT_OF_RANGE   ((s8)-2)
 
#define BNO055_SUCCESS   ((u8)0)
 
#define BNO055_ERROR   ((s8)-1)
 
#define BNO055_BIT_ENABLE   (0x01)
 
#define BNO055_BIT_DISABLE   (0x00)
 
#define BNO055_PAGE_ZERO   (0X00)
 
#define BNO055_PAGE_ONE   (0X01)
 
#define BNO055_ACCEL_TEMP_EN   (0x00)
 
#define BNO055_GYRO_TEMP_EN   (0x01)
 
#define BNO055_MCU_TEMP_EN   (0x03)
 
#define BNO055_ACCEL_UNIT_MSQ   (0x00)
 
#define BNO055_ACCEL_UNIT_MG   (0x01)
 
#define BNO055_GYRO_UNIT_DPS   (0x00)
 
#define BNO055_GYRO_UNIT_RPS   (0x01)
 
#define BNO055_EULER_UNIT_DEG   (0x00)
 
#define BNO055_EULER_UNIT_RAD   (0x01)
 
#define BNO055_TEMP_UNIT_CELSIUS   (0x00)
 
#define BNO055_TEMP_UNIT_FAHRENHEIT   (0x01)
 
#define BNO055_ACCEL_DIV_MSQ   (100.0)
 
#define BNO055_ACCEL_DIV_MG   (1)
 
#define BNO055_MAG_DIV_UT   (16.0)
 
#define BNO055_GYRO_DIV_DPS   (16.0)
 
#define BNO055_GYRO_DIV_RPS   (900.0)
 
#define BNO055_EULER_DIV_DEG   (16.0)
 
#define BNO055_EULER_DIV_RAD   (900.0)
 
#define BNO055_LINEAR_ACCEL_DIV_MSQ   (100.0)
 
#define BNO055_GRAVITY_DIV_MSQ   (100.0)
 
#define BNO055_TEMP_DIV_FAHRENHEIT   (0.5)
 
#define BNO055_TEMP_DIV_CELSIUS   (1)
 
#define BNO055_MODE_SWITCHING_DELAY   (600)
 
#define BNO055_CONFIG_MODE_SWITCHING_DELAY   ((u8)20)
 
#define BNO055_OPERATION_MODE_CONFIG   (0X00)
 
#define BNO055_OPERATION_MODE_ACCONLY   (0X01)
 
#define BNO055_OPERATION_MODE_MAGONLY   (0X02)
 
#define BNO055_OPERATION_MODE_GYRONLY   (0X03)
 
#define BNO055_OPERATION_MODE_ACCMAG   (0X04)
 
#define BNO055_OPERATION_MODE_ACCGYRO   (0X05)
 
#define BNO055_OPERATION_MODE_MAGGYRO   (0X06)
 
#define BNO055_OPERATION_MODE_AMG   (0X07)
 
#define BNO055_OPERATION_MODE_IMUPLUS   (0X08)
 
#define BNO055_OPERATION_MODE_COMPASS   (0X09)
 
#define BNO055_OPERATION_MODE_M4G   (0X0A)
 
#define BNO055_OPERATION_MODE_NDOF_FMC_OFF   (0X0B)
 
#define BNO055_OPERATION_MODE_NDOF   (0X0C)
 
#define BNO055_POWER_MODE_NORMAL   (0X00)
 
#define BNO055_POWER_MODE_LOWPOWER   (0X01)
 
#define BNO055_POWER_MODE_SUSPEND   (0X02)
 
#define BNO055_ACCEL_RANGE_2G   (0X00)
 
#define BNO055_ACCEL_RANGE_4G   (0X01)
 
#define BNO055_ACCEL_RANGE_8G   (0X02)
 
#define BNO055_ACCEL_RANGE_16G   (0X03)
 
#define BNO055_ACCEL_BW_7_81HZ   (0x00)
 
#define BNO055_ACCEL_BW_15_63HZ   (0x01)
 
#define BNO055_ACCEL_BW_31_25HZ   (0x02)
 
#define BNO055_ACCEL_BW_62_5HZ   (0X03)
 
#define BNO055_ACCEL_BW_125HZ   (0X04)
 
#define BNO055_ACCEL_BW_250HZ   (0X05)
 
#define BNO055_ACCEL_BW_500HZ   (0X06)
 
#define BNO055_ACCEL_BW_1000HZ   (0X07)
 
#define BNO055_ACCEL_NORMAL   (0X00)
 
#define BNO055_ACCEL_SUSPEND   (0X01)
 
#define BNO055_ACCEL_LOWPOWER_1   (0X02)
 
#define BNO055_ACCEL_STANDBY   (0X03)
 
#define BNO055_ACCEL_LOWPOWER_2   (0X04)
 
#define BNO055_ACCEL_DEEPSUSPEND   (0X05)
 
#define BNO055_MAG_DATA_OUTRATE_2HZ   (0X00)
 
#define BNO055_MAG_DATA_OUTRATE_6HZ   (0X01)
 
#define BNO055_MAG_DATA_OUTRATE_8HZ   (0X02)
 
#define BNO055_MAG_DATA_OUTRATE_10HZ   (0X03)
 
#define BNO055_MAG_DATA_OUTRATE_15HZ   (0X04)
 
#define BNO055_MAG_DATA_OUTRATE_20HZ   (0X05)
 
#define BNO055_MAG_DATA_OUTRATE_25HZ   (0X06)
 
#define BNO055_MAG_DATA_OUTRATE_30HZ   (0X07)
 
#define BNO055_MAG_OPERATION_MODE_LOWPOWER   (0X00)
 
#define BNO055_MAG_OPERATION_MODE_REGULAR   (0X01)
 
#define BNO055_MAG_OPERATION_MODE_ENHANCED_REGULAR   (0X02)
 
#define BNO055_MAG_OPERATION_MODE_HIGH_ACCURACY   (0X03)
 
#define BNO055_MAG_POWER_MODE_NORMAL   (0X00)
 
#define BNO055_MAG_POWER_MODE_SLEEP   (0X01)
 
#define BNO055_MAG_POWER_MODE_SUSPEND   (0X02)
 
#define BNO055_MAG_POWER_MODE_FORCE_MODE   (0X03)
 
#define BNO055_GYRO_RANGE_2000DPS   (0x00)
 
#define BNO055_GYRO_RANGE_1000DPS   (0x01)
 
#define BNO055_GYRO_RANGE_500DPS   (0x02)
 
#define BNO055_GYRO_RANGE_250DPS   (0x03)
 
#define BNO055_GYRO_RANGE_125DPS   (0x04)
 
#define BNO055_GYRO_BW_523HZ   (0x00)
 
#define BNO055_GYRO_BW_230HZ   (0x01)
 
#define BNO055_GYRO_BW_116HZ   (0x02)
 
#define BNO055_GYRO_BW_47HZ   (0x03)
 
#define BNO055_GYRO_BW_23HZ   (0x04)
 
#define BNO055_GYRO_BW_12HZ   (0x05)
 
#define BNO055_GYRO_BW_64HZ   (0x06)
 
#define BNO055_GYRO_BW_32HZ   (0x07)
 
#define BNO055_GYRO_POWER_MODE_NORMAL   (0X00)
 
#define BNO055_GYRO_POWER_MODE_FASTPOWERUP   (0X01)
 
#define BNO055_GYRO_POWER_MODE_DEEPSUSPEND   (0X02)
 
#define BNO055_GYRO_POWER_MODE_SUSPEND   (0X03)
 
#define BNO055_GYRO_POWER_MODE_ADVANCE_POWERSAVE   (0X04)
 
#define BNO055_ACCEL_SLEEP_DURN_0_5MS   (0x05)
 
#define BNO055_ACCEL_SLEEP_DURN_1MS   (0x06)
 
#define BNO055_ACCEL_SLEEP_DURN_2MS   (0x07)
 
#define BNO055_ACCEL_SLEEP_DURN_4MS   (0x08)
 
#define BNO055_ACCEL_SLEEP_DURN_6MS   (0x09)
 
#define BNO055_ACCEL_SLEEP_DURN_10MS   (0x0A)
 
#define BNO055_ACCEL_SLEEP_DURN_25MS   (0x0B)
 
#define BNO055_ACCEL_SLEEP_DURN_50MS   (0x0C)
 
#define BNO055_ACCEL_SLEEP_DURN_100MS   (0x0D)
 
#define BNO055_ACCEL_SLEEP_DURN_500MS   (0x0E)
 
#define BNO055_ACCEL_SLEEP_DURN_1S   (0x0F)
 
#define BNO055_GYRO_No_AUTOSLPDUR   (0x00)
 
#define BNO055_GYRO_4MS_AUTOSLPDUR   (0x01)
 
#define BNO055_GYRO_5MS_AUTOSLPDUR   (0x02)
 
#define BNO055_GYRO_8MS_AUTOSLPDUR   (0x03)
 
#define BNO055_GYRO_10MS_AUTOSLPDUR   (0x04)
 
#define BNO055_GYRO_15MS_AUTOSLPDUR   (0x05)
 
#define BNO055_GYRO_20MS_AUTOSLPDUR   (0x06)
 
#define BNO055_GYRO_40MS_AUTOSLPDUR   (0x07)
 
#define BNO055_ACCEL_ANY_MOTION_NO_MOTION_X_AXIS   (0)
 
#define BNO055_ACCEL_ANY_MOTION_NO_MOTION_Y_AXIS   (1)
 
#define BNO055_ACCEL_ANY_MOTION_NO_MOTION_Z_AXIS   (2)
 
#define BNO055_ACCEL_HIGH_G_X_AXIS   (0)
 
#define BNO055_ACCEL_HIGH_G_Y_AXIS   (1)
 
#define BNO055_ACCEL_HIGH_G_Z_AXIS   (2)
 
#define BNO055_GYRO_ANY_MOTION_X_AXIS   (0)
 
#define BNO055_GYRO_ANY_MOTION_Y_AXIS   (1)
 
#define BNO055_GYRO_ANY_MOTION_Z_AXIS   (2)
 
#define BNO055_GYRO_HIGHRATE_X_AXIS   (0)
 
#define BNO055_GYRO_HIGHRATE_Y_AXIS   (1)
 
#define BNO055_GYRO_HIGHRATE_Z_AXIS   (2)
 
#define BNO055_REMAP_X_Y   (0X21)
 
#define BNO055_REMAP_Y_Z   (0X18)
 
#define BNO055_REMAP_Z_X   (0X06)
 
#define BNO055_REMAP_X_Y_Z_TYPE0   (0X12)
 
#define BNO055_REMAP_X_Y_Z_TYPE1   (0X09)
 
#define BNO055_DEFAULT_AXIS   (0X24)
 
#define BNO055_REMAP_AXIS_POSITIVE   (0X00)
 
#define BNO055_REMAP_AXIS_NEGATIVE   (0X01)
 
#define BNO055_GYRO_FILTERED_CONFIG   (0x00)
 
#define BNO055_GYRO_UNFILTERED_CONFIG   (0x01)
 
#define BNO055_SIC_HEX_0_0_F_F_DATA   (0x00FF)
 
ARRAY SIZE DEFINITIONS
#define BNO055_REV_ID_SIZE   (2)
 
#define BNO055_ACCEL_DATA_SIZE   (2)
 
#define BNO055_ACCEL_XYZ_DATA_SIZE   (6)
 
#define BNO055_MAG_DATA_SIZE   (2)
 
#define BNO055_MAG_XYZ_DATA_SIZE   (6)
 
#define BNO055_GYRO_DATA_SIZE   (2)
 
#define BNO055_GYRO_XYZ_DATA_SIZE   (6)
 
#define BNO055_EULER_DATA_SIZE   (2)
 
#define BNO055_EULER_HRP_DATA_SIZE   (6)
 
#define BNO055_QUATERNION_DATA_SIZE   (2)
 
#define BNO055_QUATERNION_WXYZ_DATA_SIZE   (8)
 
#define BNO055_GRAVITY_DATA_SIZE   (2)
 
#define BNO055_GRAVITY_XYZ_DATA_SIZE   (6)
 
#define BNO055_ACCEL_OFFSET_ARRAY   (6)
 
#define BNO055_MAG_OFFSET_ARRAY   (6)
 
#define BNO055_GYRO_OFFSET_ARRAY   (6)
 
#define BNO055_SOFT_IRON_CALIBRATION_MATRIX_SIZE   (18)
 
#define BNO055_SW_ID_LSB   (0)
 
#define BNO055_SW_ID_MSB   (1)
 
#define BNO055_SENSOR_DATA_LSB   (0)
 
#define BNO055_SENSOR_DATA_MSB   (1)
 
#define BNO055_SENSOR_DATA_EULER_LSB   (0)
 
#define BNO055_SENSOR_DATA_EULER_MSB   (1)
 
#define BNO055_SENSOR_DATA_QUATERNION_LSB   (0)
 
#define BNO055_SENSOR_DATA_QUATERNION_MSB   (1)
 
#define BNO055_SENSOR_DATA_QUATERNION_WXYZ_W_LSB   (0)
 
#define BNO055_SENSOR_DATA_QUATERNION_WXYZ_W_MSB   (1)
 
#define BNO055_SENSOR_DATA_QUATERNION_WXYZ_X_LSB   (2)
 
#define BNO055_SENSOR_DATA_QUATERNION_WXYZ_X_MSB   (3)
 
#define BNO055_SENSOR_DATA_QUATERNION_WXYZ_Y_LSB   (4)
 
#define BNO055_SENSOR_DATA_QUATERNION_WXYZ_Y_MSB   (5)
 
#define BNO055_SENSOR_DATA_QUATERNION_WXYZ_Z_LSB   (6)
 
#define BNO055_SENSOR_DATA_QUATERNION_WXYZ_Z_MSB   (7)
 
#define BNO055_SENSOR_DATA_XYZ_X_LSB   (0)
 
#define BNO055_SENSOR_DATA_XYZ_X_MSB   (1)
 
#define BNO055_SENSOR_DATA_XYZ_Y_LSB   (2)
 
#define BNO055_SENSOR_DATA_XYZ_Y_MSB   (3)
 
#define BNO055_SENSOR_DATA_XYZ_Z_LSB   (4)
 
#define BNO055_SENSOR_DATA_XYZ_Z_MSB   (5)
 
#define BNO055_SENSOR_DATA_EULER_HRP_H_LSB   (0)
 
#define BNO055_SENSOR_DATA_EULER_HRP_H_MSB   (1)
 
#define BNO055_SENSOR_DATA_EULER_HRP_R_LSB   (2)
 
#define BNO055_SENSOR_DATA_EULER_HRP_R_MSB   (3)
 
#define BNO055_SENSOR_DATA_EULER_HRP_P_LSB   (4)
 
#define BNO055_SENSOR_DATA_EULER_HRP_P_MSB   (5)
 
#define BNO055_SOFT_IRON_CALIB_0_LSB   (0)
 
#define BNO055_SOFT_IRON_CALIB_0_MSB   (1)
 
#define BNO055_SOFT_IRON_CALIB_1_LSB   (2)
 
#define BNO055_SOFT_IRON_CALIB_1_MSB   (3)
 
#define BNO055_SOFT_IRON_CALIB_2_LSB   (4)
 
#define BNO055_SOFT_IRON_CALIB_2_MSB   (5)
 
#define BNO055_SOFT_IRON_CALIB_3_LSB   (6)
 
#define BNO055_SOFT_IRON_CALIB_3_MSB   (7)
 
#define BNO055_SOFT_IRON_CALIB_4_LSB   (8)
 
#define BNO055_SOFT_IRON_CALIB_4_MSB   (9)
 
#define BNO055_SOFT_IRON_CALIB_5_LSB   (10)
 
#define BNO055_SOFT_IRON_CALIB_5_MSB   (11)
 
#define BNO055_SOFT_IRON_CALIB_6_LSB   (12)
 
#define BNO055_SOFT_IRON_CALIB_6_MSB   (13)
 
#define BNO055_SOFT_IRON_CALIB_7_LSB   (14)
 
#define BNO055_SOFT_IRON_CALIB_7_MSB   (15)
 
#define BNO055_SOFT_IRON_CALIB_8_LSB   (16)
 
#define BNO055_SOFT_IRON_CALIB_8_MSB   (17)
 
#define BNO055_SENSOR_OFFSET_DATA_X_LSB   (0)
 
#define BNO055_SENSOR_OFFSET_DATA_X_MSB   (1)
 
#define BNO055_SENSOR_OFFSET_DATA_Y_LSB   (2)
 
#define BNO055_SENSOR_OFFSET_DATA_Y_MSB   (3)
 
#define BNO055_SENSOR_OFFSET_DATA_Z_LSB   (4)
 
#define BNO055_SENSOR_OFFSET_DATA_Z_MSB   (5)
 
#define BNO055_OFFSET_RADIUS_LSB   (0)
 
#define BNO055_OFFSET_RADIUS_MSB   (1)
 
PAGE0 DATA REGISTERS DEFINITION
#define BNO055_CHIP_ID_POS   (0)
 
#define BNO055_CHIP_ID_MSK   (0xFF)
 
#define BNO055_CHIP_ID_LEN   (8)
 
#define BNO055_CHIP_ID_REG   BNO055_CHIP_ID_ADDR
 
#define BNO055_ACCEL_REV_ID_POS   (0)
 
#define BNO055_ACCEL_REV_ID_MSK   (0xFF)
 
#define BNO055_ACCEL_REV_ID_LEN   (8)
 
#define BNO055_ACCEL_REV_ID_REG   BNO055_ACCEL_REV_ID_ADDR
 
#define BNO055_MAG_REV_ID_POS   (0)
 
#define BNO055_MAG_REV_ID_MSK   (0xFF)
 
#define BNO055_MAG_REV_ID_LEN   (8)
 
#define BNO055_MAG_REV_ID_REG   BNO055_MAG_REV_ID_ADDR
 
#define BNO055_GYRO_REV_ID_POS   (0)
 
#define BNO055_GYRO_REV_ID_MSK   (0xFF)
 
#define BNO055_GYRO_REV_ID_LEN   (8)
 
#define BNO055_GYRO_REV_ID_REG   BNO055_GYRO_REV_ID_ADDR
 
#define BNO055_SW_REV_ID_LSB_POS   (0)
 
#define BNO055_SW_REV_ID_LSB_MSK   (0xFF)
 
#define BNO055_SW_REV_ID_LSB_LEN   (8)
 
#define BNO055_SW_REV_ID_LSB_REG   BNO055_SW_REV_ID_LSB_ADDR
 
#define BNO055_SW_REV_ID_MSB_POS   (0)
 
#define BNO055_SW_REV_ID_MSB_MSK   (0xFF)
 
#define BNO055_SW_REV_ID_MSB_LEN   (8)
 
#define BNO055_SW_REV_ID_MSB_REG   BNO055_SW_REV_ID_MSB_ADDR
 
#define BNO055_BL_REV_ID_POS   (0)
 
#define BNO055_BL_REV_ID_MSK   (0xFF)
 
#define BNO055_BL_REV_ID_LEN   (8)
 
#define BNO055_BL_REV_ID_REG   BNO055_BL_REV_ID_ADDR
 
#define BNO055_PAGE_ID_POS   (0)
 
#define BNO055_PAGE_ID_MSK   (0xFF)
 
#define BNO055_PAGE_ID_LEN   (8)
 
#define BNO055_PAGE_ID_REG   BNO055_PAGE_ID_ADDR
 
#define BNO055_ACCEL_DATA_X_LSB_VALUEX_POS   (0)
 
#define BNO055_ACCEL_DATA_X_LSB_VALUEX_MSK   (0xFF)
 
#define BNO055_ACCEL_DATA_X_LSB_VALUEX_LEN   (8)
 
#define BNO055_ACCEL_DATA_X_LSB_VALUEX_REG   BNO055_ACCEL_DATA_X_LSB_ADDR
 
#define BNO055_ACCEL_DATA_X_MSB_VALUEX_POS   (0)
 
#define BNO055_ACCEL_DATA_X_MSB_VALUEX_MSK   (0xFF)
 
#define BNO055_ACCEL_DATA_X_MSB_VALUEX_LEN   (8)
 
#define BNO055_ACCEL_DATA_X_MSB_VALUEX_REG   BNO055_ACCEL_DATA_X_MSB_ADDR
 
#define BNO055_ACCEL_DATA_Y_LSB_VALUEY_POS   (0)
 
#define BNO055_ACCEL_DATA_Y_LSB_VALUEY_MSK   (0xFF)
 
#define BNO055_ACCEL_DATA_Y_LSB_VALUEY_LEN   (8)
 
#define BNO055_ACCEL_DATA_Y_LSB_VALUEY_REG   BNO055_ACCEL_DATA_Y_LSB_ADDR
 
#define BNO055_ACCEL_DATA_Y_MSB_VALUEY_POS   (0)
 
#define BNO055_ACCEL_DATA_Y_MSB_VALUEY_MSK   (0xFF)
 
#define BNO055_ACCEL_DATA_Y_MSB_VALUEY_LEN   (8)
 
#define BNO055_ACCEL_DATA_Y_MSB_VALUEY_REG   BNO055_ACCEL_DATA_Y_MSB_ADDR
 
#define BNO055_ACCEL_DATA_Z_LSB_VALUEZ_POS   (0)
 
#define BNO055_ACCEL_DATA_Z_LSB_VALUEZ_MSK   (0xFF)
 
#define BNO055_ACCEL_DATA_Z_LSB_VALUEZ_LEN   (8)
 
#define BNO055_ACCEL_DATA_Z_LSB_VALUEZ_REG   BNO055_ACCEL_DATA_Z_LSB_ADDR
 
#define BNO055_ACCEL_DATA_Z_MSB_VALUEZ_POS   (0)
 
#define BNO055_ACCEL_DATA_Z_MSB_VALUEZ_MSK   (0xFF)
 
#define BNO055_ACCEL_DATA_Z_MSB_VALUEZ_LEN   (8)
 
#define BNO055_ACCEL_DATA_Z_MSB_VALUEZ_REG   BNO055_ACCEL_DATA_Z_MSB_ADDR
 
#define BNO055_MAG_DATA_X_LSB_VALUEX_POS   (0)
 
#define BNO055_MAG_DATA_X_LSB_VALUEX_MSK   (0xFF)
 
#define BNO055_MAG_DATA_X_LSB_VALUEX_LEN   (8)
 
#define BNO055_MAG_DATA_X_LSB_VALUEX_REG   BNO055_MAG_DATA_X_LSB_ADDR
 
#define BNO055_MAG_DATA_X_MSB_VALUEX_POS   (0)
 
#define BNO055_MAG_DATA_X_MSB_VALUEX_MSK   (0xFF)
 
#define BNO055_MAG_DATA_X_MSB_VALUEX_LEN   (8)
 
#define BNO055_MAG_DATA_X_MSB_VALUEX_REG   BNO055_MAG_DATA_X_MSB_ADDR
 
#define BNO055_MAG_DATA_Y_LSB_VALUEY_POS   (0)
 
#define BNO055_MAG_DATA_Y_LSB_VALUEY_MSK   (0xFF)
 
#define BNO055_MAG_DATA_Y_LSB_VALUEY_LEN   (8)
 
#define BNO055_MAG_DATA_Y_LSB_VALUEY_REG   BNO055_MAG_DATA_Y_LSB_ADDR
 
#define BNO055_MAG_DATA_Y_MSB_VALUEY_POS   (0)
 
#define BNO055_MAG_DATA_Y_MSB_VALUEY_MSK   (0xFF)
 
#define BNO055_MAG_DATA_Y_MSB_VALUEY_LEN   (8)
 
#define BNO055_MAG_DATA_Y_MSB_VALUEY_REG   BNO055_MAG_DATA_Y_MSB_ADDR
 
#define BNO055_MAG_DATA_Z_LSB_VALUEZ_POS   (0)
 
#define BNO055_MAG_DATA_Z_LSB_VALUEZ_MSK   (0xFF)
 
#define BNO055_MAG_DATA_Z_LSB_VALUEZ_LEN   (8)
 
#define BNO055_MAG_DATA_Z_LSB_VALUEZ_REG   BNO055_MAG_DATA_Z_LSB_ADDR
 
#define BNO055_MAG_DATA_Z_MSB_VALUEZ_POS   (0)
 
#define BNO055_MAG_DATA_Z_MSB_VALUEZ_MSK   (0xFF)
 
#define BNO055_MAG_DATA_Z_MSB_VALUEZ_LEN   (8)
 
#define BNO055_MAG_DATA_Z_MSB_VALUEZ_REG   BNO055_MAG_DATA_Z_MSB_ADDR
 
#define BNO055_GYRO_DATA_X_LSB_VALUEX_POS   (0)
 
#define BNO055_GYRO_DATA_X_LSB_VALUEX_MSK   (0xFF)
 
#define BNO055_GYRO_DATA_X_LSB_VALUEX_LEN   (8)
 
#define BNO055_GYRO_DATA_X_LSB_VALUEX_REG   BNO055_GYRO_DATA_X_LSB_ADDR
 
#define BNO055_GYRO_DATA_X_MSB_VALUEX_POS   (0)
 
#define BNO055_GYRO_DATA_X_MSB_VALUEX_MSK   (0xFF)
 
#define BNO055_GYRO_DATA_X_MSB_VALUEX_LEN   (8)
 
#define BNO055_GYRO_DATA_X_MSB_VALUEX_REG   BNO055_GYRO_DATA_X_MSB_ADDR
 
#define BNO055_GYRO_DATA_Y_LSB_VALUEY_POS   (0)
 
#define BNO055_GYRO_DATA_Y_LSB_VALUEY_MSK   (0xFF)
 
#define BNO055_GYRO_DATA_Y_LSB_VALUEY_LEN   (8)
 
#define BNO055_GYRO_DATA_Y_LSB_VALUEY_REG   BNO055_GYRO_DATA_Y_LSB_ADDR
 
#define BNO055_GYRO_DATA_Y_MSB_VALUEY_POS   (0)
 
#define BNO055_GYRO_DATA_Y_MSB_VALUEY_MSK   (0xFF)
 
#define BNO055_GYRO_DATA_Y_MSB_VALUEY_LEN   (8)
 
#define BNO055_GYRO_DATA_Y_MSB_VALUEY_REG   BNO055_GYRO_DATA_Y_MSB_ADDR
 
#define BNO055_GYRO_DATA_Z_LSB_VALUEZ_POS   (0)
 
#define BNO055_GYRO_DATA_Z_LSB_VALUEZ_MSK   (0xFF)
 
#define BNO055_GYRO_DATA_Z_LSB_VALUEZ_LEN   (8)
 
#define BNO055_GYRO_DATA_Z_LSB_VALUEZ_REG   BNO055_GYRO_DATA_Z_LSB_ADDR
 
#define BNO055_GYRO_DATA_Z_MSB_VALUEZ_POS   (0)
 
#define BNO055_GYRO_DATA_Z_MSB_VALUEZ_MSK   (0xFF)
 
#define BNO055_GYRO_DATA_Z_MSB_VALUEZ_LEN   (8)
 
#define BNO055_GYRO_DATA_Z_MSB_VALUEZ_REG   BNO055_GYRO_DATA_Z_MSB_ADDR
 
#define BNO055_EULER_H_LSB_VALUEH_POS   (0)
 
#define BNO055_EULER_H_LSB_VALUEH_MSK   (0xFF)
 
#define BNO055_EULER_H_LSB_VALUEH_LEN   (8)
 
#define BNO055_EULER_H_LSB_VALUEH_REG   BNO055_EULER_H_LSB_ADDR
 
#define BNO055_EULER_H_MSB_VALUEH_POS   (0)
 
#define BNO055_EULER_H_MSB_VALUEH_MSK   (0xFF)
 
#define BNO055_EULER_H_MSB_VALUEH_LEN   (8)
 
#define BNO055_EULER_H_MSB_VALUEH_REG   BNO055_EULER_H_MSB_ADDR
 
#define BNO055_EULER_R_LSB_VALUER_POS   (0)
 
#define BNO055_EULER_R_LSB_VALUER_MSK   (0xFF)
 
#define BNO055_EULER_R_LSB_VALUER_LEN   (8)
 
#define BNO055_EULER_R_LSB_VALUER_REG   BNO055_EULER_R_LSB_ADDR
 
#define BNO055_EULER_R_MSB_VALUER_POS   (0)
 
#define BNO055_EULER_R_MSB_VALUER_MSK   (0xFF)
 
#define BNO055_EULER_R_MSB_VALUER_LEN   (8)
 
#define BNO055_EULER_R_MSB_VALUER_REG   BNO055_EULER_R_MSB_ADDR
 
#define BNO055_EULER_P_LSB_VALUEP_POS   (0)
 
#define BNO055_EULER_P_LSB_VALUEP_MSK   (0xFF)
 
#define BNO055_EULER_P_LSB_VALUEP_LEN   (8)
 
#define BNO055_EULER_P_LSB_VALUEP_REG   BNO055_EULER_P_LSB_ADDR
 
#define BNO055_EULER_P_MSB_VALUEP_POS   (0)
 
#define BNO055_EULER_P_MSB_VALUEP_MSK   (0xFF)
 
#define BNO055_EULER_P_MSB_VALUEP_LEN   (8)
 
#define BNO055_EULER_P_MSB_VALUEP_REG   BNO055_EULER_P_MSB_ADDR
 
#define BNO055_QUATERNION_DATA_W_LSB_VALUEW_POS   (0)
 
#define BNO055_QUATERNION_DATA_W_LSB_VALUEW_MSK   (0xFF)
 
#define BNO055_QUATERNION_DATA_W_LSB_VALUEW_LEN   (8)
 
#define BNO055_QUATERNION_DATA_W_LSB_VALUEW_REG   BNO055_QUATERNION_DATA_W_LSB_ADDR
 
#define BNO055_QUATERNION_DATA_W_MSB_VALUEW_POS   (0)
 
#define BNO055_QUATERNION_DATA_W_MSB_VALUEW_MSK   (0xFF)
 
#define BNO055_QUATERNION_DATA_W_MSB_VALUEW_LEN   (8)
 
#define BNO055_QUATERNION_DATA_W_MSB_VALUEW_REG   BNO055_QUATERNION_DATA_W_MSB_ADDR
 
#define BNO055_QUATERNION_DATA_X_LSB_VALUEX_POS   (0)
 
#define BNO055_QUATERNION_DATA_X_LSB_VALUEX_MSK   (0xFF)
 
#define BNO055_QUATERNION_DATA_X_LSB_VALUEX_LEN   (8)
 
#define BNO055_QUATERNION_DATA_X_LSB_VALUEX_REG   BNO055_QUATERNION_DATA_X_LSB_ADDR
 
#define BNO055_QUATERNION_DATA_X_MSB_VALUEX_POS   (0)
 
#define BNO055_QUATERNION_DATA_X_MSB_VALUEX_MSK   (0xFF)
 
#define BNO055_QUATERNION_DATA_X_MSB_VALUEX_LEN   (8)
 
#define BNO055_QUATERNION_DATA_X_MSB_VALUEX_REG   BNO055_QUATERNION_DATA_X_MSB_ADDR
 
#define BNO055_QUATERNION_DATA_Y_LSB_VALUEY_POS   (0)
 
#define BNO055_QUATERNION_DATA_Y_LSB_VALUEY_MSK   (0xFF)
 
#define BNO055_QUATERNION_DATA_Y_LSB_VALUEY_LEN   (8)
 
#define BNO055_QUATERNION_DATA_Y_LSB_VALUEY_REG   BNO055_QUATERNION_DATA_Y_LSB_ADDR
 
#define BNO055_QUATERNION_DATA_Y_MSB_VALUEY_POS   (0)
 
#define BNO055_QUATERNION_DATA_Y_MSB_VALUEY_MSK   (0xFF)
 
#define BNO055_QUATERNION_DATA_Y_MSB_VALUEY_LEN   (8)
 
#define BNO055_QUATERNION_DATA_Y_MSB_VALUEY_REG   BNO055_QUATERNION_DATA_Y_MSB_ADDR
 
#define BNO055_QUATERNION_DATA_Z_LSB_VALUEZ_POS   (0)
 
#define BNO055_QUATERNION_DATA_Z_LSB_VALUEZ_MSK   (0xFF)
 
#define BNO055_QUATERNION_DATA_Z_LSB_VALUEZ_LEN   (8)
 
#define BNO055_QUATERNION_DATA_Z_LSB_VALUEZ_REG   BNO055_QUATERNION_DATA_Z_LSB_ADDR
 
#define BNO055_QUATERNION_DATA_Z_MSB_VALUEZ_POS   (0)
 
#define BNO055_QUATERNION_DATA_Z_MSB_VALUEZ_MSK   (0xFF)
 
#define BNO055_QUATERNION_DATA_Z_MSB_VALUEZ_LEN   (8)
 
#define BNO055_QUATERNION_DATA_Z_MSB_VALUEZ_REG   BNO055_QUATERNION_DATA_Z_MSB_ADDR
 
#define BNO055_LINEAR_ACCEL_DATA_X_LSB_VALUEX_POS   (0)
 
#define BNO055_LINEAR_ACCEL_DATA_X_LSB_VALUEX_MSK   (0xFF)
 
#define BNO055_LINEAR_ACCEL_DATA_X_LSB_VALUEX_LEN   (8)
 
#define BNO055_LINEAR_ACCEL_DATA_X_LSB_VALUEX_REG   BNO055_LINEAR_ACCEL_DATA_X_LSB_ADDR
 
#define BNO055_LINEAR_ACCEL_DATA_X_MSB_VALUEX_POS   (0)
 
#define BNO055_LINEAR_ACCEL_DATA_X_MSB_VALUEX_MSK   (0xFF)
 
#define BNO055_LINEAR_ACCEL_DATA_X_MSB_VALUEX_LEN   (8)
 
#define BNO055_LINEAR_ACCEL_DATA_X_MSB_VALUEX_REG   BNO055_LINEAR_ACCEL_DATA_X_MSB_ADDR
 
#define BNO055_LINEAR_ACCEL_DATA_Y_LSB_VALUEY_POS   (0)
 
#define BNO055_LINEAR_ACCEL_DATA_Y_LSB_VALUEY_MSK   (0xFF)
 
#define BNO055_LINEAR_ACCEL_DATA_Y_LSB_VALUEY_LEN   (8)
 
#define BNO055_LINEAR_ACCEL_DATA_Y_LSB_VALUEY_REG   BNO055_LINEAR_ACCEL_DATA_Y_LSB_ADDR
 
#define BNO055_LINEAR_ACCEL_DATA_Y_MSB_VALUEY_POS   (0)
 
#define BNO055_LINEAR_ACCEL_DATA_Y_MSB_VALUEY_MSK   (0xFF)
 
#define BNO055_LINEAR_ACCEL_DATA_Y_MSB_VALUEY_LEN   (8)
 
#define BNO055_LINEAR_ACCEL_DATA_Y_MSB_VALUEY_REG   BNO055_LINEAR_ACCEL_DATA_Y_MSB_ADDR
 
#define BNO055_LINEAR_ACCEL_DATA_Z_LSB_VALUEZ_POS   (0)
 
#define BNO055_LINEAR_ACCEL_DATA_Z_LSB_VALUEZ_MSK   (0xFF)
 
#define BNO055_LINEAR_ACCEL_DATA_Z_LSB_VALUEZ_LEN   (8)
 
#define BNO055_LINEAR_ACCEL_DATA_Z_LSB_VALUEZ_REG   BNO055_LINEAR_ACCEL_DATA_Z_LSB_ADDR
 
#define BNO055_LINEAR_ACCEL_DATA_Z_MSB_VALUEZ_POS   (0)
 
#define BNO055_LINEAR_ACCEL_DATA_Z_MSB_VALUEZ_MSK   (0xFF)
 
#define BNO055_LINEAR_ACCEL_DATA_Z_MSB_VALUEZ_LEN   (8)
 
#define BNO055_LINEAR_ACCEL_DATA_Z_MSB_VALUEZ_REG   BNO055_LINEAR_ACCEL_DATA_Z_MSB_ADDR
 
#define BNO055_GRAVITY_DATA_X_LSB_VALUEX_POS   (0)
 
#define BNO055_GRAVITY_DATA_X_LSB_VALUEX_MSK   (0xFF)
 
#define BNO055_GRAVITY_DATA_X_LSB_VALUEX_LEN   (8)
 
#define BNO055_GRAVITY_DATA_X_LSB_VALUEX_REG   BNO055_GRAVITY_DATA_X_LSB_ADDR
 
#define BNO055_GRAVITY_DATA_X_MSB_VALUEX_POS   (0)
 
#define BNO055_GRAVITY_DATA_X_MSB_VALUEX_MSK   (0xFF)
 
#define BNO055_GRAVITY_DATA_X_MSB_VALUEX_LEN   (8)
 
#define BNO055_GRAVITY_DATA_X_MSB_VALUEX_REG   BNO055_GRAVITY_DATA_X_MSB_ADDR
 
#define BNO055_GRAVITY_DATA_Y_LSB_VALUEY_POS   (0)
 
#define BNO055_GRAVITY_DATA_Y_LSB_VALUEY_MSK   (0xFF)
 
#define BNO055_GRAVITY_DATA_Y_LSB_VALUEY_LEN   (8)
 
#define BNO055_GRAVITY_DATA_Y_LSB_VALUEY_REG   BNO055_GRAVITY_DATA_Y_LSB_ADDR
 
#define BNO055_GRAVITY_DATA_Y_MSB_VALUEY_POS   (0)
 
#define BNO055_GRAVITY_DATA_Y_MSB_VALUEY_MSK   (0xFF)
 
#define BNO055_GRAVITY_DATA_Y_MSB_VALUEY_LEN   (8)
 
#define BNO055_GRAVITY_DATA_Y_MSB_VALUEY_REG   BNO055_GRAVITY_DATA_Y_MSB_ADDR
 
#define BNO055_GRAVITY_DATA_Z_LSB_VALUEZ_POS   (0)
 
#define BNO055_GRAVITY_DATA_Z_LSB_VALUEZ_MSK   (0xFF)
 
#define BNO055_GRAVITY_DATA_Z_LSB_VALUEZ_LEN   (8)
 
#define BNO055_GRAVITY_DATA_Z_LSB_VALUEZ_REG   BNO055_GRAVITY_DATA_Z_LSB_ADDR
 
#define BNO055_GRAVITY_DATA_Z_MSB_VALUEZ_POS   (0)
 
#define BNO055_GRAVITY_DATA_Z_MSB_VALUEZ_MSK   (0xFF)
 
#define BNO055_GRAVITY_DATA_Z_MSB_VALUEZ_LEN   (8)
 
#define BNO055_GRAVITY_DATA_Z_MSB_VALUEZ_REG   BNO055_GRAVITY_DATA_Z_MSB_ADDR
 
#define BNO055_TEMP_POS   (0)
 
#define BNO055_TEMP_MSK   (0xFF)
 
#define BNO055_TEMP_LEN   (8)
 
#define BNO055_TEMP_REG   BNO055_TEMP_ADDR
 
#define BNO055_MAG_CALIB_STAT_POS   (0)
 
#define BNO055_MAG_CALIB_STAT_MSK   (0X03)
 
#define BNO055_MAG_CALIB_STAT_LEN   (2)
 
#define BNO055_MAG_CALIB_STAT_REG   BNO055_CALIB_STAT_ADDR
 
#define BNO055_ACCEL_CALIB_STAT_POS   (2)
 
#define BNO055_ACCEL_CALIB_STAT_MSK   (0X0C)
 
#define BNO055_ACCEL_CALIB_STAT_LEN   (2)
 
#define BNO055_ACCEL_CALIB_STAT_REG   BNO055_CALIB_STAT_ADDR
 
#define BNO055_GYRO_CALIB_STAT_POS   (4)
 
#define BNO055_GYRO_CALIB_STAT_MSK   (0X30)
 
#define BNO055_GYRO_CALIB_STAT_LEN   (2)
 
#define BNO055_GYRO_CALIB_STAT_REG   BNO055_CALIB_STAT_ADDR
 
#define BNO055_SYS_CALIB_STAT_POS   (6)
 
#define BNO055_SYS_CALIB_STAT_MSK   (0XC0)
 
#define BNO055_SYS_CALIB_STAT_LEN   (2)
 
#define BNO055_SYS_CALIB_STAT_REG   BNO055_CALIB_STAT_ADDR
 
#define BNO055_SELFTEST_ACCEL_POS   (0)
 
#define BNO055_SELFTEST_ACCEL_MSK   (0X01)
 
#define BNO055_SELFTEST_ACCEL_LEN   (1)
 
#define BNO055_SELFTEST_ACCEL_REG   BNO055_SELFTEST_RESULT_ADDR
 
#define BNO055_SELFTEST_MAG_POS   (1)
 
#define BNO055_SELFTEST_MAG_MSK   (0X02)
 
#define BNO055_SELFTEST_MAG_LEN   (1)
 
#define BNO055_SELFTEST_MAG_REG   BNO055_SELFTEST_RESULT_ADDR
 
#define BNO055_SELFTEST_GYRO_POS   (2)
 
#define BNO055_SELFTEST_GYRO_MSK   (0X04)
 
#define BNO055_SELFTEST_GYRO_LEN   (1)
 
#define BNO055_SELFTEST_GYRO_REG   BNO055_SELFTEST_RESULT_ADDR
 
#define BNO055_SELFTEST_MCU_POS   (3)
 
#define BNO055_SELFTEST_MCU_MSK   (0X08)
 
#define BNO055_SELFTEST_MCU_LEN   (1)
 
#define BNO055_SELFTEST_MCU_REG   BNO055_SELFTEST_RESULT_ADDR
 
#define BNO055_INTR_STAT_GYRO_ANY_MOTION_POS   (2)
 
#define BNO055_INTR_STAT_GYRO_ANY_MOTION_MSK   (0X04)
 
#define BNO055_INTR_STAT_GYRO_ANY_MOTION_LEN   (1)
 
#define BNO055_INTR_STAT_GYRO_ANY_MOTION_REG   BNO055_INTR_STAT_ADDR
 
#define BNO055_INTR_STAT_GYRO_HIGHRATE_POS   (3)
 
#define BNO055_INTR_STAT_GYRO_HIGHRATE_MSK   (0X08)
 
#define BNO055_INTR_STAT_GYRO_HIGHRATE_LEN   (1)
 
#define BNO055_INTR_STAT_GYRO_HIGHRATE_REG   BNO055_INTR_STAT_ADDR
 
#define BNO055_INTR_STAT_ACCEL_HIGH_G_POS   (5)
 
#define BNO055_INTR_STAT_ACCEL_HIGH_G_MSK   (0X20)
 
#define BNO055_INTR_STAT_ACCEL_HIGH_G_LEN   (1)
 
#define BNO055_INTR_STAT_ACCEL_HIGH_G_REG   BNO055_INTR_STAT_ADDR
 
#define BNO055_INTR_STAT_ACCEL_ANY_MOTION_POS   (6)
 
#define BNO055_INTR_STAT_ACCEL_ANY_MOTION_MSK   (0X40)
 
#define BNO055_INTR_STAT_ACCEL_ANY_MOTION_LEN   (1)
 
#define BNO055_INTR_STAT_ACCEL_ANY_MOTION_REG   BNO055_INTR_STAT_ADDR
 
#define BNO055_INTR_STAT_ACCEL_NO_MOTION_POS   (7)
 
#define BNO055_INTR_STAT_ACCEL_NO_MOTION_MSK   (0X80)
 
#define BNO055_INTR_STAT_ACCEL_NO_MOTION_LEN   (1)
 
#define BNO055_INTR_STAT_ACCEL_NO_MOTION_REG   BNO055_INTR_STAT_ADDR
 
#define BNO055_SYS_MAIN_CLK_POS   (0)
 
#define BNO055_SYS_MAIN_CLK_MSK   (0X10)
 
#define BNO055_SYS_MAIN_CLK_LEN   (1)
 
#define BNO055_SYS_MAIN_CLK_REG   BNO055_SYS_CLK_STAT_ADDR
 
#define BNO055_SYS_STAT_CODE_POS   (0)
 
#define BNO055_SYS_STAT_CODE_MSK   (0XFF)
 
#define BNO055_SYS_STAT_CODE_LEN   (8)
 
#define BNO055_SYS_STAT_CODE_REG   BNO055_SYS_STAT_ADDR
 
#define BNO055_SYS_ERROR_CODE_POS   (0)
 
#define BNO055_SYS_ERROR_CODE_MSK   (0XFF)
 
#define BNO055_SYS_ERROR_CODE_LEN   (8)
 
#define BNO055_SYS_ERROR_CODE_REG   BNO055_SYS_ERR_ADDR
 
#define BNO055_ACCEL_UNIT_POS   (0)
 
#define BNO055_ACCEL_UNIT_MSK   (0X01)
 
#define BNO055_ACCEL_UNIT_LEN   (1)
 
#define BNO055_ACCEL_UNIT_REG   BNO055_UNIT_SEL_ADDR
 
#define BNO055_GYRO_UNIT_POS   (1)
 
#define BNO055_GYRO_UNIT_MSK   (0X02)
 
#define BNO055_GYRO_UNIT_LEN   (1)
 
#define BNO055_GYRO_UNIT_REG   BNO055_UNIT_SEL_ADDR
 
#define BNO055_EULER_UNIT_POS   (2)
 
#define BNO055_EULER_UNIT_MSK   (0X04)
 
#define BNO055_EULER_UNIT_LEN   (1)
 
#define BNO055_EULER_UNIT_REG   BNO055_UNIT_SEL_ADDR
 
#define BNO055_TILT_UNIT_POS   (3)
 
#define BNO055_TILT_UNIT_MSK   (0X08)
 
#define BNO055_TILT_UNIT_LEN   (1)
 
#define BNO055_TILT_UNIT_REG   BNO055_UNIT_SEL_ADDR
 
#define BNO055_TEMP_UNIT_POS   (4)
 
#define BNO055_TEMP_UNIT_MSK   (0X10)
 
#define BNO055_TEMP_UNIT_LEN   (1)
 
#define BNO055_TEMP_UNIT_REG   BNO055_UNIT_SEL_ADDR
 
#define BNO055_DATA_OUTPUT_FORMAT_POS   (7)
 
#define BNO055_DATA_OUTPUT_FORMAT_MSK   (0X80)
 
#define BNO055_DATA_OUTPUT_FORMAT_LEN   (1)
 
#define BNO055_DATA_OUTPUT_FORMAT_REG   BNO055_UNIT_SEL_ADDR
 
#define BNO055_OPERATION_MODE_POS   (0)
 
#define BNO055_OPERATION_MODE_MSK   (0X0F)
 
#define BNO055_OPERATION_MODE_LEN   (4)
 
#define BNO055_OPERATION_MODE_REG   BNO055_OPR_MODE_ADDR
 
#define BNO055_POWER_MODE_POS   (0)
 
#define BNO055_POWER_MODE_MSK   (0X03)
 
#define BNO055_POWER_MODE_LEN   (2)
 
#define BNO055_POWER_MODE_REG   BNO055_PWR_MODE_ADDR
 
#define BNO055_SELFTEST_POS   (0)
 
#define BNO055_SELFTEST_MSK   (0X01)
 
#define BNO055_SELFTEST_LEN   (1)
 
#define BNO055_SELFTEST_REG   BNO055_SYS_TRIGGER_ADDR
 
#define BNO055_SYS_RST_POS   (5)
 
#define BNO055_SYS_RST_MSK   (0X20)
 
#define BNO055_SYS_RST_LEN   (1)
 
#define BNO055_SYS_RST_REG   BNO055_SYS_TRIGGER_ADDR
 
#define BNO055_INTR_RST_POS   (6)
 
#define BNO055_INTR_RST_MSK   (0X40)
 
#define BNO055_INTR_RST_LEN   (1)
 
#define BNO055_INTR_RST_REG   BNO055_SYS_TRIGGER_ADDR
 
#define BNO055_CLK_SRC_POS   (7)
 
#define BNO055_CLK_SRC_MSK   (0X80)
 
#define BNO055_CLK_SRC_LEN   (1)
 
#define BNO055_CLK_SRC_REG   BNO055_SYS_TRIGGER_ADDR
 
#define BNO055_TEMP_SOURCE_POS   (0)
 
#define BNO055_TEMP_SOURCE_MSK   (0X03)
 
#define BNO055_TEMP_SOURCE_LEN   (2)
 
#define BNO055_TEMP_SOURCE_REG   BNO055_TEMP_SOURCE_ADDR
 
#define BNO055_REMAP_AXIS_VALUE_POS   (0)
 
#define BNO055_REMAP_AXIS_VALUE_MSK   (0X3F)
 
#define BNO055_REMAP_AXIS_VALUE_LEN   (6)
 
#define BNO055_REMAP_AXIS_VALUE_REG   BNO055_AXIS_MAP_CONFIG_ADDR
 
#define BNO055_REMAP_Z_SIGN_POS   (0)
 
#define BNO055_REMAP_Z_SIGN_MSK   (0X01)
 
#define BNO055_REMAP_Z_SIGN_LEN   (1)
 
#define BNO055_REMAP_Z_SIGN_REG   BNO055_AXIS_MAP_SIGN_ADDR
 
#define BNO055_REMAP_Y_SIGN_POS   (1)
 
#define BNO055_REMAP_Y_SIGN_MSK   (0X02)
 
#define BNO055_REMAP_Y_SIGN_LEN   (1)
 
#define BNO055_REMAP_Y_SIGN_REG   BNO055_AXIS_MAP_SIGN_ADDR
 
#define BNO055_REMAP_X_SIGN_POS   (2)
 
#define BNO055_REMAP_X_SIGN_MSK   (0X04)
 
#define BNO055_REMAP_X_SIGN_LEN   (1)
 
#define BNO055_REMAP_X_SIGN_REG   BNO055_AXIS_MAP_SIGN_ADDR
 
#define BNO055_SIC_MATRIX_0_LSB_POS   (0)
 
#define BNO055_SIC_MATRIX_0_LSB_MSK   (0XFF)
 
#define BNO055_SIC_MATRIX_0_LSB_LEN   (8)
 
#define BNO055_SIC_MATRIX_0_LSB_REG   BNO055_SIC_MATRIX_0_LSB_ADDR
 
#define BNO055_SIC_MATRIX_0_MSB_POS   (0)
 
#define BNO055_SIC_MATRIX_0_MSB_MSK   (0XFF)
 
#define BNO055_SIC_MATRIX_0_MSB_LEN   (8)
 
#define BNO055_SIC_MATRIX_0_MSB_REG   BNO055_SIC_MATRIX_0_MSB_ADDR
 
#define BNO055_SIC_MATRIX_1_LSB_POS   (0)
 
#define BNO055_SIC_MATRIX_1_LSB_MSK   (0XFF)
 
#define BNO055_SIC_MATRIX_1_LSB_LEN   (8)
 
#define BNO055_SIC_MATRIX_1_LSB_REG   BNO055_SIC_MATRIX_1_LSB_ADDR
 
#define BNO055_SIC_MATRIX_1_MSB_POS   (0)
 
#define BNO055_SIC_MATRIX_1_MSB_MSK   (0XFF)
 
#define BNO055_SIC_MATRIX_1_MSB_LEN   (8)
 
#define BNO055_SIC_MATRIX_1_MSB_REG   BNO055_SIC_MATRIX_1_MSB_ADDR
 
#define BNO055_SIC_MATRIX_2_LSB_POS   (0)
 
#define BNO055_SIC_MATRIX_2_LSB_MSK   (0XFF)
 
#define BNO055_SIC_MATRIX_2_LSB_LEN   (8)
 
#define BNO055_SIC_MATRIX_2_LSB_REG   BNO055_SIC_MATRIX_2_LSB_ADDR
 
#define BNO055_SIC_MATRIX_2_MSB_POS   (0)
 
#define BNO055_SIC_MATRIX_2_MSB_MSK   (0XFF)
 
#define BNO055_SIC_MATRIX_2_MSB_LEN   (8)
 
#define BNO055_SIC_MATRIX_2_MSB_REG   BNO055_SIC_MATRIX_2_MSB_ADDR
 
#define BNO055_SIC_MATRIX_3_LSB_POS   (0)
 
#define BNO055_SIC_MATRIX_3_LSB_MSK   (0XFF)
 
#define BNO055_SIC_MATRIX_3_LSB_LEN   (8)
 
#define BNO055_SIC_MATRIX_3_LSB_REG   BNO055_SIC_MATRIX_3_LSB_ADDR
 
#define BNO055_SIC_MATRIX_3_MSB_POS   (0)
 
#define BNO055_SIC_MATRIX_3_MSB_MSK   (0XFF)
 
#define BNO055_SIC_MATRIX_3_MSB_LEN   (8)
 
#define BNO055_SIC_MATRIX_3_MSB_REG   BNO055_SIC_MATRIX_3_MSB_ADDR
 
#define BNO055_SIC_MATRIX_4_LSB_POS   (0)
 
#define BNO055_SIC_MATRIX_4_LSB_MSK   (0XFF)
 
#define BNO055_SIC_MATRIX_4_LSB_LEN   (8)
 
#define BNO055_SIC_MATRIX_4_LSB_REG   BNO055_SIC_MATRIX_4_LSB_ADDR
 
#define BNO055_SIC_MATRIX_4_MSB_POS   (0)
 
#define BNO055_SIC_MATRIX_4_MSB_MSK   (0XFF)
 
#define BNO055_SIC_MATRIX_4_MSB_LEN   (8)
 
#define BNO055_SIC_MATRIX_4_MSB_REG   BNO055_SIC_MATRIX_4_MSB_ADDR
 
#define BNO055_SIC_MATRIX_5_LSB_POS   (0)
 
#define BNO055_SIC_MATRIX_5_LSB_MSK   (0XFF)
 
#define BNO055_SIC_MATRIX_5_LSB_LEN   (8)
 
#define BNO055_SIC_MATRIX_5_LSB_REG   BNO055_SIC_MATRIX_5_LSB_ADDR
 
#define BNO055_SIC_MATRIX_5_MSB_POS   (0)
 
#define BNO055_SIC_MATRIX_5_MSB_MSK   (0XFF)
 
#define BNO055_SIC_MATRIX_5_MSB_LEN   (8)
 
#define BNO055_SIC_MATRIX_5_MSB_REG   BNO055_SIC_MATRIX_5_MSB_ADDR
 
#define BNO055_SIC_MATRIX_6_LSB_POS   (0)
 
#define BNO055_SIC_MATRIX_6_LSB_MSK   (0XFF)
 
#define BNO055_SIC_MATRIX_6_LSB_LEN   (8)
 
#define BNO055_SIC_MATRIX_6_LSB_REG   BNO055_SIC_MATRIX_6_LSB_ADDR
 
#define BNO055_SIC_MATRIX_6_MSB_POS   (0)
 
#define BNO055_SIC_MATRIX_6_MSB_MSK   (0XFF)
 
#define BNO055_SIC_MATRIX_6_MSB_LEN   (8)
 
#define BNO055_SIC_MATRIX_6_MSB_REG   BNO055_SIC_MATRIX_6_MSB_ADDR
 
#define BNO055_SIC_MATRIX_7_LSB_POS   (0)
 
#define BNO055_SIC_MATRIX_7_LSB_MSK   (0XFF)
 
#define BNO055_SIC_MATRIX_7_LSB_LEN   (8)
 
#define BNO055_SIC_MATRIX_7_LSB_REG   BNO055_SIC_MATRIX_7_LSB_ADDR
 
#define BNO055_SIC_MATRIX_7_MSB_POS   (0)
 
#define BNO055_SIC_MATRIX_7_MSB_MSK   (0XFF)
 
#define BNO055_SIC_MATRIX_7_MSB_LEN   (8)
 
#define BNO055_SIC_MATRIX_7_MSB_REG   BNO055_SIC_MATRIX_7_MSB_ADDR
 
#define BNO055_SIC_MATRIX_8_LSB_POS   (0)
 
#define BNO055_SIC_MATRIX_8_LSB_MSK   (0XFF)
 
#define BNO055_SIC_MATRIX_8_LSB_LEN   (8)
 
#define BNO055_SIC_MATRIX_8_LSB_REG   BNO055_SIC_MATRIX_8_LSB_ADDR
 
#define BNO055_SIC_MATRIX_8_MSB_POS   (0)
 
#define BNO055_SIC_MATRIX_8_MSB_MSK   (0XFF)
 
#define BNO055_SIC_MATRIX_8_MSB_LEN   (8)
 
#define BNO055_SIC_MATRIX_8_MSB_REG   BNO055_SIC_MATRIX_8_MSB_ADDR
 
#define BNO055_ACCEL_OFFSET_X_LSB_POS   (0)
 
#define BNO055_ACCEL_OFFSET_X_LSB_MSK   (0XFF)
 
#define BNO055_ACCEL_OFFSET_X_LSB_LEN   (8)
 
#define BNO055_ACCEL_OFFSET_X_LSB_REG   BNO055_ACCEL_OFFSET_X_LSB_ADDR
 
#define BNO055_ACCEL_OFFSET_X_MSB_POS   (0)
 
#define BNO055_ACCEL_OFFSET_X_MSB_MSK   (0XFF)
 
#define BNO055_ACCEL_OFFSET_X_MSB_LEN   (8)
 
#define BNO055_ACCEL_OFFSET_X_MSB_REG   BNO055_ACCEL_OFFSET_X_MSB_ADDR
 
#define BNO055_ACCEL_OFFSET_Y_LSB_POS   (0)
 
#define BNO055_ACCEL_OFFSET_Y_LSB_MSK   (0XFF)
 
#define BNO055_ACCEL_OFFSET_Y_LSB_LEN   (8)
 
#define BNO055_ACCEL_OFFSET_Y_LSB_REG   BNO055_ACCEL_OFFSET_Y_LSB_ADDR
 
#define BNO055_ACCEL_OFFSET_Y_MSB_POS   (0)
 
#define BNO055_ACCEL_OFFSET_Y_MSB_MSK   (0XFF)
 
#define BNO055_ACCEL_OFFSET_Y_MSB_LEN   (8)
 
#define BNO055_ACCEL_OFFSET_Y_MSB_REG   BNO055_ACCEL_OFFSET_Y_MSB_ADDR
 
#define BNO055_ACCEL_OFFSET_Z_LSB_POS   (0)
 
#define BNO055_ACCEL_OFFSET_Z_LSB_MSK   (0XFF)
 
#define BNO055_ACCEL_OFFSET_Z_LSB_LEN   (8)
 
#define BNO055_ACCEL_OFFSET_Z_LSB_REG   BNO055_ACCEL_OFFSET_Z_LSB_ADDR
 
#define BNO055_ACCEL_OFFSET_Z_MSB_POS   (0)
 
#define BNO055_ACCEL_OFFSET_Z_MSB_MSK   (0XFF)
 
#define BNO055_ACCEL_OFFSET_Z_MSB_LEN   (8)
 
#define BNO055_ACCEL_OFFSET_Z_MSB_REG   BNO055_ACCEL_OFFSET_Z_MSB_ADDR
 
#define BNO055_MAG_OFFSET_X_LSB_POS   (0)
 
#define BNO055_MAG_OFFSET_X_LSB_MSK   (0XFF)
 
#define BNO055_MAG_OFFSET_X_LSB_LEN   (8)
 
#define BNO055_MAG_OFFSET_X_LSB_REG   BNO055_MAG_OFFSET_X_LSB_ADDR
 
#define BNO055_MAG_OFFSET_X_MSB_POS   (0)
 
#define BNO055_MAG_OFFSET_X_MSB_MSK   (0XFF)
 
#define BNO055_MAG_OFFSET_X_MSB_LEN   (8)
 
#define BNO055_MAG_OFFSET_X_MSB_REG   BNO055_MAG_OFFSET_X_MSB_ADDR
 
#define BNO055_MAG_OFFSET_Y_LSB_POS   (0)
 
#define BNO055_MAG_OFFSET_Y_LSB_MSK   (0XFF)
 
#define BNO055_MAG_OFFSET_Y_LSB_LEN   (8)
 
#define BNO055_MAG_OFFSET_Y_LSB_REG   BNO055_MAG_OFFSET_Y_LSB_ADDR
 
#define BNO055_MAG_OFFSET_Y_MSB_POS   (0)
 
#define BNO055_MAG_OFFSET_Y_MSB_MSK   (0XFF)
 
#define BNO055_MAG_OFFSET_Y_MSB_LEN   (8)
 
#define BNO055_MAG_OFFSET_Y_MSB_REG   BNO055_MAG_OFFSET_Y_MSB_ADDR
 
#define BNO055_MAG_OFFSET_Z_LSB_POS   (0)
 
#define BNO055_MAG_OFFSET_Z_LSB_MSK   (0XFF)
 
#define BNO055_MAG_OFFSET_Z_LSB_LEN   (8)
 
#define BNO055_MAG_OFFSET_Z_LSB_REG   BNO055_MAG_OFFSET_Z_LSB_ADDR
 
#define BNO055_MAG_OFFSET_Z_MSB_POS   (0)
 
#define BNO055_MAG_OFFSET_Z_MSB_MSK   (0XFF)
 
#define BNO055_MAG_OFFSET_Z_MSB_LEN   (8)
 
#define BNO055_MAG_OFFSET_Z_MSB_REG   BNO055_MAG_OFFSET_Z_MSB_ADDR
 
#define BNO055_GYRO_OFFSET_X_LSB_POS   (0)
 
#define BNO055_GYRO_OFFSET_X_LSB_MSK   (0XFF)
 
#define BNO055_GYRO_OFFSET_X_LSB_LEN   (8)
 
#define BNO055_GYRO_OFFSET_X_LSB_REG   BNO055_GYRO_OFFSET_X_LSB_ADDR
 
#define BNO055_GYRO_OFFSET_X_MSB_POS   (0)
 
#define BNO055_GYRO_OFFSET_X_MSB_MSK   (0XFF)
 
#define BNO055_GYRO_OFFSET_X_MSB_LEN   (8)
 
#define BNO055_GYRO_OFFSET_X_MSB_REG   BNO055_GYRO_OFFSET_X_MSB_ADDR
 
#define BNO055_GYRO_OFFSET_Y_LSB_POS   (0)
 
#define BNO055_GYRO_OFFSET_Y_LSB_MSK   (0XFF)
 
#define BNO055_GYRO_OFFSET_Y_LSB_LEN   (8)
 
#define BNO055_GYRO_OFFSET_Y_LSB_REG   BNO055_GYRO_OFFSET_Y_LSB_ADDR
 
#define BNO055_GYRO_OFFSET_Y_MSB_POS   (0)
 
#define BNO055_GYRO_OFFSET_Y_MSB_MSK   (0XFF)
 
#define BNO055_GYRO_OFFSET_Y_MSB_LEN   (8)
 
#define BNO055_GYRO_OFFSET_Y_MSB_REG   BNO055_GYRO_OFFSET_Y_MSB_ADDR
 
#define BNO055_GYRO_OFFSET_Z_LSB_POS   (0)
 
#define BNO055_GYRO_OFFSET_Z_LSB_MSK   (0XFF)
 
#define BNO055_GYRO_OFFSET_Z_LSB_LEN   (8)
 
#define BNO055_GYRO_OFFSET_Z_LSB_REG   BNO055_GYRO_OFFSET_Z_LSB_ADDR
 
#define BNO055_GYRO_OFFSET_Z_MSB_POS   (0)
 
#define BNO055_GYRO_OFFSET_Z_MSB_MSK   (0XFF)
 
#define BNO055_GYRO_OFFSET_Z_MSB_LEN   (8)
 
#define BNO055_GYRO_OFFSET_Z_MSB_REG   BNO055_GYRO_OFFSET_Z_MSB_ADDR
 
#define BNO055_ACCEL_RADIUS_LSB_POS   (0)
 
#define BNO055_ACCEL_RADIUS_LSB_MSK   (0XFF)
 
#define BNO055_ACCEL_RADIUS_LSB_LEN   (8)
 
#define BNO055_ACCEL_RADIUS_LSB_REG   BNO055_ACCEL_RADIUS_LSB_ADDR
 
#define BNO055_ACCEL_RADIUS_MSB_POS   (0)
 
#define BNO055_ACCEL_RADIUS_MSB_MSK   (0XFF)
 
#define BNO055_ACCEL_RADIUS_MSB_LEN   (8)
 
#define BNO055_ACCEL_RADIUS_MSB_REG   BNO055_ACCEL_RADIUS_MSB_ADDR
 
#define BNO055_MAG_RADIUS_LSB_POS   (0)
 
#define BNO055_MAG_RADIUS_LSB_MSK   (0XFF)
 
#define BNO055_MAG_RADIUS_LSB_LEN   (8)
 
#define BNO055_MAG_RADIUS_LSB_REG   BNO055_MAG_RADIUS_LSB_ADDR
 
#define BNO055_MAG_RADIUS_MSB_POS   (0)
 
#define BNO055_MAG_RADIUS_MSB_MSK   (0XFF)
 
#define BNO055_MAG_RADIUS_MSB_LEN   (8)
 
#define BNO055_MAG_RADIUS_MSB_REG   BNO055_MAG_RADIUS_MSB_ADDR
 
PAGE1 DATA REGISTERS DEFINITION
#define BNO055_ACCEL_RANGE_POS   (0)
 
#define BNO055_ACCEL_RANGE_MSK   (0X03)
 
#define BNO055_ACCEL_RANGE_LEN   (2)
 
#define BNO055_ACCEL_RANGE_REG   BNO055_ACCEL_CONFIG_ADDR
 
#define BNO055_ACCEL_BW_POS   (2)
 
#define BNO055_ACCEL_BW_MSK   (0X1C)
 
#define BNO055_ACCEL_BW_LEN   (3)
 
#define BNO055_ACCEL_BW_REG   BNO055_ACCEL_CONFIG_ADDR
 
#define BNO055_ACCEL_POWER_MODE_POS   (5)
 
#define BNO055_ACCEL_POWER_MODE_MSK   (0XE0)
 
#define BNO055_ACCEL_POWER_MODE_LEN   (3)
 
#define BNO055_ACCEL_POWER_MODE_REG   BNO055_ACCEL_CONFIG_ADDR
 
#define BNO055_MAG_DATA_OUTPUT_RATE_POS   (0)
 
#define BNO055_MAG_DATA_OUTPUT_RATE_MSK   (0X07)
 
#define BNO055_MAG_DATA_OUTPUT_RATE_LEN   (3)
 
#define BNO055_MAG_DATA_OUTPUT_RATE_REG   BNO055_MAG_CONFIG_ADDR
 
#define BNO055_MAG_OPERATION_MODE_POS   (3)
 
#define BNO055_MAG_OPERATION_MODE_MSK   (0X18)
 
#define BNO055_MAG_OPERATION_MODE_LEN   (2)
 
#define BNO055_MAG_OPERATION_MODE_REG   BNO055_MAG_CONFIG_ADDR
 
#define BNO055_MAG_POWER_MODE_POS   (5)
 
#define BNO055_MAG_POWER_MODE_MSK   (0X60)
 
#define BNO055_MAG_POWER_MODE_LEN   (2)
 
#define BNO055_MAG_POWER_MODE_REG   BNO055_MAG_CONFIG_ADDR
 
#define BNO055_GYRO_RANGE_POS   (0)
 
#define BNO055_GYRO_RANGE_MSK   (0X07)
 
#define BNO055_GYRO_RANGE_LEN   (3)
 
#define BNO055_GYRO_RANGE_REG   BNO055_GYRO_CONFIG_ADDR
 
#define BNO055_GYRO_BW_POS   (3)
 
#define BNO055_GYRO_BW_MSK   (0X38)
 
#define BNO055_GYRO_BW_LEN   (3)
 
#define BNO055_GYRO_BW_REG   BNO055_GYRO_CONFIG_ADDR
 
#define BNO055_GYRO_POWER_MODE_POS   (0)
 
#define BNO055_GYRO_POWER_MODE_MSK   (0X07)
 
#define BNO055_GYRO_POWER_MODE_LEN   (3)
 
#define BNO055_GYRO_POWER_MODE_REG   BNO055_GYRO_MODE_CONFIG_ADDR
 
#define BNO055_ACCEL_SLEEP_MODE_POS   (0)
 
#define BNO055_ACCEL_SLEEP_MODE_MSK   (0X01)
 
#define BNO055_ACCEL_SLEEP_MODE_LEN   (1)
 
#define BNO055_ACCEL_SLEEP_MODE_REG   BNO055_ACCEL_SLEEP_CONFIG_ADDR
 
#define BNO055_ACCEL_SLEEP_DURN_POS   (1)
 
#define BNO055_ACCEL_SLEEP_DURN_MSK   (0X1E)
 
#define BNO055_ACCEL_SLEEP_DURN_LEN   (4)
 
#define BNO055_ACCEL_SLEEP_DURN_REG   BNO055_ACCEL_SLEEP_CONFIG_ADDR
 
#define BNO055_GYRO_SLEEP_DURN_POS   (0)
 
#define BNO055_GYRO_SLEEP_DURN_MSK   (0X07)
 
#define BNO055_GYRO_SLEEP_DURN_LEN   (3)
 
#define BNO055_GYRO_SLEEP_DURN_REG   BNO055_GYRO_SLEEP_CONFIG_ADDR
 
#define BNO055_GYRO_AUTO_SLEEP_DURN_POS   (3)
 
#define BNO055_GYRO_AUTO_SLEEP_DURN_MSK   (0X38)
 
#define BNO055_GYRO_AUTO_SLEEP_DURN_LEN   (3)
 
#define BNO055_GYRO_AUTO_SLEEP_DURN_REG   BNO055_GYRO_SLEEP_CONFIG_ADDR
 
#define BNO055_MAG_SLEEP_MODE_POS   (0)
 
#define BNO055_MAG_SLEEP_MODE_MSK   (0X01)
 
#define BNO055_MAG_SLEEP_MODE_LEN   (1)
 
#define BNO055_MAG_SLEEP_MODE_REG   BNO055_MAG_SLEEP_CONFIG_ADDR
 
#define BNO055_MAG_SLEEP_DURN_POS   (1)
 
#define BNO055_MAG_SLEEP_DURN_MSK   (0X1E)
 
#define BNO055_MAG_SLEEP_DURN_LEN   (4)
 
#define BNO055_MAG_SLEEP_DURN_REG   BNO055_MAG_SLEEP_CONFIG_ADDR
 
#define BNO055_GYRO_ANY_MOTION_INTR_MASK_POS   (2)
 
#define BNO055_GYRO_ANY_MOTION_INTR_MASK_MSK   (0X04)
 
#define BNO055_GYRO_ANY_MOTION_INTR_MASK_LEN   (1)
 
#define BNO055_GYRO_ANY_MOTION_INTR_MASK_REG   BNO055_INT_MASK_ADDR
 
#define BNO055_GYRO_HIGHRATE_INTR_MASK_POS   (3)
 
#define BNO055_GYRO_HIGHRATE_INTR_MASK_MSK   (0X08)
 
#define BNO055_GYRO_HIGHRATE_INTR_MASK_LEN   (1)
 
#define BNO055_GYRO_HIGHRATE_INTR_MASK_REG   BNO055_INT_MASK_ADDR
 
#define BNO055_ACCEL_HIGH_G_INTR_MASK_POS   (5)
 
#define BNO055_ACCEL_HIGH_G_INTR_MASK_MSK   (0X20)
 
#define BNO055_ACCEL_HIGH_G_INTR_MASK_LEN   (1)
 
#define BNO055_ACCEL_HIGH_G_INTR_MASK_REG   BNO055_INT_MASK_ADDR
 
#define BNO055_ACCEL_ANY_MOTION_INTR_MASK_POS   (6)
 
#define BNO055_ACCEL_ANY_MOTION_INTR_MASK_MSK   (0X40)
 
#define BNO055_ACCEL_ANY_MOTION_INTR_MASK_LEN   (1)
 
#define BNO055_ACCEL_ANY_MOTION_INTR_MASK_REG   BNO055_INT_MASK_ADDR
 
#define BNO055_ACCEL_NO_MOTION_INTR_MASK_POS   (7)
 
#define BNO055_ACCEL_NO_MOTION_INTR_MASK_MSK   (0X80)
 
#define BNO055_ACCEL_NO_MOTION_INTR_MASK_LEN   (1)
 
#define BNO055_ACCEL_NO_MOTION_INTR_MASK_REG   BNO055_INT_MASK_ADDR
 
#define BNO055_GYRO_ANY_MOTION_INTR_POS   (2)
 
#define BNO055_GYRO_ANY_MOTION_INTR_MSK   (0X04)
 
#define BNO055_GYRO_ANY_MOTION_INTR_LEN   (1)
 
#define BNO055_GYRO_ANY_MOTION_INTR_REG   BNO055_INT_ADDR
 
#define BNO055_GYRO_HIGHRATE_INTR_POS   (3)
 
#define BNO055_GYRO_HIGHRATE_INTR_MSK   (0X08)
 
#define BNO055_GYRO_HIGHRATE_INTR_LEN   (1)
 
#define BNO055_GYRO_HIGHRATE_INTR_REG   BNO055_INT_ADDR
 
#define BNO055_ACCEL_HIGH_G_INTR_POS   (5)
 
#define BNO055_ACCEL_HIGH_G_INTR_MSK   (0X20)
 
#define BNO055_ACCEL_HIGH_G_INTR_LEN   (1)
 
#define BNO055_ACCEL_HIGH_G_INTR_REG   BNO055_INT_ADDR
 
#define BNO055_ACCEL_ANY_MOTION_INTR_POS   (6)
 
#define BNO055_ACCEL_ANY_MOTION_INTR_MSK   (0X40)
 
#define BNO055_ACCEL_ANY_MOTION_INTR_LEN   (1)
 
#define BNO055_ACCEL_ANY_MOTION_INTR_REG   BNO055_INT_ADDR
 
#define BNO055_ACCEL_NO_MOTION_INTR_POS   (7)
 
#define BNO055_ACCEL_NO_MOTION_INTR_MSK   (0X80)
 
#define BNO055_ACCEL_NO_MOTION_INTR_LEN   (1)
 
#define BNO055_ACCEL_NO_MOTION_INTR_REG   BNO055_INT_ADDR
 
#define BNO055_ACCEL_ANY_MOTION_THRES_POS   (0)
 
#define BNO055_ACCEL_ANY_MOTION_THRES_MSK   (0XFF)
 
#define BNO055_ACCEL_ANY_MOTION_THRES_LEN   (8)
 
#define BNO055_ACCEL_ANY_MOTION_THRES_REG   BNO055_ACCEL_ANY_MOTION_THRES_ADDR
 
#define BNO055_ACCEL_ANY_MOTION_DURN_SET_POS   (0)
 
#define BNO055_ACCEL_ANY_MOTION_DURN_SET_MSK   (0X03)
 
#define BNO055_ACCEL_ANY_MOTION_DURN_SET_LEN   (2)
 
#define BNO055_ACCEL_ANY_MOTION_DURN_SET_REG   BNO055_ACCEL_INTR_SETTINGS_ADDR
 
#define BNO055_ACCEL_ANY_MOTION_X_AXIS_POS   (2)
 
#define BNO055_ACCEL_ANY_MOTION_X_AXIS_MSK   (0X04)
 
#define BNO055_ACCEL_ANY_MOTION_X_AXIS_LEN   (1)
 
#define BNO055_ACCEL_ANY_MOTION_X_AXIS_REG   BNO055_ACCEL_INTR_SETTINGS_ADDR
 
#define BNO055_ACCEL_ANY_MOTION_Y_AXIS_POS   (3)
 
#define BNO055_ACCEL_ANY_MOTION_Y_AXIS_MSK   (0X08)
 
#define BNO055_ACCEL_ANY_MOTION_Y_AXIS_LEN   (1)
 
#define BNO055_ACCEL_ANY_MOTION_Y_AXIS_REG   BNO055_ACCEL_INTR_SETTINGS_ADDR
 
#define BNO055_ACCEL_ANY_MOTION_Z_AXIS_POS   (4)
 
#define BNO055_ACCEL_ANY_MOTION_Z_AXIS_MSK   (0X10)
 
#define BNO055_ACCEL_ANY_MOTION_Z_AXIS_LEN   (1)
 
#define BNO055_ACCEL_ANY_MOTION_Z_AXIS_REG   BNO055_ACCEL_INTR_SETTINGS_ADDR
 
#define BNO055_ACCEL_HIGH_G_X_AXIS_POS   (5)
 
#define BNO055_ACCEL_HIGH_G_X_AXIS_MSK   (0X20)
 
#define BNO055_ACCEL_HIGH_G_X_AXIS_LEN   (1)
 
#define BNO055_ACCEL_HIGH_G_X_AXIS_REG   BNO055_ACCEL_INTR_SETTINGS_ADDR
 
#define BNO055_ACCEL_HIGH_G_Y_AXIS_POS   (6)
 
#define BNO055_ACCEL_HIGH_G_Y_AXIS_MSK   (0X40)
 
#define BNO055_ACCEL_HIGH_G_Y_AXIS_LEN   (1)
 
#define BNO055_ACCEL_HIGH_G_Y_AXIS_REG   BNO055_ACCEL_INTR_SETTINGS_ADDR
 
#define BNO055_ACCEL_HIGH_G_Z_AXIS_POS   (7)
 
#define BNO055_ACCEL_HIGH_G_Z_AXIS_MSK   (0X80)
 
#define BNO055_ACCEL_HIGH_G_Z_AXIS_LEN   (1)
 
#define BNO055_ACCEL_HIGH_G_Z_AXIS_REG   BNO055_ACCEL_INTR_SETTINGS_ADDR
 
#define BNO055_ACCEL_HIGH_G_DURN_POS   (0)
 
#define BNO055_ACCEL_HIGH_G_DURN_MSK   (0XFF)
 
#define BNO055_ACCEL_HIGH_G_DURN_LEN   (8)
 
#define BNO055_ACCEL_HIGH_G_DURN_REG   BNO055_ACCEL_HIGH_G_DURN_ADDR
 
#define BNO055_ACCEL_HIGH_G_THRES_POS   (0)
 
#define BNO055_ACCEL_HIGH_G_THRES_MSK   (0XFF)
 
#define BNO055_ACCEL_HIGH_G_THRES_LEN   (8)
 
#define BNO055_ACCEL_HIGH_G_THRES_REG   BNO055_ACCEL_HIGH_G_THRES_ADDR
 
#define BNO055_ACCEL_SLOW_NO_MOTION_THRES_POS   (0)
 
#define BNO055_ACCEL_SLOW_NO_MOTION_THRES_MSK   (0XFF)
 
#define BNO055_ACCEL_SLOW_NO_MOTION_THRES_LEN   (8)
 
#define BNO055_ACCEL_SLOW_NO_MOTION_THRES_REG   BNO055_ACCEL_NO_MOTION_THRES_ADDR
 
#define BNO055_ACCEL_SLOW_NO_MOTION_ENABLE_POS   (0)
 
#define BNO055_ACCEL_SLOW_NO_MOTION_ENABLE_MSK   (0X01)
 
#define BNO055_ACCEL_SLOW_NO_MOTION_ENABLE_LEN   (1)
 
#define BNO055_ACCEL_SLOW_NO_MOTION_ENABLE_REG   BNO055_ACCEL_NO_MOTION_SET_ADDR
 
#define BNO055_ACCEL_SLOW_NO_MOTION_DURN_POS   (1)
 
#define BNO055_ACCEL_SLOW_NO_MOTION_DURN_MSK   (0X7E)
 
#define BNO055_ACCEL_SLOW_NO_MOTION_DURN_LEN   (6)
 
#define BNO055_ACCEL_SLOW_NO_MOTION_DURN_REG   BNO055_ACCEL_NO_MOTION_SET_ADDR
 
#define BNO055_GYRO_ANY_MOTION_X_AXIS_POS   (0)
 
#define BNO055_GYRO_ANY_MOTION_X_AXIS_MSK   (0X01)
 
#define BNO055_GYRO_ANY_MOTION_X_AXIS_LEN   (1)
 
#define BNO055_GYRO_ANY_MOTION_X_AXIS_REG   BNO055_GYRO_INTR_SETING_ADDR
 
#define BNO055_GYRO_ANY_MOTION_Y_AXIS_POS   (1)
 
#define BNO055_GYRO_ANY_MOTION_Y_AXIS_MSK   (0X02)
 
#define BNO055_GYRO_ANY_MOTION_Y_AXIS_LEN   (1)
 
#define BNO055_GYRO_ANY_MOTION_Y_AXIS_REG   BNO055_GYRO_INTR_SETING_ADDR
 
#define BNO055_GYRO_ANY_MOTION_Z_AXIS_POS   (2)
 
#define BNO055_GYRO_ANY_MOTION_Z_AXIS_MSK   (0X04)
 
#define BNO055_GYRO_ANY_MOTION_Z_AXIS_LEN   (1)
 
#define BNO055_GYRO_ANY_MOTION_Z_AXIS_REG   BNO055_GYRO_INTR_SETING_ADDR
 
#define BNO055_GYRO_HIGHRATE_X_AXIS_POS   (3)
 
#define BNO055_GYRO_HIGHRATE_X_AXIS_MSK   (0X08)
 
#define BNO055_GYRO_HIGHRATE_X_AXIS_LEN   (1)
 
#define BNO055_GYRO_HIGHRATE_X_AXIS_REG   BNO055_GYRO_INTR_SETING_ADDR
 
#define BNO055_GYRO_HIGHRATE_Y_AXIS_POS   (4)
 
#define BNO055_GYRO_HIGHRATE_Y_AXIS_MSK   (0X10)
 
#define BNO055_GYRO_HIGHRATE_Y_AXIS_LEN   (1)
 
#define BNO055_GYRO_HIGHRATE_Y_AXIS_REG   BNO055_GYRO_INTR_SETING_ADDR
 
#define BNO055_GYRO_HIGHRATE_Z_AXIS_POS   (5)
 
#define BNO055_GYRO_HIGHRATE_Z_AXIS_MSK   (0X20)
 
#define BNO055_GYRO_HIGHRATE_Z_AXIS_LEN   (1)
 
#define BNO055_GYRO_HIGHRATE_Z_AXIS_REG   BNO055_GYRO_INTR_SETING_ADDR
 
#define BNO055_GYRO_ANY_MOTION_FILTER_POS   (6)
 
#define BNO055_GYRO_ANY_MOTION_FILTER_MSK   (0X40)
 
#define BNO055_GYRO_ANY_MOTION_FILTER_LEN   (1)
 
#define BNO055_GYRO_ANY_MOTION_FILTER_REG   BNO055_GYRO_INTR_SETING_ADDR
 
#define BNO055_GYRO_HIGHRATE_FILTER_POS   (7)
 
#define BNO055_GYRO_HIGHRATE_FILTER_MSK   (0X80)
 
#define BNO055_GYRO_HIGHRATE_FILTER_LEN   (1)
 
#define BNO055_GYRO_HIGHRATE_FILTER_REG   BNO055_GYRO_INTR_SETING_ADDR
 
#define BNO055_GYRO_HIGHRATE_X_THRES_POS   (0)
 
#define BNO055_GYRO_HIGHRATE_X_THRES_MSK   (0X1F)
 
#define BNO055_GYRO_HIGHRATE_X_THRES_LEN   (5)
 
#define BNO055_GYRO_HIGHRATE_X_THRES_REG   BNO055_GYRO_HIGHRATE_X_SET_ADDR
 
#define BNO055_GYRO_HIGHRATE_X_HYST_POS   (5)
 
#define BNO055_GYRO_HIGHRATE_X_HYST_MSK   (0X60)
 
#define BNO055_GYRO_HIGHRATE_X_HYST_LEN   (2)
 
#define BNO055_GYRO_HIGHRATE_X_HYST_REG   BNO055_GYRO_HIGHRATE_X_SET_ADDR
 
#define BNO055_GYRO_HIGHRATE_X_DURN_POS   (0)
 
#define BNO055_GYRO_HIGHRATE_X_DURN_MSK   (0XFF)
 
#define BNO055_GYRO_HIGHRATE_X_DURN_LEN   (8)
 
#define BNO055_GYRO_HIGHRATE_X_DURN_REG   BNO055_GYRO_DURN_X_ADDR
 
#define BNO055_GYRO_HIGHRATE_Y_THRES_POS   (0)
 
#define BNO055_GYRO_HIGHRATE_Y_THRES_MSK   (0X1F)
 
#define BNO055_GYRO_HIGHRATE_Y_THRES_LEN   (5)
 
#define BNO055_GYRO_HIGHRATE_Y_THRES_REG   BNO055_GYRO_HIGHRATE_Y_SET_ADDR
 
#define BNO055_GYRO_HIGHRATE_Y_HYST_POS   (5)
 
#define BNO055_GYRO_HIGHRATE_Y_HYST_MSK   (0X60)
 
#define BNO055_GYRO_HIGHRATE_Y_HYST_LEN   (2)
 
#define BNO055_GYRO_HIGHRATE_Y_HYST_REG   BNO055_GYRO_HIGHRATE_Y_SET_ADDR
 
#define BNO055_GYRO_HIGHRATE_Y_DURN_POS   (0)
 
#define BNO055_GYRO_HIGHRATE_Y_DURN_MSK   (0XFF)
 
#define BNO055_GYRO_HIGHRATE_Y_DURN_LEN   (8)
 
#define BNO055_GYRO_HIGHRATE_Y_DURN_REG   BNO055_GYRO_DURN_Y_ADDR
 
#define BNO055_GYRO_HIGHRATE_Z_THRES_POS   (0)
 
#define BNO055_GYRO_HIGHRATE_Z_THRES_MSK   (0X1F)
 
#define BNO055_GYRO_HIGHRATE_Z_THRES_LEN   (5)
 
#define BNO055_GYRO_HIGHRATE_Z_THRES_REG   BNO055_GYRO_HIGHRATE_Z_SET_ADDR
 
#define BNO055_GYRO_HIGHRATE_Z_HYST_POS   (5)
 
#define BNO055_GYRO_HIGHRATE_Z_HYST_MSK   (0X60)
 
#define BNO055_GYRO_HIGHRATE_Z_HYST_LEN   (2)
 
#define BNO055_GYRO_HIGHRATE_Z_HYST_REG   BNO055_GYRO_HIGHRATE_Z_SET_ADDR
 
#define BNO055_GYRO_HIGHRATE_Z_DURN_POS   (0)
 
#define BNO055_GYRO_HIGHRATE_Z_DURN_MSK   (0XFF)
 
#define BNO055_GYRO_HIGHRATE_Z_DURN_LEN   (8)
 
#define BNO055_GYRO_HIGHRATE_Z_DURN_REG   (BNO055_GYRO_DURN_Z_ADDR)
 
#define BNO055_GYRO_ANY_MOTION_THRES_POS   (0)
 
#define BNO055_GYRO_ANY_MOTION_THRES_MSK   (0X7F)
 
#define BNO055_GYRO_ANY_MOTION_THRES_LEN   (7)
 
#define BNO055_GYRO_ANY_MOTION_THRES_REG   BNO055_GYRO_ANY_MOTION_THRES_ADDR
 
#define BNO055_GYRO_SLOPE_SAMPLES_POS   (0)
 
#define BNO055_GYRO_SLOPE_SAMPLES_MSK   (0X03)
 
#define BNO055_GYRO_SLOPE_SAMPLES_LEN   (2)
 
#define BNO055_GYRO_SLOPE_SAMPLES_REG   BNO055_GYRO_ANY_MOTION_SET_ADDR
 
#define BNO055_GYRO_AWAKE_DURN_POS   (2)
 
#define BNO055_GYRO_AWAKE_DURN_MSK   (0X0C)
 
#define BNO055_GYRO_AWAKE_DURN_LEN   (2)
 
#define BNO055_GYRO_AWAKE_DURN_REG   BNO055_GYRO_ANY_MOTION_SET_ADDR
 
GET AND SET BITSLICE FUNCTIONS
#define BNO055_GET_BITSLICE(regvar, bitname)   ((regvar & bitname##_MSK) >> bitname##_POS)
 
#define BNO055_SET_BITSLICE(regvar, bitname, val)   ((regvar & ~bitname##_MSK) | ((val<<bitname##_POS)&bitname##_MSK))
 

Functions

INITIALIZATION AND REVISION ID FUNCTIONS
BNO055_RETURN_FUNCTION_TYPE bno055_init (struct bno055_t *bno055)
 This API is used for initialize bus read, bus write function pointers,device address,accel revision id, gyro revision id mag revision id, software revision id, boot loader revision id and page id. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_write_register (u8 addr_u8, u8 *data_u8, u8 len_u8)
 This API gives data to the given register and the data is written in the corresponding register address. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_register (u8 addr_u8, u8 *data_u8, u8 len_u8)
 This API reads the data from the given register address. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_chip_id (u8 *chip_id_u8)
 This API reads chip id from register 0x00 it is a byte of data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_sw_rev_id (u16 *sw_id_u8)
 This API reads software revision id from register 0x04 and 0x05 it is a two byte of data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_page_id (u8 *page_id_u8)
 This API reads page id from register 0x07 it is a byte of data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_write_page_id (u8 page_id_u8)
 This API used to write the page id register 0x07. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_rev_id (u8 *accel_rev_id_u8)
 This API reads accel revision id from register 0x01 it is a byte of value. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_rev_id (u8 *mag_rev_id_u8)
 This API reads mag revision id from register 0x02 it is a byte of value. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_rev_id (u8 *gyro_rev_id_u8)
 This API reads gyro revision id from register 0x03 it is a byte of value. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_bl_rev_id (u8 *bl_rev_id_u8)
 This API used to read boot loader revision id from register 0x06 it is a byte of value. More...
 
ACCEL DATA READ FUNCTIONS
BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_x (s16 *accel_x_s16)
 This API reads acceleration data X values from register 0x08 and 0x09 it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_y (s16 *accel_y_s16)
 This API reads acceleration data Y values from register 0x0A and 0x0B it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_z (s16 *accel_z_s16)
 This API reads acceleration data z values from register 0x0C and 0x0D it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_xyz (struct bno055_accel_t *accel)
 This API reads acceleration data xyz values from register 0x08 to 0x0D it is a six byte data. More...
 
MAG DATA READ FUNCTIONS
BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_x (s16 *mag_x_s16)
 This API reads mag data x values from register 0x0E and 0x0F it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_y (s16 *mag_y_s16)
 This API reads mag data y values from register 0x10 and 0x11 it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_z (s16 *mag_z_s16)
 This API reads mag data z values from register 0x12 and 0x13 it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_xyz (struct bno055_mag_t *mag)
 This API reads mag data xyz values from register 0x0E to 0x13 it is a six byte data. More...
 
GYRO DATA READ FUNCTIONS
BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_x (s16 *gyro_x_s16)
 This API reads gyro data x values from register 0x14 and 0x15 it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_y (s16 *gyro_y_s16)
 This API reads gyro data y values from register 0x16 and 0x17 it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_z (s16 *gyro_z_s16)
 This API reads gyro data z values from register 0x18 and 0x19 it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_xyz (struct bno055_gyro_t *gyro)
 This API reads gyro data xyz values from register 0x14 to 0x19 it is a six byte data. More...
 
EULER DATA READ FUNCTIONS
BNO055_RETURN_FUNCTION_TYPE bno055_read_euler_h (s16 *euler_h_s16)
 This API reads gyro data z values from register 0x1A and 0x1B it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_euler_r (s16 *euler_r_s16)
 This API reads Euler data r values from register 0x1C and 0x1D it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_euler_p (s16 *euler_p_s16)
 This API reads Euler data p values from register 0x1E and 0x1F it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_euler_hrp (struct bno055_euler_t *euler)
 This API reads Euler data hrp values from register 0x1A to 0x1F it is a six byte data. More...
 
QUATERNION DATA READ FUNCTIONS
BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_w (s16 *quaternion_w_s16)
 This API reads quaternion data w values from register 0x20 and 0x21 it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_x (s16 *quaternion_x_s16)
 This API reads quaternion data x values from register 0x22 and 0x23 it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_y (s16 *quaternion_y_s16)
 This API reads quaternion data y values from register 0x24 and 0x25 it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_z (s16 *quaternion_z_s16)
 This API reads quaternion data z values from register 0x26 and 0x27 it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_wxyz (struct bno055_quaternion_t *quaternion)
 This API reads Quaternion data wxyz values from register 0x20 to 0x27 it is a six byte data. More...
 
LINEAR ACCEL DATA READ FUNCTIONS
BNO055_RETURN_FUNCTION_TYPE bno055_read_linear_accel_x (s16 *linear_accel_x_s16)
 This API reads Linear accel data x values from register 0x29 and 0x2A it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_linear_accel_y (s16 *linear_accel_y_s16)
 This API reads Linear accel data x values from register 0x2B and 0x2C it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_linear_accel_z (s16 *linear_accel_z_s16)
 This API reads Linear accel data x values from register 0x2C and 0x2D it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_linear_accel_xyz (struct bno055_linear_accel_t *linear_accel)
 This API reads Linear accel data xyz values from register 0x28 to 0x2D it is a six byte data. More...
 
GRAVITY DATA READ FUNCTIONS
BNO055_RETURN_FUNCTION_TYPE bno055_read_gravity_x (s16 *gravity_x_s16)
 This API reads gravity data x values from register 0x2E and 0x2F it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_gravity_y (s16 *gravity_y_s16)
 This API reads gravity data y values from register 0x30 and 0x31 it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_gravity_z (s16 *gravity_z_s16)
 This API reads gravity data z values from register 0x32 and 0x33 it is a two byte data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_read_gravity_xyz (struct bno055_gravity_t *gravity)
 This API reads gravity data xyz values from register 0x2E to 0x33 it is a six byte data. More...
 
TEMPERATURE DATA READ FUNCTIONS
BNO055_RETURN_FUNCTION_TYPE bno055_read_temp_data (s8 *temp_s8)
 This API reads temperature values from register 0x33 it is a byte data. More...
 
FUNCTIONS FOR READING ACCEL DATA OUTPUT AS FLOAT PRECISION
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_x_msq (float *accel_x_f)
 This API is used to convert the accel x raw data to meterpersecseq output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_y_msq (float *accel_y_f)
 This API is used to convert the accel x raw data to meterpersecseq output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_z_msq (float *accel_z_f)
 This API is used to convert the accel z raw data to meterpersecseq output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_x_mg (float *accel_x_f)
 This API is used to convert the accel y raw data to millig output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_y_mg (float *accel_y_f)
 This API is used to convert the accel y raw data to millig output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_z_mg (float *accel_z_f)
 This API is used to convert the accel z raw data to millig output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_xyz_msq (struct bno055_accel_float_t *accel_xyz)
 This API is used to convert the accel xyz raw data to meterpersecseq output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_xyz_mg (struct bno055_accel_float_t *accel_xyz)
 This API is used to convert the accel xyz raw data to millig output as float. More...
 
FUNCTIONS FOR READING MAG DATA OUTPUT AS FLOAT PRECISION
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_mag_x_uT (float *mag_x_f)
 This API is used to convert the mag x raw data to microTesla output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_mag_y_uT (float *mag_y_f)
 This API is used to convert the mag y raw data to microTesla output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_mag_z_uT (float *mag_z_f)
 This API is used to convert the mag z raw data to microTesla output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_mag_xyz_uT (struct bno055_mag_float_t *mag_xyz_data)
 This API is used to convert the mag yz raw data to microTesla output as float. More...
 
FUNCTIONS FOR READING GYRO DATA OUTPUT AS FLOAT PRECISION
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_x_dps (float *gyro_x_f)
 This API is used to convert the gyro x raw data to dps output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_x_rps (float *gyro_x_f)
 This API is used to convert the gyro x raw data to rps output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_y_dps (float *gyro_y_f)
 This API is used to convert the gyro y raw data to dps output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_y_rps (float *gyro_y_f)
 This API is used to convert the gyro y raw data to rps output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_z_dps (float *gyro_z_f)
 This API is used to convert the gyro z raw data to dps output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_z_rps (float *gyro_z_f)
 This API is used to convert the gyro z raw data to rps output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_xyz_dps (struct bno055_gyro_float_t *gyro_xyz_data)
 This API is used to convert the gyro xyz raw data to dps output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_xyz_rps (struct bno055_gyro_float_t *gyro_xyz_data)
 This API is used to convert the gyro xyz raw data to rps output as float. More...
 
FUNCTIONS FOR READING EULER DATA OUTPUT AS FLOAT PRECISION
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_h_deg (float *euler_h_f)
 This API is used to convert the Euler h raw data to degree output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_h_rad (float *euler_h_f)
 This API is used to convert the Euler h raw data to radians output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_r_deg (float *euler_r_f)
 This API is used to convert the Euler r raw data to degree output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_r_rad (float *euler_r_f)
 This API is used to convert the Euler r raw data to radians output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_p_deg (float *euler_p_f)
 This API is used to convert the Euler p raw data to degree output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_p_rad (float *euler_p_f)
 This API is used to convert the Euler p raw data to radians output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_hpr_deg (struct bno055_euler_float_t *euler_hpr)
 This API is used to convert the Euler hrp raw data to degree output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_hpr_rad (struct bno055_euler_float_t *euler_hpr)
 This API is used to convert the Euler xyz raw data to radians output as float. More...
 
FUNCTIONS FOR READING LINEAR ACCEL DATA OUTPUT AS FLOAT PRECISION
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_linear_accel_x_msq (float *linear_accel_x_f)
 This API is used to convert the linear accel x raw data to meterpersecseq output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_linear_accel_y_msq (float *linear_accel_y_f)
 This API is used to convert the linear accel y raw data to meterpersecseq output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_linear_accel_z_msq (float *linear_accel_z_f)
 This API is used to convert the linear accel z raw data to meterpersecseq output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_linear_accel_xyz_msq (struct bno055_linear_accel_float_t *linear_accel_xyz)
 This API is used to convert the linear accel xyz raw data to meterpersecseq output as float. More...
 
FUNCTIONS FOR READING GRAVITY DATA OUTPUT AS FLOAT PRECISION
BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_float_x_msq (float *gravity_x_f)
 This API is used to convert the gravity x raw data to meterpersecseq output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_float_y_msq (float *gravity_y_f)
 This API is used to convert the gravity y raw data to meterpersecseq output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_float_z_msq (float *gravity_z_f)
 This API is used to convert the gravity z raw data to meterpersecseq output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gravity_xyz_msq (struct bno055_gravity_float_t *gravity_xyz)
 This API is used to convert the gravity xyz raw data to meterpersecseq output as float. More...
 
FUNCTIONS FOR READING TEMPERATURE DATA OUTPUT AS FLOAT PRECISION
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_temp_fahrenheit (float *temp_f)
 This API is used to convert the temperature data to Fahrenheit output as float. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_temp_celsius (float *temp_f)
 This API is used to convert the temperature data to Celsius output as float. More...
 
FUNCTIONS FOR READING ACCEL DATA OUTPUT AS DOUBLE PRECISION
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_x_msq (double *accel_x_d)
 This API is used to convert the accel x raw data to meterpersecseq output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_y_msq (double *accel_y_d)
 This API is used to convert the accel y raw data to meterpersecseq output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_z_msq (double *accel_z_d)
 This API is used to convert the accel z raw data to meterpersecseq output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_x_mg (double *accel_x_d)
 This API is used to convert the accel x raw data to millig output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_y_mg (double *accel_y_d)
 This API is used to convert the accel y raw data to millig output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_z_mg (double *accel_z_d)
 This API is used to convert the accel z raw data to millig output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_xyz_msq (struct bno055_accel_double_t *accel_xyz)
 This API is used to convert the accel xyz raw data to meterpersecseq output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_xyz_mg (struct bno055_accel_double_t *accel_xyz)
 This API is used to convert the accel xyz raw data to millig output as double. More...
 
FUNCTIONS FOR READING MAG DATA OUTPUT AS DOUBLE PRECISION
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_mag_x_uT (double *mag_x_d)
 This API is used to convert the mag x raw data to microTesla output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_mag_y_uT (double *mag_y_d)
 This API is used to convert the mag x raw data to microTesla output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_mag_z_uT (double *mag_z_d)
 This API is used to convert the mag z raw data to microTesla output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_mag_xyz_uT (struct bno055_mag_double_t *mag_xyz)
 This API is used to convert the mag yz raw data to microTesla output as double. More...
 
FUNCTIONS FOR READING GYRO DATA OUTPUT AS DOUBLE PRECISION
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_x_dps (double *gyro_x_d)
 This API is used to convert the gyro x raw data to dps output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_y_dps (double *gyro_y_d)
 This API is used to convert the gyro y raw data to dps output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_z_dps (double *gyro_z_d)
 This API is used to convert the gyro z raw data to dps output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_x_rps (double *gyro_x_d)
 This API is used to convert the gyro x raw data to rps output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_y_rps (double *gyro_y_d)
 This API is used to convert the gyro y raw data to rps output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_z_rps (double *gyro_z_d)
 This API is used to convert the gyro z raw data to rps output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_xyz_dps (struct bno055_gyro_double_t *gyro_xyz)
 This API is used to convert the gyro xyz raw data to dps output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_xyz_rps (struct bno055_gyro_double_t *gyro_xyz)
 This API is used to convert the gyro xyz raw data to rps output as double. More...
 
FUNCTIONS FOR READING EULER DATA OUTPUT AS DOUBLE PRECISION
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_h_deg (double *euler_h_d)
 This API is used to convert the Euler h raw data to degree output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_p_deg (double *euler_p_d)
 This API is used to convert the Euler p raw data to degree output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_r_deg (double *euler_r_d)
 This API is used to convert the Euler r raw data to degree output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_h_rad (double *euler_h_d)
 This API is used to convert the Euler h raw data to radians output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_p_rad (double *euler_p_d)
 This API is used to convert the Euler p raw data to radians output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_r_rad (double *euler_r_d)
 This API is used to convert the Euler r raw data to radians output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_hpr_deg (struct bno055_euler_double_t *euler_hpr)
 This API is used to convert the Euler hpr raw data to degree output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_hpr_rad (struct bno055_euler_double_t *euler_hpr)
 This API is used to convert the Euler hpr raw data to radians output as double. More...
 
FUNCTIONS FOR READING LINEAR ACCEL DATA OUTPUT AS DOUBLE PRECISION
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_linear_accel_x_msq (double *linear_accel_x_d)
 This API is used to convert the linear accel x raw data to meterpersecseq output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_linear_accel_y_msq (double *linear_accel_y_d)
 This API is used to convert the linear accel y raw data to meterpersecseq output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_linear_accel_z_msq (double *linear_accel_z_d)
 This API is used to convert the linear accel z raw data to meterpersecseq output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_linear_accel_xyz_msq (struct bno055_linear_accel_double_t *linear_accel_xyz)
 This API is used to convert the linear accel xyz raw data to meterpersecseq output as double. More...
 
FUNCTIONS FOR READING GRAVITY DATA OUTPUT AS DOUBLE PRECISION
BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_double_x_msq (double *gravity_x_d)
 This API is used to convert the gravity x raw data to meterpersecseq output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_double_y_msq (double *gravity_y_d)
 This API is used to convert the gravity y raw data to meterpersecseq output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_double_z_msq (double *gravity_z_d)
 This API is used to convert the gravity z raw data to meterpersecseq output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gravity_xyz_msq (struct bno055_gravity_double_t *gravity_xyz)
 This API is used to convert the gravity xyz raw data to meterpersecseq output as double. More...
 
FUNCTIONS FOR READING TEMPERATURE DATA OUTPUT AS DOUBLE PRECISION
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_temp_fahrenheit (double *temp_d)
 This API is used to convert the temperature data to Fahrenheit output as double. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_temp_celsius (double *temp_d)
 This API is used to convert the temperature data to Celsius output as double. More...
 
FUNCTIONS FOR READING ACCEL,MAG,GYRO AND SYSTEM CALIBRATION STATUS
BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_calib_stat (u8 *mag_calib_u8)
 This API used to read mag calibration status from register from 0x35 bit 0 and 1. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_calib_stat (u8 *accel_calib_u8)
 This API used to read accel calibration status from register from 0x35 bit 2 and 3. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_calib_stat (u8 *gyro_calib_u8)
 This API used to read gyro calibration status from register from 0x35 bit 4 and 5. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_sys_calib_stat (u8 *sys_calib_u8)
 This API used to read system calibration status from register from 0x35 bit 6 and 7. More...
 
FUNCTIONS FOR READING ACCEL,MAG,GYRO AND SYSTEM SELF TEST
BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest_accel (u8 *selftest_accel_u8)
 This API used to read self test of accel from register from 0x36 bit 0. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest_mag (u8 *selftest_mag_u8)
 This API used to read self test of mag from register from 0x36 bit 1. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest_gyro (u8 *selftest_gyro_u8)
 This API used to read self test of gyro from register from 0x36 bit 2. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest_mcu (u8 *selftest_mcu_u8)
 This API used to read self test of micro controller from register from 0x36 bit 3. More...
 
FUNCTIONS FOR READING GYRO INTERRUPT STATUS
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_gyro_any_motion (u8 *gyro_any_motion_u8)
 This API used to read the stat_s8 of gyro anymotion interrupt from register from 0x37 bit 2. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_gyro_highrate (u8 *gyro_highrate_u8)
 This API used to read the stat_s8 of gyro highrate interrupt from register from 0x37 bit 3. More...
 
FUNCTIONS FOR READING ACCEL INTERRUPT STATUS
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_accel_high_g (u8 *accel_high_g_u8)
 This API used to read the status of accel highg interrupt from register from 0x37 bit 5. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_accel_any_motion (u8 *accel_any_motion_u8)
 This API used to read the stat_s8 of accel anymotion interrupt from register from 0x37 bit 6. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_accel_no_motion (u8 *accel_no_motion_u8)
 This API used to read the stat_s8 of accel nomotion/slowmotion interrupt from register from 0x37 bit 6. More...
 
FUNCTIONS FOR READING SYSTEM CLOCK, STATUS AND BNO055_ERROR CODE
BNO055_RETURN_FUNCTION_TYPE bno055_get_stat_main_clk (u8 *stat_main_clk_u8)
 This API is used to read status of main clock from the register 0x38 bit 0. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_sys_stat_code (u8 *sys_stat_u8)
 This API is used to read system status code from the register 0x39 it is a byte of data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_sys_error_code (u8 *sys_error_u8)
 This API is used to read system BNO055_ERROR code from the register 0x3A it is a byte of data. More...
 
FUNCTIONS FOR ACCEL UNIT SELECTION
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_unit (u8 *accel_unit_u8)
 This API used to read the accel unit from register from 0x3B bit 0. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_unit (u8 accel_unit_u8)
 This API used to write the accel unit from register from 0x3B bit 0. More...
 
FUNCTIONS FOR GYRO UNIT SELECTION
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_unit (u8 *gyro_unit_u8)
 This API used to read the gyro unit from register from 0x3B bit 1. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_unit (u8 gyro_unit_u8)
 This API used to write the gyro unit from register from 0x3B bit 1. More...
 
FUNCTIONS FOR EULER UNIT SELECTION
BNO055_RETURN_FUNCTION_TYPE bno055_get_euler_unit (u8 *euler_unit_u8)
 This API used to read the Euler unit from register from 0x3B bit 2. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_euler_unit (u8 euler_unit_u8)
 This API used to write the Euler unit from register from 0x3B bit 2. More...
 
FUNCTIONS FOR TILT UNIT SELECTION
BNO055_RETURN_FUNCTION_TYPE bno055_get_tilt_unit (u8 *tilt_unit_u8)
 This API used to write the tilt unit from register from 0x3B bit 3. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_tilt_unit (u8 tilt_unit_u8)
 This API used to write the tilt unit from register from 0x3B bit 3. More...
 
FUNCTIONS FOR TEMPERATURE UNIT SELECTION
BNO055_RETURN_FUNCTION_TYPE bno055_get_temp_unit (u8 *temp_unit_u8)
 This API used to read the temperature unit from register from 0x3B bit 4. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_temp_unit (u8 temp_unit_u8)
 This API used to write the temperature unit from register from 0x3B bit 4. More...
 
FUNCTIONS FOR DATA OUTPUT FORMAT SELECT
BNO055_RETURN_FUNCTION_TYPE bno055_get_data_output_format (u8 *data_output_format_u8)
 This API used to read the current selected orientation mode from register from 0x3B bit 7. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_data_output_format (u8 data_output_format_u8)
 This API used to read the current selected orientation mode from register from 0x3B bit 7. More...
 
FUNCTIONS FOR DATA OPERATION MODE
BNO055_RETURN_FUNCTION_TYPE bno055_get_operation_mode (u8 *operation_mode_u8)
 This API used to read the operation mode from register from 0x3D bit 0 to 3. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_operation_mode (u8 operation_mode_u8)
 This API used to write the operation mode from register from 0x3D bit 0 to 3. More...
 
FUNCTIONS FOR POWER MODE
BNO055_RETURN_FUNCTION_TYPE bno055_get_power_mode (u8 *power_mode_u8)
 This API used to read the power mode from register from 0x3E bit 0 to 1. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_power_mode (u8 power_mode_u8)
 This API used to write the power mode from register from 0x3E bit 0 to 1. More...
 
FUNCTIONS FOR RESET INTERRUPT
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_rst (u8 *intr_rst_u8)
 This API used to read the reset interrupt from register from 0x3F bit 6 It resets all the interrupt bit and interrupt output. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_rst (u8 intr_rst_u8)
 This API used to write the reset interrupt from register from 0x3F bit 6 It resets all the interrupt bit and interrupt output. More...
 
FUNCTIONS FOR CLOCK SOURCE
BNO055_RETURN_FUNCTION_TYPE bno055_get_clk_src (u8 *clk_src_u8)
 This API used to read the clk source from register from 0x3F bit 7. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_clk_src (u8 clk_src_u8)
 This API used to write the clk source from register from 0x3F bit 7. More...
 
FUNCTIONS FOR RESET SYSTEM
BNO055_RETURN_FUNCTION_TYPE bno055_get_sys_rst (u8 *sys_rst_u8)
 This API used to read the reset system from register from 0x3F bit 5. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_sys_rst (u8 sys_rst_u8)
 This API used to write the reset system from register from 0x3F bit 5. More...
 
FUNCTIONS FOR SELF TEST
BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest (u8 *selftest_u8)
 This API used to read the self test from register from 0x3F bit 0. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_selftest (u8 selftest_u8)
 This API used to write the self test from register from 0x3F bit 0. More...
 
FUNCTIONS FOR TEMPERATURE SOURCE
BNO055_RETURN_FUNCTION_TYPE bno055_get_temp_source (u8 *temp_source_u8)
 This API used to read the temperature source from register from 0x40 bit 0 and 1. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_temp_source (u8 temp_source_u8)
 This API used to write the temperature source from register from 0x40 bit 0 and 1. More...
 
APIs FOR AXIS REMAP
BNO055_RETURN_FUNCTION_TYPE bno055_get_axis_remap_value (u8 *remap_axis_u8)
 This API used to read the axis remap value from register from 0x41 bit 0 and 5. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_axis_remap_value (u8 remap_axis_u8)
 This API used to write the axis remap value from register from 0x41 bit 0 and 5. More...
 
APIs FOR AXIS REMAP SIGN
BNO055_RETURN_FUNCTION_TYPE bno055_get_remap_x_sign (u8 *remap_x_sign_u8)
 This API used to read the x-axis remap sign from register from 0x42 bit 2. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_remap_x_sign (u8 remap_x_sign_u8)
 This API used to write the x-axis remap sign from register from 0x42 bit 2. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_remap_y_sign (u8 *remap_y_sign_u8)
 This API used to read the y-axis remap sign from register from 0x42 bit 1. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_remap_y_sign (u8 remap_y_sign_u8)
 This API used to write the y-axis remap sign from register from 0x42 bit 1. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_remap_z_sign (u8 *remap_z_sign_u8)
 This API used to read the z-axis remap sign from register from 0x42 bit 0. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_remap_z_sign (u8 remap_z_sign_u8)
 This API used to write the z-axis remap sign from register from 0x42 bit 0. More...
 
FUNCTIONS FOR SOFT IRON CALIBRATION MATRIX
BNO055_RETURN_FUNCTION_TYPE bno055_read_sic_matrix (struct bno055_sic_matrix_t *sic_matrix)
 This API is used to read soft iron calibration matrix from the register 0x43 to 0x53 it is a 18 bytes of data. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_write_sic_matrix (struct bno055_sic_matrix_t *sic_matrix)
 This API is used to write soft iron calibration matrix from the register 0x43 to 0x53 it is a 18 bytes of data. More...
 
FUNCTIONS FOR ACCEL OFFSET AND RADIUS
BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_offset (struct bno055_accel_offset_t *accel_offset)
 This API is used to read accel offset and accel radius offset form register 0x55 to 0x5A and radius form 0x67 and 0x68. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_write_accel_offset (struct bno055_accel_offset_t *accel_offset)
 This API is used to write accel offset and accel radius offset form register 0x55 to 0x5A and radius form 0x67 and 0x68. More...
 
FUNCTIONS FOR MAG OFFSET AND RADIUS
BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_offset (struct bno055_mag_offset_t *mag_offset)
 This API is used to read mag offset offset form register 0x69 to 0x6A. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_write_mag_offset (struct bno055_mag_offset_t *mag_offset)
 This API is used to read mag offset offset form register 0x69 to 0x6A. More...
 
FUNCTIONS FOR GYRO OFFSET
BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_offset (struct bno055_gyro_offset_t *gyro_offset)
 This API is used to read gyro offset offset form register 0x61 to 0x66. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_write_gyro_offset (struct bno055_gyro_offset_t *gyro_offset)
 This API is used to read gyro offset offset form register 0x61 to 0x66. More...
 
FUNCTIONS FOR ACCEL CONFIGURATION
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_range (u8 *accel_range_u8)
 This API used to read the accel range from page one register from 0x08 bit 0 and 1. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_range (u8 accel_range_u8)
 This API used to write the accel range from page one register from 0x08 bit 0 and 1. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_bw (u8 *accel_bw_u8)
 This API used to read the accel bandwidth from page one register from 0x08 bit 2 to 4. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_bw (u8 accel_bw_u8)
 This API used to write the accel bandwidth from page one register from 0x08 bit 2 to 4. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_power_mode (u8 *accel_power_mode_u8)
 This API used to read the accel power mode from page one register from 0x08 bit 5 to 7. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_power_mode (u8 accel_power_mode_u8)
 This API used to write the accel power mode from page one register from 0x08 bit 5 to 7. More...
 
FUNCTIONS FOR MAG CONFIGURATION
BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_data_output_rate (u8 *mag_data_output_rate_u8)
 This API used to read the mag output data rate from page one register from 0x09 bit 0 to 2. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_data_output_rate (u8 mag_data_output_rate_u8)
 This API used to write the mag output data rate from page one register from 0x09 bit 0 to 2. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_operation_mode (u8 *mag_operation_mode_u8)
 This API used to read the mag operation mode from page one register from 0x09 bit 3 to 4. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_operation_mode (u8 mag_operation_mode_u8)
 This API used to write the mag operation mode from page one register from 0x09 bit 3 to 4. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_power_mode (u8 *mag_power_mode_u8)
 This API used to read the mag power mode from page one register from 0x09 bit 4 to 6. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_power_mode (u8 mag_power_mode_u8)
 This API used to write the mag power mode from page one register from 0x09 bit 4 to 6. More...
 
FUNCTIONS FOR GYRO CONFIGURATION
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_range (u8 *gyro_range_u8)
 This API used to read the gyro range from page one register from 0x0A bit 0 to 3. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_range (u8 gyro_range_u8)
 This API used to write the gyro range from page one register from 0x0A bit 0 to 3. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_bw (u8 *gyro_bw_u8)
 This API used to read the gyro bandwidth from page one register from 0x0A bit 3 to 5. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_bw (u8 gyro_bw_u8)
 This API used to write the gyro bandwidth from page one register from 0x0A bit 3 to 5. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_power_mode (u8 *gyro_power_mode_u8)
 This API used to read the gyro power mode from page one register from 0x0B bit 0 to 2. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_power_mode (u8 gyro_power_mode_u8)
 This API used to write the gyro power mode from page one register from 0x0B bit 0 to 2. More...
 
FUNCTIONS FOR ACCEL SLEEP SETTINGS
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_sleep_tmr_mode (u8 *sleep_tmr_u8)
 This API used to read the accel sleep mode from page one register from 0x0C bit 0. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_sleep_tmr_mode (u8 sleep_tmr_u8)
 This API used to write the accel sleep mode from page one register from 0x0C bit 0. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_sleep_durn (u8 *sleep_durn_u8)
 This API used to read the accel sleep duration from page one register from 0x0C bit 1 to 4. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_sleep_durn (u8 sleep_durn_u8)
 This API used to write the accel sleep duration from page one register from 0x0C bit 1 to 4. More...
 
FUNCTIONS FOR GYRO SLEEP SETTINGS
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_sleep_durn (u8 *sleep_durn_u8)
 This API used to write the gyro sleep duration from page one register from 0x0D bit 0 to 2. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_sleep_durn (u8 sleep_durn)
 This API used to write the gyro sleep duration from page one register from 0x0D bit 0 to 2. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_auto_sleep_durn (u8 *auto_sleep_durn_u8)
 This API used to read the gyro auto sleep duration from page one register from 0x0D bit 3 to 5. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_gyro_set_auto_sleep_durn (u8 auto_sleep_durn_u8, u8 bw)
 This API used to write the gyro auto sleep duration from page one register from 0x0D bit 3 to 5. More...
 
FUNCTIONS FOR MAG SLEEP SETTINGS
BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_sleep_mode (u8 *sleep_mode_u8)
 This API used to read the mag sleep mode from page one register from 0x0E bit 0. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_sleep_mode (u8 sleep_mode_u8)
 This API used to write the mag sleep mode from page one register from 0x0E bit 0. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_sleep_durn (u8 *sleep_durn_u8)
 This API used to read the mag sleep duration from page one register from 0x0E bit 1 to 4. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_sleep_durn (u8 sleep_durn_u8)
 This API used to write the mag sleep duration from page one register from 0x0E bit 1 to 4. More...
 
FUNCTIONS FOR GYRO INTERRUPT MASK
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_gyro_any_motion (u8 *gyro_any_motion_u8)
 This API used to read the gyro anymotion interrupt mask from page one register from 0x0F bit 2. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_gyro_any_motion (u8 gyro_any_motion_u8)
 This API used to write the gyro anymotion interrupt mask from page one register from 0x0F bit 2. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_gyro_highrate (u8 *gyro_highrate_u8)
 This API used to read the gyro highrate interrupt mask from page one register from 0x0F bit 3. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_gyro_highrate (u8 gyro_highrate_u8)
 This API used to write the gyro highrate interrupt mask from page one register from 0x0F bit 3. More...
 
APIs FOR ACCEL INTERRUPT MASK
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_accel_high_g (u8 *accel_high_g_u8)
 This API used to read the accel highg interrupt mask from page one register from 0x0F bit 5. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_accel_high_g (u8 accel_high_g_u8)
 This API used to write the accel highg interrupt mask from page one register from 0x0F bit 5. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_accel_any_motion (u8 *accel_any_motion_u8)
 This API used to read the accel anymotion interrupt mask from page one register from 0x0F bit 6. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_accel_any_motion (u8 accel_any_motion_u8)
 This API used to write the accel anymotion interrupt mask from page one register from 0x0F bit 6. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_accel_no_motion (u8 *accel_nomotion_u8)
 This API used to read the accel nomotion interrupt mask from page one register from 0x0F bit 7. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_accel_no_motion (u8 accel_nomotion_u8)
 This API used to write the accel nomotion interrupt mask from page one register from 0x0F bit 7. More...
 
FUNCTIONS FOR GYRO INTERRUPT
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_gyro_any_motion (u8 *gyro_any_motion_u8)
 This API used to read the gyro anymotion interrupt from page one register from 0x10 bit 2. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_gyro_any_motion (u8 gyro_any_motion_u8)
 This API used to write the gyro anymotion interrupt from page one register from 0x10 bit 2. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_gyro_highrate (u8 *gyro_highrate_u8)
 This API used to read the gyro highrate interrupt from page one register from 0x10 bit 3. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_gyro_highrate (u8 gyro_highrate_u8)
 This API used to write the gyro highrate interrupt from page one register from 0x10 bit 3. More...
 
FUNCTIONS FOR ACCEL INTERRUPT
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_accel_high_g (u8 *accel_high_g_u8)
 This API used to read the accel highg interrupt from page one register from 0x10 bit 5. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_accel_high_g (u8 accel_high_g_u8)
 This API used to write the accel highg interrupt from page one register from 0x10 bit 5. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_accel_any_motion (u8 *accel_any_motion_u8)
 This API used to read the accel anymotion interrupt from page one register from 0x10 bit 6. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_accel_any_motion (u8 accel_any_motion_u8)
 This API used to write the accel anymotion interrupt from page one register from 0x10 bit 6. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_accel_no_motion (u8 *accel_nomotion_u8)
 This API used to read the accel nomotion interrupt from page one register from 0x10 bit 6. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_accel_no_motion (u8 accel_nomotion_u8)
 This API used to write the accel nomotion interrupt from page one register from 0x10 bit 6. More...
 
FUNCTIONS FOR ACCEL ANY_MOTION THRESHOLD
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_any_motion_thres (u8 *accel_any_motion_thres_u8)
 This API used to read the accel any motion threshold from page one register from 0x11 bit 0 to 7. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_any_motion_thres (u8 accel_any_motion_thres_u8)
 This API used to write the accel any motion threshold from page one register from 0x11 bit 0 to 7. More...
 
FUNCTIONS FOR ACCEL ANY_MOTION DURATION
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_any_motion_durn (u8 *accel_any_motion_durn_u8)
 This API used to read the accel anymotion duration from page one register from 0x12 bit 0 to 1. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_any_motion_durn (u8 accel_any_motion_durn_u8)
 This API used to write the accel anymotion duration from page one register from 0x12 bit 0 to 1. More...
 
FUNCTIONS FOR ACCEL ANY_MOTION AXIS ENABLE
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_any_motion_no_motion_axis_enable (u8 channel_u8, u8 *data_u8)
 This API used to read the accel anymotion enable from page one register from 0x12 bit 2 to 4. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_any_motion_no_motion_axis_enable (u8 channel_u8, u8 data_u8)
 This API used to write the accel anymotion enable from page one register from 0x12 bit 2 to 4. More...
 
FUNCTIONS FOR ACCEL HIGHG AXIS ENABLE
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_high_g_axis_enable (u8 channel_u8, u8 *data_u8)
 This API used to read the accel highg enable from page one register from 0x12 bit 5 to 7. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_high_g_axis_enable (u8 channel_u8, u8 data_u8)
 This API used to write the accel highg enable from page one register from 0x12 bit 5 to 7. More...
 
FUNCTIONS FOR ACCEL HIGHG DURATION
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_high_g_durn (u8 *accel_high_g_durn_u8)
 This API used to read the accel highg duration from page one register from 0x13 bit 0 to 7. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_high_g_durn (u8 accel_high_g_durn_u8)
 This API used to write the accel highg duration from page one register from 0x13 bit 0 to 7. More...
 
FUNCTIONS FOR ACCEL HIGHG THRESHOLD
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_high_g_thres (u8 *accel_high_g_thres_u8)
 This API used to read the accel highg threshold from page one register from 0x14 bit 0 to 7. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_high_g_thres (u8 accel_high_g_thres_u8)
 This API used to write the accel highg threshold from page one register from 0x14 bit 0 to 7. More...
 
FUNCTIONS FOR ACCEL SLOWNOMOTION THRESHOLD
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_slow_no_motion_thres (u8 *accel_slow_no_motion_thres_u8)
 This API used to read the accel slownomotion threshold from page one register from 0x15 bit 0 to 7. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_slow_no_motion_thres (u8 accel_slow_no_motion_thres_u8)
 This API used to write the accel slownomotion threshold from page one register from 0x15 bit 0 to 7. More...
 
FUNCTIONS FOR ACCEL SLOWNOMOTION ENABLE
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_slow_no_motion_enable (u8 *accel_slow_no_motion_en_u8)
 This API used to read accel slownomotion enable from page one register from 0x16 bit 0. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_slow_no_motion_enable (u8 accel_slow_no_motion_en_u8)
 This API used to write accel slownomotion enable from page one register from 0x16 bit 0. More...
 
FUNCTIONS FOR ACCEL SLOWNOMOTION DURATION
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_slow_no_motion_durn (u8 *accel_slow_no_motion_durn_u8)
 This API used to read accel slownomotion duration from page one register from 0x16 bit 1 to 6. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_slow_no_motion_durn (u8 accel_slow_no_motion_durn_u8)
 This API used to write accel slownomotion duration from page one register from 0x16 bit 1 to 6. More...
 
FUNCTIONS FOR GYRO ANY_MOTION AXIS ENABLE
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_axis_enable (u8 channel_u8, u8 *data_u8)
 This API used to read the gyro anymotion enable from page one register from 0x17 bit 0 to 2. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_axis_enable (u8 channel_u8, u8 data_u8)
 This API used to write the gyro anymotion enable from page one register from 0x17 bit 0 to 2. More...
 
FUNCTIONS FOR GYRO HIGHRATE ENABLE
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_axis_enable (u8 channel_u8, u8 *data_u8)
 This API used to read the gyro highrate enable from page one register from 0x17 bit 3 to 5. More...
 
FUNCTIONS FOR GYRO HIGHRATE AXIS ENABLE
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_axis_enable (u8 channel_u8, u8 data_u8)
 This API used to write the gyro highrate enable from page one register from 0x17 bit 3 to 5. More...
 
FUNCTIONS FOR GYRO ANY_MOTION FILTER
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_filter (u8 *gyro_any_motion_filter_u8)
 This API used to read gyro anymotion filter from page one register from 0x17 bit 6. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_filter (u8 gyro_any_motion_filter_u8)
 This API used to write gyro anymotion filter from page one register from 0x17 bit 6. More...
 
FUNCTIONS FOR GYRO HIGHRATE FILTER
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_filter (u8 *gyro_highrate_filter_u8)
 This API used to read gyro highrate filter from page one register from 0x17 bit 7. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_filter (u8 gyro_highrate_filter_u8)
 This API used to write gyro highrate filter from page one register from 0x17 bit 7. More...
 
FUNCTIONS FOR GYRO HIGHRATE X THRESHOLD
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_x_thres (u8 *gyro_highrate_x_thres_u8)
 This API used to read gyro highrate x threshold from page one register from 0x18 bit 0 to 4. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_x_thres (u8 gyro_highrate_x_thres_u8)
 This API used to write gyro highrate x threshold from page one register from 0x18 bit 0 to 4. More...
 
FUNCTIONS FOR GYRO HIGHRATE X HYSTERESIS
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_x_hyst (u8 *gyro_highrate_x_hyst_u8)
 This API used to read gyro highrate x hysteresis from page one register from 0x18 bit 5 to 6. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_x_hyst (u8 gyro_highrate_x_hyst_u8)
 This API used to write gyro highrate x hysteresis from page one register from 0x18 bit 5 to 6. More...
 
FUNCTIONS FOR GYRO HIGHRATE X DURATION
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_x_durn (u8 *gyro_highrate_x_durn_u8)
 This API used to read gyro highrate x duration from page one register from 0x19 bit 0 to 7. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_x_durn (u8 gyro_highrate_x_durn_u8)
 This API used to write gyro highrate x duration from page one register from 0x19 bit 0 to 7. More...
 
FUNCTIONS FOR GYRO HIGHRATE Y THRESHOLD
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_y_thres (u8 *gyro_highrate_y_thres_u8)
 This API used to read gyro highrate y threshold from page one register from 0x1A bit 0 to 4. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_y_thres (u8 gyro_highrate_y_thres_u8)
 This API used to write gyro highrate y threshold from page one register from 0x1A bit 0 to 4. More...
 
FUNCTIONS FOR GYRO HIGHRATE Y HYSTERESIS
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_y_hyst (u8 *gyro_highrate_y_hyst_u8)
 This API used to read gyro highrate y hysteresis from page one register from 0x1A bit 5 to 6. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_y_hyst (u8 gyro_highrate_y_hyst_u8)
 This API used to write gyro highrate y hysteresis from page one register from 0x1A bit 5 to 6. More...
 
FUNCTIONS FOR GYRO HIGHRATE Y DURATION
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_y_durn (u8 *gyro_highrate_y_durn_u8)
 This API used to read gyro highrate y duration from page one register from 0x1B bit 0 to 7. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_y_durn (u8 gyro_highrate_y_durn_u8)
 This API used to write gyro highrate y duration from page one register from 0x1B bit 0 to 7. More...
 
FUNCTIONS FOR GYRO HIGHRATE Z THRESHOLD
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_z_thres (u8 *gyro_highrate_z_thres_u8)
 This API used to read gyro highrate z threshold from page one register from 0x1C bit 0 to 4. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_z_thres (u8 gyro_highrate_z_thres_u8)
 This API used to write gyro highrate z threshold from page one register from 0x1C bit 0 to 4. More...
 
FUNCTIONS FOR GYRO HIGHRATE Z HYSTERESIS
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_z_hyst (u8 *gyro_highrate_z_hyst_u8)
 This API used to read gyro highrate z hysteresis from page one register from 0x1C bit 5 to 6. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_z_hyst (u8 gyro_highrate_z_hyst_u8)
 This API used to write gyro highrate z hysteresis from page one register from 0x1C bit 5 to 6. More...
 
FUNCTIONS FOR GYRO HIGHRATE Z DURATION
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_z_durn (u8 *gyro_highrate_z_durn_u8)
 This API used to read gyro highrate z duration from page one register from 0x1D bit 0 to 7. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_z_durn (u8 gyro_highrate_z_durn_u8)
 This API used to write gyro highrate z duration from page one register from 0x1D bit 0 to 7. More...
 
FUNCTIONS FOR GYRO ANY_MOTION THRESHOLD
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_thres (u8 *gyro_any_motion_thres_u8)
 This API used to read gyro anymotion threshold from page one register from 0x1E bit 0 to 6. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_thres (u8 gyro_any_motion_thres_u8)
 This API used to write gyro anymotion threshold from page one register from 0x1E bit 0 to 6. More...
 
FUNCTIONS FOR GYRO ANY_MOTION SLOPE SAMPLES
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_slope_samples (u8 *gyro_any_motion_slope_samples_u8)
 This API used to read gyro anymotion slope samples from page one register from 0x1F bit 0 to 1. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_slope_samples (u8 gyro_any_motion_slope_samples_u8)
 This API used to write gyro anymotion slope samples from page one register from 0x1F bit 0 to 1. More...
 
FUNCTIONS FOR GYRO ANY_MOTION AWAKE DURATION
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_awake_durn (u8 *gyro_awake_durn_u8)
 This API used to read gyro anymotion awake duration from page one register from 0x1F bit 2 to 3. More...
 
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_awake_durn (u8 gyro_awake_durn_u8)
 This API used to write gyro anymotion awake duration from page one register from 0x1F bit 2 to 3. More...
 

DATA TYPES INCLUDES

#define MACHINE_32_BIT
 The following definition uses for define the data types. More...
 
typedef signed char s8
 If your machine support 16 bit define the MACHINE_16_BIT. More...
 
typedef signed short int s16
 
typedef signed int s32
 
typedef signed long long int s64
 
typedef unsigned char u8
 
typedef unsigned short int u16
 
typedef unsigned int u32
 
typedef unsigned long long int u64
 

Macro Definition Documentation

#define BNO055_ACCEL_ANY_MOTION_DURN_SET_LEN   (2)
#define BNO055_ACCEL_ANY_MOTION_DURN_SET_MSK   (0X03)
#define BNO055_ACCEL_ANY_MOTION_DURN_SET_POS   (0)
#define BNO055_ACCEL_ANY_MOTION_DURN_SET_REG   BNO055_ACCEL_INTR_SETTINGS_ADDR
#define BNO055_ACCEL_ANY_MOTION_INTR_LEN   (1)
#define BNO055_ACCEL_ANY_MOTION_INTR_MASK_LEN   (1)
#define BNO055_ACCEL_ANY_MOTION_INTR_MASK_MSK   (0X40)
#define BNO055_ACCEL_ANY_MOTION_INTR_MASK_POS   (6)
#define BNO055_ACCEL_ANY_MOTION_INTR_MASK_REG   BNO055_INT_MASK_ADDR
#define BNO055_ACCEL_ANY_MOTION_INTR_MSK   (0X40)
#define BNO055_ACCEL_ANY_MOTION_INTR_POS   (6)
#define BNO055_ACCEL_ANY_MOTION_INTR_REG   BNO055_INT_ADDR
#define BNO055_ACCEL_ANY_MOTION_NO_MOTION_X_AXIS   (0)
#define BNO055_ACCEL_ANY_MOTION_NO_MOTION_Y_AXIS   (1)
#define BNO055_ACCEL_ANY_MOTION_NO_MOTION_Z_AXIS   (2)
#define BNO055_ACCEL_ANY_MOTION_THRES_ADDR   (0X11)
#define BNO055_ACCEL_ANY_MOTION_THRES_LEN   (8)
#define BNO055_ACCEL_ANY_MOTION_THRES_MSK   (0XFF)
#define BNO055_ACCEL_ANY_MOTION_THRES_POS   (0)
#define BNO055_ACCEL_ANY_MOTION_THRES_REG   BNO055_ACCEL_ANY_MOTION_THRES_ADDR
#define BNO055_ACCEL_ANY_MOTION_X_AXIS_LEN   (1)
#define BNO055_ACCEL_ANY_MOTION_X_AXIS_MSK   (0X04)
#define BNO055_ACCEL_ANY_MOTION_X_AXIS_POS   (2)
#define BNO055_ACCEL_ANY_MOTION_X_AXIS_REG   BNO055_ACCEL_INTR_SETTINGS_ADDR
#define BNO055_ACCEL_ANY_MOTION_Y_AXIS_LEN   (1)
#define BNO055_ACCEL_ANY_MOTION_Y_AXIS_MSK   (0X08)
#define BNO055_ACCEL_ANY_MOTION_Y_AXIS_POS   (3)
#define BNO055_ACCEL_ANY_MOTION_Y_AXIS_REG   BNO055_ACCEL_INTR_SETTINGS_ADDR
#define BNO055_ACCEL_ANY_MOTION_Z_AXIS_LEN   (1)
#define BNO055_ACCEL_ANY_MOTION_Z_AXIS_MSK   (0X10)
#define BNO055_ACCEL_ANY_MOTION_Z_AXIS_POS   (4)
#define BNO055_ACCEL_ANY_MOTION_Z_AXIS_REG   BNO055_ACCEL_INTR_SETTINGS_ADDR
#define BNO055_ACCEL_BW_1000HZ   (0X07)
#define BNO055_ACCEL_BW_125HZ   (0X04)
#define BNO055_ACCEL_BW_15_63HZ   (0x01)
#define BNO055_ACCEL_BW_250HZ   (0X05)
#define BNO055_ACCEL_BW_31_25HZ   (0x02)
#define BNO055_ACCEL_BW_500HZ   (0X06)
#define BNO055_ACCEL_BW_62_5HZ   (0X03)
#define BNO055_ACCEL_BW_7_81HZ   (0x00)
#define BNO055_ACCEL_BW_LEN   (3)
#define BNO055_ACCEL_BW_MSK   (0X1C)
#define BNO055_ACCEL_BW_POS   (2)
#define BNO055_ACCEL_BW_REG   BNO055_ACCEL_CONFIG_ADDR
#define BNO055_ACCEL_CALIB_STAT_LEN   (2)
#define BNO055_ACCEL_CALIB_STAT_MSK   (0X0C)
#define BNO055_ACCEL_CALIB_STAT_POS   (2)
#define BNO055_ACCEL_CALIB_STAT_REG   BNO055_CALIB_STAT_ADDR
#define BNO055_ACCEL_CONFIG_ADDR   (0X08)
#define BNO055_ACCEL_DATA_SIZE   (2)
#define BNO055_ACCEL_DATA_X_LSB_ADDR   (0X08)
#define BNO055_ACCEL_DATA_X_LSB_VALUEX_LEN   (8)
#define BNO055_ACCEL_DATA_X_LSB_VALUEX_MSK   (0xFF)
#define BNO055_ACCEL_DATA_X_LSB_VALUEX_POS   (0)
#define BNO055_ACCEL_DATA_X_LSB_VALUEX_REG   BNO055_ACCEL_DATA_X_LSB_ADDR
#define BNO055_ACCEL_DATA_X_MSB_ADDR   (0X09)
#define BNO055_ACCEL_DATA_X_MSB_VALUEX_LEN   (8)
#define BNO055_ACCEL_DATA_X_MSB_VALUEX_MSK   (0xFF)
#define BNO055_ACCEL_DATA_X_MSB_VALUEX_POS   (0)
#define BNO055_ACCEL_DATA_X_MSB_VALUEX_REG   BNO055_ACCEL_DATA_X_MSB_ADDR
#define BNO055_ACCEL_DATA_Y_LSB_ADDR   (0X0A)
#define BNO055_ACCEL_DATA_Y_LSB_VALUEY_LEN   (8)
#define BNO055_ACCEL_DATA_Y_LSB_VALUEY_MSK   (0xFF)
#define BNO055_ACCEL_DATA_Y_LSB_VALUEY_POS   (0)
#define BNO055_ACCEL_DATA_Y_LSB_VALUEY_REG   BNO055_ACCEL_DATA_Y_LSB_ADDR
#define BNO055_ACCEL_DATA_Y_MSB_ADDR   (0X0B)
#define BNO055_ACCEL_DATA_Y_MSB_VALUEY_LEN   (8)
#define BNO055_ACCEL_DATA_Y_MSB_VALUEY_MSK   (0xFF)
#define BNO055_ACCEL_DATA_Y_MSB_VALUEY_POS   (0)
#define BNO055_ACCEL_DATA_Y_MSB_VALUEY_REG   BNO055_ACCEL_DATA_Y_MSB_ADDR
#define BNO055_ACCEL_DATA_Z_LSB_ADDR   (0X0C)
#define BNO055_ACCEL_DATA_Z_LSB_VALUEZ_LEN   (8)
#define BNO055_ACCEL_DATA_Z_LSB_VALUEZ_MSK   (0xFF)
#define BNO055_ACCEL_DATA_Z_LSB_VALUEZ_POS   (0)
#define BNO055_ACCEL_DATA_Z_LSB_VALUEZ_REG   BNO055_ACCEL_DATA_Z_LSB_ADDR
#define BNO055_ACCEL_DATA_Z_MSB_ADDR   (0X0D)
#define BNO055_ACCEL_DATA_Z_MSB_VALUEZ_LEN   (8)
#define BNO055_ACCEL_DATA_Z_MSB_VALUEZ_MSK   (0xFF)
#define BNO055_ACCEL_DATA_Z_MSB_VALUEZ_POS   (0)
#define BNO055_ACCEL_DATA_Z_MSB_VALUEZ_REG   BNO055_ACCEL_DATA_Z_MSB_ADDR
#define BNO055_ACCEL_DEEPSUSPEND   (0X05)
#define BNO055_ACCEL_DIV_MG   (1)
#define BNO055_ACCEL_DIV_MSQ   (100.0)
#define BNO055_ACCEL_GYRO_BW_RANGE   ((u8)8)
#define BNO055_ACCEL_HIGH_G_DURN_ADDR   (0X13)
#define BNO055_ACCEL_HIGH_G_DURN_LEN   (8)
#define BNO055_ACCEL_HIGH_G_DURN_MSK   (0XFF)
#define BNO055_ACCEL_HIGH_G_DURN_POS   (0)
#define BNO055_ACCEL_HIGH_G_DURN_REG   BNO055_ACCEL_HIGH_G_DURN_ADDR
#define BNO055_ACCEL_HIGH_G_INTR_LEN   (1)
#define BNO055_ACCEL_HIGH_G_INTR_MASK_LEN   (1)
#define BNO055_ACCEL_HIGH_G_INTR_MASK_MSK   (0X20)
#define BNO055_ACCEL_HIGH_G_INTR_MASK_POS   (5)
#define BNO055_ACCEL_HIGH_G_INTR_MASK_REG   BNO055_INT_MASK_ADDR
#define BNO055_ACCEL_HIGH_G_INTR_MSK   (0X20)
#define BNO055_ACCEL_HIGH_G_INTR_POS   (5)
#define BNO055_ACCEL_HIGH_G_INTR_REG   BNO055_INT_ADDR
#define BNO055_ACCEL_HIGH_G_THRES_ADDR   (0X14)
#define BNO055_ACCEL_HIGH_G_THRES_LEN   (8)
#define BNO055_ACCEL_HIGH_G_THRES_MSK   (0XFF)
#define BNO055_ACCEL_HIGH_G_THRES_POS   (0)
#define BNO055_ACCEL_HIGH_G_THRES_REG   BNO055_ACCEL_HIGH_G_THRES_ADDR
#define BNO055_ACCEL_HIGH_G_X_AXIS   (0)
#define BNO055_ACCEL_HIGH_G_X_AXIS_LEN   (1)
#define BNO055_ACCEL_HIGH_G_X_AXIS_MSK   (0X20)
#define BNO055_ACCEL_HIGH_G_X_AXIS_POS   (5)
#define BNO055_ACCEL_HIGH_G_X_AXIS_REG   BNO055_ACCEL_INTR_SETTINGS_ADDR
#define BNO055_ACCEL_HIGH_G_Y_AXIS   (1)
#define BNO055_ACCEL_HIGH_G_Y_AXIS_LEN   (1)
#define BNO055_ACCEL_HIGH_G_Y_AXIS_MSK   (0X40)
#define BNO055_ACCEL_HIGH_G_Y_AXIS_POS   (6)
#define BNO055_ACCEL_HIGH_G_Y_AXIS_REG   BNO055_ACCEL_INTR_SETTINGS_ADDR
#define BNO055_ACCEL_HIGH_G_Z_AXIS   (2)
#define BNO055_ACCEL_HIGH_G_Z_AXIS_LEN   (1)
#define BNO055_ACCEL_HIGH_G_Z_AXIS_MSK   (0X80)
#define BNO055_ACCEL_HIGH_G_Z_AXIS_POS   (7)
#define BNO055_ACCEL_HIGH_G_Z_AXIS_REG   BNO055_ACCEL_INTR_SETTINGS_ADDR
#define BNO055_ACCEL_INTR_SETTINGS_ADDR   (0X12)
#define BNO055_ACCEL_LOWPOWER_1   (0X02)
#define BNO055_ACCEL_LOWPOWER_2   (0X04)
#define BNO055_ACCEL_NO_MOTION_INTR_LEN   (1)
#define BNO055_ACCEL_NO_MOTION_INTR_MASK_LEN   (1)
#define BNO055_ACCEL_NO_MOTION_INTR_MASK_MSK   (0X80)
#define BNO055_ACCEL_NO_MOTION_INTR_MASK_POS   (7)
#define BNO055_ACCEL_NO_MOTION_INTR_MASK_REG   BNO055_INT_MASK_ADDR
#define BNO055_ACCEL_NO_MOTION_INTR_MSK   (0X80)
#define BNO055_ACCEL_NO_MOTION_INTR_POS   (7)
#define BNO055_ACCEL_NO_MOTION_INTR_REG   BNO055_INT_ADDR
#define BNO055_ACCEL_NO_MOTION_SET_ADDR   (0X16)
#define BNO055_ACCEL_NO_MOTION_THRES_ADDR   (0X15)
#define BNO055_ACCEL_NORMAL   (0X00)
#define BNO055_ACCEL_OFFSET_ARRAY   (6)
#define BNO055_ACCEL_OFFSET_X_LSB_ADDR   (0X55)
#define BNO055_ACCEL_OFFSET_X_LSB_LEN   (8)
#define BNO055_ACCEL_OFFSET_X_LSB_MSK   (0XFF)
#define BNO055_ACCEL_OFFSET_X_LSB_POS   (0)
#define BNO055_ACCEL_OFFSET_X_LSB_REG   BNO055_ACCEL_OFFSET_X_LSB_ADDR
#define BNO055_ACCEL_OFFSET_X_MSB_ADDR   (0X56)
#define BNO055_ACCEL_OFFSET_X_MSB_LEN   (8)
#define BNO055_ACCEL_OFFSET_X_MSB_MSK   (0XFF)
#define BNO055_ACCEL_OFFSET_X_MSB_POS   (0)
#define BNO055_ACCEL_OFFSET_X_MSB_REG   BNO055_ACCEL_OFFSET_X_MSB_ADDR
#define BNO055_ACCEL_OFFSET_Y_LSB_ADDR   (0X57)
#define BNO055_ACCEL_OFFSET_Y_LSB_LEN   (8)
#define BNO055_ACCEL_OFFSET_Y_LSB_MSK   (0XFF)
#define BNO055_ACCEL_OFFSET_Y_LSB_POS   (0)
#define BNO055_ACCEL_OFFSET_Y_LSB_REG   BNO055_ACCEL_OFFSET_Y_LSB_ADDR
#define BNO055_ACCEL_OFFSET_Y_MSB_ADDR   (0X58)
#define BNO055_ACCEL_OFFSET_Y_MSB_LEN   (8)
#define BNO055_ACCEL_OFFSET_Y_MSB_MSK   (0XFF)
#define BNO055_ACCEL_OFFSET_Y_MSB_POS   (0)
#define BNO055_ACCEL_OFFSET_Y_MSB_REG   BNO055_ACCEL_OFFSET_Y_MSB_ADDR
#define BNO055_ACCEL_OFFSET_Z_LSB_ADDR   (0X59)
#define BNO055_ACCEL_OFFSET_Z_LSB_LEN   (8)
#define BNO055_ACCEL_OFFSET_Z_LSB_MSK   (0XFF)
#define BNO055_ACCEL_OFFSET_Z_LSB_POS   (0)
#define BNO055_ACCEL_OFFSET_Z_LSB_REG   BNO055_ACCEL_OFFSET_Z_LSB_ADDR
#define BNO055_ACCEL_OFFSET_Z_MSB_ADDR   (0X5A)
#define BNO055_ACCEL_OFFSET_Z_MSB_LEN   (8)
#define BNO055_ACCEL_OFFSET_Z_MSB_MSK   (0XFF)
#define BNO055_ACCEL_OFFSET_Z_MSB_POS   (0)
#define BNO055_ACCEL_OFFSET_Z_MSB_REG   BNO055_ACCEL_OFFSET_Z_MSB_ADDR
#define BNO055_ACCEL_POWER_MODE_LEN   (3)
#define BNO055_ACCEL_POWER_MODE_MSK   (0XE0)
#define BNO055_ACCEL_POWER_MODE_POS   (5)
#define BNO055_ACCEL_POWER_MODE_RANGE   ((u8)6)
#define BNO055_ACCEL_POWER_MODE_REG   BNO055_ACCEL_CONFIG_ADDR
#define BNO055_ACCEL_RADIUS_LSB_ADDR   (0X67)
#define BNO055_ACCEL_RADIUS_LSB_LEN   (8)
#define BNO055_ACCEL_RADIUS_LSB_MSK   (0XFF)
#define BNO055_ACCEL_RADIUS_LSB_POS   (0)
#define BNO055_ACCEL_RADIUS_LSB_REG   BNO055_ACCEL_RADIUS_LSB_ADDR
#define BNO055_ACCEL_RADIUS_MSB_ADDR   (0X68)
#define BNO055_ACCEL_RADIUS_MSB_LEN   (8)
#define BNO055_ACCEL_RADIUS_MSB_MSK   (0XFF)
#define BNO055_ACCEL_RADIUS_MSB_POS   (0)
#define BNO055_ACCEL_RADIUS_MSB_REG   BNO055_ACCEL_RADIUS_MSB_ADDR
#define BNO055_ACCEL_RANGE   ((u8)5)
#define BNO055_ACCEL_RANGE_16G   (0X03)
#define BNO055_ACCEL_RANGE_2G   (0X00)
#define BNO055_ACCEL_RANGE_4G   (0X01)
#define BNO055_ACCEL_RANGE_8G   (0X02)
#define BNO055_ACCEL_RANGE_LEN   (2)
#define BNO055_ACCEL_RANGE_MSK   (0X03)
#define BNO055_ACCEL_RANGE_POS   (0)
#define BNO055_ACCEL_RANGE_REG   BNO055_ACCEL_CONFIG_ADDR
#define BNO055_ACCEL_REV_ID_ADDR   (0x01)
#define BNO055_ACCEL_REV_ID_LEN   (8)
#define BNO055_ACCEL_REV_ID_MSK   (0xFF)
#define BNO055_ACCEL_REV_ID_POS   (0)
#define BNO055_ACCEL_REV_ID_REG   BNO055_ACCEL_REV_ID_ADDR
#define BNO055_ACCEL_SLEEP_CONFIG_ADDR   (0X0C)
#define BNO055_ACCEL_SLEEP_DURATION_RANGE   ((u8)16)
#define BNO055_ACCEL_SLEEP_DURN_0_5MS   (0x05)
#define BNO055_ACCEL_SLEEP_DURN_100MS   (0x0D)
#define BNO055_ACCEL_SLEEP_DURN_10MS   (0x0A)
#define BNO055_ACCEL_SLEEP_DURN_1MS   (0x06)
#define BNO055_ACCEL_SLEEP_DURN_1S   (0x0F)
#define BNO055_ACCEL_SLEEP_DURN_25MS   (0x0B)
#define BNO055_ACCEL_SLEEP_DURN_2MS   (0x07)
#define BNO055_ACCEL_SLEEP_DURN_4MS   (0x08)
#define BNO055_ACCEL_SLEEP_DURN_500MS   (0x0E)
#define BNO055_ACCEL_SLEEP_DURN_50MS   (0x0C)
#define BNO055_ACCEL_SLEEP_DURN_6MS   (0x09)
#define BNO055_ACCEL_SLEEP_DURN_LEN   (4)
#define BNO055_ACCEL_SLEEP_DURN_MSK   (0X1E)
#define BNO055_ACCEL_SLEEP_DURN_POS   (1)
#define BNO055_ACCEL_SLEEP_DURN_REG   BNO055_ACCEL_SLEEP_CONFIG_ADDR
#define BNO055_ACCEL_SLEEP_MODE_LEN   (1)
#define BNO055_ACCEL_SLEEP_MODE_MSK   (0X01)
#define BNO055_ACCEL_SLEEP_MODE_POS   (0)
#define BNO055_ACCEL_SLEEP_MODE_RANGE   ((u8)2)
#define BNO055_ACCEL_SLEEP_MODE_REG   BNO055_ACCEL_SLEEP_CONFIG_ADDR
#define BNO055_ACCEL_SLOW_NO_MOTION_DURN_LEN   (6)
#define BNO055_ACCEL_SLOW_NO_MOTION_DURN_MSK   (0X7E)
#define BNO055_ACCEL_SLOW_NO_MOTION_DURN_POS   (1)
#define BNO055_ACCEL_SLOW_NO_MOTION_DURN_REG   BNO055_ACCEL_NO_MOTION_SET_ADDR
#define BNO055_ACCEL_SLOW_NO_MOTION_ENABLE_LEN   (1)
#define BNO055_ACCEL_SLOW_NO_MOTION_ENABLE_MSK   (0X01)
#define BNO055_ACCEL_SLOW_NO_MOTION_ENABLE_POS   (0)
#define BNO055_ACCEL_SLOW_NO_MOTION_ENABLE_REG   BNO055_ACCEL_NO_MOTION_SET_ADDR
#define BNO055_ACCEL_SLOW_NO_MOTION_THRES_LEN   (8)
#define BNO055_ACCEL_SLOW_NO_MOTION_THRES_MSK   (0XFF)
#define BNO055_ACCEL_SLOW_NO_MOTION_THRES_POS   (0)
#define BNO055_ACCEL_SLOW_NO_MOTION_THRES_REG   BNO055_ACCEL_NO_MOTION_THRES_ADDR
#define BNO055_ACCEL_STANDBY   (0X03)
#define BNO055_ACCEL_SUSPEND   (0X01)
#define BNO055_ACCEL_TEMP_EN   (0x00)
#define BNO055_ACCEL_UNIT_LEN   (1)
#define BNO055_ACCEL_UNIT_MG   (0x01)
#define BNO055_ACCEL_UNIT_MSK   (0X01)
#define BNO055_ACCEL_UNIT_MSQ   (0x00)
#define BNO055_ACCEL_UNIT_POS   (0)
#define BNO055_ACCEL_UNIT_REG   BNO055_UNIT_SEL_ADDR
#define BNO055_ACCEL_XYZ_DATA_SIZE   (6)
#define BNO055_AXIS_MAP_CONFIG_ADDR   (0X41)
#define BNO055_AXIS_MAP_SIGN_ADDR   (0X42)
#define BNO055_BIT_DISABLE   (0x00)
#define BNO055_BIT_ENABLE   (0x01)
#define BNO055_BL_REV_ID_ADDR   (0X06)
#define BNO055_BL_REV_ID_LEN   (8)
#define BNO055_BL_REV_ID_MSK   (0xFF)
#define BNO055_BL_REV_ID_POS   (0)
#define BNO055_BL_REV_ID_REG   BNO055_BL_REV_ID_ADDR
#define BNO055_BUS_READ_FUNC (   dev_addr,
  reg_addr,
  reg_data,
  r_len 
)    bus_read(dev_addr, reg_addr, reg_data, r_len)
#define BNO055_BUS_WRITE_FUNC (   dev_addr,
  reg_addr,
  reg_data,
  wr_len 
)    bus_write(dev_addr, reg_addr, reg_data, wr_len)
#define BNO055_CALIB_STAT_ADDR   (0X35)
#define BNO055_CHIP_ID_ADDR   (0x00)
#define BNO055_CHIP_ID_LEN   (8)
#define BNO055_CHIP_ID_MSK   (0xFF)
#define BNO055_CHIP_ID_POS   (0)
#define BNO055_CHIP_ID_REG   BNO055_CHIP_ID_ADDR
#define BNO055_CLK_SRC_LEN   (1)
#define BNO055_CLK_SRC_MSK   (0X80)
#define BNO055_CLK_SRC_POS   (7)
#define BNO055_CLK_SRC_REG   BNO055_SYS_TRIGGER_ADDR
#define BNO055_CONFIG_MODE_SWITCHING_DELAY   ((u8)20)
#define BNO055_DATA_OUTPUT_FORMAT_LEN   (1)
#define BNO055_DATA_OUTPUT_FORMAT_MSK   (0X80)
#define BNO055_DATA_OUTPUT_FORMAT_POS   (7)
#define BNO055_DATA_OUTPUT_FORMAT_REG   BNO055_UNIT_SEL_ADDR
#define BNO055_DATA_SELECT_ADDR   (0X3C)
#define BNO055_DEFAULT_AXIS   (0X24)
#define BNO055_DELAY_FUNC (   delay_in_msec)    delay_func(delay_in_msec)
#define BNO055_DELAY_PARAM_TYPES   u32
#define BNO055_DELAY_RETURN_TYPE   void
#define BNO055_DOUBLE_ENABLE
#define BNO055_E_NULL_PTR   ((s8)-127)
#define BNO055_ERROR   ((s8)-1)
#define BNO055_EULER_DATA_SIZE   (2)
#define BNO055_EULER_DIV_DEG   (16.0)
#define BNO055_EULER_DIV_RAD   (900.0)
#define BNO055_EULER_H_LSB_ADDR   (0X1A)
#define BNO055_EULER_H_LSB_VALUEH_LEN   (8)
#define BNO055_EULER_H_LSB_VALUEH_MSK   (0xFF)
#define BNO055_EULER_H_LSB_VALUEH_POS   (0)
#define BNO055_EULER_H_LSB_VALUEH_REG   BNO055_EULER_H_LSB_ADDR
#define BNO055_EULER_H_MSB_ADDR   (0X1B)
#define BNO055_EULER_H_MSB_VALUEH_LEN   (8)
#define BNO055_EULER_H_MSB_VALUEH_MSK   (0xFF)
#define BNO055_EULER_H_MSB_VALUEH_POS   (0)
#define BNO055_EULER_H_MSB_VALUEH_REG   BNO055_EULER_H_MSB_ADDR
#define BNO055_EULER_HRP_DATA_SIZE   (6)
#define BNO055_EULER_P_LSB_ADDR   (0X1E)
#define BNO055_EULER_P_LSB_VALUEP_LEN   (8)
#define BNO055_EULER_P_LSB_VALUEP_MSK   (0xFF)
#define BNO055_EULER_P_LSB_VALUEP_POS   (0)
#define BNO055_EULER_P_LSB_VALUEP_REG   BNO055_EULER_P_LSB_ADDR
#define BNO055_EULER_P_MSB_ADDR   (0X1F)
#define BNO055_EULER_P_MSB_VALUEP_LEN   (8)
#define BNO055_EULER_P_MSB_VALUEP_MSK   (0xFF)
#define BNO055_EULER_P_MSB_VALUEP_POS   (0)
#define BNO055_EULER_P_MSB_VALUEP_REG   BNO055_EULER_P_MSB_ADDR
#define BNO055_EULER_R_LSB_ADDR   (0X1C)
#define BNO055_EULER_R_LSB_VALUER_LEN   (8)
#define BNO055_EULER_R_LSB_VALUER_MSK   (0xFF)
#define BNO055_EULER_R_LSB_VALUER_POS   (0)
#define BNO055_EULER_R_LSB_VALUER_REG   BNO055_EULER_R_LSB_ADDR
#define BNO055_EULER_R_MSB_ADDR   (0X1D)
#define BNO055_EULER_R_MSB_VALUER_LEN   (8)
#define BNO055_EULER_R_MSB_VALUER_MSK   (0xFF)
#define BNO055_EULER_R_MSB_VALUER_POS   (0)
#define BNO055_EULER_R_MSB_VALUER_REG   BNO055_EULER_R_MSB_ADDR
#define BNO055_EULER_UNIT_DEG   (0x00)
#define BNO055_EULER_UNIT_LEN   (1)
#define BNO055_EULER_UNIT_MSK   (0X04)
#define BNO055_EULER_UNIT_POS   (2)
#define BNO055_EULER_UNIT_RAD   (0x01)
#define BNO055_EULER_UNIT_REG   BNO055_UNIT_SEL_ADDR
#define BNO055_FLOAT_ENABLE
#define BNO055_GEN_READ_WRITE_LENGTH   ((u8)1)
#define BNO055_GET_BITSLICE (   regvar,
  bitname 
)    ((regvar & bitname##_MSK) >> bitname##_POS)
#define BNO055_GRAVITY_DATA_SIZE   (2)
#define BNO055_GRAVITY_DATA_X_LSB_ADDR   (0X2E)
#define BNO055_GRAVITY_DATA_X_LSB_VALUEX_LEN   (8)
#define BNO055_GRAVITY_DATA_X_LSB_VALUEX_MSK   (0xFF)
#define BNO055_GRAVITY_DATA_X_LSB_VALUEX_POS   (0)
#define BNO055_GRAVITY_DATA_X_LSB_VALUEX_REG   BNO055_GRAVITY_DATA_X_LSB_ADDR
#define BNO055_GRAVITY_DATA_X_MSB_ADDR   (0X2F)
#define BNO055_GRAVITY_DATA_X_MSB_VALUEX_LEN   (8)
#define BNO055_GRAVITY_DATA_X_MSB_VALUEX_MSK   (0xFF)
#define BNO055_GRAVITY_DATA_X_MSB_VALUEX_POS   (0)
#define BNO055_GRAVITY_DATA_X_MSB_VALUEX_REG   BNO055_GRAVITY_DATA_X_MSB_ADDR
#define BNO055_GRAVITY_DATA_Y_LSB_ADDR   (0X30)
#define BNO055_GRAVITY_DATA_Y_LSB_VALUEY_LEN   (8)
#define BNO055_GRAVITY_DATA_Y_LSB_VALUEY_MSK   (0xFF)
#define BNO055_GRAVITY_DATA_Y_LSB_VALUEY_POS   (0)
#define BNO055_GRAVITY_DATA_Y_LSB_VALUEY_REG   BNO055_GRAVITY_DATA_Y_LSB_ADDR
#define BNO055_GRAVITY_DATA_Y_MSB_ADDR   (0X31)
#define BNO055_GRAVITY_DATA_Y_MSB_VALUEY_LEN   (8)
#define BNO055_GRAVITY_DATA_Y_MSB_VALUEY_MSK   (0xFF)
#define BNO055_GRAVITY_DATA_Y_MSB_VALUEY_POS   (0)
#define BNO055_GRAVITY_DATA_Y_MSB_VALUEY_REG   BNO055_GRAVITY_DATA_Y_MSB_ADDR
#define BNO055_GRAVITY_DATA_Z_LSB_ADDR   (0X32)
#define BNO055_GRAVITY_DATA_Z_LSB_VALUEZ_LEN   (8)
#define BNO055_GRAVITY_DATA_Z_LSB_VALUEZ_MSK   (0xFF)
#define BNO055_GRAVITY_DATA_Z_LSB_VALUEZ_POS   (0)
#define BNO055_GRAVITY_DATA_Z_LSB_VALUEZ_REG   BNO055_GRAVITY_DATA_Z_LSB_ADDR
#define BNO055_GRAVITY_DATA_Z_MSB_ADDR   (0X33)
#define BNO055_GRAVITY_DATA_Z_MSB_VALUEZ_LEN   (8)
#define BNO055_GRAVITY_DATA_Z_MSB_VALUEZ_MSK   (0xFF)
#define BNO055_GRAVITY_DATA_Z_MSB_VALUEZ_POS   (0)
#define BNO055_GRAVITY_DATA_Z_MSB_VALUEZ_REG   BNO055_GRAVITY_DATA_Z_MSB_ADDR
#define BNO055_GRAVITY_DIV_MSQ   (100.0)
#define BNO055_GRAVITY_XYZ_DATA_SIZE   (6)
#define BNO055_GYRO_10MS_AUTOSLPDUR   (0x04)
#define BNO055_GYRO_15MS_AUTOSLPDUR   (0x05)
#define BNO055_GYRO_20MS_AUTOSLPDUR   (0x06)
#define BNO055_GYRO_40MS_AUTOSLPDUR   (0x07)
#define BNO055_GYRO_4MS_AUTOSLPDUR   (0x01)
#define BNO055_GYRO_5MS_AUTOSLPDUR   (0x02)
#define BNO055_GYRO_8MS_AUTOSLPDUR   (0x03)
#define BNO055_GYRO_ANY_MOTION_FILTER_LEN   (1)
#define BNO055_GYRO_ANY_MOTION_FILTER_MSK   (0X40)
#define BNO055_GYRO_ANY_MOTION_FILTER_POS   (6)
#define BNO055_GYRO_ANY_MOTION_FILTER_REG   BNO055_GYRO_INTR_SETING_ADDR
#define BNO055_GYRO_ANY_MOTION_INTR_LEN   (1)
#define BNO055_GYRO_ANY_MOTION_INTR_MASK_LEN   (1)
#define BNO055_GYRO_ANY_MOTION_INTR_MASK_MSK   (0X04)
#define BNO055_GYRO_ANY_MOTION_INTR_MASK_POS   (2)
#define BNO055_GYRO_ANY_MOTION_INTR_MASK_REG   BNO055_INT_MASK_ADDR
#define BNO055_GYRO_ANY_MOTION_INTR_MSK   (0X04)
#define BNO055_GYRO_ANY_MOTION_INTR_POS   (2)
#define BNO055_GYRO_ANY_MOTION_INTR_REG   BNO055_INT_ADDR
#define BNO055_GYRO_ANY_MOTION_SET_ADDR   (0X1F)
#define BNO055_GYRO_ANY_MOTION_THRES_ADDR   (0X1E)
#define BNO055_GYRO_ANY_MOTION_THRES_LEN   (7)
#define BNO055_GYRO_ANY_MOTION_THRES_MSK   (0X7F)
#define BNO055_GYRO_ANY_MOTION_THRES_POS   (0)
#define BNO055_GYRO_ANY_MOTION_THRES_REG   BNO055_GYRO_ANY_MOTION_THRES_ADDR
#define BNO055_GYRO_ANY_MOTION_X_AXIS   (0)
#define BNO055_GYRO_ANY_MOTION_X_AXIS_LEN   (1)
#define BNO055_GYRO_ANY_MOTION_X_AXIS_MSK   (0X01)
#define BNO055_GYRO_ANY_MOTION_X_AXIS_POS   (0)
#define BNO055_GYRO_ANY_MOTION_X_AXIS_REG   BNO055_GYRO_INTR_SETING_ADDR
#define BNO055_GYRO_ANY_MOTION_Y_AXIS   (1)
#define BNO055_GYRO_ANY_MOTION_Y_AXIS_LEN   (1)
#define BNO055_GYRO_ANY_MOTION_Y_AXIS_MSK   (0X02)
#define BNO055_GYRO_ANY_MOTION_Y_AXIS_POS   (1)
#define BNO055_GYRO_ANY_MOTION_Y_AXIS_REG   BNO055_GYRO_INTR_SETING_ADDR
#define BNO055_GYRO_ANY_MOTION_Z_AXIS   (2)
#define BNO055_GYRO_ANY_MOTION_Z_AXIS_LEN   (1)
#define BNO055_GYRO_ANY_MOTION_Z_AXIS_MSK   (0X04)
#define BNO055_GYRO_ANY_MOTION_Z_AXIS_POS   (2)
#define BNO055_GYRO_ANY_MOTION_Z_AXIS_REG   BNO055_GYRO_INTR_SETING_ADDR
#define BNO055_GYRO_AUTO_SLEEP_DURATION_RANGE   ((u8)8)
#define BNO055_GYRO_AUTO_SLEEP_DURN_LEN   (3)
#define BNO055_GYRO_AUTO_SLEEP_DURN_MSK   (0X38)
#define BNO055_GYRO_AUTO_SLEEP_DURN_POS   (3)
#define BNO055_GYRO_AUTO_SLEEP_DURN_REG   BNO055_GYRO_SLEEP_CONFIG_ADDR
#define BNO055_GYRO_AWAKE_DURN_LEN   (2)
#define BNO055_GYRO_AWAKE_DURN_MSK   (0X0C)
#define BNO055_GYRO_AWAKE_DURN_POS   (2)
#define BNO055_GYRO_AWAKE_DURN_REG   BNO055_GYRO_ANY_MOTION_SET_ADDR
#define BNO055_GYRO_BW_116HZ   (0x02)
#define BNO055_GYRO_BW_12HZ   (0x05)
#define BNO055_GYRO_BW_230HZ   (0x01)
#define BNO055_GYRO_BW_23HZ   (0x04)
#define BNO055_GYRO_BW_32HZ   (0x07)
#define BNO055_GYRO_BW_47HZ   (0x03)
#define BNO055_GYRO_BW_523HZ   (0x00)
#define BNO055_GYRO_BW_64HZ   (0x06)
#define BNO055_GYRO_BW_LEN   (3)
#define BNO055_GYRO_BW_MSK   (0X38)
#define BNO055_GYRO_BW_POS   (3)
#define BNO055_GYRO_BW_REG   BNO055_GYRO_CONFIG_ADDR
#define BNO055_GYRO_CALIB_STAT_LEN   (2)
#define BNO055_GYRO_CALIB_STAT_MSK   (0X30)
#define BNO055_GYRO_CALIB_STAT_POS   (4)
#define BNO055_GYRO_CALIB_STAT_REG   BNO055_CALIB_STAT_ADDR
#define BNO055_GYRO_CONFIG_ADDR   (0X0A)
#define BNO055_GYRO_DATA_SIZE   (2)
#define BNO055_GYRO_DATA_X_LSB_ADDR   (0X14)
#define BNO055_GYRO_DATA_X_LSB_VALUEX_LEN   (8)
#define BNO055_GYRO_DATA_X_LSB_VALUEX_MSK   (0xFF)
#define BNO055_GYRO_DATA_X_LSB_VALUEX_POS   (0)
#define BNO055_GYRO_DATA_X_LSB_VALUEX_REG   BNO055_GYRO_DATA_X_LSB_ADDR
#define BNO055_GYRO_DATA_X_MSB_ADDR   (0X15)
#define BNO055_GYRO_DATA_X_MSB_VALUEX_LEN   (8)
#define BNO055_GYRO_DATA_X_MSB_VALUEX_MSK   (0xFF)
#define BNO055_GYRO_DATA_X_MSB_VALUEX_POS   (0)
#define BNO055_GYRO_DATA_X_MSB_VALUEX_REG   BNO055_GYRO_DATA_X_MSB_ADDR
#define BNO055_GYRO_DATA_Y_LSB_ADDR   (0X16)
#define BNO055_GYRO_DATA_Y_LSB_VALUEY_LEN   (8)
#define BNO055_GYRO_DATA_Y_LSB_VALUEY_MSK   (0xFF)
#define BNO055_GYRO_DATA_Y_LSB_VALUEY_POS   (0)
#define BNO055_GYRO_DATA_Y_LSB_VALUEY_REG   BNO055_GYRO_DATA_Y_LSB_ADDR
#define BNO055_GYRO_DATA_Y_MSB_ADDR   (0X17)
#define BNO055_GYRO_DATA_Y_MSB_VALUEY_LEN   (8)
#define BNO055_GYRO_DATA_Y_MSB_VALUEY_MSK   (0xFF)
#define BNO055_GYRO_DATA_Y_MSB_VALUEY_POS   (0)
#define BNO055_GYRO_DATA_Y_MSB_VALUEY_REG   BNO055_GYRO_DATA_Y_MSB_ADDR
#define BNO055_GYRO_DATA_Z_LSB_ADDR   (0X18)
#define BNO055_GYRO_DATA_Z_LSB_VALUEZ_LEN   (8)
#define BNO055_GYRO_DATA_Z_LSB_VALUEZ_MSK   (0xFF)
#define BNO055_GYRO_DATA_Z_LSB_VALUEZ_POS   (0)
#define BNO055_GYRO_DATA_Z_LSB_VALUEZ_REG   BNO055_GYRO_DATA_Z_LSB_ADDR
#define BNO055_GYRO_DATA_Z_MSB_ADDR   (0X19)
#define BNO055_GYRO_DATA_Z_MSB_VALUEZ_LEN   (8)
#define BNO055_GYRO_DATA_Z_MSB_VALUEZ_MSK   (0xFF)
#define BNO055_GYRO_DATA_Z_MSB_VALUEZ_POS   (0)
#define BNO055_GYRO_DATA_Z_MSB_VALUEZ_REG   BNO055_GYRO_DATA_Z_MSB_ADDR
#define BNO055_GYRO_DIV_DPS   (16.0)
#define BNO055_GYRO_DIV_RPS   (900.0)
#define BNO055_GYRO_DURN_X_ADDR   (0X19)
#define BNO055_GYRO_DURN_Y_ADDR   (0X1B)
#define BNO055_GYRO_DURN_Z_ADDR   (0X1D)
#define BNO055_GYRO_FILTERED_CONFIG   (0x00)
#define BNO055_GYRO_HIGHRATE_FILTER_LEN   (1)
#define BNO055_GYRO_HIGHRATE_FILTER_MSK   (0X80)
#define BNO055_GYRO_HIGHRATE_FILTER_POS   (7)
#define BNO055_GYRO_HIGHRATE_FILTER_REG   BNO055_GYRO_INTR_SETING_ADDR
#define BNO055_GYRO_HIGHRATE_INTR_LEN   (1)
#define BNO055_GYRO_HIGHRATE_INTR_MASK_LEN   (1)
#define BNO055_GYRO_HIGHRATE_INTR_MASK_MSK   (0X08)
#define BNO055_GYRO_HIGHRATE_INTR_MASK_POS   (3)
#define BNO055_GYRO_HIGHRATE_INTR_MASK_REG   BNO055_INT_MASK_ADDR
#define BNO055_GYRO_HIGHRATE_INTR_MSK   (0X08)
#define BNO055_GYRO_HIGHRATE_INTR_POS   (3)
#define BNO055_GYRO_HIGHRATE_INTR_REG   BNO055_INT_ADDR
#define BNO055_GYRO_HIGHRATE_X_AXIS   (0)
#define BNO055_GYRO_HIGHRATE_X_AXIS_LEN   (1)
#define BNO055_GYRO_HIGHRATE_X_AXIS_MSK   (0X08)
#define BNO055_GYRO_HIGHRATE_X_AXIS_POS   (3)
#define BNO055_GYRO_HIGHRATE_X_AXIS_REG   BNO055_GYRO_INTR_SETING_ADDR
#define BNO055_GYRO_HIGHRATE_X_DURN_LEN   (8)
#define BNO055_GYRO_HIGHRATE_X_DURN_MSK   (0XFF)
#define BNO055_GYRO_HIGHRATE_X_DURN_POS   (0)
#define BNO055_GYRO_HIGHRATE_X_DURN_REG   BNO055_GYRO_DURN_X_ADDR
#define BNO055_GYRO_HIGHRATE_X_HYST_LEN   (2)
#define BNO055_GYRO_HIGHRATE_X_HYST_MSK   (0X60)
#define BNO055_GYRO_HIGHRATE_X_HYST_POS   (5)
#define BNO055_GYRO_HIGHRATE_X_HYST_REG   BNO055_GYRO_HIGHRATE_X_SET_ADDR
#define BNO055_GYRO_HIGHRATE_X_SET_ADDR   (0X18)
#define BNO055_GYRO_HIGHRATE_X_THRES_LEN   (5)
#define BNO055_GYRO_HIGHRATE_X_THRES_MSK   (0X1F)
#define BNO055_GYRO_HIGHRATE_X_THRES_POS   (0)
#define BNO055_GYRO_HIGHRATE_X_THRES_REG   BNO055_GYRO_HIGHRATE_X_SET_ADDR
#define BNO055_GYRO_HIGHRATE_Y_AXIS   (1)
#define BNO055_GYRO_HIGHRATE_Y_AXIS_LEN   (1)
#define BNO055_GYRO_HIGHRATE_Y_AXIS_MSK   (0X10)
#define BNO055_GYRO_HIGHRATE_Y_AXIS_POS   (4)
#define BNO055_GYRO_HIGHRATE_Y_AXIS_REG   BNO055_GYRO_INTR_SETING_ADDR
#define BNO055_GYRO_HIGHRATE_Y_DURN_LEN   (8)
#define BNO055_GYRO_HIGHRATE_Y_DURN_MSK   (0XFF)
#define BNO055_GYRO_HIGHRATE_Y_DURN_POS   (0)
#define BNO055_GYRO_HIGHRATE_Y_DURN_REG   BNO055_GYRO_DURN_Y_ADDR
#define BNO055_GYRO_HIGHRATE_Y_HYST_LEN   (2)
#define BNO055_GYRO_HIGHRATE_Y_HYST_MSK   (0X60)
#define BNO055_GYRO_HIGHRATE_Y_HYST_POS   (5)
#define BNO055_GYRO_HIGHRATE_Y_HYST_REG   BNO055_GYRO_HIGHRATE_Y_SET_ADDR
#define BNO055_GYRO_HIGHRATE_Y_SET_ADDR   (0X1A)
#define BNO055_GYRO_HIGHRATE_Y_THRES_LEN   (5)
#define BNO055_GYRO_HIGHRATE_Y_THRES_MSK   (0X1F)
#define BNO055_GYRO_HIGHRATE_Y_THRES_POS   (0)
#define BNO055_GYRO_HIGHRATE_Y_THRES_REG   BNO055_GYRO_HIGHRATE_Y_SET_ADDR
#define BNO055_GYRO_HIGHRATE_Z_AXIS   (2)
#define BNO055_GYRO_HIGHRATE_Z_AXIS_LEN   (1)
#define BNO055_GYRO_HIGHRATE_Z_AXIS_MSK   (0X20)
#define BNO055_GYRO_HIGHRATE_Z_AXIS_POS   (5)
#define BNO055_GYRO_HIGHRATE_Z_AXIS_REG   BNO055_GYRO_INTR_SETING_ADDR
#define BNO055_GYRO_HIGHRATE_Z_DURN_LEN   (8)
#define BNO055_GYRO_HIGHRATE_Z_DURN_MSK   (0XFF)
#define BNO055_GYRO_HIGHRATE_Z_DURN_POS   (0)
#define BNO055_GYRO_HIGHRATE_Z_DURN_REG   (BNO055_GYRO_DURN_Z_ADDR)
#define BNO055_GYRO_HIGHRATE_Z_HYST_LEN   (2)
#define BNO055_GYRO_HIGHRATE_Z_HYST_MSK   (0X60)
#define BNO055_GYRO_HIGHRATE_Z_HYST_POS   (5)
#define BNO055_GYRO_HIGHRATE_Z_HYST_REG   BNO055_GYRO_HIGHRATE_Z_SET_ADDR
#define BNO055_GYRO_HIGHRATE_Z_SET_ADDR   (0X1C)
#define BNO055_GYRO_HIGHRATE_Z_THRES_LEN   (5)
#define BNO055_GYRO_HIGHRATE_Z_THRES_MSK   (0X1F)
#define BNO055_GYRO_HIGHRATE_Z_THRES_POS   (0)
#define BNO055_GYRO_HIGHRATE_Z_THRES_REG   BNO055_GYRO_HIGHRATE_Z_SET_ADDR
#define BNO055_GYRO_INTR_SETING_ADDR   (0X17)
#define BNO055_GYRO_MODE_CONFIG_ADDR   (0X0B)
#define BNO055_GYRO_No_AUTOSLPDUR   (0x00)
#define BNO055_GYRO_OFFSET_ARRAY   (6)
#define BNO055_GYRO_OFFSET_X_LSB_ADDR   (0X61)
#define BNO055_GYRO_OFFSET_X_LSB_LEN   (8)
#define BNO055_GYRO_OFFSET_X_LSB_MSK   (0XFF)
#define BNO055_GYRO_OFFSET_X_LSB_POS   (0)
#define BNO055_GYRO_OFFSET_X_LSB_REG   BNO055_GYRO_OFFSET_X_LSB_ADDR
#define BNO055_GYRO_OFFSET_X_MSB_ADDR   (0X62)
#define BNO055_GYRO_OFFSET_X_MSB_LEN   (8)
#define BNO055_GYRO_OFFSET_X_MSB_MSK   (0XFF)
#define BNO055_GYRO_OFFSET_X_MSB_POS   (0)
#define BNO055_GYRO_OFFSET_X_MSB_REG   BNO055_GYRO_OFFSET_X_MSB_ADDR
#define BNO055_GYRO_OFFSET_Y_LSB_ADDR   (0X63)
#define BNO055_GYRO_OFFSET_Y_LSB_LEN   (8)
#define BNO055_GYRO_OFFSET_Y_LSB_MSK   (0XFF)
#define BNO055_GYRO_OFFSET_Y_LSB_POS   (0)
#define BNO055_GYRO_OFFSET_Y_LSB_REG   BNO055_GYRO_OFFSET_Y_LSB_ADDR
#define BNO055_GYRO_OFFSET_Y_MSB_ADDR   (0X64)
#define BNO055_GYRO_OFFSET_Y_MSB_LEN   (8)
#define BNO055_GYRO_OFFSET_Y_MSB_MSK   (0XFF)
#define BNO055_GYRO_OFFSET_Y_MSB_POS   (0)
#define BNO055_GYRO_OFFSET_Y_MSB_REG   BNO055_GYRO_OFFSET_Y_MSB_ADDR
#define BNO055_GYRO_OFFSET_Z_LSB_ADDR   (0X65)
#define BNO055_GYRO_OFFSET_Z_LSB_LEN   (8)
#define BNO055_GYRO_OFFSET_Z_LSB_MSK   (0XFF)
#define BNO055_GYRO_OFFSET_Z_LSB_POS   (0)
#define BNO055_GYRO_OFFSET_Z_LSB_REG   BNO055_GYRO_OFFSET_Z_LSB_ADDR
#define BNO055_GYRO_OFFSET_Z_MSB_ADDR   (0X66)
#define BNO055_GYRO_OFFSET_Z_MSB_LEN   (8)
#define BNO055_GYRO_OFFSET_Z_MSB_MSK   (0XFF)
#define BNO055_GYRO_OFFSET_Z_MSB_POS   (0)
#define BNO055_GYRO_OFFSET_Z_MSB_REG   BNO055_GYRO_OFFSET_Z_MSB_ADDR
#define BNO055_GYRO_POWER_MODE_ADVANCE_POWERSAVE   (0X04)
#define BNO055_GYRO_POWER_MODE_DEEPSUSPEND   (0X02)
#define BNO055_GYRO_POWER_MODE_FASTPOWERUP   (0X01)
#define BNO055_GYRO_POWER_MODE_LEN   (3)
#define BNO055_GYRO_POWER_MODE_MSK   (0X07)
#define BNO055_GYRO_POWER_MODE_NORMAL   (0X00)
#define BNO055_GYRO_POWER_MODE_POS   (0)
#define BNO055_GYRO_POWER_MODE_REG   BNO055_GYRO_MODE_CONFIG_ADDR
#define BNO055_GYRO_POWER_MODE_SUSPEND   (0X03)
#define BNO055_GYRO_RANGE   ((u8)5)
#define BNO055_GYRO_RANGE_1000DPS   (0x01)
#define BNO055_GYRO_RANGE_125DPS   (0x04)
#define BNO055_GYRO_RANGE_2000DPS   (0x00)
#define BNO055_GYRO_RANGE_250DPS   (0x03)
#define BNO055_GYRO_RANGE_500DPS   (0x02)
#define BNO055_GYRO_RANGE_LEN   (3)
#define BNO055_GYRO_RANGE_MSK   (0X07)
#define BNO055_GYRO_RANGE_POS   (0)
#define BNO055_GYRO_RANGE_REG   BNO055_GYRO_CONFIG_ADDR
#define BNO055_GYRO_REV_ID_ADDR   (0x03)
#define BNO055_GYRO_REV_ID_LEN   (8)
#define BNO055_GYRO_REV_ID_MSK   (0xFF)
#define BNO055_GYRO_REV_ID_POS   (0)
#define BNO055_GYRO_REV_ID_REG   BNO055_GYRO_REV_ID_ADDR
#define BNO055_GYRO_SLEEP_CONFIG_ADDR   (0X0D)
#define BNO055_GYRO_SLEEP_DURN_LEN   (3)
#define BNO055_GYRO_SLEEP_DURN_MSK   (0X07)
#define BNO055_GYRO_SLEEP_DURN_POS   (0)
#define BNO055_GYRO_SLEEP_DURN_REG   BNO055_GYRO_SLEEP_CONFIG_ADDR
#define BNO055_GYRO_SLOPE_SAMPLES_LEN   (2)
#define BNO055_GYRO_SLOPE_SAMPLES_MSK   (0X03)
#define BNO055_GYRO_SLOPE_SAMPLES_POS   (0)
#define BNO055_GYRO_SLOPE_SAMPLES_REG   BNO055_GYRO_ANY_MOTION_SET_ADDR
#define BNO055_GYRO_TEMP_EN   (0x01)
#define BNO055_GYRO_UNFILTERED_CONFIG   (0x01)
#define BNO055_GYRO_UNIT_DPS   (0x00)
#define BNO055_GYRO_UNIT_LEN   (1)
#define BNO055_GYRO_UNIT_MSK   (0X02)
#define BNO055_GYRO_UNIT_POS   (1)
#define BNO055_GYRO_UNIT_REG   BNO055_UNIT_SEL_ADDR
#define BNO055_GYRO_UNIT_RPS   (0x01)
#define BNO055_GYRO_XYZ_DATA_SIZE   (6)
#define BNO055_I2C_ADDR1   (0x28)
#define BNO055_I2C_ADDR2   (0x29)
#define BNO055_INIT_VALUE   ((u8)0)
#define BNO055_INT_ADDR   (0X10)
#define BNO055_INT_MASK_ADDR   (0X0F)
#define BNO055_INTR_RST_LEN   (1)
#define BNO055_INTR_RST_MSK   (0X40)
#define BNO055_INTR_RST_POS   (6)
#define BNO055_INTR_RST_REG   BNO055_SYS_TRIGGER_ADDR
#define BNO055_INTR_STAT_ACCEL_ANY_MOTION_LEN   (1)
#define BNO055_INTR_STAT_ACCEL_ANY_MOTION_MSK   (0X40)
#define BNO055_INTR_STAT_ACCEL_ANY_MOTION_POS   (6)
#define BNO055_INTR_STAT_ACCEL_ANY_MOTION_REG   BNO055_INTR_STAT_ADDR
#define BNO055_INTR_STAT_ACCEL_HIGH_G_LEN   (1)
#define BNO055_INTR_STAT_ACCEL_HIGH_G_MSK   (0X20)
#define BNO055_INTR_STAT_ACCEL_HIGH_G_POS   (5)
#define BNO055_INTR_STAT_ACCEL_HIGH_G_REG   BNO055_INTR_STAT_ADDR
#define BNO055_INTR_STAT_ACCEL_NO_MOTION_LEN   (1)
#define BNO055_INTR_STAT_ACCEL_NO_MOTION_MSK   (0X80)
#define BNO055_INTR_STAT_ACCEL_NO_MOTION_POS   (7)
#define BNO055_INTR_STAT_ACCEL_NO_MOTION_REG   BNO055_INTR_STAT_ADDR
#define BNO055_INTR_STAT_ADDR   (0X37)
#define BNO055_INTR_STAT_GYRO_ANY_MOTION_LEN   (1)
#define BNO055_INTR_STAT_GYRO_ANY_MOTION_MSK   (0X04)
#define BNO055_INTR_STAT_GYRO_ANY_MOTION_POS   (2)
#define BNO055_INTR_STAT_GYRO_ANY_MOTION_REG   BNO055_INTR_STAT_ADDR
#define BNO055_INTR_STAT_GYRO_HIGHRATE_LEN   (1)
#define BNO055_INTR_STAT_GYRO_HIGHRATE_MSK   (0X08)
#define BNO055_INTR_STAT_GYRO_HIGHRATE_POS   (3)
#define BNO055_INTR_STAT_GYRO_HIGHRATE_REG   BNO055_INTR_STAT_ADDR
#define BNO055_LINEAR_ACCEL_DATA_X_LSB_ADDR   (0X28)
#define BNO055_LINEAR_ACCEL_DATA_X_LSB_VALUEX_LEN   (8)
#define BNO055_LINEAR_ACCEL_DATA_X_LSB_VALUEX_MSK   (0xFF)
#define BNO055_LINEAR_ACCEL_DATA_X_LSB_VALUEX_POS   (0)
#define BNO055_LINEAR_ACCEL_DATA_X_LSB_VALUEX_REG   BNO055_LINEAR_ACCEL_DATA_X_LSB_ADDR
#define BNO055_LINEAR_ACCEL_DATA_X_MSB_ADDR   (0X29)
#define BNO055_LINEAR_ACCEL_DATA_X_MSB_VALUEX_LEN   (8)
#define BNO055_LINEAR_ACCEL_DATA_X_MSB_VALUEX_MSK   (0xFF)
#define BNO055_LINEAR_ACCEL_DATA_X_MSB_VALUEX_POS   (0)
#define BNO055_LINEAR_ACCEL_DATA_X_MSB_VALUEX_REG   BNO055_LINEAR_ACCEL_DATA_X_MSB_ADDR
#define BNO055_LINEAR_ACCEL_DATA_Y_LSB_ADDR   (0X2A)
#define BNO055_LINEAR_ACCEL_DATA_Y_LSB_VALUEY_LEN   (8)
#define BNO055_LINEAR_ACCEL_DATA_Y_LSB_VALUEY_MSK   (0xFF)
#define BNO055_LINEAR_ACCEL_DATA_Y_LSB_VALUEY_POS   (0)
#define BNO055_LINEAR_ACCEL_DATA_Y_LSB_VALUEY_REG   BNO055_LINEAR_ACCEL_DATA_Y_LSB_ADDR
#define BNO055_LINEAR_ACCEL_DATA_Y_MSB_ADDR   (0X2B)
#define BNO055_LINEAR_ACCEL_DATA_Y_MSB_VALUEY_LEN   (8)
#define BNO055_LINEAR_ACCEL_DATA_Y_MSB_VALUEY_MSK   (0xFF)
#define BNO055_LINEAR_ACCEL_DATA_Y_MSB_VALUEY_POS   (0)
#define BNO055_LINEAR_ACCEL_DATA_Y_MSB_VALUEY_REG   BNO055_LINEAR_ACCEL_DATA_Y_MSB_ADDR
#define BNO055_LINEAR_ACCEL_DATA_Z_LSB_ADDR   (0X2C)
#define BNO055_LINEAR_ACCEL_DATA_Z_LSB_VALUEZ_LEN   (8)
#define BNO055_LINEAR_ACCEL_DATA_Z_LSB_VALUEZ_MSK   (0xFF)
#define BNO055_LINEAR_ACCEL_DATA_Z_LSB_VALUEZ_POS   (0)
#define BNO055_LINEAR_ACCEL_DATA_Z_LSB_VALUEZ_REG   BNO055_LINEAR_ACCEL_DATA_Z_LSB_ADDR
#define BNO055_LINEAR_ACCEL_DATA_Z_MSB_ADDR   (0X2D)
#define BNO055_LINEAR_ACCEL_DATA_Z_MSB_VALUEZ_LEN   (8)
#define BNO055_LINEAR_ACCEL_DATA_Z_MSB_VALUEZ_MSK   (0xFF)
#define BNO055_LINEAR_ACCEL_DATA_Z_MSB_VALUEZ_POS   (0)
#define BNO055_LINEAR_ACCEL_DATA_Z_MSB_VALUEZ_REG   BNO055_LINEAR_ACCEL_DATA_Z_MSB_ADDR
#define BNO055_LINEAR_ACCEL_DIV_MSQ   (100.0)
#define BNO055_LSB_MSB_READ_LENGTH   ((u8)2)
#define BNO055_MAG_CALIB_STAT_LEN   (2)
#define BNO055_MAG_CALIB_STAT_MSK   (0X03)
#define BNO055_MAG_CALIB_STAT_POS   (0)
#define BNO055_MAG_CALIB_STAT_REG   BNO055_CALIB_STAT_ADDR
#define BNO055_MAG_CONFIG_ADDR   (0X09)
#define BNO055_MAG_DATA_OUTPUT_RATE_LEN   (3)
#define BNO055_MAG_DATA_OUTPUT_RATE_MSK   (0X07)
#define BNO055_MAG_DATA_OUTPUT_RATE_POS   (0)
#define BNO055_MAG_DATA_OUTPUT_RATE_REG   BNO055_MAG_CONFIG_ADDR
#define BNO055_MAG_DATA_OUTRATE_10HZ   (0X03)
#define BNO055_MAG_DATA_OUTRATE_15HZ   (0X04)
#define BNO055_MAG_DATA_OUTRATE_20HZ   (0X05)
#define BNO055_MAG_DATA_OUTRATE_25HZ   (0X06)
#define BNO055_MAG_DATA_OUTRATE_2HZ   (0X00)
#define BNO055_MAG_DATA_OUTRATE_30HZ   (0X07)
#define BNO055_MAG_DATA_OUTRATE_6HZ   (0X01)
#define BNO055_MAG_DATA_OUTRATE_8HZ   (0X02)
#define BNO055_MAG_DATA_SIZE   (2)
#define BNO055_MAG_DATA_X_LSB_ADDR   (0X0E)
#define BNO055_MAG_DATA_X_LSB_VALUEX_LEN   (8)
#define BNO055_MAG_DATA_X_LSB_VALUEX_MSK   (0xFF)
#define BNO055_MAG_DATA_X_LSB_VALUEX_POS   (0)
#define BNO055_MAG_DATA_X_LSB_VALUEX_REG   BNO055_MAG_DATA_X_LSB_ADDR
#define BNO055_MAG_DATA_X_MSB_ADDR   (0X0F)
#define BNO055_MAG_DATA_X_MSB_VALUEX_LEN   (8)
#define BNO055_MAG_DATA_X_MSB_VALUEX_MSK   (0xFF)
#define BNO055_MAG_DATA_X_MSB_VALUEX_POS   (0)
#define BNO055_MAG_DATA_X_MSB_VALUEX_REG   BNO055_MAG_DATA_X_MSB_ADDR
#define BNO055_MAG_DATA_Y_LSB_ADDR   (0X10)
#define BNO055_MAG_DATA_Y_LSB_VALUEY_LEN   (8)
#define BNO055_MAG_DATA_Y_LSB_VALUEY_MSK   (0xFF)
#define BNO055_MAG_DATA_Y_LSB_VALUEY_POS   (0)
#define BNO055_MAG_DATA_Y_LSB_VALUEY_REG   BNO055_MAG_DATA_Y_LSB_ADDR
#define BNO055_MAG_DATA_Y_MSB_ADDR   (0X11)
#define BNO055_MAG_DATA_Y_MSB_VALUEY_LEN   (8)
#define BNO055_MAG_DATA_Y_MSB_VALUEY_MSK   (0xFF)
#define BNO055_MAG_DATA_Y_MSB_VALUEY_POS   (0)
#define BNO055_MAG_DATA_Y_MSB_VALUEY_REG   BNO055_MAG_DATA_Y_MSB_ADDR
#define BNO055_MAG_DATA_Z_LSB_ADDR   (0X12)
#define BNO055_MAG_DATA_Z_LSB_VALUEZ_LEN   (8)
#define BNO055_MAG_DATA_Z_LSB_VALUEZ_MSK   (0xFF)
#define BNO055_MAG_DATA_Z_LSB_VALUEZ_POS   (0)
#define BNO055_MAG_DATA_Z_LSB_VALUEZ_REG   BNO055_MAG_DATA_Z_LSB_ADDR
#define BNO055_MAG_DATA_Z_MSB_ADDR   (0X13)
#define BNO055_MAG_DATA_Z_MSB_VALUEZ_LEN   (8)
#define BNO055_MAG_DATA_Z_MSB_VALUEZ_MSK   (0xFF)
#define BNO055_MAG_DATA_Z_MSB_VALUEZ_POS   (0)
#define BNO055_MAG_DATA_Z_MSB_VALUEZ_REG   BNO055_MAG_DATA_Z_MSB_ADDR
#define BNO055_MAG_DIV_UT   (16.0)
#define BNO055_MAG_OFFSET_ARRAY   (6)
#define BNO055_MAG_OFFSET_X_LSB_ADDR   (0X5B)
#define BNO055_MAG_OFFSET_X_LSB_LEN   (8)
#define BNO055_MAG_OFFSET_X_LSB_MSK   (0XFF)
#define BNO055_MAG_OFFSET_X_LSB_POS   (0)
#define BNO055_MAG_OFFSET_X_LSB_REG   BNO055_MAG_OFFSET_X_LSB_ADDR
#define BNO055_MAG_OFFSET_X_MSB_ADDR   (0X5C)
#define BNO055_MAG_OFFSET_X_MSB_LEN   (8)
#define BNO055_MAG_OFFSET_X_MSB_MSK   (0XFF)
#define BNO055_MAG_OFFSET_X_MSB_POS   (0)
#define BNO055_MAG_OFFSET_X_MSB_REG   BNO055_MAG_OFFSET_X_MSB_ADDR
#define BNO055_MAG_OFFSET_Y_LSB_ADDR   (0X5D)
#define BNO055_MAG_OFFSET_Y_LSB_LEN   (8)
#define BNO055_MAG_OFFSET_Y_LSB_MSK   (0XFF)
#define BNO055_MAG_OFFSET_Y_LSB_POS   (0)
#define BNO055_MAG_OFFSET_Y_LSB_REG   BNO055_MAG_OFFSET_Y_LSB_ADDR
#define BNO055_MAG_OFFSET_Y_MSB_ADDR   (0X5E)
#define BNO055_MAG_OFFSET_Y_MSB_LEN   (8)
#define BNO055_MAG_OFFSET_Y_MSB_MSK   (0XFF)
#define BNO055_MAG_OFFSET_Y_MSB_POS   (0)
#define BNO055_MAG_OFFSET_Y_MSB_REG   BNO055_MAG_OFFSET_Y_MSB_ADDR
#define BNO055_MAG_OFFSET_Z_LSB_ADDR   (0X5F)
#define BNO055_MAG_OFFSET_Z_LSB_LEN   (8)
#define BNO055_MAG_OFFSET_Z_LSB_MSK   (0XFF)
#define BNO055_MAG_OFFSET_Z_LSB_POS   (0)
#define BNO055_MAG_OFFSET_Z_LSB_REG   BNO055_MAG_OFFSET_Z_LSB_ADDR
#define BNO055_MAG_OFFSET_Z_MSB_ADDR   (0X60)
#define BNO055_MAG_OFFSET_Z_MSB_LEN   (8)
#define BNO055_MAG_OFFSET_Z_MSB_MSK   (0XFF)
#define BNO055_MAG_OFFSET_Z_MSB_POS   (0)
#define BNO055_MAG_OFFSET_Z_MSB_REG   BNO055_MAG_OFFSET_Z_MSB_ADDR
#define BNO055_MAG_OPERATION_MODE_ENHANCED_REGULAR   (0X02)
#define BNO055_MAG_OPERATION_MODE_HIGH_ACCURACY   (0X03)
#define BNO055_MAG_OPERATION_MODE_LEN   (2)
#define BNO055_MAG_OPERATION_MODE_LOWPOWER   (0X00)
#define BNO055_MAG_OPERATION_MODE_MSK   (0X18)
#define BNO055_MAG_OPERATION_MODE_POS   (3)
#define BNO055_MAG_OPERATION_MODE_REG   BNO055_MAG_CONFIG_ADDR
#define BNO055_MAG_OPERATION_MODE_REGULAR   (0X01)
#define BNO055_MAG_OPR_MODE_RANGE   ((u8)5)
#define BNO055_MAG_OUTPUT_RANGE   ((u8)8)
#define BNO055_MAG_POWER_MODE_FORCE_MODE   (0X03)
#define BNO055_MAG_POWER_MODE_LEN   (2)
#define BNO055_MAG_POWER_MODE_MSK   (0X60)
#define BNO055_MAG_POWER_MODE_NORMAL   (0X00)
#define BNO055_MAG_POWER_MODE_POS   (5)
#define BNO055_MAG_POWER_MODE_RANGE   ((u8)4)
#define BNO055_MAG_POWER_MODE_REG   BNO055_MAG_CONFIG_ADDR
#define BNO055_MAG_POWER_MODE_SLEEP   (0X01)
#define BNO055_MAG_POWER_MODE_SUSPEND   (0X02)
#define BNO055_MAG_RADIUS_LSB_ADDR   (0X69)
#define BNO055_MAG_RADIUS_LSB_LEN   (8)
#define BNO055_MAG_RADIUS_LSB_MSK   (0XFF)
#define BNO055_MAG_RADIUS_LSB_POS   (0)
#define BNO055_MAG_RADIUS_LSB_REG   BNO055_MAG_RADIUS_LSB_ADDR
#define BNO055_MAG_RADIUS_MSB_ADDR   (0X6A)
#define BNO055_MAG_RADIUS_MSB_LEN   (8)
#define BNO055_MAG_RADIUS_MSB_MSK   (0XFF)
#define BNO055_MAG_RADIUS_MSB_POS   (0)
#define BNO055_MAG_RADIUS_MSB_REG   BNO055_MAG_RADIUS_MSB_ADDR
#define BNO055_MAG_REV_ID_ADDR   (0x02)
#define BNO055_MAG_REV_ID_LEN   (8)
#define BNO055_MAG_REV_ID_MSK   (0xFF)
#define BNO055_MAG_REV_ID_POS   (0)
#define BNO055_MAG_REV_ID_REG   BNO055_MAG_REV_ID_ADDR
#define BNO055_MAG_SLEEP_CONFIG_ADDR   (0x0E)
#define BNO055_MAG_SLEEP_DURN_LEN   (4)
#define BNO055_MAG_SLEEP_DURN_MSK   (0X1E)
#define BNO055_MAG_SLEEP_DURN_POS   (1)
#define BNO055_MAG_SLEEP_DURN_REG   BNO055_MAG_SLEEP_CONFIG_ADDR
#define BNO055_MAG_SLEEP_MODE_LEN   (1)
#define BNO055_MAG_SLEEP_MODE_MSK   (0X01)
#define BNO055_MAG_SLEEP_MODE_POS   (0)
#define BNO055_MAG_SLEEP_MODE_REG   BNO055_MAG_SLEEP_CONFIG_ADDR
#define BNO055_MAG_XYZ_DATA_SIZE   (6)
#define BNO055_MCU_TEMP_EN   (0x03)
#define BNO055_MDELAY_DATA_TYPE   u32
#define BNO055_MODE_SWITCHING_DELAY   (600)
#define BNO055_OFFSET_RADIUS_LSB   (0)
#define BNO055_OFFSET_RADIUS_MSB   (1)
#define BNO055_OPERATION_MODE_ACCGYRO   (0X05)
#define BNO055_OPERATION_MODE_ACCMAG   (0X04)
#define BNO055_OPERATION_MODE_ACCONLY   (0X01)
#define BNO055_OPERATION_MODE_AMG   (0X07)
#define BNO055_OPERATION_MODE_COMPASS   (0X09)
#define BNO055_OPERATION_MODE_CONFIG   (0X00)
#define BNO055_OPERATION_MODE_GYRONLY   (0X03)
#define BNO055_OPERATION_MODE_IMUPLUS   (0X08)
#define BNO055_OPERATION_MODE_LEN   (4)
#define BNO055_OPERATION_MODE_M4G   (0X0A)
#define BNO055_OPERATION_MODE_MAGGYRO   (0X06)
#define BNO055_OPERATION_MODE_MAGONLY   (0X02)
#define BNO055_OPERATION_MODE_MSK   (0X0F)
#define BNO055_OPERATION_MODE_NDOF   (0X0C)
#define BNO055_OPERATION_MODE_NDOF_FMC_OFF   (0X0B)
#define BNO055_OPERATION_MODE_POS   (0)
#define BNO055_OPERATION_MODE_REG   BNO055_OPR_MODE_ADDR
#define BNO055_OPR_MODE_ADDR   (0X3D)
#define BNO055_OUT_OF_RANGE   ((s8)-2)
#define BNO055_PAGE_ID_ADDR   (0X07)
#define BNO055_PAGE_ID_LEN   (8)
#define BNO055_PAGE_ID_MSK   (0xFF)
#define BNO055_PAGE_ID_POS   (0)
#define BNO055_PAGE_ID_REG   BNO055_PAGE_ID_ADDR
#define BNO055_PAGE_ONE   (0X01)
#define BNO055_PAGE_ZERO   (0X00)
#define BNO055_POWER_MODE_LEN   (2)
#define BNO055_POWER_MODE_LOWPOWER   (0X01)
#define BNO055_POWER_MODE_MSK   (0X03)
#define BNO055_POWER_MODE_NORMAL   (0X00)
#define BNO055_POWER_MODE_POS   (0)
#define BNO055_POWER_MODE_REG   BNO055_PWR_MODE_ADDR
#define BNO055_POWER_MODE_SUSPEND   (0X02)
#define BNO055_PWR_MODE_ADDR   (0X3E)
#define BNO055_QUATERNION_DATA_SIZE   (2)
#define BNO055_QUATERNION_DATA_W_LSB_ADDR   (0X20)
#define BNO055_QUATERNION_DATA_W_LSB_VALUEW_LEN   (8)
#define BNO055_QUATERNION_DATA_W_LSB_VALUEW_MSK   (0xFF)
#define BNO055_QUATERNION_DATA_W_LSB_VALUEW_POS   (0)
#define BNO055_QUATERNION_DATA_W_LSB_VALUEW_REG   BNO055_QUATERNION_DATA_W_LSB_ADDR
#define BNO055_QUATERNION_DATA_W_MSB_ADDR   (0X21)
#define BNO055_QUATERNION_DATA_W_MSB_VALUEW_LEN   (8)
#define BNO055_QUATERNION_DATA_W_MSB_VALUEW_MSK   (0xFF)
#define BNO055_QUATERNION_DATA_W_MSB_VALUEW_POS   (0)
#define BNO055_QUATERNION_DATA_W_MSB_VALUEW_REG   BNO055_QUATERNION_DATA_W_MSB_ADDR
#define BNO055_QUATERNION_DATA_X_LSB_ADDR   (0X22)
#define BNO055_QUATERNION_DATA_X_LSB_VALUEX_LEN   (8)
#define BNO055_QUATERNION_DATA_X_LSB_VALUEX_MSK   (0xFF)
#define BNO055_QUATERNION_DATA_X_LSB_VALUEX_POS   (0)
#define BNO055_QUATERNION_DATA_X_LSB_VALUEX_REG   BNO055_QUATERNION_DATA_X_LSB_ADDR
#define BNO055_QUATERNION_DATA_X_MSB_ADDR   (0X23)
#define BNO055_QUATERNION_DATA_X_MSB_VALUEX_LEN   (8)
#define BNO055_QUATERNION_DATA_X_MSB_VALUEX_MSK   (0xFF)
#define BNO055_QUATERNION_DATA_X_MSB_VALUEX_POS   (0)
#define BNO055_QUATERNION_DATA_X_MSB_VALUEX_REG   BNO055_QUATERNION_DATA_X_MSB_ADDR
#define BNO055_QUATERNION_DATA_Y_LSB_ADDR   (0X24)
#define BNO055_QUATERNION_DATA_Y_LSB_VALUEY_LEN   (8)
#define BNO055_QUATERNION_DATA_Y_LSB_VALUEY_MSK   (0xFF)
#define BNO055_QUATERNION_DATA_Y_LSB_VALUEY_POS   (0)
#define BNO055_QUATERNION_DATA_Y_LSB_VALUEY_REG   BNO055_QUATERNION_DATA_Y_LSB_ADDR
#define BNO055_QUATERNION_DATA_Y_MSB_ADDR   (0X25)
#define BNO055_QUATERNION_DATA_Y_MSB_VALUEY_LEN   (8)
#define BNO055_QUATERNION_DATA_Y_MSB_VALUEY_MSK   (0xFF)
#define BNO055_QUATERNION_DATA_Y_MSB_VALUEY_POS   (0)
#define BNO055_QUATERNION_DATA_Y_MSB_VALUEY_REG   BNO055_QUATERNION_DATA_Y_MSB_ADDR
#define BNO055_QUATERNION_DATA_Z_LSB_ADDR   (0X26)
#define BNO055_QUATERNION_DATA_Z_LSB_VALUEZ_LEN   (8)
#define BNO055_QUATERNION_DATA_Z_LSB_VALUEZ_MSK   (0xFF)
#define BNO055_QUATERNION_DATA_Z_LSB_VALUEZ_POS   (0)
#define BNO055_QUATERNION_DATA_Z_LSB_VALUEZ_REG   BNO055_QUATERNION_DATA_Z_LSB_ADDR
#define BNO055_QUATERNION_DATA_Z_MSB_ADDR   (0X27)
#define BNO055_QUATERNION_DATA_Z_MSB_VALUEZ_LEN   (8)
#define BNO055_QUATERNION_DATA_Z_MSB_VALUEZ_MSK   (0xFF)
#define BNO055_QUATERNION_DATA_Z_MSB_VALUEZ_POS   (0)
#define BNO055_QUATERNION_DATA_Z_MSB_VALUEZ_REG   BNO055_QUATERNION_DATA_Z_MSB_ADDR
#define BNO055_QUATERNION_WXYZ_DATA_SIZE   (8)
#define BNO055_RD_FUNC_PTR
Value:
s8 \
(*bus_read)(u8, u8, u8 *, u8)
unsigned char u8
Definition: bma2x2.h:192
signed char s8
If your machine support 16 bit define the MACHINE_16_BIT.
Definition: bma2x2.h:186
unsigned char u8
Definition: bno055.h:192
#define BNO055_REMAP_AXIS_NEGATIVE   (0X01)
#define BNO055_REMAP_AXIS_POSITIVE   (0X00)
#define BNO055_REMAP_AXIS_VALUE_LEN   (6)
#define BNO055_REMAP_AXIS_VALUE_MSK   (0X3F)
#define BNO055_REMAP_AXIS_VALUE_POS   (0)
#define BNO055_REMAP_AXIS_VALUE_REG   BNO055_AXIS_MAP_CONFIG_ADDR
#define BNO055_REMAP_X_SIGN_LEN   (1)
#define BNO055_REMAP_X_SIGN_MSK   (0X04)
#define BNO055_REMAP_X_SIGN_POS   (2)
#define BNO055_REMAP_X_SIGN_REG   BNO055_AXIS_MAP_SIGN_ADDR
#define BNO055_REMAP_X_Y   (0X21)
#define BNO055_REMAP_X_Y_Z_TYPE0   (0X12)
#define BNO055_REMAP_X_Y_Z_TYPE1   (0X09)
#define BNO055_REMAP_Y_SIGN_LEN   (1)
#define BNO055_REMAP_Y_SIGN_MSK   (0X02)
#define BNO055_REMAP_Y_SIGN_POS   (1)
#define BNO055_REMAP_Y_SIGN_REG   BNO055_AXIS_MAP_SIGN_ADDR
#define BNO055_REMAP_Y_Z   (0X18)
#define BNO055_REMAP_Z_SIGN_LEN   (1)
#define BNO055_REMAP_Z_SIGN_MSK   (0X01)
#define BNO055_REMAP_Z_SIGN_POS   (0)
#define BNO055_REMAP_Z_SIGN_REG   BNO055_AXIS_MAP_SIGN_ADDR
#define BNO055_REMAP_Z_X   (0X06)
#define BNO055_RETURN_FUNCTION_TYPE   s8
#define BNO055_REV_ID_SIZE   (2)
#define BNO055_SELFTEST_ACCEL_LEN   (1)
#define BNO055_SELFTEST_ACCEL_MSK   (0X01)
#define BNO055_SELFTEST_ACCEL_POS   (0)
#define BNO055_SELFTEST_ACCEL_REG   BNO055_SELFTEST_RESULT_ADDR
#define BNO055_SELFTEST_GYRO_LEN   (1)
#define BNO055_SELFTEST_GYRO_MSK   (0X04)
#define BNO055_SELFTEST_GYRO_POS   (2)
#define BNO055_SELFTEST_GYRO_REG   BNO055_SELFTEST_RESULT_ADDR
#define BNO055_SELFTEST_LEN   (1)
#define BNO055_SELFTEST_MAG_LEN   (1)
#define BNO055_SELFTEST_MAG_MSK   (0X02)
#define BNO055_SELFTEST_MAG_POS   (1)
#define BNO055_SELFTEST_MAG_REG   BNO055_SELFTEST_RESULT_ADDR
#define BNO055_SELFTEST_MCU_LEN   (1)
#define BNO055_SELFTEST_MCU_MSK   (0X08)
#define BNO055_SELFTEST_MCU_POS   (3)
#define BNO055_SELFTEST_MCU_REG   BNO055_SELFTEST_RESULT_ADDR
#define BNO055_SELFTEST_MSK   (0X01)
#define BNO055_SELFTEST_POS   (0)
#define BNO055_SELFTEST_REG   BNO055_SYS_TRIGGER_ADDR
#define BNO055_SELFTEST_RESULT_ADDR   (0X36)
#define BNO055_SENSOR_DATA_EULER_HRP_H_LSB   (0)
#define BNO055_SENSOR_DATA_EULER_HRP_H_MSB   (1)
#define BNO055_SENSOR_DATA_EULER_HRP_P_LSB   (4)
#define BNO055_SENSOR_DATA_EULER_HRP_P_MSB   (5)
#define BNO055_SENSOR_DATA_EULER_HRP_R_LSB   (2)
#define BNO055_SENSOR_DATA_EULER_HRP_R_MSB   (3)
#define BNO055_SENSOR_DATA_EULER_LSB   (0)
#define BNO055_SENSOR_DATA_EULER_MSB   (1)
#define BNO055_SENSOR_DATA_LSB   (0)
#define BNO055_SENSOR_DATA_MSB   (1)
#define BNO055_SENSOR_DATA_QUATERNION_LSB   (0)
#define BNO055_SENSOR_DATA_QUATERNION_MSB   (1)
#define BNO055_SENSOR_DATA_QUATERNION_WXYZ_W_LSB   (0)
#define BNO055_SENSOR_DATA_QUATERNION_WXYZ_W_MSB   (1)
#define BNO055_SENSOR_DATA_QUATERNION_WXYZ_X_LSB   (2)
#define BNO055_SENSOR_DATA_QUATERNION_WXYZ_X_MSB   (3)
#define BNO055_SENSOR_DATA_QUATERNION_WXYZ_Y_LSB   (4)
#define BNO055_SENSOR_DATA_QUATERNION_WXYZ_Y_MSB   (5)
#define BNO055_SENSOR_DATA_QUATERNION_WXYZ_Z_LSB   (6)
#define BNO055_SENSOR_DATA_QUATERNION_WXYZ_Z_MSB   (7)
#define BNO055_SENSOR_DATA_XYZ_X_LSB   (0)
#define BNO055_SENSOR_DATA_XYZ_X_MSB   (1)
#define BNO055_SENSOR_DATA_XYZ_Y_LSB   (2)
#define BNO055_SENSOR_DATA_XYZ_Y_MSB   (3)