Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Interface for the Bebop magnetometer, accelerometer and gyroscope. More...
#include "generated/airframe.h"
#include "modules/imu/imu.h"
#include "peripherals/ak8963.h"
#include "peripherals/mpu60x0_i2c.h"
Go to the source code of this file.
Data Structures | |
struct | ImuBebop |
Everything that is in the bebop IMU. More... | |
Macros | |
#define | BEBOP_GYRO_RANGE MPU60X0_GYRO_RANGE_1000 |
#define | BEBOP_ACCEL_RANGE MPU60X0_ACCEL_RANGE_8G |
Functions | |
void | imu_bebop_init (void) |
Navstik IMU initializtion of the MPU-60x0 and HMC58xx. More... | |
void | imu_bebop_periodic (void) |
Handle all the periodic tasks of the Navstik IMU components. More... | |
void | imu_bebop_event (void) |
Handle all the events of the Navstik IMU components. More... | |
Variables | |
struct ImuBebop | imu_bebop |
Basic Navstik IMU data. More... | |
Interface for the Bebop magnetometer, accelerometer and gyroscope.
Definition in file imu_bebop.h.
struct ImuBebop |
Everything that is in the bebop IMU.
Definition at line 46 of file imu_bebop.h.
Data Fields | ||
---|---|---|
struct Ak8963 | ak | The AK8963 mag. |
struct Mpu60x0_I2c | mpu | The MPU gyro/accel device. |
#define BEBOP_ACCEL_RANGE MPU60X0_ACCEL_RANGE_8G |
Definition at line 42 of file imu_bebop.h.
#define BEBOP_GYRO_RANGE MPU60X0_GYRO_RANGE_1000 |
Definition at line 38 of file imu_bebop.h.
void imu_bebop_event | ( | void | ) |
Handle all the events of the Navstik IMU components.
When there is data available convert it to the correct axis and save it in the imu structure.
Definition at line 118 of file imu_bebop.c.
References ImuBebop::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_bebop, IMU_BOARD_ID, imu_to_mag_bebop, int32_rmat_vmult(), ImuBebop::mpu, mpu60x0_i2c_event(), orientationGetRMat_i(), RATES_ASSIGN, Mpu60x0_I2c::temp, and VECT3_ASSIGN.
void imu_bebop_init | ( | void | ) |
Navstik IMU initializtion of the MPU-60x0 and HMC58xx.
Definition at line 76 of file imu_bebop.c.
References Mpu60x0Config::accel_range, ImuBebop::ak, AK8963_ADDR, ak8963_init(), BEBOP_ACCEL_RANGE, BEBOP_GYRO_RANGE, BEBOP_MAG_I2C_DEV, BEBOP_MPU_I2C_DEV, Mpu60x0_I2c::config, Mpu60x0Config::dlpf_cfg, Mpu60x0Config::gyro_range, imu_bebop, IMU_BOARD_ID, imu_set_defaults_accel(), imu_set_defaults_gyro(), imu_to_mag_bebop, ImuBebop::mpu, MPU60X0_ACCEL_SENS_FRAC, MPU60X0_ADDR, MPU60X0_GYRO_SENS_FRAC, mpu60x0_i2c_init(), orientationSetEulers_f(), and Mpu60x0Config::smplrt_div.
void imu_bebop_periodic | ( | void | ) |
Handle all the periodic tasks of the Navstik IMU components.
Read the MPU60x0 every periodic call and the HMC58XX every 10th call.
Definition at line 105 of file imu_bebop.c.
References ImuBebop::ak, ak8963_periodic(), imu_bebop, ImuBebop::mpu, and mpu60x0_i2c_periodic().
|
extern |
Basic Navstik IMU data.
Definition at line 1 of file imu_bebop.c.
Referenced by imu_bebop_event(), imu_bebop_init(), imu_bebop_periodic(), and imu_temp_ctrl_periodic().