Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Driver for the Aspirin v1.x IMU using SPI for the accelerometer. More...
#include "modules/imu/imu_aspirin.h"
#include "modules/imu/imu.h"
#include "modules/core/abi.h"
#include "mcu_periph/i2c.h"
#include "mcu_periph/spi.h"
#include "generated/modules.h"
Go to the source code of this file.
Macros | |
#define | ASPIRIN_SPI_SLAVE_IDX SPI_SLAVE2 |
#define | ASPIRIN_SPI_DEV spi2 |
#define | ASPIRIN_I2C_DEV i2c2 |
#define | ASPIRIN_ACCEL_RATE ADXL345_RATE_800HZ |
#define | ASPIRIN_GYRO_LOWPASS ITG3200_DLPF_256HZ |
#define | ASPIRIN_GYRO_SMPLRT_DIV 14 |
Functions | |
void | imu_aspirin_init (void) |
void | imu_aspirin_periodic (void) |
void | imu_aspirin_event (void) |
Variables | |
struct ImuAspirin | imu_aspirin |
Driver for the Aspirin v1.x IMU using SPI for the accelerometer.
Definition in file imu_aspirin.c.
#define ASPIRIN_ACCEL_RATE ADXL345_RATE_800HZ |
Definition at line 53 of file imu_aspirin.c.
#define ASPIRIN_GYRO_LOWPASS ITG3200_DLPF_256HZ |
Definition at line 60 of file imu_aspirin.c.
#define ASPIRIN_GYRO_SMPLRT_DIV 14 |
Definition at line 61 of file imu_aspirin.c.
#define ASPIRIN_I2C_DEV i2c2 |
Definition at line 48 of file imu_aspirin.c.
#define ASPIRIN_SPI_DEV spi2 |
Definition at line 43 of file imu_aspirin.c.
#define ASPIRIN_SPI_SLAVE_IDX SPI_SLAVE2 |
Definition at line 38 of file imu_aspirin.c.
void imu_aspirin_event | ( | void | ) |
Definition at line 137 of file imu_aspirin.c.
References ImuAspirin::acc_adxl, adxl345_spi_event(), Adxl345_Spi::data, Hmc58xx::data, Itg3200::data, Adxl345_Spi::data_available, Hmc58xx::data_available, Itg3200::data_available, get_sys_time_usec(), ImuAspirin::gyro_itg, hmc58xx_event(), imu_aspirin, IMU_ASPIRIN_ID, itg3200_event(), ImuAspirin::mag_hmc, VECT3_COPY, Int32Vect3::x, Int32Vect3::y, and Int32Vect3::z.
void imu_aspirin_init | ( | void | ) |
Definition at line 70 of file imu_aspirin.c.
References ImuAspirin::acc_adxl, accel_scale, adxl345_spi_init(), ASPIRIN_ACCEL_RATE, ASPIRIN_GYRO_LOWPASS, ASPIRIN_GYRO_SMPLRT_DIV, ASPIRIN_I2C_DEV, ASPIRIN_SPI_DEV, ASPIRIN_SPI_SLAVE_IDX, Adxl345_Spi::config, Itg3200::config, Itg3200Config::dlpf_cfg, ImuAspirin::gyro_itg, gyro_scale, HMC58XX_ADDR, hmc58xx_init(), HMC_TYPE_5843, imu_aspirin, imu_aspirin_arch_init(), IMU_ASPIRIN_ID, imu_set_defaults_accel(), imu_set_defaults_gyro(), ITG3200_ADDR, itg3200_init(), ImuAspirin::mag_hmc, Adxl345Config::rate, Itg3200Config::smplrt_div, and Hmc58xx::type.
void imu_aspirin_periodic | ( | void | ) |
Definition at line 126 of file imu_aspirin.c.
References ImuAspirin::acc_adxl, adxl345_spi_periodic(), ImuAspirin::gyro_itg, hmc58xx_periodic(), imu_aspirin, itg3200_periodic(), and ImuAspirin::mag_hmc.
struct ImuAspirin imu_aspirin |
Definition at line 1 of file imu_aspirin.c.
Referenced by exti15_10_isr(), imu_aspirin_event(), imu_aspirin_init(), and imu_aspirin_periodic().