Paparazzi UAS  v5.10_stable-5-g83a0da5-dirty
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
imu_bebop.c File Reference

Driver for the Bebop (2) magnetometer, accelerometer and gyroscope. More...

#include "subsystems/imu.h"
#include "subsystems/abi.h"
#include "mcu_periph/i2c.h"
+ Include dependency graph for imu_bebop.c:

Go to the source code of this file.

Macros

#define BEBOP_MAG_I2C_DEV   i2c1
 
#define BEBOP_MPU_I2C_DEV   i2c2
 
#define BEBOP_GYRO_RANGE   MPU60X0_GYRO_RANGE_1000
 
#define BEBOP_ACCEL_RANGE   MPU60X0_ACCEL_RANGE_8G
 

Functions

void imu_bebop_init (void)
 Navstik IMU initializtion of the MPU-60x0 and HMC58xx. More...
 
void imu_bebop_periodic (void)
 Handle all the periodic tasks of the Navstik IMU components. More...
 
void imu_bebop_event (void)
 Handle all the events of the Navstik IMU components. More...
 

Variables

struct ImuBebop imu_bebop
 Basic Navstik IMU data. More...
 

Detailed Description

Driver for the Bebop (2) magnetometer, accelerometer and gyroscope.

Definition in file imu_bebop.c.

Macro Definition Documentation

#define BEBOP_ACCEL_RANGE   MPU60X0_ACCEL_RANGE_8G

Definition at line 69 of file imu_bebop.c.

Referenced by imu_bebop_init().

#define BEBOP_GYRO_RANGE   MPU60X0_GYRO_RANGE_1000

Definition at line 64 of file imu_bebop.c.

Referenced by imu_bebop_init().

#define BEBOP_MAG_I2C_DEV   i2c1

Definition at line 34 of file imu_bebop.c.

Referenced by imu_bebop_init().

#define BEBOP_MPU_I2C_DEV   i2c2

Definition at line 39 of file imu_bebop.c.

Referenced by imu_bebop_init().

Function Documentation

void imu_bebop_event ( void  )

Handle all the events of the Navstik IMU components.

When there is data available convert it to the correct axis and save it in the imu structure.

Definition at line 109 of file imu_bebop.c.

References Imu::accel, Imu::accel_unscaled, ImuBebop::ak, ak8963_event(), Ak8963::data, Mpu60x0_I2c::data_accel, Mpu60x0_I2c::data_available, Ak8963::data_available, Mpu60x0_I2c::data_rates, get_sys_time_usec(), Imu::gyro, Imu::gyro_unscaled, imu, imu_bebop, IMU_BOARD_ID, imu_scale_accel(), imu_scale_gyro(), imu_scale_mag(), Imu::mag, Imu::mag_unscaled, ImuBebop::mpu, mpu60x0_i2c_event(), RATES_ASSIGN, and VECT3_ASSIGN.

+ Here is the call graph for this function:

void imu_bebop_init ( void  )
void imu_bebop_periodic ( void  )

Handle all the periodic tasks of the Navstik IMU components.

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

Definition at line 96 of file imu_bebop.c.

References ImuBebop::ak, ak8963_periodic(), imu_bebop, ImuBebop::mpu, and mpu60x0_i2c_periodic().

+ Here is the call graph for this function:

Variable Documentation

struct ImuBebop imu_bebop

Basic Navstik IMU data.

Definition at line 74 of file imu_bebop.c.

Referenced by imu_bebop_event(), and imu_bebop_periodic().