91 #define Int16FromBuf(_buf,_idx) ((int16_t)((_buf[_idx+1]<<8) | _buf[_idx]))
void bmi088_send_config(Bmi088ConfigSet bmi_set, void *bmi, struct Bmi088Config *config)
Configuration sequence called once before normal use.
void bmi088_i2c_start_configure(struct Bmi088_I2c *bmi)
struct Bmi088Config config
struct i2c_transaction accel_trans
i2c transaction for accel
volatile uint8_t buf[I2C_BUF_LEN]
Transaction buffer With I2C_BUF_LEN number of bytes.
transaction successfully finished by I2C driver
void bmi088_i2c_init(struct Bmi088_I2c *bmi, struct i2c_periph *i2c_p, uint8_t gyro_addr, uint8_t accel_addr)
Driver for the BMI088 using I2C.
union Bmi088_I2c::@307 data_accel
#define BMI088_CONFIG_ACCEL
union Bmi088_I2c::@308 data_rates
struct i2c_periph * i2c_p
void bmi088_set_default_config(struct Bmi088Config *c)
transaction set to done by user level
struct i2c_transaction gyro_trans
i2c transaction for gyro
void bmi088_i2c_read(struct Bmi088_I2c *bmi)
#define BMI088_GYRO_RATE_X_LSB
bool i2c_transceive(struct i2c_periph *p, struct i2c_transaction *t, uint8_t s_addr, uint8_t len_w, uint16_t len_r)
Submit a write/read transaction.
enum I2CTransactionStatus status
Transaction status.
bool i2c_transmit(struct i2c_periph *p, struct i2c_transaction *t, uint8_t s_addr, uint8_t len)
Submit a write only transaction.
uint8_t slave_addr
Slave address.
volatile bool gyro_available
gyro data ready flag
#define BMI088_ACCEL_X_LSB
#define BMI088_CONFIG_GYRO
bool initialized
config done flag
volatile bool accel_available
accel data ready flag
static void bmi088_i2c_write_to_reg(void *bmi, uint8_t _reg, uint8_t _val, uint8_t _type)
#define Int16FromBuf(_buf, _idx)
void bmi088_i2c_event(struct Bmi088_I2c *bmi)
enum Bmi088ConfStatus init_status
init status