|
Paparazzi UAS
v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
|
Go to the documentation of this file.
91 #define Int16FromBuf(_buf,_idx) ((int16_t)((_buf[_idx+1]<<8) | _buf[_idx]))
148 if (bmi->config.initialized) {
#define BMI088_GYRO_RATE_X_LSB
volatile uint8_t buf[I2C_BUF_LEN]
Transaction buffer With I2C_BUF_LEN number of bytes.
void bmi088_set_default_config(struct Bmi088Config *c)
struct Bmi088Config config
void bmi088_i2c_init(struct Bmi088_I2c *bmi, struct i2c_periph *i2c_p, uint8_t gyro_addr, uint8_t accel_addr)
#define BMI088_CONFIG_GYRO
volatile bool accel_available
accel data ready flag
struct i2c_periph * i2c_p
union Bmi088_I2c::@308 data_accel
@ I2CTransFailed
transaction failed
void bmi088_i2c_start_configure(struct Bmi088_I2c *bmi)
struct i2c_transaction accel_trans
i2c transaction for accel
union Bmi088_I2c::@309 data_rates
enum Bmi088ConfStatus init_status
init status
@ BMI088_CONF_ACCEL_PWR_CTRL
static void bmi088_i2c_write_to_reg(void *bmi, uint8_t _reg, uint8_t _val, uint8_t _type)
#define BMI088_ACCEL_X_LSB
@ I2CTransSuccess
transaction successfully finished by I2C driver
bool i2c_transmit(struct i2c_periph *p, struct i2c_transaction *t, uint8_t s_addr, uint8_t len)
Submit a write only transaction.
struct i2c_transaction gyro_trans
i2c transaction for gyro
void bmi088_i2c_read(struct Bmi088_I2c *bmi)
void bmi088_i2c_event(struct Bmi088_I2c *bmi)
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.
bool initialized
config done flag
enum I2CTransactionStatus status
Transaction status.
volatile bool gyro_available
gyro data ready flag
uint8_t slave_addr
Slave address.
#define Int16FromBuf(_buf, _idx)
void bmi088_send_config(Bmi088ConfigSet bmi_set, void *bmi, struct Bmi088Config *config)
Configuration sequence called once before normal use.
@ I2CTransDone
transaction set to done by user level
#define BMI088_CONFIG_ACCEL