Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
imu_swing.c File Reference
#include "subsystems/imu.h"
#include "subsystems/abi.h"
#include "mcu_periph/i2c.h"
+ Include dependency graph for imu_swing.c:

Go to the source code of this file.

Macros

#define SWING_MPU_I2C_DEV   i2c0
 

Functions

void imu_swing_init (void)
 Navstik IMU initializtion of the MPU-60x0 and HMC58xx. More...
 
void imu_swing_periodic (void)
 Handle all the periodic tasks of the Navstik IMU components. More...
 
void imu_swing_event (void)
 Handle all the events of the Navstik IMU components. More...
 

Variables

struct ImuSwing imu_swing
 Basic Navstik IMU data. More...
 

Detailed Description

Driver for the Swing accelerometer and gyroscope

Definition in file imu_swing.c.

Macro Definition Documentation

◆ SWING_MPU_I2C_DEV

#define SWING_MPU_I2C_DEV   i2c0

Definition at line 35 of file imu_swing.c.

Function Documentation

◆ imu_swing_event()

void imu_swing_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 92 of file imu_swing.c.

References Imu::accel, Imu::accel_unscaled, Mpu60x0_I2c::data_accel, Mpu60x0_I2c::data_available, Mpu60x0_I2c::data_rates, get_sys_time_usec(), Imu::gyro, Imu::gyro_unscaled, imu, IMU_BOARD_ID, imu_scale_accel(), imu_scale_gyro(), imu_swing, ImuSwing::mpu, mpu60x0_i2c_event(), RATES_ASSIGN, and VECT3_ASSIGN.

+ Here is the call graph for this function:

◆ imu_swing_init()

void imu_swing_init ( void  )

Navstik IMU initializtion of the MPU-60x0 and HMC58xx.

Definition at line 68 of file imu_swing.c.

References Mpu60x0Config::accel_range, Mpu60x0_I2c::config, Mpu60x0Config::dlpf_cfg, Mpu60x0Config::gyro_range, imu_swing, ImuSwing::mpu, MPU60X0_ADDR, mpu60x0_i2c_init(), Mpu60x0Config::smplrt_div, SWING_ACCEL_RANGE, SWING_GYRO_RANGE, and SWING_MPU_I2C_DEV.

+ Here is the call graph for this function:

◆ imu_swing_periodic()

void imu_swing_periodic ( void  )

Handle all the periodic tasks of the Navstik IMU components.

Read the MPU60x0 every periodic call

Definition at line 82 of file imu_swing.c.

References imu_swing, ImuSwing::mpu, and mpu60x0_i2c_periodic().

+ Here is the call graph for this function:

Variable Documentation

◆ imu_swing

struct ImuSwing imu_swing

Basic Navstik IMU data.

Definition at line 63 of file imu_swing.c.

Referenced by imu_swing_event(), imu_swing_init(), and imu_swing_periodic().