Paparazzi UAS
v5.8.2_stable-0-g6260b7c
Paparazzi is a free software Unmanned Aircraft System.
|
Driver for the PPZUAV IMU. More...
#include "generated/airframe.h"
#include "subsystems/imu.h"
#include "peripherals/itg3200.h"
#include "peripherals/hmc58xx.h"
#include "peripherals/adxl345_i2c.h"
Go to the source code of this file.
Data Structures | |
struct | ImuPpzuav |
Macros | |
#define | IMU_GYRO_P_SENS 4.973 |
default gyro sensitivy and neutral from the datasheet ITG3200 has 14.375 LSB/(deg/s) sens = 1/14.375 * pi/180 * 2^INT32_RATE_FRAC sens = 1/14.375 * pi/180 * 4096 = 4.973126 More... | |
#define | IMU_GYRO_P_SENS_NUM 4973 |
#define | IMU_GYRO_P_SENS_DEN 1000 |
#define | IMU_GYRO_Q_SENS 4.973 |
#define | IMU_GYRO_Q_SENS_NUM 4973 |
#define | IMU_GYRO_Q_SENS_DEN 1000 |
#define | IMU_GYRO_R_SENS 4.973 |
#define | IMU_GYRO_R_SENS_NUM 4973 |
#define | IMU_GYRO_R_SENS_DEN 1000 |
#define | IMU_ACCEL_X_SENS 37.91 |
default accel sensitivy from the ADXL345 datasheet sensitivity of x & y axes depends on supply voltage: More... | |
#define | IMU_ACCEL_X_SENS_NUM 3791 |
#define | IMU_ACCEL_X_SENS_DEN 100 |
#define | IMU_ACCEL_Y_SENS 37.91 |
#define | IMU_ACCEL_Y_SENS_NUM 3791 |
#define | IMU_ACCEL_Y_SENS_DEN 100 |
#define | IMU_ACCEL_Z_SENS 39.24 |
#define | IMU_ACCEL_Z_SENS_NUM 3924 |
#define | IMU_ACCEL_Z_SENS_DEN 100 |
#define | ImuEvent imu_ppzuav_event |
Functions | |
void | imu_ppzuav_event (void) |
Variables | |
struct ImuPpzuav | imu_ppzuav |
Driver for the PPZUAV IMU.
Interface and defaults for the PPZUAV IMU.
9DoM IMU with ITG-3200, ADXL345 and HMC5843, all via I2C.
Definition in file imu_ppzuav.h.
struct ImuPpzuav |
Definition at line 82 of file imu_ppzuav.h.
Data Fields | ||
---|---|---|
struct Adxl345_I2c | acc_adxl | |
struct Itg3200 | gyro_itg | |
struct Hmc58xx | mag_hmc |
#define IMU_ACCEL_X_SENS 37.91 |
default accel sensitivy from the ADXL345 datasheet sensitivity of x & y axes depends on supply voltage:
Definition at line 70 of file imu_ppzuav.h.
#define IMU_ACCEL_X_SENS_DEN 100 |
Definition at line 72 of file imu_ppzuav.h.
#define IMU_ACCEL_X_SENS_NUM 3791 |
Definition at line 71 of file imu_ppzuav.h.
#define IMU_ACCEL_Y_SENS 37.91 |
Definition at line 73 of file imu_ppzuav.h.
#define IMU_ACCEL_Y_SENS_DEN 100 |
Definition at line 75 of file imu_ppzuav.h.
#define IMU_ACCEL_Y_SENS_NUM 3791 |
Definition at line 74 of file imu_ppzuav.h.
#define IMU_ACCEL_Z_SENS 39.24 |
Definition at line 76 of file imu_ppzuav.h.
#define IMU_ACCEL_Z_SENS_DEN 100 |
Definition at line 78 of file imu_ppzuav.h.
#define IMU_ACCEL_Z_SENS_NUM 3924 |
Definition at line 77 of file imu_ppzuav.h.
#define IMU_GYRO_P_SENS 4.973 |
default gyro sensitivy and neutral from the datasheet ITG3200 has 14.375 LSB/(deg/s) sens = 1/14.375 * pi/180 * 2^INT32_RATE_FRAC sens = 1/14.375 * pi/180 * 4096 = 4.973126
Definition at line 48 of file imu_ppzuav.h.
#define IMU_GYRO_P_SENS_DEN 1000 |
Definition at line 50 of file imu_ppzuav.h.
#define IMU_GYRO_P_SENS_NUM 4973 |
Definition at line 49 of file imu_ppzuav.h.
#define IMU_GYRO_Q_SENS 4.973 |
Definition at line 51 of file imu_ppzuav.h.
#define IMU_GYRO_Q_SENS_DEN 1000 |
Definition at line 53 of file imu_ppzuav.h.
#define IMU_GYRO_Q_SENS_NUM 4973 |
Definition at line 52 of file imu_ppzuav.h.
#define IMU_GYRO_R_SENS 4.973 |
Definition at line 54 of file imu_ppzuav.h.
#define IMU_GYRO_R_SENS_DEN 1000 |
Definition at line 56 of file imu_ppzuav.h.
#define IMU_GYRO_R_SENS_NUM 4973 |
Definition at line 55 of file imu_ppzuav.h.
#define ImuEvent imu_ppzuav_event |
Definition at line 92 of file imu_ppzuav.h.
void imu_ppzuav_event | ( | void | ) |
Definition at line 112 of file imu_ppzuav.c.
References ImuPpzuav::acc_adxl, Imu::accel, Imu::accel_unscaled, adxl345_i2c_event(), Adxl345_I2c::data, Hmc58xx::data, Itg3200::data, Adxl345_I2c::data_available, Hmc58xx::data_available, Itg3200::data_available, FALSE, get_sys_time_usec(), Imu::gyro, ImuPpzuav::gyro_itg, Imu::gyro_unscaled, hmc58xx_event(), imu, imu_ppzuav, IMU_PPZUAV_ID, imu_scale_accel(), imu_scale_gyro(), imu_scale_mag(), itg3200_event(), Imu::mag, ImuPpzuav::mag_hmc, Imu::mag_unscaled, Int32Rates::p, Int32Rates::q, Int32Rates::r, Int32Vect3::x, Int32Vect3::y, and Int32Vect3::z.
struct ImuPpzuav imu_ppzuav |
Definition at line 79 of file imu_ppzuav.c.
Referenced by imu_periodic(), and imu_ppzuav_event().