![]() |
Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Paparazzi specific wrapper to run floating point complementary filter. More...
#include "modules/ahrs/ahrs_float_dcm_wrapper.h"
#include "modules/ahrs/ahrs.h"
#include "modules/core/abi.h"
#include "state.h"
#include "modules/datalink/telemetry.h"
#include "mcu_periph/sys_time.h"
Go to the source code of this file.
Macros | |
#define | AHRS_DCM_IMU_ID ABI_BROADCAST |
ABI binding for IMU data. | |
#define | AHRS_DCM_MAG_ID AHRS_DCM_IMU_ID |
ABI binding for magnetometer data. | |
#define | AHRS_DCM_GPS_ID GPS_MULTI_ID |
ABI binding for gps data. | |
Functions | |
static void | set_body_orientation_and_rates (void) |
Compute body orientation and rates from imu orientation and rates. | |
static void | send_filter_status (struct transport_tx *trans, struct link_device *dev) |
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 | gps_cb (uint8_t sender_id, uint32_t stamp, struct GpsState *gps_s) |
void | ahrs_dcm_wrapper_init (void) |
void | ahrs_float_dcm_wrapper_enable (uint8_t enable) |
Paparazzi specific wrapper to run floating point complementary filter.
Definition in file ahrs_float_dcm_wrapper.c.
#define AHRS_DCM_GPS_ID GPS_MULTI_ID |
ABI binding for gps data.
Used for GPS ABI messages.
Definition at line 74 of 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 60 of file ahrs_float_dcm_wrapper.c.
#define AHRS_DCM_MAG_ID AHRS_DCM_IMU_ID |
ABI binding for magnetometer data.
Used for IMU_MAG_INT32 ABI messages.
Definition at line 67 of file ahrs_float_dcm_wrapper.c.
|
static |
Definition at line 112 of file ahrs_float_dcm_wrapper.c.
References ACCELS_FLOAT_OF_BFP, ahrs_dcm, ahrs_dcm_update_accel(), foo, and AhrsFloatDCM::is_aligned.
Referenced by ahrs_dcm_wrapper_init().
Definition at line 175 of file ahrs_float_dcm_wrapper.c.
References ABI_BROADCAST, accel_cb(), accel_ev, AHRS_DCM_GPS_ID, AHRS_DCM_IMU_ID, ahrs_dcm_init(), AHRS_DCM_MAG_ID, ahrs_float_dcm_wrapper_enable(), AHRS_PRIMARY, aligner_cb(), aligner_ev, DefaultPeriodic, foo, gps_cb(), gps_ev, gyro_cb(), gyro_ev, mag_cb(), mag_ev, register_periodic_telemetry(), and send_filter_status().
Definition at line 198 of file ahrs_float_dcm_wrapper.c.
References ahrs_dcm_enable, foo, STATE_INPUT_ATTITUDE, STATE_INPUT_RATES, and stateSetInputFilter().
Referenced by ahrs_dcm_wrapper_init().
|
static |
Definition at line 134 of file ahrs_float_dcm_wrapper.c.
References ACCELS_FLOAT_OF_BFP, ahrs_dcm, ahrs_dcm_align(), foo, AhrsFloatDCM::is_aligned, MAGS_FLOAT_OF_BFP, RATES_FLOAT_OF_BFP, and set_body_orientation_and_rates().
Referenced by ahrs_dcm_wrapper_init().
Definition at line 154 of file ahrs_float_dcm_wrapper.c.
References ahrs_dcm_update_gps(), and foo.
Referenced by ahrs_dcm_wrapper_init().
|
static |
Definition at line 84 of file ahrs_float_dcm_wrapper.c.
References ahrs_dcm, ahrs_dcm_last_stamp, ahrs_dcm_propagate(), AHRS_PROPAGATE_FREQUENCY, foo, AhrsFloatDCM::is_aligned, PRINT_CONFIG_MSG(), PRINT_CONFIG_VAR(), RATES_FLOAT_OF_BFP, and set_body_orientation_and_rates().
Referenced by ahrs_dcm_wrapper_init().
|
static |
Definition at line 123 of file ahrs_float_dcm_wrapper.c.
References ahrs_dcm, ahrs_dcm_update_mag(), foo, AhrsFloatDCM::is_aligned, and MAGS_FLOAT_OF_BFP.
Referenced by ahrs_dcm_wrapper_init().
|
static |
Definition at line 44 of file ahrs_float_dcm_wrapper.c.
References ahrs_dcm, ahrs_dcm_id, ahrs_dcm_last_stamp, dev, foo, get_sys_time_usec(), AhrsFloatDCM::is_aligned, and val.
Referenced by ahrs_dcm_wrapper_init().
Compute body orientation and rates from imu orientation and rates.
Definition at line 164 of file ahrs_float_dcm_wrapper.c.
References ahrs_dcm, AhrsFloatDCM::body_rate, float_rmat_of_eulers, foo, AhrsFloatDCM::ltp_to_body_euler, stateSetBodyRates_f(), and stateSetNedToBodyRMat_f().
Referenced by aligner_cb(), and gyro_cb().
|
static |
Definition at line 78 of file ahrs_float_dcm_wrapper.c.
Referenced by ahrs_dcm_wrapper_init().
uint8_t ahrs_dcm_enable |
Definition at line 34 of file ahrs_float_dcm_wrapper.c.
Referenced by ahrs_float_dcm_wrapper_enable().
|
static |
Definition at line 36 of file ahrs_float_dcm_wrapper.c.
Referenced by send_filter_status().
|
static |
Definition at line 35 of file ahrs_float_dcm_wrapper.c.
Referenced by gyro_cb(), and send_filter_status().
|
static |
Definition at line 80 of file ahrs_float_dcm_wrapper.c.
Referenced by ahrs_dcm_wrapper_init().
|
static |
Definition at line 81 of file ahrs_float_dcm_wrapper.c.
Referenced by ahrs_dcm_wrapper_init().
|
static |
Definition at line 77 of file ahrs_float_dcm_wrapper.c.
Referenced by ahrs_dcm_wrapper_init().
|
static |
Definition at line 79 of file ahrs_float_dcm_wrapper.c.
Referenced by ahrs_dcm_wrapper_init().