Paparazzi UAS
v5.8.2_stable-0-g6260b7c
Paparazzi is a free software Unmanned Aircraft System.
|
#include <math.h>
#include "imu_aspirin2.h"
#include "mcu_periph/i2c.h"
#include "led.h"
#include "subsystems/abi.h"
#include "mcu_periph/uart.h"
#include "messages.h"
#include "subsystems/datalink/downlink.h"
#include "../../peripherals/mpu60x0.h"
Go to the source code of this file.
Macros | |
#define | PERIODIC_FREQUENCY 60 |
#define | MPU_OFFSET_GYRO 9 |
#define | MPU_OFFSET_ACC 1 |
Functions | |
void | imu_impl_init (void) |
must be defined by underlying hardware More... | |
void | imu_periodic (void) |
optional. More... | |
void | aspirin2_subsystem_downlink_raw (void) |
void | aspirin2_subsystem_event (void) |
Variables | |
struct i2c_transaction | aspirin2_mpu60x0 |
struct Imu | imu |
global IMU state More... | |
#define MPU_OFFSET_ACC 1 |
Referenced by aspirin2_subsystem_event().
#define MPU_OFFSET_GYRO 9 |
Referenced by aspirin2_subsystem_event().
#define PERIODIC_FREQUENCY 60 |
Definition at line 47 of file imu_aspirin2.c.
Referenced by guidance_flip_run(), guidance_indi_filter_accel(), guidance_indi_filter_attitude(), imu_periodic(), init_ap(), lms_estimation(), main(), main_init(), main_periodic(), main_periodic_task(), stabilization_attitude_run(), and stabilization_indi_second_order_filter().
void aspirin2_subsystem_downlink_raw | ( | void | ) |
Definition at line 176 of file imu_aspirin2.c.
References Imu::accel_unscaled, DefaultChannel, DefaultDevice, Imu::gyro_unscaled, imu, Imu::mag_unscaled, Int32Rates::p, Int32Rates::q, Int32Rates::r, Int32Vect3::x, Int32Vect3::y, and Int32Vect3::z.
void aspirin2_subsystem_event | ( | void | ) |
Definition at line 185 of file imu_aspirin2.c.
References Imu::accel, Imu::accel_unscaled, aspirin2_mpu60x0, i2c_transaction::buf, get_sys_time_usec(), Imu::gyro, Imu::gyro_unscaled, I2CTransDone, I2CTransSuccess, imu, IMU_PPZUAV_ID, imu_scale_accel(), imu_scale_gyro(), MPU_OFFSET_ACC, MPU_OFFSET_GYRO, RATES_ASSIGN, i2c_transaction::status, and VECT3_ASSIGN.
void imu_impl_init | ( | void | ) |
must be defined by underlying hardware
Definition at line 50 of file imu_aspirin2.c.
References aspirin2_mpu60x0, i2c_transaction::buf, i2c_transmit(), I2CTransPending, MPU60X0_ADDR, MPU60X0_REG_ACCEL_CONFIG, MPU60X0_REG_CONFIG, MPU60X0_REG_GYRO_CONFIG, MPU60X0_REG_PWR_MGMT_1, MPU60X0_REG_SMPLRT_DIV, and i2c_transaction::status.
void imu_periodic | ( | void | ) |
optional.
If not provided by implementation, empty function is used
Definition at line 149 of file imu_aspirin2.c.
References aspirin2_mpu60x0, i2c_transaction::buf, i2c_transceive(), MPU60X0_ADDR, and MPU60X0_REG_INT_STATUS.
struct i2c_transaction aspirin2_mpu60x0 |
Definition at line 39 of file imu_aspirin2.c.
Referenced by aspirin2_subsystem_event(), imu_impl_init(), and imu_periodic().
struct Imu imu |
global IMU state
Definition at line 43 of file imu_aspirin2.c.
Referenced by ahrs_aligner_run(), ahrs_gx3_init(), ahrs_gx3_publish_imu(), aspirin2_subsystem_downlink_raw(), aspirin2_subsystem_event(), b2_hff_propagate(), direct_memory_logger_periodic(), file_logger_periodic(), gx3_packet_read_message(), handle_ins_msg(), high_speed_logger_spi_link_periodic(), imu_apogee_downlink_raw(), imu_apogee_event(), imu_aspirin2_event(), imu_aspirin_event(), imu_aspirin_i2c_event(), imu_b2_event(), imu_bebop_event(), imu_christa_event(), imu_drotek2_event(), imu_feed_gyro_accel(), imu_feed_mag(), imu_gl1_i2c_event(), imu_hbmini_downlink_raw(), imu_hbmini_event(), imu_krooz_downlink_raw(), imu_krooz_event(), imu_mpu9250_event(), imu_mpu_hmc_event(), imu_mpu_i2c_event(), imu_mpu_spi_event(), imu_navgo_downlink_raw(), imu_navgo_event(), imu_navstik_event(), imu_nps_event(), imu_periodic(), imu_ppzuav_event(), imu_px4fmu_event(), imu_quality_assessment_periodic(), imu_um6_publish(), imu_umarim_downlink_raw(), imu_umarim_event(), init_ap(), ins_int_propagate(), logger_uart_periodic(), mag_hmc58xx_module_event(), main_init(), nav_catapult_highrate_module(), navdata_publish_imu(), send_imu_mag_current(), and UM6_packet_read_message().