Paparazzi UAS  v5.14.0_stable-0-g3f680d1
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
imu_apogee.h File Reference

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"
+ Include dependency graph for imu_apogee.h:
+ This graph shows which files directly or indirectly include this file:

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 APOGEE_GYRO_RANGE   MPU60X0_GYRO_RANGE_1000
 
#define APOGEE_ACCEL_RANGE   MPU60X0_ACCEL_RANGE_8G
 
#define IMU_GYRO_P_SENS   MPU60X0_GYRO_SENS[APOGEE_GYRO_RANGE]
 
#define IMU_GYRO_P_SENS_NUM   MPU60X0_GYRO_SENS_FRAC[APOGEE_GYRO_RANGE][0]
 
#define IMU_GYRO_P_SENS_DEN   MPU60X0_GYRO_SENS_FRAC[APOGEE_GYRO_RANGE][1]
 
#define IMU_GYRO_Q_SENS   MPU60X0_GYRO_SENS[APOGEE_GYRO_RANGE]
 
#define IMU_GYRO_Q_SENS_NUM   MPU60X0_GYRO_SENS_FRAC[APOGEE_GYRO_RANGE][0]
 
#define IMU_GYRO_Q_SENS_DEN   MPU60X0_GYRO_SENS_FRAC[APOGEE_GYRO_RANGE][1]
 
#define IMU_GYRO_R_SENS   MPU60X0_GYRO_SENS[APOGEE_GYRO_RANGE]
 
#define IMU_GYRO_R_SENS_NUM   MPU60X0_GYRO_SENS_FRAC[APOGEE_GYRO_RANGE][0]
 
#define IMU_GYRO_R_SENS_DEN   MPU60X0_GYRO_SENS_FRAC[APOGEE_GYRO_RANGE][1]
 
#define IMU_GYRO_P_NEUTRAL   0
 
#define IMU_GYRO_Q_NEUTRAL   0
 
#define IMU_GYRO_R_NEUTRAL   0
 
#define IMU_ACCEL_X_SENS   MPU60X0_ACCEL_SENS[APOGEE_ACCEL_RANGE]
 
#define IMU_ACCEL_X_SENS_NUM   MPU60X0_ACCEL_SENS_FRAC[APOGEE_ACCEL_RANGE][0]
 
#define IMU_ACCEL_X_SENS_DEN   MPU60X0_ACCEL_SENS_FRAC[APOGEE_ACCEL_RANGE][1]
 
#define IMU_ACCEL_Y_SENS   MPU60X0_ACCEL_SENS[APOGEE_ACCEL_RANGE]
 
#define IMU_ACCEL_Y_SENS_NUM   MPU60X0_ACCEL_SENS_FRAC[APOGEE_ACCEL_RANGE][0]
 
#define IMU_ACCEL_Y_SENS_DEN   MPU60X0_ACCEL_SENS_FRAC[APOGEE_ACCEL_RANGE][1]
 
#define IMU_ACCEL_Z_SENS   MPU60X0_ACCEL_SENS[APOGEE_ACCEL_RANGE]
 
#define IMU_ACCEL_Z_SENS_NUM   MPU60X0_ACCEL_SENS_FRAC[APOGEE_ACCEL_RANGE][0]
 
#define IMU_ACCEL_Z_SENS_DEN   MPU60X0_ACCEL_SENS_FRAC[APOGEE_ACCEL_RANGE][1]
 
#define IMU_ACCEL_X_NEUTRAL   0
 
#define IMU_ACCEL_Y_NEUTRAL   0
 
#define IMU_ACCEL_Z_NEUTRAL   0
 

Functions

void imu_apogee_init (void)
 
void imu_apogee_periodic (void)
 
void imu_apogee_event (void)
 
void imu_apogee_downlink_raw (void)
 

Variables

struct ImuApogee imu_apogee
 

Detailed Description

Driver for the IMU on the Apogee board.

Invensense MPU-6050

Definition in file imu_apogee.h.


Data Structure Documentation

struct ImuApogee

Definition at line 98 of file imu_apogee.h.

+ Collaboration diagram for ImuApogee:
Data Fields
struct Mpu60x0_I2c mpu

Macro Definition Documentation

#define APOGEE_ACCEL_RANGE   MPU60X0_ACCEL_RANGE_8G

Definition at line 58 of file imu_apogee.h.

Referenced by imu_apogee_init().

#define APOGEE_GYRO_RANGE   MPU60X0_GYRO_RANGE_1000

Definition at line 55 of file imu_apogee.h.

Referenced by imu_apogee_init().

#define IMU_ACCEL_X_NEUTRAL   0

Definition at line 93 of file imu_apogee.h.

Referenced by imu_init().

#define IMU_ACCEL_X_SENS   MPU60X0_ACCEL_SENS[APOGEE_ACCEL_RANGE]

Definition at line 82 of file imu_apogee.h.

#define IMU_ACCEL_X_SENS_DEN   MPU60X0_ACCEL_SENS_FRAC[APOGEE_ACCEL_RANGE][1]

Definition at line 84 of file imu_apogee.h.

Referenced by imu_quality_assessment_periodic(), and imu_scale_accel().

#define IMU_ACCEL_X_SENS_NUM   MPU60X0_ACCEL_SENS_FRAC[APOGEE_ACCEL_RANGE][0]

Definition at line 83 of file imu_apogee.h.

Referenced by imu_quality_assessment_periodic(), and imu_scale_accel().

#define IMU_ACCEL_X_SIGN   1

Definition at line 49 of file imu_apogee.h.

Referenced by imu_scale_accel().

#define IMU_ACCEL_Y_NEUTRAL   0

Definition at line 94 of file imu_apogee.h.

Referenced by imu_init().

#define IMU_ACCEL_Y_SENS   MPU60X0_ACCEL_SENS[APOGEE_ACCEL_RANGE]

Definition at line 85 of file imu_apogee.h.

#define IMU_ACCEL_Y_SENS_DEN   MPU60X0_ACCEL_SENS_FRAC[APOGEE_ACCEL_RANGE][1]

Definition at line 87 of file imu_apogee.h.

Referenced by imu_scale_accel().

#define IMU_ACCEL_Y_SENS_NUM   MPU60X0_ACCEL_SENS_FRAC[APOGEE_ACCEL_RANGE][0]

Definition at line 86 of file imu_apogee.h.

Referenced by imu_scale_accel().

#define IMU_ACCEL_Y_SIGN   1

Definition at line 50 of file imu_apogee.h.

Referenced by imu_scale_accel().

#define IMU_ACCEL_Z_NEUTRAL   0

Definition at line 95 of file imu_apogee.h.

Referenced by imu_init().

#define IMU_ACCEL_Z_SENS   MPU60X0_ACCEL_SENS[APOGEE_ACCEL_RANGE]

Definition at line 88 of file imu_apogee.h.

#define IMU_ACCEL_Z_SENS_DEN   MPU60X0_ACCEL_SENS_FRAC[APOGEE_ACCEL_RANGE][1]

Definition at line 90 of file imu_apogee.h.

Referenced by imu_scale_accel().

#define IMU_ACCEL_Z_SENS_NUM   MPU60X0_ACCEL_SENS_FRAC[APOGEE_ACCEL_RANGE][0]

Definition at line 89 of file imu_apogee.h.

Referenced by imu_scale_accel().

#define IMU_ACCEL_Z_SIGN   1

Definition at line 51 of file imu_apogee.h.

Referenced by imu_scale_accel().

#define IMU_GYRO_P_NEUTRAL   0

Definition at line 74 of file imu_apogee.h.

Referenced by imu_init().

#define IMU_GYRO_P_SENS   MPU60X0_GYRO_SENS[APOGEE_GYRO_RANGE]

Definition at line 63 of file imu_apogee.h.

#define IMU_GYRO_P_SENS_DEN   MPU60X0_GYRO_SENS_FRAC[APOGEE_GYRO_RANGE][1]

Definition at line 65 of file imu_apogee.h.

Referenced by imu_scale_gyro().

#define IMU_GYRO_P_SENS_NUM   MPU60X0_GYRO_SENS_FRAC[APOGEE_GYRO_RANGE][0]

Definition at line 64 of file imu_apogee.h.

Referenced by imu_scale_gyro().

#define IMU_GYRO_P_SIGN   1

Definition at line 44 of file imu_apogee.h.

Referenced by imu_scale_gyro().

#define IMU_GYRO_Q_NEUTRAL   0

Definition at line 75 of file imu_apogee.h.

Referenced by imu_init().

#define IMU_GYRO_Q_SENS   MPU60X0_GYRO_SENS[APOGEE_GYRO_RANGE]

Definition at line 66 of file imu_apogee.h.

#define IMU_GYRO_Q_SENS_DEN   MPU60X0_GYRO_SENS_FRAC[APOGEE_GYRO_RANGE][1]

Definition at line 68 of file imu_apogee.h.

Referenced by imu_scale_gyro().

#define IMU_GYRO_Q_SENS_NUM   MPU60X0_GYRO_SENS_FRAC[APOGEE_GYRO_RANGE][0]

Definition at line 67 of file imu_apogee.h.

Referenced by imu_scale_gyro().

#define IMU_GYRO_Q_SIGN   1

Definition at line 45 of file imu_apogee.h.

Referenced by imu_scale_gyro().

#define IMU_GYRO_R_NEUTRAL   0

Definition at line 76 of file imu_apogee.h.

Referenced by imu_init().

#define IMU_GYRO_R_SENS   MPU60X0_GYRO_SENS[APOGEE_GYRO_RANGE]

Definition at line 69 of file imu_apogee.h.

#define IMU_GYRO_R_SENS_DEN   MPU60X0_GYRO_SENS_FRAC[APOGEE_GYRO_RANGE][1]

Definition at line 71 of file imu_apogee.h.

Referenced by imu_scale_gyro().

#define IMU_GYRO_R_SENS_NUM   MPU60X0_GYRO_SENS_FRAC[APOGEE_GYRO_RANGE][0]

Definition at line 70 of file imu_apogee.h.

Referenced by imu_scale_gyro().

#define IMU_GYRO_R_SIGN   1

Definition at line 46 of file imu_apogee.h.

Referenced by imu_scale_gyro().

Function Documentation

void imu_apogee_downlink_raw ( void  )
void imu_apogee_periodic ( void  )

Definition at line 116 of file imu_apogee.c.

References ak8975_periodic(), imu_apogee, ImuApogee::mpu, and mpu60x0_i2c_periodic().

+ Here is the call graph for this function:

Variable Documentation

struct ImuApogee imu_apogee

Definition at line 85 of file imu_apogee.c.

Referenced by baro_periodic(), imu_apogee_event(), imu_apogee_init(), and imu_apogee_periodic().