#ifndef __INERTIALSENSOR_BMI055_H__ #define __INERTIALSENSOR_BMI055_H__ #include "SPIDevice.h" #include #include typedef struct InertialSensor_BMI088 { SPI_DEV_t *dev_accel; SPI_DEV_t *dev_gyro; const char *name; bool success; uint32_t accel_error_count; uint32_t gyro_error_count; int temperature_counter; float accel[3]; float gyro[3]; float temp_degc; uint8_t accel_seq; uint8_t gyro_seq; uint32_t accel_count; uint32_t gyro_count; uint32_t accel_pps; uint32_t gyro_pps; bool done_accel_config; uint32_t accel_config_count; } InertialSensor_BMI088_t; bool InertialSensor_BMI088_init(InertialSensor_BMI088_t *imu, const char *name, SPI_DEV_t *dev_accel, SPI_DEV_t *dev_gyro); void InertialSensor_BMI088_update(InertialSensor_BMI088_t *imu); void InertialSensor_BMI088_loop(InertialSensor_BMI088_t *imu); void InertialSensor_BMI088_monitor(InertialSensor_BMI088_t *imu); #endif /* __INERTIALSENSOR_BMI055_H__ */