Paparazzi UAS  v5.15_devel-59-g8c145b7
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
imu_drotek_10dof_v2.h File Reference

Driver for the Drotek 10DOF V2 IMU. More...

#include "std.h"
#include "generated/airframe.h"
#include "subsystems/imu.h"
#include "peripherals/mpu60x0_i2c.h"
#include "peripherals/hmc58xx.h"
+ Include dependency graph for imu_drotek_10dof_v2.h:

Go to the source code of this file.

Data Structures

struct  ImuDrotek2
 

Macros

#define DROTEK_2_GYRO_RANGE   MPU60X0_GYRO_RANGE_1000
 
#define DROTEK_2_ACCEL_RANGE   MPU60X0_ACCEL_RANGE_8G
 
#define IMU_GYRO_P_SENS   MPU60X0_GYRO_SENS[DROTEK_2_GYRO_RANGE]
 
#define IMU_GYRO_P_SENS_NUM   MPU60X0_GYRO_SENS_FRAC[DROTEK_2_GYRO_RANGE][0]
 
#define IMU_GYRO_P_SENS_DEN   MPU60X0_GYRO_SENS_FRAC[DROTEK_2_GYRO_RANGE][1]
 
#define IMU_GYRO_Q_SENS   MPU60X0_GYRO_SENS[DROTEK_2_GYRO_RANGE]
 
#define IMU_GYRO_Q_SENS_NUM   MPU60X0_GYRO_SENS_FRAC[DROTEK_2_GYRO_RANGE][0]
 
#define IMU_GYRO_Q_SENS_DEN   MPU60X0_GYRO_SENS_FRAC[DROTEK_2_GYRO_RANGE][1]
 
#define IMU_GYRO_R_SENS   MPU60X0_GYRO_SENS[DROTEK_2_GYRO_RANGE]
 
#define IMU_GYRO_R_SENS_NUM   MPU60X0_GYRO_SENS_FRAC[DROTEK_2_GYRO_RANGE][0]
 
#define IMU_GYRO_R_SENS_DEN   MPU60X0_GYRO_SENS_FRAC[DROTEK_2_GYRO_RANGE][1]
 
#define IMU_ACCEL_X_SENS   MPU60X0_ACCEL_SENS[DROTEK_2_ACCEL_RANGE]
 
#define IMU_ACCEL_X_SENS_NUM   MPU60X0_ACCEL_SENS_FRAC[DROTEK_2_ACCEL_RANGE][0]
 
#define IMU_ACCEL_X_SENS_DEN   MPU60X0_ACCEL_SENS_FRAC[DROTEK_2_ACCEL_RANGE][1]
 
#define IMU_ACCEL_Y_SENS   MPU60X0_ACCEL_SENS[DROTEK_2_ACCEL_RANGE]
 
#define IMU_ACCEL_Y_SENS_NUM   MPU60X0_ACCEL_SENS_FRAC[DROTEK_2_ACCEL_RANGE][0]
 
#define IMU_ACCEL_Y_SENS_DEN   MPU60X0_ACCEL_SENS_FRAC[DROTEK_2_ACCEL_RANGE][1]
 
#define IMU_ACCEL_Z_SENS   MPU60X0_ACCEL_SENS[DROTEK_2_ACCEL_RANGE]
 
#define IMU_ACCEL_Z_SENS_NUM   MPU60X0_ACCEL_SENS_FRAC[DROTEK_2_ACCEL_RANGE][0]
 
#define IMU_ACCEL_Z_SENS_DEN   MPU60X0_ACCEL_SENS_FRAC[DROTEK_2_ACCEL_RANGE][1]
 

Functions

void imu_drotek2_init (void)
 
void imu_drotek2_periodic (void)
 
void imu_drotek2_event (void)
 
bool imu_drotek2_configure_mag_slave (Mpu60x0ConfigSet mpu_set, void *mpu)
 callback function to configure hmc5883 mag More...
 

Variables

struct ImuDrotek2 imu_drotek2
 

Detailed Description

Driver for the Drotek 10DOF V2 IMU.

MPU6050 + HMC5883 + MS5611

Definition in file imu_drotek_10dof_v2.h.


Data Structure Documentation

struct ImuDrotek2

Definition at line 75 of file imu_drotek_10dof_v2.h.

+ Collaboration diagram for ImuDrotek2:
Data Fields
struct Hmc58xx hmc
struct Mpu60x0_I2c mpu

Macro Definition Documentation

#define DROTEK_2_ACCEL_RANGE   MPU60X0_ACCEL_RANGE_8G

Definition at line 44 of file imu_drotek_10dof_v2.h.

Referenced by imu_drotek2_init().

#define DROTEK_2_GYRO_RANGE   MPU60X0_GYRO_RANGE_1000

Definition at line 40 of file imu_drotek_10dof_v2.h.

Referenced by imu_drotek2_init().

#define IMU_ACCEL_X_SENS   MPU60X0_ACCEL_SENS[DROTEK_2_ACCEL_RANGE]

Definition at line 62 of file imu_drotek_10dof_v2.h.

#define IMU_ACCEL_X_SENS_DEN   MPU60X0_ACCEL_SENS_FRAC[DROTEK_2_ACCEL_RANGE][1]

Definition at line 64 of file imu_drotek_10dof_v2.h.

#define IMU_ACCEL_X_SENS_NUM   MPU60X0_ACCEL_SENS_FRAC[DROTEK_2_ACCEL_RANGE][0]

Definition at line 63 of file imu_drotek_10dof_v2.h.

#define IMU_ACCEL_Y_SENS   MPU60X0_ACCEL_SENS[DROTEK_2_ACCEL_RANGE]

Definition at line 65 of file imu_drotek_10dof_v2.h.

#define IMU_ACCEL_Y_SENS_DEN   MPU60X0_ACCEL_SENS_FRAC[DROTEK_2_ACCEL_RANGE][1]

Definition at line 67 of file imu_drotek_10dof_v2.h.

#define IMU_ACCEL_Y_SENS_NUM   MPU60X0_ACCEL_SENS_FRAC[DROTEK_2_ACCEL_RANGE][0]

Definition at line 66 of file imu_drotek_10dof_v2.h.

#define IMU_ACCEL_Z_SENS   MPU60X0_ACCEL_SENS[DROTEK_2_ACCEL_RANGE]

Definition at line 68 of file imu_drotek_10dof_v2.h.

#define IMU_ACCEL_Z_SENS_DEN   MPU60X0_ACCEL_SENS_FRAC[DROTEK_2_ACCEL_RANGE][1]

Definition at line 70 of file imu_drotek_10dof_v2.h.

#define IMU_ACCEL_Z_SENS_NUM   MPU60X0_ACCEL_SENS_FRAC[DROTEK_2_ACCEL_RANGE][0]

Definition at line 69 of file imu_drotek_10dof_v2.h.

#define IMU_GYRO_P_SENS   MPU60X0_GYRO_SENS[DROTEK_2_GYRO_RANGE]

Definition at line 49 of file imu_drotek_10dof_v2.h.

#define IMU_GYRO_P_SENS_DEN   MPU60X0_GYRO_SENS_FRAC[DROTEK_2_GYRO_RANGE][1]

Definition at line 51 of file imu_drotek_10dof_v2.h.

#define IMU_GYRO_P_SENS_NUM   MPU60X0_GYRO_SENS_FRAC[DROTEK_2_GYRO_RANGE][0]

Definition at line 50 of file imu_drotek_10dof_v2.h.

#define IMU_GYRO_Q_SENS   MPU60X0_GYRO_SENS[DROTEK_2_GYRO_RANGE]

Definition at line 52 of file imu_drotek_10dof_v2.h.

#define IMU_GYRO_Q_SENS_DEN   MPU60X0_GYRO_SENS_FRAC[DROTEK_2_GYRO_RANGE][1]

Definition at line 54 of file imu_drotek_10dof_v2.h.

#define IMU_GYRO_Q_SENS_NUM   MPU60X0_GYRO_SENS_FRAC[DROTEK_2_GYRO_RANGE][0]

Definition at line 53 of file imu_drotek_10dof_v2.h.

#define IMU_GYRO_R_SENS   MPU60X0_GYRO_SENS[DROTEK_2_GYRO_RANGE]

Definition at line 55 of file imu_drotek_10dof_v2.h.

#define IMU_GYRO_R_SENS_DEN   MPU60X0_GYRO_SENS_FRAC[DROTEK_2_GYRO_RANGE][1]

Definition at line 57 of file imu_drotek_10dof_v2.h.

#define IMU_GYRO_R_SENS_NUM   MPU60X0_GYRO_SENS_FRAC[DROTEK_2_GYRO_RANGE][0]

Definition at line 56 of file imu_drotek_10dof_v2.h.

Function Documentation

bool imu_drotek2_configure_mag_slave ( Mpu60x0ConfigSet  mpu_set,
void *  mpu 
)

callback function to configure hmc5883 mag

Returns
TRUE if mag configuration finished

Definition at line 158 of file imu_drotek_10dof_v2.c.

References ImuDrotek2::hmc, hmc58xx_start_configure(), imu_drotek2, and Hmc58xx::initialized.

Referenced by imu_drotek2_init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void imu_drotek2_periodic ( void  )

Definition at line 99 of file imu_drotek_10dof_v2.c.

References Mpu60x0_I2c::config, ImuDrotek2::hmc, hmc58xx_read(), imu_drotek2, Mpu60x0Config::initialized, ImuDrotek2::mpu, and mpu60x0_i2c_periodic().

+ Here is the call graph for this function:

Variable Documentation

struct ImuDrotek2 imu_drotek2