39 #ifndef IMU_MPU9250_READ_MAG
40 #define IMU_MPU9250_READ_MAG TRUE
44 #define MPU9250_BUFFER_EXT_LEN 16
74 #ifdef IMU_MPU9250_READ_MAG
95 #endif // MPU9250_I2C_H
Register and address definitions for AK8963 magnetometer.
struct i2c_transaction i2c_trans
MPU-60X0 driver common interface (I2C and SPI).
struct Mpu9250Config config
volatile bool data_available
data ready flag
Mpu9250I2cSlaveInitStatus
uint8_t data_ext[MPU9250_BUFFER_EXT_LEN]
union Mpu9250_I2c::@334 data_rates
Default Ak8963 structure.
struct Ak8963 akm
"internal" magnetometer
struct i2c_periph * i2c_p
peripheral used for communcation
void mpu9250_i2c_event(struct Mpu9250_I2c *mpu)
enum Mpu9250I2cSlaveInitStatus slave_init_status
I2C transaction structure.
void mpu9250_i2c_init(struct Mpu9250_I2c *mpu, struct i2c_periph *i2c_p, uint8_t addr)
static void mpu9250_i2c_periodic(struct Mpu9250_I2c *mpu)
convenience function: read or start configuration if not already initialized
void mpu9250_i2c_read(struct Mpu9250_I2c *mpu)
bool initialized
config done flag
#define MPU9250_BUFFER_EXT_LEN
void mpu9250_i2c_start_configure(struct Mpu9250_I2c *mpu)
struct i2c_periph * i2c_p
Paparazzi fixed point algebra.
union Mpu9250_I2c::@333 data_accel
Architecture independent I2C (Inter-Integrated Circuit Bus) API.