Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
ekf_aw_wrapper.h File Reference
#include "std.h"
#include "math/pprz_algebra_int.h"
#include "math/pprz_algebra_float.h"
#include "math/pprz_geodetic_float.h"
#include "modules/meteo/ekf_aw.h"
+ Include dependency graph for ekf_aw_wrapper.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ekfAw
 

Macros

#define EKF_AW_RPM_HOVER_NUM   4
 Euler angles. More...
 
#define ekf_aw_wrapper_reset(_v)
 
#define ekf_aw_wrapper_set_wind_N(_v)
 
#define ekf_aw_wrapper_set_wind_E(_v)
 
#define ekf_aw_wrapper_set_wind_D(_v)
 
#define ekf_aw_wrapper_set_offset_x(_v)
 
#define ekf_aw_wrapper_set_offset_y(_v)
 
#define ekf_aw_wrapper_set_offset_z(_v)
 

Functions

void ekf_aw_wrapper_init (void)
 
void ekf_aw_wrapper_periodic (void)
 
void ekf_aw_wrapper_fetch (void)
 
void set_in_air_status (bool)
 

Variables

float tau_filter_high
 
float tau_filter_low
 
struct ekfAw ekf_aw
 

Data Structure Documentation

◆ ekfAw

struct ekfAw

Definition at line 12 of file ekf_aw_wrapper.h.

+ Collaboration diagram for ekfAw:
Data Fields
struct FloatVect3 acc Last accelerometer measurements.
struct FloatVect3 acc_filt Ground Speed.

Last accelerometer measurements

float elevator_angle Skew.
float elevator_force[3]
struct FloatEulers euler
float fuselage_force[3]
struct FloatRates gyro Last gyroscope measurements.
struct ekfHealth health
float hover_force[3]
bool in_air
struct FloatVect3 innov_acc_filt
struct FloatVect3 innov_V_gnd Pitot tube airspeed.
float innov_V_pitot
uint64_t internal_clock
int32_t last_RPM_hover[EKF_AW_RPM_HOVER_NUM]
int32_t last_RPM_pusher
float meas_cov[7]
struct NedCoor_f offset
struct NedCoor_f offset_guess
bool override_quick_convergence
bool override_start
float process_cov[12]
float pusher_force[3]
bool reset
float RPM_hover[EKF_AW_RPM_HOVER_NUM]
float RPM_pusher Hover motor RPM.
float skew Pusher motor RPM.
float state_cov[9]
uint64_t time_last_in_air
uint64_t time_last_on_gnd
struct NedCoor_f V_body
float V_pitot
struct FloatVect3 Vg_NED
struct NedCoor_f wind
struct NedCoor_f wind_guess
float wing_force[3]

Macro Definition Documentation

◆ EKF_AW_RPM_HOVER_NUM

#define EKF_AW_RPM_HOVER_NUM   4

Euler angles.

Definition at line 24 of file ekf_aw_wrapper.h.

◆ ekf_aw_wrapper_reset

#define ekf_aw_wrapper_reset (   _v)
Value:
{ \
ekf_aw.reset = false; \
ekf_aw_reset(); \
ekf_aw_reset_health(); \
}

Definition at line 82 of file ekf_aw_wrapper.h.

◆ ekf_aw_wrapper_set_offset_x

#define ekf_aw_wrapper_set_offset_x (   _v)
Value:
{ \
ekf_aw.offset_guess.x = _v; \
ekf_aw_set_offset(&ekf_aw.offset_guess); \
}
struct ekfAw ekf_aw
struct NedCoor_f offset_guess

Definition at line 103 of file ekf_aw_wrapper.h.

◆ ekf_aw_wrapper_set_offset_y

#define ekf_aw_wrapper_set_offset_y (   _v)
Value:
{ \
ekf_aw.offset_guess.y = _v; \
ekf_aw_set_offset(&ekf_aw.offset_guess); \
}

Definition at line 108 of file ekf_aw_wrapper.h.

◆ ekf_aw_wrapper_set_offset_z

#define ekf_aw_wrapper_set_offset_z (   _v)
Value:
{ \
ekf_aw.offset_guess.z = _v; \
ekf_aw_set_offset(&ekf_aw.offset_guess); \
}

Definition at line 113 of file ekf_aw_wrapper.h.

◆ ekf_aw_wrapper_set_wind_D

#define ekf_aw_wrapper_set_wind_D (   _v)
Value:
{ \
ekf_aw.wind_guess.z = _v; \
ekf_aw_set_wind(&ekf_aw.wind_guess); \
}
struct NedCoor_f wind_guess

Definition at line 98 of file ekf_aw_wrapper.h.

◆ ekf_aw_wrapper_set_wind_E

#define ekf_aw_wrapper_set_wind_E (   _v)
Value:
{ \
ekf_aw.wind_guess.y = _v; \
ekf_aw_set_wind(&ekf_aw.wind_guess); \
}

Definition at line 93 of file ekf_aw_wrapper.h.

◆ ekf_aw_wrapper_set_wind_N

#define ekf_aw_wrapper_set_wind_N (   _v)
Value:
{ \
ekf_aw.wind_guess.x = _v; \
ekf_aw_set_wind(&ekf_aw.wind_guess); \
}

Definition at line 88 of file ekf_aw_wrapper.h.

Function Documentation

◆ ekf_aw_wrapper_fetch()

◆ ekf_aw_wrapper_init()

◆ ekf_aw_wrapper_periodic()

void ekf_aw_wrapper_periodic ( void  )

Definition at line 215 of file ekf_aw_wrapper.c.

References ekfAw::acc, ekfAw::acc_filt, autopilot_in_flight(), ekf_aw, ekf_aw_get_elevator_force(), ekf_aw_get_fuselage_force(), ekf_aw_get_health(), ekf_aw_get_hover_force(), ekf_aw_get_innov_accel_filt(), ekf_aw_get_innov_V_gnd(), ekf_aw_get_innov_V_pitot(), ekf_aw_get_meas_cov(), ekf_aw_get_offset(), ekf_aw_get_process_cov(), ekf_aw_get_pusher_force(), ekf_aw_get_speed_body(), ekf_aw_get_state_cov(), ekf_aw_get_wind_ned(), ekf_aw_get_wing_force(), ekf_aw_propagate(), EKF_AW_QUICK_CONVERGENCE, EKF_AW_QUICK_CONVERGENCE_TIME, EKF_AW_RPM_HOVER_NUM, ekf_aw_set_speed_body(), EKF_AW_WRAPPER_RANDOM_INPUTS, ekf_params, ekfAw::elevator_angle, ekfAw::elevator_force, ekfAw::euler, filt_acc, filt_acc_low, filt_airspeed_pitot, filt_elevator_pprz, filt_euler, filt_groundspeed, filt_hover_prop_rpm, filt_pusher_prop_rpm, filt_rate, filt_skew, ekfAw::fuselage_force, ekfAw::gyro, ekfAw::health, ekfAw::hover_force, ekfAw::in_air, ekfAw::innov_acc_filt, ekfAw::innov_V_gnd, ekfAw::innov_V_pitot, ekfAw::internal_clock, ekfAw::meas_cov, SecondOrderLowPass::o, ekfAw::offset, ekfAw::override_quick_convergence, ekfAw::override_start, FloatRates::p, PERIODIC_FREQUENCY_AIRSPEED_EKF, PERIODIC_FREQUENCY_AIRSPEED_EKF_FETCH, FloatEulers::phi, ekfAw::process_cov, FloatEulers::psi, ekfAw::pusher_force, FloatRates::q, ekfAwParameters::quick_convergence, FloatRates::r, ekfAw::RPM_hover, ekfAw::RPM_pusher, set_in_air_status(), ekfAw::skew, ekfAw::state_cov, stateGetNedToBodyEulers_f(), stateGetPositionNed_f(), FloatEulers::theta, ekfAw::time_last_on_gnd, ekfAw::V_body, ekfAw::V_pitot, ekfAw::Vg_NED, ekfAw::wind, ekfAw::wing_force, FloatVect3::x, FloatVect3::y, FloatVect3::z, NedCoor_f::z, and zero_speed.

+ Here is the call graph for this function:

◆ set_in_air_status()

void set_in_air_status ( bool  in_air)

Definition at line 445 of file ekf_aw_wrapper.c.

References ekf_aw, ekfAw::in_air, ekfAw::internal_clock, ekfAw::time_last_in_air, and ekfAw::time_last_on_gnd.

Referenced by ekf_aw_wrapper_periodic().

+ Here is the caller graph for this function:

Variable Documentation

◆ ekf_aw

◆ tau_filter_high

float tau_filter_high
extern

Definition at line 104 of file ekf_aw_wrapper.c.

Referenced by ekf_aw_wrapper_init().

◆ tau_filter_low

float tau_filter_low
extern

Definition at line 105 of file ekf_aw_wrapper.c.

Referenced by ekf_aw_wrapper_init().