Paparazzi UAS  v5.14.0_stable-0-g3f680d1
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
stabilization_attitude_ref_quat_int.c File Reference

Rotorcraft attitude reference generation. More...

+ Include dependency graph for stabilization_attitude_ref_quat_int.c:

Go to the source code of this file.

Macros

#define TWO_ZETA_OMEGA_RES   10
 
#define TWO_OMEGA_2_RES   7
 
#define F_UPDATE_RES   9
 
#define OFFSET_AND_ROUND(_a, _b)   (((_a)+(1<<((_b)-1)))>>(_b))
 

Functions

static void reset_psi_ref (struct AttRefQuatInt *ref, int32_t psi)
 
static void update_ref_model_p (struct AttRefQuatInt *ref)
 
static void update_ref_model_q (struct AttRefQuatInt *ref)
 
static void update_ref_model_r (struct AttRefQuatInt *ref)
 
static void update_ref_model (struct AttRefQuatInt *ref)
 
void attitude_ref_quat_int_init (struct AttRefQuatInt *ref)
 
void attitude_ref_quat_int_enter (struct AttRefQuatInt *ref, int32_t psi)
 
void attitude_ref_quat_int_update (struct AttRefQuatInt *ref, struct Int32Quat *sp_quat, float dt)
 Propagate reference. More...
 
void attitude_ref_quat_int_set_omega_p (struct AttRefQuatInt *ref, float omega_p)
 
void attitude_ref_quat_int_set_omega_q (struct AttRefQuatInt *ref, float omega_q)
 
void attitude_ref_quat_int_set_omega_r (struct AttRefQuatInt *ref, float omega_r)
 
void attitude_ref_quat_int_set_omega (struct AttRefQuatInt *ref, struct FloatRates *omega)
 
void attitude_ref_quat_int_set_zeta_p (struct AttRefQuatInt *ref, float zeta_p)
 
void attitude_ref_quat_int_set_zeta_q (struct AttRefQuatInt *ref, float zeta_q)
 
void attitude_ref_quat_int_set_zeta_r (struct AttRefQuatInt *ref, float zeta_r)
 
void attitude_ref_quat_int_set_zeta (struct AttRefQuatInt *ref, struct FloatRates *zeta)
 
void attitude_ref_quat_int_set_max_p (struct AttRefQuatInt *ref, float max_p)
 
void attitude_ref_quat_int_set_max_q (struct AttRefQuatInt *ref, float max_q)
 
void attitude_ref_quat_int_set_max_r (struct AttRefQuatInt *ref, float max_r)
 
void attitude_ref_quat_int_set_max_pdot (struct AttRefQuatInt *ref, float max_pdot)
 
void attitude_ref_quat_int_set_max_qdot (struct AttRefQuatInt *ref, float max_qdot)
 
void attitude_ref_quat_int_set_max_rdot (struct AttRefQuatInt *ref, float max_rdot)
 

Detailed Description

Rotorcraft attitude reference generation.

(quaternion int version)

Definition in file stabilization_attitude_ref_quat_int.c.

Macro Definition Documentation

#define F_UPDATE_RES   9

Definition at line 92 of file stabilization_attitude_ref_quat_int.c.

Referenced by attitude_ref_quat_int_update().

#define OFFSET_AND_ROUND (   _a,
  _b 
)    (((_a)+(1<<((_b)-1)))>>(_b))

Definition at line 94 of file stabilization_attitude_ref_quat_int.c.

Referenced by attitude_ref_quat_int_update().

#define TWO_OMEGA_2_RES   7
#define TWO_ZETA_OMEGA_RES   10

Function Documentation

void attitude_ref_quat_int_enter ( struct AttRefQuatInt ref,
int32_t  psi 
)

Definition at line 78 of file stabilization_attitude_ref_quat_int.c.

References AttRefQuatInt::accel, AttRefQuatInt::euler, int32_quat_of_eulers(), int32_quat_wrap_shortest(), AttRefQuatInt::quat, AttRefQuatInt::rate, and reset_psi_ref().

Referenced by stabilization_attitude_enter().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void attitude_ref_quat_int_set_max_p ( struct AttRefQuatInt ref,
float  max_p 
)

Definition at line 254 of file stabilization_attitude_ref_quat_int.c.

References BFP_OF_REAL, Int32RefSat::max_rate, Int32Rates::p, REF_RATE_FRAC, and AttRefQuatInt::saturation.

Referenced by attitude_ref_quat_int_init().

+ Here is the caller graph for this function:

void attitude_ref_quat_int_set_max_pdot ( struct AttRefQuatInt ref,
float  max_pdot 
)

Definition at line 269 of file stabilization_attitude_ref_quat_int.c.

References BFP_OF_REAL, Int32RefSat::max_accel, Int32Rates::p, REF_ACCEL_FRAC, and AttRefQuatInt::saturation.

Referenced by attitude_ref_quat_int_init().

+ Here is the caller graph for this function:

void attitude_ref_quat_int_set_max_q ( struct AttRefQuatInt ref,
float  max_q 
)

Definition at line 259 of file stabilization_attitude_ref_quat_int.c.

References BFP_OF_REAL, Int32RefSat::max_rate, Int32Rates::q, REF_RATE_FRAC, and AttRefQuatInt::saturation.

Referenced by attitude_ref_quat_int_init().

+ Here is the caller graph for this function:

void attitude_ref_quat_int_set_max_qdot ( struct AttRefQuatInt ref,
float  max_qdot 
)

Definition at line 274 of file stabilization_attitude_ref_quat_int.c.

References BFP_OF_REAL, Int32RefSat::max_accel, Int32Rates::q, REF_ACCEL_FRAC, and AttRefQuatInt::saturation.

Referenced by attitude_ref_quat_int_init().

+ Here is the caller graph for this function:

void attitude_ref_quat_int_set_max_r ( struct AttRefQuatInt ref,
float  max_r 
)

Definition at line 264 of file stabilization_attitude_ref_quat_int.c.

References BFP_OF_REAL, Int32RefSat::max_rate, Int32Rates::r, REF_RATE_FRAC, and AttRefQuatInt::saturation.

Referenced by attitude_ref_quat_int_init().

+ Here is the caller graph for this function:

void attitude_ref_quat_int_set_max_rdot ( struct AttRefQuatInt ref,
float  max_rdot 
)

Definition at line 279 of file stabilization_attitude_ref_quat_int.c.

References BFP_OF_REAL, Int32RefSat::max_accel, Int32Rates::r, REF_ACCEL_FRAC, and AttRefQuatInt::saturation.

Referenced by attitude_ref_quat_int_init().

+ Here is the caller graph for this function:

void attitude_ref_quat_int_set_omega ( struct AttRefQuatInt ref,
struct FloatRates omega 
)

Definition at line 222 of file stabilization_attitude_ref_quat_int.c.

References attitude_ref_quat_int_set_omega_p(), attitude_ref_quat_int_set_omega_q(), attitude_ref_quat_int_set_omega_r(), FloatRates::p, FloatRates::q, and FloatRates::r.

Referenced by attitude_ref_quat_int_init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void attitude_ref_quat_int_set_omega_p ( struct AttRefQuatInt ref,
float  omega_p 
)

Definition at line 204 of file stabilization_attitude_ref_quat_int.c.

References AttRefQuatInt::model, IntRefModel::omega, omega_p, FloatRates::p, and update_ref_model_p().

Referenced by attitude_ref_quat_int_set_omega().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void attitude_ref_quat_int_set_omega_q ( struct AttRefQuatInt ref,
float  omega_q 
)

Definition at line 210 of file stabilization_attitude_ref_quat_int.c.

References AttRefQuatInt::model, IntRefModel::omega, omega_q, FloatRates::q, and update_ref_model_q().

Referenced by attitude_ref_quat_int_set_omega().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void attitude_ref_quat_int_set_omega_r ( struct AttRefQuatInt ref,
float  omega_r 
)

Definition at line 216 of file stabilization_attitude_ref_quat_int.c.

References AttRefQuatInt::model, IntRefModel::omega, omega_r, FloatRates::r, and update_ref_model_r().

Referenced by attitude_ref_quat_int_set_omega().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void attitude_ref_quat_int_set_zeta ( struct AttRefQuatInt ref,
struct FloatRates zeta 
)

Definition at line 247 of file stabilization_attitude_ref_quat_int.c.

References attitude_ref_quat_int_set_zeta_p(), attitude_ref_quat_int_set_zeta_q(), attitude_ref_quat_int_set_zeta_r(), FloatRates::p, FloatRates::q, and FloatRates::r.

Referenced by attitude_ref_quat_int_init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void attitude_ref_quat_int_set_zeta_p ( struct AttRefQuatInt ref,
float  zeta_p 
)

Definition at line 229 of file stabilization_attitude_ref_quat_int.c.

References AttRefQuatInt::model, FloatRates::p, update_ref_model_p(), IntRefModel::zeta, and zeta_p.

Referenced by attitude_ref_quat_int_set_zeta().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void attitude_ref_quat_int_set_zeta_q ( struct AttRefQuatInt ref,
float  zeta_q 
)

Definition at line 235 of file stabilization_attitude_ref_quat_int.c.

References AttRefQuatInt::model, FloatRates::q, update_ref_model_q(), IntRefModel::zeta, and zeta_q.

Referenced by attitude_ref_quat_int_set_zeta().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void attitude_ref_quat_int_set_zeta_r ( struct AttRefQuatInt ref,
float  zeta_r 
)

Definition at line 241 of file stabilization_attitude_ref_quat_int.c.

References AttRefQuatInt::model, FloatRates::r, update_ref_model_r(), IntRefModel::zeta, and zeta_r.

Referenced by attitude_ref_quat_int_set_zeta().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void attitude_ref_quat_int_update ( struct AttRefQuatInt ref,
struct Int32Quat sp_quat,
float  dt 
)
static void reset_psi_ref ( struct AttRefQuatInt ref,
int32_t  psi 
)
inlinestatic

Definition at line 162 of file stabilization_attitude_ref_quat_int.c.

References AttRefQuatInt::accel, AttRefQuatInt::euler, Int32Eulers::psi, Int32Rates::r, and AttRefQuatInt::rate.

Referenced by attitude_ref_quat_int_enter().

+ Here is the caller graph for this function:

static void update_ref_model ( struct AttRefQuatInt ref)
static

Definition at line 192 of file stabilization_attitude_ref_quat_int.c.

References update_ref_model_p(), update_ref_model_q(), and update_ref_model_r().

Referenced by attitude_ref_quat_int_init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function: