Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
imu_px4fmu.h File Reference
#include "std.h"
#include "generated/airframe.h"
#include "subsystems/imu.h"
#include "peripherals/mpu60x0_spi.h"
#include "peripherals/hmc58xx.h"
+ Include dependency graph for imu_px4fmu.h:

Go to the source code of this file.

Data Structures

struct  ImuPx4fmu
 

Macros

#define PX4FMU_GYRO_RANGE   MPU60X0_GYRO_RANGE_2000
 
#define PX4FMU_ACCEL_RANGE   MPU60X0_ACCEL_RANGE_16G
 
#define IMU_GYRO_P_SENS   MPU60X0_GYRO_SENS[PX4FMU_GYRO_RANGE]
 
#define IMU_GYRO_P_SENS_NUM   MPU60X0_GYRO_SENS_FRAC[PX4FMU_GYRO_RANGE][0]
 
#define IMU_GYRO_P_SENS_DEN   MPU60X0_GYRO_SENS_FRAC[PX4FMU_GYRO_RANGE][1]
 
#define IMU_GYRO_Q_SENS   MPU60X0_GYRO_SENS[PX4FMU_GYRO_RANGE]
 
#define IMU_GYRO_Q_SENS_NUM   MPU60X0_GYRO_SENS_FRAC[PX4FMU_GYRO_RANGE][0]
 
#define IMU_GYRO_Q_SENS_DEN   MPU60X0_GYRO_SENS_FRAC[PX4FMU_GYRO_RANGE][1]
 
#define IMU_GYRO_R_SENS   MPU60X0_GYRO_SENS[PX4FMU_GYRO_RANGE]
 
#define IMU_GYRO_R_SENS_NUM   MPU60X0_GYRO_SENS_FRAC[PX4FMU_GYRO_RANGE][0]
 
#define IMU_GYRO_R_SENS_DEN   MPU60X0_GYRO_SENS_FRAC[PX4FMU_GYRO_RANGE][1]
 
#define IMU_ACCEL_X_SENS   MPU60X0_ACCEL_SENS[PX4FMU_ACCEL_RANGE]
 
#define IMU_ACCEL_X_SENS_NUM   MPU60X0_ACCEL_SENS_FRAC[PX4FMU_ACCEL_RANGE][0]
 
#define IMU_ACCEL_X_SENS_DEN   MPU60X0_ACCEL_SENS_FRAC[PX4FMU_ACCEL_RANGE][1]
 
#define IMU_ACCEL_Y_SENS   MPU60X0_ACCEL_SENS[PX4FMU_ACCEL_RANGE]
 
#define IMU_ACCEL_Y_SENS_NUM   MPU60X0_ACCEL_SENS_FRAC[PX4FMU_ACCEL_RANGE][0]
 
#define IMU_ACCEL_Y_SENS_DEN   MPU60X0_ACCEL_SENS_FRAC[PX4FMU_ACCEL_RANGE][1]
 
#define IMU_ACCEL_Z_SENS   MPU60X0_ACCEL_SENS[PX4FMU_ACCEL_RANGE]
 
#define IMU_ACCEL_Z_SENS_NUM   MPU60X0_ACCEL_SENS_FRAC[PX4FMU_ACCEL_RANGE][0]
 
#define IMU_ACCEL_Z_SENS_DEN   MPU60X0_ACCEL_SENS_FRAC[PX4FMU_ACCEL_RANGE][1]
 

Functions

void imu_px4fmu_init (void)
 
void imu_px4fmu_periodic (void)
 
void imu_px4fmu_event (void)
 

Variables

struct ImuPx4fmu imu_px4fmu
 

Detailed Description

Driver for the PX4FMU SPI1 for the MPU6000 and I2C2 for the HMC5883.

Definition in file imu_px4fmu.h.


Data Structure Documentation

◆ ImuPx4fmu

struct ImuPx4fmu

Definition at line 72 of file imu_px4fmu.h.

+ Collaboration diagram for ImuPx4fmu:
Data Fields
struct Hmc58xx hmc
struct Mpu60x0_Spi mpu

Macro Definition Documentation

◆ IMU_ACCEL_X_SENS

#define IMU_ACCEL_X_SENS   MPU60X0_ACCEL_SENS[PX4FMU_ACCEL_RANGE]

Definition at line 61 of file imu_px4fmu.h.

◆ IMU_ACCEL_X_SENS_DEN

#define IMU_ACCEL_X_SENS_DEN   MPU60X0_ACCEL_SENS_FRAC[PX4FMU_ACCEL_RANGE][1]

Definition at line 63 of file imu_px4fmu.h.

◆ IMU_ACCEL_X_SENS_NUM

#define IMU_ACCEL_X_SENS_NUM   MPU60X0_ACCEL_SENS_FRAC[PX4FMU_ACCEL_RANGE][0]

Definition at line 62 of file imu_px4fmu.h.

◆ IMU_ACCEL_Y_SENS

#define IMU_ACCEL_Y_SENS   MPU60X0_ACCEL_SENS[PX4FMU_ACCEL_RANGE]

Definition at line 64 of file imu_px4fmu.h.

◆ IMU_ACCEL_Y_SENS_DEN

#define IMU_ACCEL_Y_SENS_DEN   MPU60X0_ACCEL_SENS_FRAC[PX4FMU_ACCEL_RANGE][1]

Definition at line 66 of file imu_px4fmu.h.

◆ IMU_ACCEL_Y_SENS_NUM

#define IMU_ACCEL_Y_SENS_NUM   MPU60X0_ACCEL_SENS_FRAC[PX4FMU_ACCEL_RANGE][0]

Definition at line 65 of file imu_px4fmu.h.

◆ IMU_ACCEL_Z_SENS

#define IMU_ACCEL_Z_SENS   MPU60X0_ACCEL_SENS[PX4FMU_ACCEL_RANGE]

Definition at line 67 of file imu_px4fmu.h.

◆ IMU_ACCEL_Z_SENS_DEN

#define IMU_ACCEL_Z_SENS_DEN   MPU60X0_ACCEL_SENS_FRAC[PX4FMU_ACCEL_RANGE][1]

Definition at line 69 of file imu_px4fmu.h.

◆ IMU_ACCEL_Z_SENS_NUM

#define IMU_ACCEL_Z_SENS_NUM   MPU60X0_ACCEL_SENS_FRAC[PX4FMU_ACCEL_RANGE][0]

Definition at line 68 of file imu_px4fmu.h.

◆ IMU_GYRO_P_SENS

#define IMU_GYRO_P_SENS   MPU60X0_GYRO_SENS[PX4FMU_GYRO_RANGE]

Definition at line 48 of file imu_px4fmu.h.

◆ IMU_GYRO_P_SENS_DEN

#define IMU_GYRO_P_SENS_DEN   MPU60X0_GYRO_SENS_FRAC[PX4FMU_GYRO_RANGE][1]

Definition at line 50 of file imu_px4fmu.h.

◆ IMU_GYRO_P_SENS_NUM

#define IMU_GYRO_P_SENS_NUM   MPU60X0_GYRO_SENS_FRAC[PX4FMU_GYRO_RANGE][0]

Definition at line 49 of file imu_px4fmu.h.

◆ IMU_GYRO_Q_SENS

#define IMU_GYRO_Q_SENS   MPU60X0_GYRO_SENS[PX4FMU_GYRO_RANGE]

Definition at line 51 of file imu_px4fmu.h.

◆ IMU_GYRO_Q_SENS_DEN

#define IMU_GYRO_Q_SENS_DEN   MPU60X0_GYRO_SENS_FRAC[PX4FMU_GYRO_RANGE][1]

Definition at line 53 of file imu_px4fmu.h.

◆ IMU_GYRO_Q_SENS_NUM

#define IMU_GYRO_Q_SENS_NUM   MPU60X0_GYRO_SENS_FRAC[PX4FMU_GYRO_RANGE][0]

Definition at line 52 of file imu_px4fmu.h.

◆ IMU_GYRO_R_SENS

#define IMU_GYRO_R_SENS   MPU60X0_GYRO_SENS[PX4FMU_GYRO_RANGE]

Definition at line 54 of file imu_px4fmu.h.

◆ IMU_GYRO_R_SENS_DEN

#define IMU_GYRO_R_SENS_DEN   MPU60X0_GYRO_SENS_FRAC[PX4FMU_GYRO_RANGE][1]

Definition at line 56 of file imu_px4fmu.h.

◆ IMU_GYRO_R_SENS_NUM

#define IMU_GYRO_R_SENS_NUM   MPU60X0_GYRO_SENS_FRAC[PX4FMU_GYRO_RANGE][0]

Definition at line 55 of file imu_px4fmu.h.

◆ PX4FMU_ACCEL_RANGE

#define PX4FMU_ACCEL_RANGE   MPU60X0_ACCEL_RANGE_16G

Definition at line 43 of file imu_px4fmu.h.

◆ PX4FMU_GYRO_RANGE

#define PX4FMU_GYRO_RANGE   MPU60X0_GYRO_RANGE_2000

Definition at line 38 of file imu_px4fmu.h.

Function Documentation

◆ imu_px4fmu_event()

◆ imu_px4fmu_init()

◆ imu_px4fmu_periodic()

void imu_px4fmu_periodic ( void  )

Definition at line 76 of file imu_px4fmu.c.

References ImuPx4fmu::hmc, hmc58xx_periodic(), imu_px4fmu, ImuPx4fmu::mpu, and mpu60x0_spi_periodic().

+ Here is the call graph for this function:

Variable Documentation

◆ imu_px4fmu

struct ImuPx4fmu imu_px4fmu

Definition at line 59 of file imu_px4fmu.c.

Referenced by imu_px4fmu_event(), imu_px4fmu_init(), and imu_px4fmu_periodic().