Paparazzi UAS
v5.12_stable-4-g9b43e9b
Paparazzi is a free software Unmanned Aircraft System.
|
Driver for the Disco magnetometer, accelerometer and gyroscope. More...
Go to the source code of this file.
Macros | |
#define | DISCO_MAG_I2C_DEV i2c1 |
#define | DISCO_MPU_I2C_DEV i2c2 |
Functions | |
void | imu_disco_init (void) |
Disco IMU initializtion of the MPU-60x0 and HMC58xx. More... | |
void | imu_disco_periodic (void) |
Handle all the periodic tasks of the Disco IMU components. More... | |
void | imu_disco_event (void) |
Handle all the events of the Disco IMU components. More... | |
Variables | |
struct ImuDisco | imu_disco |
Disco IMU data. More... | |
Driver for the Disco magnetometer, accelerometer and gyroscope.
Definition in file imu_disco.c.
#define DISCO_MAG_I2C_DEV i2c1 |
Definition at line 33 of file imu_disco.c.
Referenced by imu_disco_init().
#define DISCO_MPU_I2C_DEV i2c2 |
Definition at line 35 of file imu_disco.c.
Referenced by imu_disco_init().
void imu_disco_event | ( | void | ) |
Handle all the events of the Disco IMU components.
When there is data available convert it to the correct axis and save it in the imu structure.
Definition at line 91 of file imu_disco.c.
References Imu::accel, Imu::accel_unscaled, ImuDisco::ak, ak8963_event(), Ak8963::data, Mpu60x0_I2c::data_accel, Mpu60x0_I2c::data_available, Ak8963::data_available, Mpu60x0_I2c::data_rates, get_sys_time_usec(), Imu::gyro, Imu::gyro_unscaled, imu, IMU_BOARD_ID, imu_disco, imu_scale_accel(), imu_scale_gyro(), imu_scale_mag(), Imu::mag, Imu::mag_unscaled, ImuDisco::mpu, mpu60x0_i2c_event(), RATES_ASSIGN, and VECT3_ASSIGN.
void imu_disco_init | ( | void | ) |
Disco IMU initializtion of the MPU-60x0 and HMC58xx.
Definition at line 61 of file imu_disco.c.
References Mpu60x0Config::accel_range, ImuDisco::ak, AK8963_ADDR, ak8963_init(), Mpu60x0_I2c::config, DISCO_ACCEL_RANGE, DISCO_GYRO_RANGE, DISCO_MAG_I2C_DEV, DISCO_MPU_I2C_DEV, Mpu60x0Config::dlpf_cfg, Mpu60x0Config::gyro_range, ImuDisco::mpu, MPU60X0_ADDR, mpu60x0_i2c_init(), and Mpu60x0Config::smplrt_div.
void imu_disco_periodic | ( | void | ) |
Handle all the periodic tasks of the Disco IMU components.
Read the MPU60x0 every periodic call and the HMC58XX every 10th call.
Definition at line 78 of file imu_disco.c.
References ImuDisco::ak, ak8963_periodic(), imu_disco, ImuDisco::mpu, and mpu60x0_i2c_periodic().
struct ImuDisco imu_disco |
Disco IMU data.
Definition at line 56 of file imu_disco.c.
Referenced by imu_disco_event(), and imu_disco_periodic().