Paparazzi UAS
v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
|
Go to the source code of this file.
Macros | |
#define | DISCO_MAG_I2C_DEV i2c1 |
#define | DISCO_MPU_I2C_DEV i2c2 |
#define | AK8963_HZ 50 |
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 AK8963_HZ 50 |
Definition at line 39 of file imu_disco.c.
#define DISCO_MAG_I2C_DEV i2c1 |
Definition at line 33 of file imu_disco.c.
#define DISCO_MPU_I2C_DEV i2c2 |
Definition at line 35 of file imu_disco.c.
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 108 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 72 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, imu_disco, 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 AKM8963 every 10th call.
Definition at line 89 of file imu_disco.c.
References ImuDisco::ak, AK8963_HZ, ak8963_periodic(), imu_disco, ImuDisco::mpu, and mpu60x0_i2c_periodic().
struct ImuDisco imu_disco |
Disco IMU data.
Definition at line 67 of file imu_disco.c.
Referenced by imu_disco_event(), imu_disco_init(), and imu_disco_periodic().