81 switch (
config->init_status) {
119 switch(
config->gyro_odr) {
122 config->gyro_samplerate = 2000;
125 config->gyro_samplerate = 1000;
128 config->gyro_samplerate = 400;
132 config->gyro_samplerate = 200;
136 config->gyro_samplerate = 100;
139 switch(
config->accel_odr) {
141 config->accel_samplerate = 1600;
144 config->accel_samplerate = 800;
147 config->accel_samplerate = 400;
150 config->accel_samplerate = 200;
153 config->accel_samplerate = 100;
156 config->accel_samplerate = 50;
159 config->accel_samplerate = 25;
162 config->accel_samplerate = 12;
166 config->initialized =
true;
void bmi088_set_default_config(struct Bmi088Config *c)
const float BMI088_ACCEL_SENS[4]
const struct Int32Vect3 BMI088_ACCEL_SENS_FRAC[4][2]
void bmi088_send_config(Bmi088ConfigSet bmi_set, void *bmi, struct Bmi088Config *config)
Configuration sequence called once before normal use.
const struct Int32Rates BMI088_GYRO_SENS_FRAC[5][2]
const float BMI088_GYRO_SENS[5]
BMI088 driver common interface (I2C and SPI).
#define BMI088_DEFAULT_ACCEL_BW
Default accel bandwidth.
#define BMI088_GYRO_SENS_500
#define BMI088_ACCEL_SENS_6G
#define BMI088_ACCEL_SENS_12G
enum Bmi088AccelODR accel_odr
output data rate
#define BMI088_CONFIG_ACCEL
void(* Bmi088ConfigSet)(void *bmi, uint8_t _reg, uint8_t _val, uint8_t _type)
Configuration function prototype.
#define BMI088_ACCEL_SENS_3G_NUM
#define BMI088_ACCEL_SENS_24G
#define BMI088_ACCEL_SENS_6G_DEN
enum Bmi088AccelRanges accel_range
g Range
#define BMI088_DEFAULT_GYRO_RANGE
Default gyro full scale range +- 1000°/s.
enum Bmi088GyroODR gyro_odr
output data rate
enum Bmi088AccelBW accel_bw
bandwidth
#define BMI088_GYRO_SENS_1000_NUM
#define BMI088_CONFIG_GYRO
#define BMI088_ACCEL_SENS_24G_NUM
#define BMI088_ACCEL_SENS_6G_NUM
#define BMI088_GYRO_SENS_500_DEN
#define BMI088_ACCEL_SENS_12G_NUM
#define BMI088_GYRO_SENS_2000_NUM
#define BMI088_GYRO_SENS_250_DEN
#define BMI088_GYRO_SENS_250_NUM
#define BMI088_GYRO_SENS_2000
#define BMI088_GYRO_SENS_125_NUM
#define BMI088_ACCEL_SENS_12G_DEN
#define BMI088_DEFAULT_ACCEL_RANGE
Default accel full scale range +- 6g.
#define BMI088_GYRO_SENS_500_NUM
@ BMI088_CONF_ACCEL_RANGE
@ BMI088_CONF_ACCEL_PWR_CTRL
@ BMI088_CONF_ACCEL_PWR_CONF
#define BMI088_GYRO_SENS_1000
#define BMI088_ACCEL_SENS_3G_DEN
#define BMI088_ACCEL_SENS_24G_DEN
#define BMI088_DEFAULT_GYRO_ODR
Default gyro output rate.
#define BMI088_GYRO_SENS_125_DEN
enum Bmi088GyroRanges gyro_range
deg/s Range
#define BMI088_GYRO_SENS_1000_DEN
#define BMI088_GYRO_SENS_2000_DEN
#define BMI088_GYRO_SENS_250
#define BMI088_DEFAULT_ACCEL_ODR
Default accel output rate.
#define BMI088_ACCEL_SENS_3G
default accel sensitivy from the datasheet sens = 9.81 [m/s^2] / [LSB/g] * 2^INT32_ACCEL_FRAC ex: BMI...
#define BMI088_GYRO_SENS_125
default gyro sensitivy from the datasheet sens = 1/ [LSB/(deg/s)] * pi/180 * 2^INT32_RATE_FRAC ex: BM...
#define BMI088_ACCEL_RANGE
#define BMI088_GYRO_RANGE
#define BMI088_GYRO_LPM_1
@ BMI088_GYRO_ODR_400_BW_47
@ BMI088_GYRO_ODR_1000_BW_116
@ BMI088_GYRO_ODR_100_BW_12
@ BMI088_GYRO_ODR_2000_BW_532
@ BMI088_GYRO_ODR_100_BW_32
@ BMI088_GYRO_ODR_200_BW_23
@ BMI088_GYRO_ODR_2000_BW_230
@ BMI088_GYRO_ODR_200_BW_64
#define BMI088_GYRO_BAND_WIDTH
#define BMI088_ACCEL_PWR_CONF
#define BMI088_ACCEL_CONF
#define BMI088_ACCEL_PWR_CTRl
static const struct usb_config_descriptor config