Paparazzi UAS
v5.12_stable-4-g9b43e9b
Paparazzi is a free software Unmanned Aircraft System.
|
Interface for the Aspirin v1.x IMU using SPI for the accelerometer. More...
#include "generated/airframe.h"
#include "subsystems/imu.h"
#include "peripherals/itg3200.h"
#include "peripherals/hmc58xx.h"
#include "peripherals/adxl345_spi.h"
#include "subsystems/imu/imu_aspirin_defaults.h"
#include "subsystems/imu/imu_aspirin_arch.h"
Go to the source code of this file.
Data Structures | |
struct | ImuAspirin |
Functions | |
void | imu_aspirin_init (void) |
void | imu_aspirin_periodic (void) |
void | imu_aspirin_event (void) |
void | imu_aspirin_arch_init (void) |
Variables | |
struct ImuAspirin | imu_aspirin |
Interface for the Aspirin v1.x IMU using SPI for the accelerometer.
Interface for the Aspirin v1.x IMU using I2C for the accelerometer.
Definition in file imu_aspirin.h.
struct ImuAspirin |
Definition at line 42 of file imu_aspirin.h.
Data Fields | ||
---|---|---|
struct Adxl345_Spi | acc_adxl | |
volatile uint8_t | accel_valid | |
struct Itg3200 | gyro_itg | |
volatile uint8_t | gyro_valid | |
struct Hmc58xx | mag_hmc | |
volatile uint8_t | mag_valid |
void imu_aspirin_arch_init | ( | void | ) |
Definition at line 19 of file imu_aspirin_arch.c.
References ASPIRIN_GYRO_EOC_IODIR, ASPIRIN_GYRO_EOC_PIN, GPIO12, GPIO13, GPIO14, GPIO2, GPIOB, and GPIOC.
Referenced by imu_aspirin_init().
void imu_aspirin_event | ( | void | ) |
Definition at line 118 of file imu_aspirin.c.
References ImuAspirin::acc_adxl, Imu::accel, Imu::accel_unscaled, ImuAspirin::accel_valid, adxl345_spi_event(), Adxl345_Spi::data, Hmc58xx::data, Itg3200::data, Adxl345_Spi::data_available, Hmc58xx::data_available, Itg3200::data_available, get_sys_time_usec(), Imu::gyro, ImuAspirin::gyro_itg, Imu::gyro_unscaled, ImuAspirin::gyro_valid, hmc58xx_event(), imu, imu_aspirin, IMU_ASPIRIN_ID, imu_scale_accel(), imu_scale_gyro(), imu_scale_mag(), itg3200_event(), Imu::mag, ImuAspirin::mag_hmc, Imu::mag_unscaled, ImuAspirin::mag_valid, RATES_COPY, VECT3_COPY, Int32Vect3::x, Int32Vect3::y, and Int32Vect3::z.
void imu_aspirin_init | ( | void | ) |
Definition at line 68 of file imu_aspirin.c.
References ImuAspirin::acc_adxl, ImuAspirin::accel_valid, 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, ImuAspirin::gyro_valid, HMC58XX_ADDR, hmc58xx_init(), HMC_TYPE_5843, imu_aspirin_arch_init(), ITG3200_ADDR, itg3200_init(), ImuAspirin::mag_hmc, ImuAspirin::mag_valid, Adxl345Config::rate, Itg3200Config::smplrt_div, and Hmc58xx::type.
void imu_aspirin_periodic | ( | void | ) |
Definition at line 107 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 66 of file imu_aspirin.c.