36 #ifndef IMU_BMI088_GYRO_ODR
37 #define IMU_BMI088_GYRO_ODR BMI088_GYRO_ODR_1000_BW_116
41 #ifndef IMU_BMI088_ACCEL_ODR
42 #define IMU_BMI088_ACCEL_ODR BMI088_ACCEL_ODR_1600
46 #ifndef IMU_BMI088_ACCEL_BW
47 #define IMU_BMI088_ACCEL_BW BMI088_ACCEL_BW_OSR4
51 #ifndef IMU_BMI088_GYRO_I2C_ADDR
52 #define IMU_BMI088_GYRO_I2C_ADDR BMI088_GYRO_ADDR
56 #ifndef IMU_BMI088_ACCEL_I2C_ADDR
57 #define IMU_BMI088_ACCEL_I2C_ADDR BMI088_ACCEL_ADDR
62 #ifndef IMU_BMI088_CHAN_X
63 #define IMU_BMI088_CHAN_X 0
66 #ifndef IMU_BMI088_CHAN_Y
67 #define IMU_BMI088_CHAN_Y 1
70 #ifndef IMU_BMI088_CHAN_Z
71 #define IMU_BMI088_CHAN_Z 2
75 #ifndef IMU_BMI088_X_SIGN
76 #define IMU_BMI088_X_SIGN 1
79 #ifndef IMU_BMI088_Y_SIGN
80 #define IMU_BMI088_Y_SIGN 1
83 #ifndef IMU_BMI088_Z_SIGN
84 #define IMU_BMI088_Z_SIGN 1
struct ImuBmi088 imu_bmi088
void imu_bmi088_periodic(void)
#define IMU_BMI088_ACCEL_I2C_ADDR
enum Bmi088GyroRanges gyro_range
deg/s Range
struct Bmi088Config config
enum Bmi088AccelRanges accel_range
g Range
#define IMU_BMI088_GYRO_ODR
void bmi088_i2c_init(struct Bmi088_I2c *bmi, struct i2c_periph *i2c_p, uint8_t gyro_addr, uint8_t accel_addr)
#define VECT3_COPY(_a, _b)
enum Bmi088AccelODR accel_odr
output data rate
Main include for ABI (AirBorneInterface).
#define IMU_BMI088_GYRO_RANGE
union Bmi088_I2c::@307 data_accel
#define IMU_BMI088_Y_SIGN
struct Imu imu
global IMU state
union Bmi088_I2c::@308 data_rates
#define IMU_BMI088_CHAN_Z
struct Int32Rates gyro_unscaled
unscaled gyroscope measurements
struct Int32Vect3 accel
accelerometer measurements in m/s^2 in BFP with INT32_ACCEL_FRAC
#define IMU_BMI088_ACCEL_BW
void imu_bmi088_init(void)
Architecture independent timing functions.
void imu_bmi088_event(void)
#define IMU_BMI088_Z_SIGN
#define IMU_BMI088_X_SIGN
Inertial Measurement Unit interface.
void imu_scale_gyro(struct Imu *_imu)
static void bmi088_i2c_periodic(struct Bmi088_I2c *bmi)
convenience function: read or start configuration if not already initialized
#define IMU_BMI088_CHAN_Y
#define IMU_BMI088_CHAN_X
#define IMU_BMI088_ACCEL_ODR
volatile bool gyro_available
gyro data ready flag
#define IMU_BMI088_GYRO_I2C_ADDR
struct Int32Vect3 accel_unscaled
unscaled accelerometer measurements
#define IMU_BMI088_ACCEL_RANGE
void imu_scale_accel(struct Imu *_imu)
enum Bmi088AccelBW accel_bw
bandwidth
#define RATES_COPY(_a, _b)
volatile bool accel_available
accel data ready flag
uint32_t get_sys_time_usec(void)
Get the time in microseconds since startup.
void bmi088_i2c_event(struct Bmi088_I2c *bmi)
enum Bmi088GyroODR gyro_odr
output data rate
struct Int32Rates gyro
gyroscope measurements in rad/s in BFP with INT32_RATE_FRAC
Architecture independent I2C (Inter-Integrated Circuit Bus) API.