30 #ifndef AHRS_FLOAT_CMPL_H
31 #define AHRS_FLOAT_CMPL_H
struct FloatRates gyro_bias
struct FloatRates body_rate
struct AhrsFloatCmpl ahrs_fc
uint16_t mag_cnt
number of propagations since last mag update
bool correct_gravity
enable gravity correction during coordinated turns
float mag_zeta
filter damping for correcting the gyro bias from magnetometer
void ahrs_fc_update_mag(struct FloatVect3 *mag, float dt)
bool ahrs_fc_align(struct FloatRates *lp_gyro, struct FloatVect3 *lp_accel, struct FloatVect3 *lp_mag)
struct FloatRMat ltp_to_body_rmat
struct FloatRates rate_correction
void ahrs_fc_propagate(struct FloatRates *gyro, float dt)
float ltp_vel_norm
velocity norm for gravity correction during coordinated turns
float mag_omega
filter cut-off frequency for correcting the attitude (heading) from magnetometer
void ahrs_fc_realign_heading(float heading)
Hard reset yaw to a heading.
float accel_zeta
filter damping for correcting the gyro-bias from accels (pseudo-gravity measurement)
uint8_t gravity_heuristic_factor
sets how strongly the gravity heuristic reduces accel correction.
void ahrs_fc_update_accel(struct FloatVect3 *accel, float dt)
float accel_omega
filter cut-off frequency for correcting the attitude from accels (pseudo-gravity measurement)
void ahrs_fc_update_gps(struct GpsState *gps_s)
uint16_t accel_cnt
number of propagations since last accel update
struct FloatQuat ltp_to_body_quat
void ahrs_fc_update_heading(float heading)
Update yaw based on a heading measurement.
Device independent GPS code (interface)
data structure for GPS information
Paparazzi floating point algebra.
Generic orientation representation and conversions.
unsigned short uint16_t
Typedef defining 16 bit unsigned short type.
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.