Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Driver for the Aspirin v1.x IMU using I2C for the accelerometer. More...
#include "modules/imu/imu_aspirin_i2c.h"
#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/i2c.h"
#include "generated/modules.h"
#include "mcu_periph/gpio.h"
Go to the source code of this file.
Macros | |
#define | ASPIRIN_I2C_DEV i2c2 |
#define | ASPIRIN_ACCEL_RATE ADXL345_RATE_50HZ |
adxl345 accelerometer output rate, lowpass is set to half of rate More... | |
#define | ASPIRIN_GYRO_LOWPASS ITG3200_DLPF_20HZ |
gyro internal lowpass frequency More... | |
#define | ASPIRIN_GYRO_SMPLRT_DIV 19 |
gyro sample rate divider More... | |
Functions | |
void | imu_aspirin_i2c_init (void) |
void | imu_aspirin_i2c_periodic (void) |
void | imu_aspirin_i2c_event (void) |
Variables | |
struct ImuAspirinI2c | imu_aspirin |
Driver for the Aspirin v1.x IMU using I2C for the accelerometer.
Definition in file imu_aspirin_i2c.c.
#define ASPIRIN_ACCEL_RATE ADXL345_RATE_50HZ |
adxl345 accelerometer output rate, lowpass is set to half of rate
Definition at line 47 of file imu_aspirin_i2c.c.
#define ASPIRIN_GYRO_LOWPASS ITG3200_DLPF_20HZ |
gyro internal lowpass frequency
Definition at line 60 of file imu_aspirin_i2c.c.
#define ASPIRIN_GYRO_SMPLRT_DIV 19 |
gyro sample rate divider
Definition at line 73 of file imu_aspirin_i2c.c.
#define ASPIRIN_I2C_DEV i2c2 |
Definition at line 40 of file imu_aspirin_i2c.c.
void imu_aspirin_i2c_event | ( | void | ) |
Definition at line 152 of file imu_aspirin_i2c.c.
References ImuAspirinI2c::acc_adxl, adxl345_i2c_event(), Adxl345_I2c::data, Hmc58xx::data, Itg3200::data, Adxl345_I2c::data_available, Hmc58xx::data_available, Itg3200::data_available, get_sys_time_usec(), ImuAspirinI2c::gyro_itg, hmc58xx_event(), imu_aspirin, IMU_ASPIRIN_ID, itg3200_event(), ImuAspirinI2c::mag_hmc, VECT3_COPY, Int32Vect3::x, Int32Vect3::y, and Int32Vect3::z.
void imu_aspirin_i2c_init | ( | void | ) |
Definition at line 85 of file imu_aspirin_i2c.c.
References ImuAspirinI2c::acc_adxl, accel_scale, ADXL345_ADDR, adxl345_i2c_init(), ASPIRIN_ACCEL_RATE, ASPIRIN_GYRO_LOWPASS, ASPIRIN_GYRO_SMPLRT_DIV, ASPIRIN_I2C_DEV, Adxl345_I2c::config, Itg3200::config, Itg3200Config::dlpf_cfg, gpio_set(), gpio_setup_output(), ImuAspirinI2c::gyro_itg, gyro_scale, HMC58XX_ADDR, hmc58xx_init(), HMC_TYPE_5843, imu_aspirin, IMU_ASPIRIN_ID, imu_set_defaults_accel(), imu_set_defaults_gyro(), ITG3200_ADDR, itg3200_init(), ImuAspirinI2c::mag_hmc, Adxl345Config::rate, Itg3200Config::smplrt_div, and Hmc58xx::type.
void imu_aspirin_i2c_periodic | ( | void | ) |
Definition at line 141 of file imu_aspirin_i2c.c.
References ImuAspirinI2c::acc_adxl, adxl345_i2c_periodic(), ImuAspirinI2c::gyro_itg, hmc58xx_periodic(), imu_aspirin, itg3200_periodic(), and ImuAspirinI2c::mag_hmc.
struct ImuAspirinI2c imu_aspirin |
Definition at line 1 of file imu_aspirin_i2c.c.
Referenced by imu_aspirin_i2c_event(), imu_aspirin_i2c_init(), and imu_aspirin_i2c_periodic().