Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
Wind- and airspeed representations
+ Collaboration diagram for Wind- and airspeed representations:

Macros

#define WINDSPEED_I   0
 
#define DOWNWIND_I   1
 
#define AIRSPEED_I   2
 
#define WINDSPEED_F   3
 
#define DOWNWIND_F   4
 
#define AIRSPEED_F   5
 
#define AOA_F   6
 
#define SIDESLIP_F   7
 

Functions

void stateCalcHorizontalWindspeed_i (void)
 
void stateCalcVerticalWindspeed_i (void)
 
void stateCalcAirspeed_i (void)
 
void stateCalcHorizontalWindspeed_f (void)
 
void stateCalcVerticalWindspeed_f (void)
 
void stateCalcAirspeed_f (void)
 
static bool stateIsWindspeedValid (void)
 test if wind speed is available. More...
 
static bool stateIsVerticalWindspeedValid (void)
 test if vertical wind speed is available. More...
 
static bool stateIsAirspeedValid (void)
 test if air speed is available. More...
 
static bool stateIsAngleOfAttackValid (void)
 test if angle of attack is available. More...
 
static bool stateIsSideslipValid (void)
 test if sideslip is available. More...
 
static void stateSetHorizontalWindspeed_i (uint16_t id, struct Int32Vect2 *h_windspeed)
 Set horizontal windspeed (int). More...
 
static void stateSetVerticalWindspeed_i (uint16_t id, int32_t v_windspeed)
 Set vertical windspeed (int). More...
 
static void stateSetAirspeed_i (uint16_t id, int32_t airspeed)
 Set airspeed (int). More...
 
static void stateSetHorizontalWindspeed_f (uint16_t id, struct FloatVect2 *h_windspeed)
 Set horizontal windspeed (float). More...
 
static void stateSetVerticalWindspeed_f (uint16_t id, float v_windspeed)
 Set vertical windspeed (float). More...
 
static void stateSetAirspeed_f (uint16_t id, float airspeed)
 Set airspeed (float). More...
 
static void stateSetAngleOfAttack_f (uint16_t id, float aoa)
 Set angle of attack in radians (float). More...
 
static void stateSetSideslip_f (uint16_t id, float sideslip)
 Set sideslip angle in radians (float). More...
 
static struct Int32Vect2stateGetHorizontalWindspeed_i (void)
 Get horizontal windspeed (int). More...
 
static float stateGetVerticalWindspeed_i (void)
 Get vertical windspeed (int). More...
 
static struct Int32Vect3stateGetWindspeed_i (void)
 Get windspeed (int). More...
 
static int32_t stateGetAirspeed_i (void)
 Get airspeed (int). More...
 
static struct FloatVect2stateGetHorizontalWindspeed_f (void)
 Get horizontal windspeed (float). More...
 
static float stateGetVerticalWindspeed_f (void)
 Get vertical windspeed (float). More...
 
static struct FloatVect3stateGetWindspeed_f (void)
 Get windspeed (float). More...
 
static float stateGetAirspeed_f (void)
 Get airspeed (float). More...
 
static float stateGetAngleOfAttack_f (void)
 Get angle of attack (float). More...
 
static float stateGetSideslip_f (void)
 Get sideslip (float). More...
 

Variables

uint8_t State::wind_air_status
 Holds the status bits for all wind- and airspeed representations. More...
 
uint16_t State::wind_air_input_filter
 Holds the input filter id for air data. More...
 
union {
struct Int32Vect3 vect3
 
struct Int32Vect2 vect2
 
State::windspeed_i
 Horizontal windspeed in north/east/down. More...
 
int32_t State::airspeed_i
 Norm of relative wind speed. More...
 
union {
struct FloatVect3 vect3
 
struct FloatVect2 vect2
 
State::windspeed_f
 Horizontal windspeed. More...
 
float State::airspeed_f
 Norm of relative air speed. More...
 
float State::angle_of_attack_f
 Angle of attack Unit: rad. More...
 
float State::sideslip_f
 Sideslip angle Unit: rad. More...
 

Detailed Description

Macro Definition Documentation

◆ AIRSPEED_F

#define AIRSPEED_F   5

Definition at line 129 of file state.h.

◆ AIRSPEED_I

#define AIRSPEED_I   2

Definition at line 126 of file state.h.

◆ AOA_F

#define AOA_F   6

Definition at line 130 of file state.h.

◆ DOWNWIND_F

#define DOWNWIND_F   4

Definition at line 128 of file state.h.

◆ DOWNWIND_I

#define DOWNWIND_I   1

Definition at line 125 of file state.h.

◆ SIDESLIP_F

#define SIDESLIP_F   7

Definition at line 131 of file state.h.

◆ WINDSPEED_F

#define WINDSPEED_F   3

Definition at line 127 of file state.h.

◆ WINDSPEED_I

#define WINDSPEED_I   0

Definition at line 124 of file state.h.

Function Documentation

◆ stateCalcAirspeed_f()

void stateCalcAirspeed_f ( void  )

Definition at line 1474 of file state.c.

References AIRSPEED_F, State::airspeed_f, AIRSPEED_I, State::airspeed_i, SPEED_FLOAT_OF_BFP, state, and State::wind_air_status.

Referenced by stateGetAirspeed_f().

+ Here is the caller graph for this function:

◆ stateCalcAirspeed_i()

void stateCalcAirspeed_i ( void  )

Definition at line 1428 of file state.c.

References AIRSPEED_F, State::airspeed_f, AIRSPEED_I, State::airspeed_i, SPEED_BFP_OF_REAL, state, and State::wind_air_status.

Referenced by stateGetAirspeed_i().

+ Here is the caller graph for this function:

◆ stateCalcHorizontalWindspeed_f()

void stateCalcHorizontalWindspeed_f ( void  )

Definition at line 1443 of file state.c.

References SPEED_FLOAT_OF_BFP, state, State::wind_air_status, WINDSPEED_F, State::windspeed_f, WINDSPEED_I, and State::windspeed_i.

Referenced by stateGetHorizontalWindspeed_f(), and stateGetWindspeed_f().

+ Here is the caller graph for this function:

◆ stateCalcHorizontalWindspeed_i()

void stateCalcHorizontalWindspeed_i ( void  )

Definition at line 1397 of file state.c.

References SPEED_BFP_OF_REAL, state, State::wind_air_status, WINDSPEED_F, State::windspeed_f, WINDSPEED_I, and State::windspeed_i.

Referenced by stateGetHorizontalWindspeed_i(), and stateGetWindspeed_i().

+ Here is the caller graph for this function:

◆ stateCalcVerticalWindspeed_f()

void stateCalcVerticalWindspeed_f ( void  )

Definition at line 1459 of file state.c.

References DOWNWIND_F, DOWNWIND_I, SPEED_FLOAT_OF_BFP, state, State::wind_air_status, State::windspeed_f, and State::windspeed_i.

Referenced by stateGetVerticalWindspeed_f(), and stateGetWindspeed_f().

+ Here is the caller graph for this function:

◆ stateCalcVerticalWindspeed_i()

void stateCalcVerticalWindspeed_i ( void  )

Definition at line 1413 of file state.c.

References DOWNWIND_F, DOWNWIND_I, SPEED_BFP_OF_REAL, state, State::wind_air_status, State::windspeed_f, and State::windspeed_i.

Referenced by stateGetVerticalWindspeed_i(), and stateGetWindspeed_i().

+ Here is the caller graph for this function:

◆ stateGetAirspeed_f()

◆ stateGetAirspeed_i()

static int32_t stateGetAirspeed_i ( void  )
inlinestatic

Get airspeed (int).

Definition at line 1551 of file state.h.

References AIRSPEED_I, State::airspeed_i, state, stateCalcAirspeed_i(), and State::wind_air_status.

+ Here is the call graph for this function:

◆ stateGetAngleOfAttack_f()

static float stateGetAngleOfAttack_f ( void  )
inlinestatic

Get angle of attack (float).

Todo:
only float for now

Definition at line 1599 of file state.h.

References State::angle_of_attack_f, and state.

Referenced by h_ctl_pitch_loop(), and wind_estimator_periodic().

+ Here is the caller graph for this function:

◆ stateGetHorizontalWindspeed_f()

static struct FloatVect2* stateGetHorizontalWindspeed_f ( void  )
inlinestatic

Get horizontal windspeed (float).

Definition at line 1560 of file state.h.

References state, stateCalcHorizontalWindspeed_f(), State::wind_air_status, WINDSPEED_F, and State::windspeed_f.

Referenced by compute_TOD(), get_time_to_home(), gls_compute_TOD(), mf_daq_send_state(), parse_mf_daq_msg(), and snav_on_time().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ stateGetHorizontalWindspeed_i()

static struct Int32Vect2* stateGetHorizontalWindspeed_i ( void  )
inlinestatic

Get horizontal windspeed (int).

Definition at line 1521 of file state.h.

References state, stateCalcHorizontalWindspeed_i(), State::wind_air_status, WINDSPEED_I, and State::windspeed_i.

+ Here is the call graph for this function:

◆ stateGetSideslip_f()

static float stateGetSideslip_f ( void  )
inlinestatic

Get sideslip (float).

Todo:
only float for now

Definition at line 1608 of file state.h.

References State::sideslip_f, and state.

Referenced by wind_estimator_periodic().

+ Here is the caller graph for this function:

◆ stateGetVerticalWindspeed_f()

static float stateGetVerticalWindspeed_f ( void  )
inlinestatic

Get vertical windspeed (float).

Definition at line 1569 of file state.h.

References DOWNWIND_F, state, stateCalcVerticalWindspeed_f(), State::wind_air_status, and State::windspeed_f.

+ Here is the call graph for this function:

◆ stateGetVerticalWindspeed_i()

static float stateGetVerticalWindspeed_i ( void  )
inlinestatic

Get vertical windspeed (int).

Definition at line 1530 of file state.h.

References DOWNWIND_I, state, stateCalcVerticalWindspeed_i(), State::wind_air_status, and State::windspeed_i.

+ Here is the call graph for this function:

◆ stateGetWindspeed_f()

static struct FloatVect3* stateGetWindspeed_f ( void  )
inlinestatic

Get windspeed (float).

Definition at line 1578 of file state.h.

References DOWNWIND_F, state, stateCalcHorizontalWindspeed_f(), stateCalcVerticalWindspeed_f(), State::wind_air_status, WINDSPEED_F, and State::windspeed_f.

+ Here is the call graph for this function:

◆ stateGetWindspeed_i()

static struct Int32Vect3* stateGetWindspeed_i ( void  )
inlinestatic

Get windspeed (int).

Definition at line 1539 of file state.h.

References DOWNWIND_I, state, stateCalcHorizontalWindspeed_i(), stateCalcVerticalWindspeed_i(), State::wind_air_status, WINDSPEED_I, and State::windspeed_i.

+ Here is the call graph for this function:

◆ stateIsAirspeedValid()

static bool stateIsAirspeedValid ( void  )
inlinestatic

test if air speed is available.

Definition at line 1411 of file state.h.

References AIRSPEED_F, AIRSPEED_I, state, and State::wind_air_status.

Referenced by get_time_to_home().

+ Here is the caller graph for this function:

◆ stateIsAngleOfAttackValid()

static bool stateIsAngleOfAttackValid ( void  )
inlinestatic

test if angle of attack is available.

Definition at line 1417 of file state.h.

References AOA_F, state, and State::wind_air_status.

◆ stateIsSideslipValid()

static bool stateIsSideslipValid ( void  )
inlinestatic

test if sideslip is available.

Definition at line 1423 of file state.h.

References SIDESLIP_F, state, and State::wind_air_status.

◆ stateIsVerticalWindspeedValid()

static bool stateIsVerticalWindspeedValid ( void  )
inlinestatic

test if vertical wind speed is available.

Definition at line 1405 of file state.h.

References DOWNWIND_F, DOWNWIND_I, state, and State::wind_air_status.

◆ stateIsWindspeedValid()

static bool stateIsWindspeedValid ( void  )
inlinestatic

test if wind speed is available.

Definition at line 1399 of file state.h.

References state, State::wind_air_status, WINDSPEED_F, and WINDSPEED_I.

Referenced by get_time_to_home().

+ Here is the caller graph for this function:

◆ stateSetAirspeed_f()

static void stateSetAirspeed_f ( uint16_t  id,
float  airspeed 
)
inlinestatic

◆ stateSetAirspeed_i()

static void stateSetAirspeed_i ( uint16_t  id,
int32_t  airspeed 
)
inlinestatic

◆ stateSetAngleOfAttack_f()

static void stateSetAngleOfAttack_f ( uint16_t  id,
float  aoa 
)
inlinestatic

Set angle of attack in radians (float).

Todo:
no integer yet

Definition at line 1497 of file state.h.

References State::angle_of_attack_f, AOA_F, state, STATE_CHECK_INPUT_AND_RETURN, State::wind_air_input_filter, and State::wind_air_status.

Referenced by aoa_adc_update(), and incidence_cb().

+ Here is the caller graph for this function:

◆ stateSetHorizontalWindspeed_f()

static void stateSetHorizontalWindspeed_f ( uint16_t  id,
struct FloatVect2 h_windspeed 
)
inlinestatic

◆ stateSetHorizontalWindspeed_i()

static void stateSetHorizontalWindspeed_i ( uint16_t  id,
struct Int32Vect2 h_windspeed 
)
inlinestatic

◆ stateSetSideslip_f()

static void stateSetSideslip_f ( uint16_t  id,
float  sideslip 
)
inlinestatic

Set sideslip angle in radians (float).

Todo:
no integer yet

Definition at line 1508 of file state.h.

References SIDESLIP_F, State::sideslip_f, state, STATE_CHECK_INPUT_AND_RETURN, State::wind_air_input_filter, and State::wind_air_status.

Referenced by incidence_cb().

+ Here is the caller graph for this function:

◆ stateSetVerticalWindspeed_f()

static void stateSetVerticalWindspeed_f ( uint16_t  id,
float  v_windspeed 
)
inlinestatic

Set vertical windspeed (float).

Definition at line 1475 of file state.h.

References DOWNWIND_F, DOWNWIND_I, state, STATE_CHECK_INPUT_AND_RETURN, State::wind_air_input_filter, State::wind_air_status, and State::windspeed_f.

Referenced by air_data_parse_WIND_INFO(), and wind_estimator_event().

+ Here is the caller graph for this function:

◆ stateSetVerticalWindspeed_i()

static void stateSetVerticalWindspeed_i ( uint16_t  id,
int32_t  v_windspeed 
)
inlinestatic

Set vertical windspeed (int).

Definition at line 1442 of file state.h.

References DOWNWIND_F, DOWNWIND_I, state, STATE_CHECK_INPUT_AND_RETURN, State::wind_air_input_filter, State::wind_air_status, and State::windspeed_i.

Variable Documentation

◆ airspeed_f

float State::airspeed_f

Norm of relative air speed.

Unit: m/s

Definition at line 484 of file state.h.

Referenced by stateCalcAirspeed_f(), stateCalcAirspeed_i(), stateGetAirspeed_f(), and stateSetAirspeed_f().

◆ airspeed_i

int32_t State::airspeed_i

Norm of relative wind speed.

Unit: m/s in BFP with INT32_SPEED_FRAC

Definition at line 469 of file state.h.

Referenced by stateCalcAirspeed_f(), stateCalcAirspeed_i(), stateGetAirspeed_i(), and stateSetAirspeed_i().

◆ angle_of_attack_f

float State::angle_of_attack_f

Angle of attack Unit: rad.

Definition at line 490 of file state.h.

Referenced by stateGetAngleOfAttack_f(), and stateSetAngleOfAttack_f().

◆ sideslip_f

float State::sideslip_f

Sideslip angle Unit: rad.

Definition at line 496 of file state.h.

Referenced by stateGetSideslip_f(), and stateSetSideslip_f().

◆  [1/2]

struct { ... } ::vect2

Definition at line 496 of file state.h.

◆  [2/2]

struct { ... } ::vect2

Definition at line 496 of file state.h.

◆  [1/2]

struct { ... } ::vect3

Definition at line 496 of file state.h.

◆  [2/2]

struct { ... } ::vect3

Definition at line 496 of file state.h.

◆ wind_air_input_filter

◆ wind_air_status

◆ 

◆