Paparazzi UAS
v5.8.2_stable-0-g6260b7c
Paparazzi is a free software Unmanned Aircraft System.
|
Driver for the IMU on the Apogee board. More...
#include "std.h"
#include "generated/airframe.h"
#include "subsystems/imu.h"
#include "peripherals/mpu60x0_i2c.h"
Go to the source code of this file.
Data Structures | |
struct | ImuApogee |
Macros | |
#define | IMU_GYRO_P_SIGN 1 |
#define | IMU_GYRO_Q_SIGN 1 |
#define | IMU_GYRO_R_SIGN 1 |
#define | IMU_ACCEL_X_SIGN 1 |
#define | IMU_ACCEL_Y_SIGN 1 |
#define | IMU_ACCEL_Z_SIGN 1 |
#define | IMU_GYRO_P_SENS 2.17953 |
default gyro sensitivy and neutral from the datasheet MPU with 1000 deg/s has 32.8 LSB/(deg/s) sens = 1/32.8 * pi/180 * 2^INT32_RATE_FRAC sens = 1/32.8 * pi/180 * 4096 = 2.17953 I More... | |
#define | IMU_GYRO_P_SENS_NUM 18271 |
#define | IMU_GYRO_P_SENS_DEN 8383 |
#define | IMU_GYRO_Q_SENS 2.17953 |
#define | IMU_GYRO_Q_SENS_NUM 18271 |
#define | IMU_GYRO_Q_SENS_DEN 8383 |
#define | IMU_GYRO_R_SENS 2.17953 |
#define | IMU_GYRO_R_SENS_NUM 18271 |
#define | IMU_GYRO_R_SENS_DEN 8383 |
#define | IMU_GYRO_P_NEUTRAL 0 |
#define | IMU_GYRO_Q_NEUTRAL 0 |
#define | IMU_GYRO_R_NEUTRAL 0 |
#define | IMU_ACCEL_X_SENS 2.4525 |
default accel sensitivy from the datasheet MPU with 8g has 4096 LSB/g sens = 9.81 [m/s^2] / 4096 [LSB/g] * 2^INT32_ACCEL_FRAC = 2.4525 More... | |
#define | IMU_ACCEL_X_SENS_NUM 981 |
#define | IMU_ACCEL_X_SENS_DEN 400 |
#define | IMU_ACCEL_Y_SENS 2.4525 |
#define | IMU_ACCEL_Y_SENS_NUM 981 |
#define | IMU_ACCEL_Y_SENS_DEN 400 |
#define | IMU_ACCEL_Z_SENS 2.4525 |
#define | IMU_ACCEL_Z_SENS_NUM 981 |
#define | IMU_ACCEL_Z_SENS_DEN 400 |
#define | IMU_ACCEL_X_NEUTRAL 0 |
#define | IMU_ACCEL_Y_NEUTRAL 0 |
#define | IMU_ACCEL_Z_NEUTRAL 0 |
#define | ImuEvent imu_apogee_event |
Functions | |
void | imu_apogee_event (void) |
void | imu_apogee_downlink_raw (void) |
Variables | |
struct ImuApogee | imu_apogee |
struct ImuApogee |
Definition at line 97 of file imu_apogee.h.
Data Fields | ||
---|---|---|
struct Mpu60x0_I2c | mpu |
#define IMU_ACCEL_X_NEUTRAL 0 |
Definition at line 92 of file imu_apogee.h.
Referenced by imu_init().
#define IMU_ACCEL_X_SENS 2.4525 |
default accel sensitivy from the datasheet MPU with 8g has 4096 LSB/g sens = 9.81 [m/s^2] / 4096 [LSB/g] * 2^INT32_ACCEL_FRAC = 2.4525
Definition at line 81 of file imu_apogee.h.
#define IMU_ACCEL_X_SENS_DEN 400 |
Definition at line 83 of file imu_apogee.h.
Referenced by imu_quality_assessment_periodic(), and imu_scale_accel().
#define IMU_ACCEL_X_SENS_NUM 981 |
Definition at line 82 of file imu_apogee.h.
Referenced by imu_quality_assessment_periodic(), and imu_scale_accel().
#define IMU_ACCEL_X_SIGN 1 |
Definition at line 46 of file imu_apogee.h.
Referenced by imu_scale_accel().
#define IMU_ACCEL_Y_NEUTRAL 0 |
Definition at line 93 of file imu_apogee.h.
Referenced by imu_init().
#define IMU_ACCEL_Y_SENS 2.4525 |
Definition at line 84 of file imu_apogee.h.
#define IMU_ACCEL_Y_SENS_DEN 400 |
Definition at line 86 of file imu_apogee.h.
Referenced by imu_scale_accel().
#define IMU_ACCEL_Y_SENS_NUM 981 |
Definition at line 85 of file imu_apogee.h.
Referenced by imu_scale_accel().
#define IMU_ACCEL_Y_SIGN 1 |
Definition at line 47 of file imu_apogee.h.
Referenced by imu_scale_accel().
#define IMU_ACCEL_Z_NEUTRAL 0 |
Definition at line 94 of file imu_apogee.h.
Referenced by imu_init().
#define IMU_ACCEL_Z_SENS 2.4525 |
Definition at line 87 of file imu_apogee.h.
#define IMU_ACCEL_Z_SENS_DEN 400 |
Definition at line 89 of file imu_apogee.h.
Referenced by imu_scale_accel().
#define IMU_ACCEL_Z_SENS_NUM 981 |
Definition at line 88 of file imu_apogee.h.
Referenced by imu_scale_accel().
#define IMU_ACCEL_Z_SIGN 1 |
Definition at line 48 of file imu_apogee.h.
Referenced by imu_scale_accel().
#define IMU_GYRO_P_NEUTRAL 0 |
Definition at line 69 of file imu_apogee.h.
Referenced by imu_init().
#define IMU_GYRO_P_SENS 2.17953 |
default gyro sensitivy and neutral from the datasheet MPU with 1000 deg/s has 32.8 LSB/(deg/s) sens = 1/32.8 * pi/180 * 2^INT32_RATE_FRAC sens = 1/32.8 * pi/180 * 4096 = 2.17953 I
Definition at line 58 of file imu_apogee.h.
#define IMU_GYRO_P_SENS_DEN 8383 |
Definition at line 60 of file imu_apogee.h.
Referenced by imu_scale_gyro().
#define IMU_GYRO_P_SENS_NUM 18271 |
Definition at line 59 of file imu_apogee.h.
Referenced by imu_scale_gyro().
#define IMU_GYRO_P_SIGN 1 |
Definition at line 41 of file imu_apogee.h.
Referenced by imu_scale_gyro().
#define IMU_GYRO_Q_NEUTRAL 0 |
Definition at line 70 of file imu_apogee.h.
Referenced by imu_init().
#define IMU_GYRO_Q_SENS 2.17953 |
Definition at line 61 of file imu_apogee.h.
#define IMU_GYRO_Q_SENS_DEN 8383 |
Definition at line 63 of file imu_apogee.h.
Referenced by imu_scale_gyro().
#define IMU_GYRO_Q_SENS_NUM 18271 |
Definition at line 62 of file imu_apogee.h.
Referenced by imu_scale_gyro().
#define IMU_GYRO_Q_SIGN 1 |
Definition at line 42 of file imu_apogee.h.
Referenced by imu_scale_gyro().
#define IMU_GYRO_R_NEUTRAL 0 |
Definition at line 71 of file imu_apogee.h.
Referenced by imu_init().
#define IMU_GYRO_R_SENS 2.17953 |
Definition at line 64 of file imu_apogee.h.
#define IMU_GYRO_R_SENS_DEN 8383 |
Definition at line 66 of file imu_apogee.h.
Referenced by imu_scale_gyro().
#define IMU_GYRO_R_SENS_NUM 18271 |
Definition at line 65 of file imu_apogee.h.
Referenced by imu_scale_gyro().
#define IMU_GYRO_R_SIGN 1 |
Definition at line 43 of file imu_apogee.h.
Referenced by imu_scale_gyro().
#define ImuEvent imu_apogee_event |
Definition at line 113 of file imu_apogee.h.
Referenced by event_task_ap(), main_event(), and main_event_task().
void imu_apogee_downlink_raw | ( | void | ) |
Definition at line 103 of file imu_apogee.c.
References Imu::accel_unscaled, DefaultChannel, DefaultDevice, Imu::gyro_unscaled, imu, Int32Rates::p, Int32Rates::q, Int32Rates::r, Int32Vect3::x, Int32Vect3::y, and Int32Vect3::z.
void imu_apogee_event | ( | void | ) |
Definition at line 112 of file imu_apogee.c.
References Imu::accel, Imu::accel_unscaled, Mpu60x0_I2c::data_accel, Mpu60x0_I2c::data_available, Mpu60x0_I2c::data_rates, FALSE, get_sys_time_usec(), Imu::gyro, Imu::gyro_unscaled, imu, imu_apogee, IMU_APOGEE_CHAN_X, IMU_APOGEE_CHAN_Y, IMU_APOGEE_CHAN_Z, IMU_BOARD_ID, imu_scale_accel(), imu_scale_gyro(), ImuApogee::mpu, mpu60x0_i2c_event(), RATES_COPY, and VECT3_COPY.
struct ImuApogee imu_apogee |
Definition at line 69 of file imu_apogee.c.
Referenced by baro_periodic(), imu_apogee_event(), imu_impl_init(), and imu_periodic().