Paparazzi UAS
v5.8.2_stable-0-g6260b7c
Paparazzi is a free software Unmanned Aircraft System.
|
Paparazzi specific wrapper to run floating point complementary filter. More...
#include "subsystems/ahrs/ahrs_float_dcm_wrapper.h"
#include "subsystems/ahrs.h"
#include "subsystems/abi.h"
#include "state.h"
Go to the source code of this file.
Macros | |
#define | AHRS_DCM_OUTPUT_ENABLED TRUE |
#define | AHRS_DCM_IMU_ID ABI_BROADCAST |
ABI binding for IMU data. More... | |
#define | AHRS_DCM_MAG_ID AHRS_DCM_IMU_ID |
ABI binding for magnetometer data. More... | |
Functions | |
static void | set_body_orientation_and_rates (void) |
Compute body orientation and rates from imu orientation and rates. More... | |
static void | gyro_cb (uint8_t sender_id, uint32_t stamp, struct Int32Rates *gyro) |
static void | accel_cb (uint8_t sender_id, uint32_t stamp, struct Int32Vect3 *accel) |
static void | mag_cb (uint8_t sender_id, uint32_t stamp, struct Int32Vect3 *mag) |
static void | aligner_cb (uint8_t sender_id, uint32_t stamp, struct Int32Rates *lp_gyro, struct Int32Vect3 *lp_accel, struct Int32Vect3 *lp_mag) |
static void | body_to_imu_cb (uint8_t sender_id, struct FloatQuat *q_b2i_f) |
static void | gps_cb (uint8_t sender_id, uint32_t stamp, struct GpsState *gps_s) |
static bool_t | ahrs_dcm_enable_output (bool_t enable) |
void | ahrs_dcm_register (void) |
Variables | |
static bool_t | ahrs_dcm_output_enabled |
if TRUE with push the estimation results to the state interface More... | |
static uint32_t | ahrs_dcm_last_stamp |
static uint8_t | ahrs_dcm_id = AHRS_COMP_ID_DCM |
static abi_event | gyro_ev |
static abi_event | accel_ev |
static abi_event | mag_ev |
static abi_event | aligner_ev |
static abi_event | body_to_imu_ev |
static abi_event | gps_ev |
Paparazzi specific wrapper to run floating point complementary filter.
Definition in file ahrs_float_dcm_wrapper.c.
#define AHRS_DCM_IMU_ID ABI_BROADCAST |
ABI binding for IMU data.
Used for gyro and accel ABI messages.
Definition at line 64 of file ahrs_float_dcm_wrapper.c.
Referenced by ahrs_dcm_register().
#define AHRS_DCM_MAG_ID AHRS_DCM_IMU_ID |
ABI binding for magnetometer data.
Used for IMU_MAG_INT32 ABI messages.
Definition at line 71 of file ahrs_float_dcm_wrapper.c.
Referenced by ahrs_dcm_register().
#define AHRS_DCM_OUTPUT_ENABLED TRUE |
Definition at line 33 of file ahrs_float_dcm_wrapper.c.
Referenced by ahrs_dcm_register().
|
static |
Definition at line 107 of file ahrs_float_dcm_wrapper.c.
References ahrs_dcm, ahrs_dcm_update_accel(), and AhrsFloatDCM::is_aligned.
Referenced by ahrs_dcm_register().
|
static |
Definition at line 150 of file ahrs_float_dcm_wrapper.c.
References ahrs_dcm_output_enabled.
Referenced by ahrs_dcm_register().
void ahrs_dcm_register | ( | void | ) |
Definition at line 176 of file ahrs_float_dcm_wrapper.c.
References ABI_BROADCAST, accel_cb(), accel_ev, ahrs_dcm_enable_output(), AHRS_DCM_IMU_ID, ahrs_dcm_init(), AHRS_DCM_MAG_ID, AHRS_DCM_OUTPUT_ENABLED, ahrs_register_impl(), aligner_cb(), aligner_ev, body_to_imu_cb(), body_to_imu_ev, DefaultPeriodic, gps_cb(), gps_ev, gyro_cb(), gyro_ev, mag_cb(), mag_ev, and register_periodic_telemetry().
|
static |
Definition at line 125 of file ahrs_float_dcm_wrapper.c.
References ahrs_dcm, ahrs_dcm_align(), AhrsFloatDCM::is_aligned, and set_body_orientation_and_rates().
Referenced by ahrs_dcm_register().
Definition at line 137 of file ahrs_float_dcm_wrapper.c.
References ahrs_dcm_set_body_to_imu_quat().
Referenced by ahrs_dcm_register().
Definition at line 143 of file ahrs_float_dcm_wrapper.c.
References ahrs_dcm_update_gps().
Referenced by ahrs_dcm_register().
|
static |
Definition at line 82 of file ahrs_float_dcm_wrapper.c.
References ahrs_dcm, ahrs_dcm_propagate(), AHRS_PROPAGATE_FREQUENCY, AhrsFloatDCM::is_aligned, PRINT_CONFIG_MSG(), and set_body_orientation_and_rates().
Referenced by ahrs_dcm_register().
|
static |
Definition at line 116 of file ahrs_float_dcm_wrapper.c.
References ahrs_dcm, ahrs_dcm_update_mag(), and AhrsFloatDCM::is_aligned.
Referenced by ahrs_dcm_register().
|
static |
Compute body orientation and rates from imu orientation and rates.
Definition at line 159 of file ahrs_float_dcm_wrapper.c.
References ahrs_dcm, AhrsFloatDCM::body_to_imu, float_rmat_comp_inv(), float_rmat_of_eulers, float_rmat_transp_ratemult(), AhrsFloatDCM::imu_rate, AhrsFloatDCM::ltp_to_imu_euler, orientationGetRMat_f(), stateSetBodyRates_f(), and stateSetNedToBodyRMat_f().
Referenced by aligner_cb(), and gyro_cb().
|
static |
Definition at line 75 of file ahrs_float_dcm_wrapper.c.
Referenced by ahrs_dcm_register().
|
static |
Definition at line 40 of file ahrs_float_dcm_wrapper.c.
|
static |
Definition at line 39 of file ahrs_float_dcm_wrapper.c.
|
static |
if TRUE with push the estimation results to the state interface
Definition at line 38 of file ahrs_float_dcm_wrapper.c.
Referenced by ahrs_dcm_enable_output().
|
static |
Definition at line 77 of file ahrs_float_dcm_wrapper.c.
Referenced by ahrs_dcm_register().
|
static |
Definition at line 78 of file ahrs_float_dcm_wrapper.c.
Referenced by ahrs_dcm_register().
|
static |
Definition at line 79 of file ahrs_float_dcm_wrapper.c.
Referenced by ahrs_dcm_register().
|
static |
Definition at line 74 of file ahrs_float_dcm_wrapper.c.
Referenced by ahrs_dcm_register().
|
static |
Definition at line 76 of file ahrs_float_dcm_wrapper.c.
Referenced by ahrs_dcm_register().