Paparazzi UAS  v5.12_stable-4-g9b43e9b
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
imu_mpu9250_i2c.h File Reference

IMU driver for the MPU9250 using I2C. More...

#include "std.h"
#include "generated/airframe.h"
#include "subsystems/imu.h"
#include "peripherals/mpu9250_i2c.h"
+ Include dependency graph for imu_mpu9250_i2c.h:

Go to the source code of this file.

Data Structures

struct  ImuMpu9250
 

Macros

#define IMU_MPU9250_GYRO_RANGE   MPU9250_GYRO_RANGE_1000
 
#define IMU_MPU9250_ACCEL_RANGE   MPU9250_ACCEL_RANGE_8G
 
#define IMU_GYRO_P_SENS   MPU9250_GYRO_SENS[IMU_MPU9250_GYRO_RANGE]
 
#define IMU_GYRO_P_SENS_NUM   MPU9250_GYRO_SENS_FRAC[IMU_MPU9250_GYRO_RANGE][0]
 
#define IMU_GYRO_P_SENS_DEN   MPU9250_GYRO_SENS_FRAC[IMU_MPU9250_GYRO_RANGE][1]
 
#define IMU_GYRO_Q_SENS   MPU9250_GYRO_SENS[IMU_MPU9250_GYRO_RANGE]
 
#define IMU_GYRO_Q_SENS_NUM   MPU9250_GYRO_SENS_FRAC[IMU_MPU9250_GYRO_RANGE][0]
 
#define IMU_GYRO_Q_SENS_DEN   MPU9250_GYRO_SENS_FRAC[IMU_MPU9250_GYRO_RANGE][1]
 
#define IMU_GYRO_R_SENS   MPU9250_GYRO_SENS[IMU_MPU9250_GYRO_RANGE]
 
#define IMU_GYRO_R_SENS_NUM   MPU9250_GYRO_SENS_FRAC[IMU_MPU9250_GYRO_RANGE][0]
 
#define IMU_GYRO_R_SENS_DEN   MPU9250_GYRO_SENS_FRAC[IMU_MPU9250_GYRO_RANGE][1]
 
#define IMU_ACCEL_X_SENS   MPU9250_ACCEL_SENS[IMU_MPU9250_ACCEL_RANGE]
 
#define IMU_ACCEL_X_SENS_NUM   MPU9250_ACCEL_SENS_FRAC[IMU_MPU9250_ACCEL_RANGE][0]
 
#define IMU_ACCEL_X_SENS_DEN   MPU9250_ACCEL_SENS_FRAC[IMU_MPU9250_ACCEL_RANGE][1]
 
#define IMU_ACCEL_Y_SENS   MPU9250_ACCEL_SENS[IMU_MPU9250_ACCEL_RANGE]
 
#define IMU_ACCEL_Y_SENS_NUM   MPU9250_ACCEL_SENS_FRAC[IMU_MPU9250_ACCEL_RANGE][0]
 
#define IMU_ACCEL_Y_SENS_DEN   MPU9250_ACCEL_SENS_FRAC[IMU_MPU9250_ACCEL_RANGE][1]
 
#define IMU_ACCEL_Z_SENS   MPU9250_ACCEL_SENS[IMU_MPU9250_ACCEL_RANGE]
 
#define IMU_ACCEL_Z_SENS_NUM   MPU9250_ACCEL_SENS_FRAC[IMU_MPU9250_ACCEL_RANGE][0]
 
#define IMU_ACCEL_Z_SENS_DEN   MPU9250_ACCEL_SENS_FRAC[IMU_MPU9250_ACCEL_RANGE][1]
 

Functions

void imu_mpu9250_init (void)
 
void imu_mpu9250_periodic (void)
 
void imu_mpu9250_event (void)
 

Variables

struct ImuMpu9250 imu_mpu9250
 

Detailed Description

IMU driver for the MPU9250 using I2C.

Definition in file imu_mpu9250_i2c.h.


Data Structure Documentation

struct ImuMpu9250

Definition at line 73 of file imu_mpu9250_i2c.h.

+ Collaboration diagram for ImuMpu9250:
Data Fields
struct Mpu9250_I2c mpu
struct Mpu9250_Spi mpu
volatile bool slave4_ready
volatile uint8_t wait_slave4_rx_buf[2]
struct spi_transaction wait_slave4_trans
volatile uint8_t wait_slave4_tx_buf[1]

Macro Definition Documentation

#define IMU_ACCEL_X_SENS   MPU9250_ACCEL_SENS[IMU_MPU9250_ACCEL_RANGE]

Definition at line 61 of file imu_mpu9250_i2c.h.

#define IMU_ACCEL_X_SENS_DEN   MPU9250_ACCEL_SENS_FRAC[IMU_MPU9250_ACCEL_RANGE][1]

Definition at line 63 of file imu_mpu9250_i2c.h.

#define IMU_ACCEL_X_SENS_NUM   MPU9250_ACCEL_SENS_FRAC[IMU_MPU9250_ACCEL_RANGE][0]

Definition at line 62 of file imu_mpu9250_i2c.h.

#define IMU_ACCEL_Y_SENS   MPU9250_ACCEL_SENS[IMU_MPU9250_ACCEL_RANGE]

Definition at line 64 of file imu_mpu9250_i2c.h.

#define IMU_ACCEL_Y_SENS_DEN   MPU9250_ACCEL_SENS_FRAC[IMU_MPU9250_ACCEL_RANGE][1]

Definition at line 66 of file imu_mpu9250_i2c.h.

#define IMU_ACCEL_Y_SENS_NUM   MPU9250_ACCEL_SENS_FRAC[IMU_MPU9250_ACCEL_RANGE][0]

Definition at line 65 of file imu_mpu9250_i2c.h.

#define IMU_ACCEL_Z_SENS   MPU9250_ACCEL_SENS[IMU_MPU9250_ACCEL_RANGE]

Definition at line 67 of file imu_mpu9250_i2c.h.

#define IMU_ACCEL_Z_SENS_DEN   MPU9250_ACCEL_SENS_FRAC[IMU_MPU9250_ACCEL_RANGE][1]

Definition at line 69 of file imu_mpu9250_i2c.h.

#define IMU_ACCEL_Z_SENS_NUM   MPU9250_ACCEL_SENS_FRAC[IMU_MPU9250_ACCEL_RANGE][0]

Definition at line 68 of file imu_mpu9250_i2c.h.

#define IMU_GYRO_P_SENS   MPU9250_GYRO_SENS[IMU_MPU9250_GYRO_RANGE]

Definition at line 48 of file imu_mpu9250_i2c.h.

#define IMU_GYRO_P_SENS_DEN   MPU9250_GYRO_SENS_FRAC[IMU_MPU9250_GYRO_RANGE][1]

Definition at line 50 of file imu_mpu9250_i2c.h.

#define IMU_GYRO_P_SENS_NUM   MPU9250_GYRO_SENS_FRAC[IMU_MPU9250_GYRO_RANGE][0]

Definition at line 49 of file imu_mpu9250_i2c.h.

#define IMU_GYRO_Q_SENS   MPU9250_GYRO_SENS[IMU_MPU9250_GYRO_RANGE]

Definition at line 51 of file imu_mpu9250_i2c.h.

#define IMU_GYRO_Q_SENS_DEN   MPU9250_GYRO_SENS_FRAC[IMU_MPU9250_GYRO_RANGE][1]

Definition at line 53 of file imu_mpu9250_i2c.h.

#define IMU_GYRO_Q_SENS_NUM   MPU9250_GYRO_SENS_FRAC[IMU_MPU9250_GYRO_RANGE][0]

Definition at line 52 of file imu_mpu9250_i2c.h.

#define IMU_GYRO_R_SENS   MPU9250_GYRO_SENS[IMU_MPU9250_GYRO_RANGE]

Definition at line 54 of file imu_mpu9250_i2c.h.

#define IMU_GYRO_R_SENS_DEN   MPU9250_GYRO_SENS_FRAC[IMU_MPU9250_GYRO_RANGE][1]

Definition at line 56 of file imu_mpu9250_i2c.h.

#define IMU_GYRO_R_SENS_NUM   MPU9250_GYRO_SENS_FRAC[IMU_MPU9250_GYRO_RANGE][0]

Definition at line 55 of file imu_mpu9250_i2c.h.

#define IMU_MPU9250_ACCEL_RANGE   MPU9250_ACCEL_RANGE_8G

Definition at line 43 of file imu_mpu9250_i2c.h.

Referenced by imu_mpu9250_init().

#define IMU_MPU9250_GYRO_RANGE   MPU9250_GYRO_RANGE_1000

Definition at line 39 of file imu_mpu9250_i2c.h.

Referenced by imu_mpu9250_init().

Function Documentation

void imu_mpu9250_event ( void  )

Definition at line 47 of file imu_mpu9250.c.

void imu_mpu9250_init ( void  )

Definition at line 37 of file imu_mpu9250.c.

void imu_mpu9250_periodic ( void  )

Definition at line 42 of file imu_mpu9250.c.

Variable Documentation

struct ImuMpu9250 imu_mpu9250

Definition at line 100 of file imu_mpu9250_i2c.c.