Paparazzi UAS  v5.8.2_stable-0-g6260b7c
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
imu_mpu60x0_i2c.c File Reference

Driver for IMU with only MPU60X0 via I2C. More...

#include <math.h>
#include "subsystems/imu.h"
#include "subsystems/abi.h"
#include "mcu_periph/i2c.h"
#include "led.h"
+ Include dependency graph for imu_mpu60x0_i2c.c:

Go to the source code of this file.

Macros

#define IMU_MPU60X0_GYRO_RANGE   MPU60X0_GYRO_RANGE_2000
 
#define IMU_MPU60X0_ACCEL_RANGE   MPU60X0_ACCEL_RANGE_16G
 
#define IMU_MPU60X0_I2C_ADDR   MPU60X0_ADDR
 

Functions

void imu_impl_init (void)
 must be defined by underlying hardware More...
 
void imu_periodic (void)
 optional. More...
 
void imu_mpu_i2c_event (void)
 

Variables

struct ImuMpu60x0 imu_mpu_i2c
 

Detailed Description

Driver for IMU with only MPU60X0 via I2C.

Definition in file imu_mpu60x0_i2c.c.

Macro Definition Documentation

#define IMU_MPU60X0_ACCEL_RANGE   MPU60X0_ACCEL_RANGE_16G

Definition at line 62 of file imu_mpu60x0_i2c.c.

Referenced by imu_impl_init().

#define IMU_MPU60X0_GYRO_RANGE   MPU60X0_GYRO_RANGE_2000

Definition at line 57 of file imu_mpu60x0_i2c.c.

Referenced by imu_impl_init().

#define IMU_MPU60X0_I2C_ADDR   MPU60X0_ADDR

Definition at line 67 of file imu_mpu60x0_i2c.c.

Referenced by imu_impl_init().

Function Documentation

void imu_impl_init ( void  )

must be defined by underlying hardware

must be defined by underlying hardware

Todo:
drdy int handling for adxl345
Todo:
eoc interrupt for itg3200, polling for now (including status reg)
Todo:
drdy int handling for adxl345
Todo:
eoc interrupt for itg3200, polling for now (including status reg)
Todo:
drdy int handling for adxl345

Definition at line 72 of file imu_mpu60x0_i2c.c.

References Mpu60x0Config::accel_range, Mpu60x0_I2c::config, Mpu60x0Config::dlpf_cfg, Mpu60x0Config::gyro_range, IMU_MPU60X0_ACCEL_RANGE, IMU_MPU60X0_GYRO_RANGE, IMU_MPU60X0_I2C_ADDR, imu_mpu_i2c, ImuMpu60x0::mpu, mpu60x0_i2c_init(), and Mpu60x0Config::smplrt_div.

+ Here is the call graph for this function:

void imu_periodic ( void  )

optional.

If not provided by implementation, empty function is used

optional.

Read the MPU60x0 every periodic call and the HMC58XX every 10th call.

Definition at line 82 of file imu_mpu60x0_i2c.c.

References imu_mpu_i2c, ImuMpu60x0::mpu, and mpu60x0_i2c_periodic().

+ Here is the call graph for this function:

Variable Documentation

struct ImuMpu60x0 imu_mpu_i2c

Definition at line 70 of file imu_mpu60x0_i2c.c.

Referenced by imu_impl_init(), imu_mpu_i2c_event(), and imu_periodic().