Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Driver for the Disco magnetometer, accelerometer and gyroscope. More...
#include "modules/imu/imu_disco.h"
#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/i2c.h"
#include "generated/modules.h"
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 41 of file imu_disco.c.
#define DISCO_MAG_I2C_DEV i2c1 |
Definition at line 35 of file imu_disco.c.
#define DISCO_MPU_I2C_DEV i2c2 |
Definition at line 37 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 114 of file imu_disco.c.
References ImuDisco::ak, ak8963_event(), Ak8963::data, Mpu60x0_I2c::data_accel, Ak8963::data_available, Mpu60x0_I2c::data_available, Mpu60x0_I2c::data_rates, get_sys_time_usec(), IMU_BOARD_ID, imu_disco, ImuDisco::mpu, mpu60x0_i2c_event(), RATES_ASSIGN, Mpu60x0_I2c::temp, and VECT3_ASSIGN.
void imu_disco_init | ( | void | ) |
Disco IMU initializtion of the MPU-60x0 and HMC58xx.
Definition at line 74 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_BOARD_ID, imu_disco, imu_set_defaults_accel(), imu_set_defaults_gyro(), ImuDisco::mpu, MPU60X0_ACCEL_SENS_FRAC, MPU60X0_ADDR, MPU60X0_GYRO_SENS_FRAC, 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 95 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 1 of file imu_disco.c.
Referenced by imu_disco_event(), imu_disco_init(), and imu_disco_periodic().