26#define FEATURE_IO0 0x10
27#define FEATURE_IO1 0x11
28#define FEATURE_IO2 0x12
29#define FEATURE_IO3 0x13
30#define FEATURE_IO_STATUS 0x14
31#define FEATURE_CTRL 0x40
32#define INT_STATUS_INT1 0x0D
33#define INT_STATUS_INT2 0x0E
35#define BMI_SET_LOW_BYTE 0x00FF
36#define BMI_SET_HIGH_BYTE 0xFF00
37#define BMI3_E_NULL_PTR INT8_C(-1)
39#define BMI323_CHIP_ID 0x43U
40#define BMI323_MAX_NUM_DATA 16U
47#define BMI3_ACC_DP_DOFFSET_X_MASK UINT16_C(0x3FFF)
48#define BMI3_ACC_DP_DOFFSET_Y_MASK UINT16_C(0x3FFF)
49#define BMI3_ACC_DP_DOFFSET_Z_MASK UINT16_C(0x3FFF)
51#define BMI3_ACC_DP_DGAIN_X_MASK UINT16_C(0x00FF)
52#define BMI3_ACC_DP_DGAIN_Y_MASK UINT16_C(0x00FF)
53#define BMI3_ACC_DP_DGAIN_Z_MASK UINT16_C(0x00FF)
55#define BMI3_GYR_DP_OFF_X_MASK UINT16_C(0x03FF)
56#define BMI3_GYR_DP_DGAIN_X_MASK UINT16_C(0x007F)
57#define BMI3_GYR_DP_OFF_Y_MASK UINT16_C(0x03FF)
58#define BMI3_GYR_DP_DGAIN_Y_MASK UINT16_C(0x007F)
59#define BMI3_GYR_DP_OFF_Z_MASK UINT16_C(0x03FF)
60#define BMI3_GYR_DP_DGAIN_Z_MASK UINT16_C(0x007F)
144 ACC_DP_DGAIN_X = 0x61,
146 ACC_DP_DGAIN_Y = 0x63,
148 ACC_DP_DGAIN_Z = 0x65,
150 GYR_DP_DGAIN_X = 0x67,
152 GYR_DP_DGAIN_Y = 0x69,
154 GYR_DP_DGAIN_Z = 0x6B
158 uint16_t accel_offset_x;
159 uint16_t accel_offset_y;
160 uint16_t accel_offset_z;
161 uint8_t accel_gain_x;
162 uint8_t accel_gain_y;
163 uint8_t accel_gain_z;
167 uint16_t gyro_offset_x;
168 uint16_t gyro_offset_y;
169 uint16_t gyro_offset_z;
SpiPort
SPI Port selection.
Definition: spi.h:34
StatusCode
StatusCodes for various errors.
Definition: status.h:27
IMUGyroRange
IMU Gyro range in units of degrees.
Definition: bmi323.h:72
Bmi323Registers
BMI323 Registers.
Definition: bmi323.h:82
IMUAccelRange
IMU Accel range, in units of gravity acceleration (9.81m/s^2)
Definition: bmi323.h:63
@ IMU_GYRO_RANGE_2000_DEG
Definition: bmi323.h:77
@ IMU_GYRO_RANGE_125_DEG
Definition: bmi323.h:73
@ IMU_GYRO_RANGE_500_DEG
Definition: bmi323.h:75
@ IMU_GYRO_RANGE_1000_DEG
Definition: bmi323.h:76
@ IMU_GYRO_RANGE_250_DEG
Definition: bmi323.h:74
@ BMI323_REG_RESET
Definition: bmi323.h:87
@ BMI323_REG_ACCEL_Z_H
Definition: bmi323.h:96
@ BMI323_REG_ACCEL_REG_ADDR
Definition: bmi323.h:90
@ BMI323_REG_PWR_CTRL
Definition: bmi323.h:118
@ BMI323_REG_GYRO_Y_L
Definition: bmi323.h:103
@ BMI323_REG_ACCEL_Y_L
Definition: bmi323.h:93
@ BMI323_REG_STATUS_REG
Definition: bmi323.h:130
@ BMI323_REG_TEMP_SENSOR
Definition: bmi323.h:134
@ BMI323_REG_CTRL_REG4
Definition: bmi323.h:113
@ BMI323_REG_ERROR_REG
Definition: bmi323.h:138
@ BMI323_REG_CTRL_REG1
Definition: bmi323.h:110
@ BMI323_REG_CTRL_REG5
Definition: bmi323.h:114
@ BMI323_REG_INT_STATUS
Definition: bmi323.h:125
@ BMI323_REG_ACCEL_X_H
Definition: bmi323.h:92
@ BMI323_REG_CTRL_REG2
Definition: bmi323.h:111
@ BMI323_REG_PWR_CTRL4
Definition: bmi323.h:121
@ BMI323_REG_CALIBRATION_REG
Definition: bmi323.h:137
@ BMI323_REG_ERROR_STATUS
Definition: bmi323.h:86
@ BMI323_REG_ACCEL_Z_L
Definition: bmi323.h:95
@ BMI323_REG_GYRO_X_L
Definition: bmi323.h:101
@ BMI323_REG_GYRO_REG_ADDR
Definition: bmi323.h:100
@ BMI323_REG_INT_CONFIG
Definition: bmi323.h:124
@ BMI323_REG_BANK_SEL
Definition: bmi323.h:84
@ BMI323_REG_GYRO_Z_L
Definition: bmi323.h:105
@ BMI323_REG_CMD
Definition: bmi323.h:141
@ BMI323_REG_PWR_CTRL3
Definition: bmi323.h:120
@ BMI323_REG_ACCEL_X_L
Definition: bmi323.h:91
@ BMI323_REG_CHIP_ID
Definition: bmi323.h:85
@ BMI323_REG_GYRO_Z_H
Definition: bmi323.h:106
@ BMI323_REG_CTRL_REG6
Definition: bmi323.h:115
@ BMI323_REG_GYRO_CONF
Definition: bmi323.h:107
@ BMI323_REG_GYRO_Y_H
Definition: bmi323.h:104
@ BMI323_REG_CTRL_REG3
Definition: bmi323.h:112
@ BMI323_REG_GYRO_X_H
Definition: bmi323.h:102
@ BMI323_REG_PWR_CTRL2
Definition: bmi323.h:119
@ BMI323_REG_ACC_CONF
Definition: bmi323.h:97
@ BMI323_REG_INT_EN_2
Definition: bmi323.h:127
@ BMI323_REG_ACCEL_Y_H
Definition: bmi323.h:94
@ BMI323_REG_FIFO_STATUS
Definition: bmi323.h:131
@ BMI323_REG_INT_EN_1
Definition: bmi323.h:126
@ NUM_IMU_ACCEL_RANGE
Definition: bmi323.h:68
@ IMU_ACCEL_RANGE_2G
Definition: bmi323.h:64
@ IMU_ACCEL_RANGE_4G
Definition: bmi323.h:65
@ IMU_ACCEL_RANGE_8G
Definition: bmi323.h:66
@ IMU_ACCEL_RANGE_16G
Definition: bmi323.h:67
Port and pin data.
Definition: network.h:62
SPI settings struct.
Definition: spi.h:76