Paparazzi UAS  v5.4.2_stable-3-gc351a71
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Generic Orientation Representations

This generic orientation representation consists of a struct, containing the 6 orientation representations, and a status variable. More...

+ Collaboration diagram for Generic Orientation Representations:

Data Structures

struct  OrientationReps
 

Macros

#define ORREP_QUAT_I   0
 Quaternion (BFP int) More...
 
#define ORREP_EULER_I   1
 zyx Euler (BFP int) More...
 
#define ORREP_RMAT_I   2
 Rotation Matrix (BFP int) More...
 
#define ORREP_QUAT_F   3
 Quaternion (float) More...
 
#define ORREP_EULER_F   4
 zyx Euler (float) More...
 
#define ORREP_RMAT_F   5
 Rotation Matrix (float) More...
 

Functions

void orientationCalcQuat_i (struct OrientationReps *orientation)
 
void orientationCalcRMat_i (struct OrientationReps *orientation)
 
void orientationCalcEulers_i (struct OrientationReps *orientation)
 
void orientationCalcQuat_f (struct OrientationReps *orientation)
 
void orientationCalcRMat_f (struct OrientationReps *orientation)
 
void orientationCalcEulers_f (struct OrientationReps *orientation)
 
static bool_t orienationCheckValid (struct OrientationReps *orientation)
 Test if orientations are valid. More...
 
static void orientationSetQuat_i (struct OrientationReps *orientation, struct Int32Quat *quat)
 Set vehicle body attitude from quaternion (int). More...
 
static void orientationSetRMat_i (struct OrientationReps *orientation, struct Int32RMat *rmat)
 Set vehicle body attitude from rotation matrix (int). More...
 
static void orientationSetEulers_i (struct OrientationReps *orientation, struct Int32Eulers *eulers)
 Set vehicle body attitude from euler angles (int). More...
 
static void orientationSetQuat_f (struct OrientationReps *orientation, struct FloatQuat *quat)
 Set vehicle body attitude from quaternion (float). More...
 
static void orientationSetRMat_f (struct OrientationReps *orientation, struct FloatRMat *rmat)
 Set vehicle body attitude from rotation matrix (float). More...
 
static void orientationSetEulers_f (struct OrientationReps *orientation, struct FloatEulers *eulers)
 Set vehicle body attitude from euler angles (float). More...
 
static struct Int32QuatorientationGetQuat_i (struct OrientationReps *orientation)
 Get vehicle body attitude quaternion (int). More...
 
static struct Int32RMatorientationGetRMat_i (struct OrientationReps *orientation)
 Get vehicle body attitude rotation matrix (int). More...
 
static struct Int32EulersorientationGetEulers_i (struct OrientationReps *orientation)
 Get vehicle body attitude euler angles (int). More...
 
static struct FloatQuatorientationGetQuat_f (struct OrientationReps *orientation)
 Get vehicle body attitude quaternion (float). More...
 
static struct FloatRMatorientationGetRMat_f (struct OrientationReps *orientation)
 Get vehicle body attitude rotation matrix (float). More...
 
static struct FloatEulersorientationGetEulers_f (struct OrientationReps *orientation)
 Get vehicle body attitude euler angles (float). More...
 

Detailed Description

This generic orientation representation consists of a struct, containing the 6 orientation representations, and a status variable.

The bits in the status variable indicate which representations of the orientation are up-to-date.

When a getter is used to get a certain representation, the status bit is checked to see if the current value is already available in the desired orientation representation. If the desired representation is not available, it will be calculated.

When a setter is used to set a representation, all status bits are cleared, and only the status bit for the set representation is set to one.

Macro Definition Documentation

Function Documentation

static bool_t orienationCheckValid ( struct OrientationReps orientation)
inlinestatic

Test if orientations are valid.

Definition at line 135 of file pprz_orientation_conversion.h.

References OrientationReps::status.

Referenced by stateIsAttitudeValid().

+ Here is the caller graph for this function:

static struct FloatEulers* orientationGetEulers_f ( struct OrientationReps orientation)
static

Get vehicle body attitude euler angles (float).

Definition at line 235 of file pprz_orientation_conversion.h.

References OrientationReps::eulers_f, orientationCalcEulers_f(), ORREP_EULER_F, and OrientationReps::status.

Referenced by ahrs_init(), imu_SetBodyToImuCurrent(), imu_SetBodyToImuPhi(), imu_SetBodyToImuPsi(), imu_SetBodyToImuTheta(), and stateGetNedToBodyEulers_f().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static struct Int32Eulers* orientationGetEulers_i ( struct OrientationReps orientation)
static

Get vehicle body attitude euler angles (int).

Definition at line 208 of file pprz_orientation_conversion.h.

References OrientationReps::eulers_i, orientationCalcEulers_i(), ORREP_EULER_I, and OrientationReps::status.

Referenced by ahrs_init(), and stateGetNedToBodyEulers_i().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static struct FloatQuat* orientationGetQuat_f ( struct OrientationReps orientation)
static

Get vehicle body attitude quaternion (float).

Definition at line 217 of file pprz_orientation_conversion.h.

References orientationCalcQuat_f(), ORREP_QUAT_F, OrientationReps::quat_f, and OrientationReps::status.

Referenced by ahrs_init(), ahrs_realign_heading(), compute_body_orientation_and_rates(), set_body_state_from_quat(), and stateGetNedToBodyQuat_f().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static struct Int32Quat* orientationGetQuat_i ( struct OrientationReps orientation)
static

Get vehicle body attitude quaternion (int).

Definition at line 190 of file pprz_orientation_conversion.h.

References orientationCalcQuat_i(), ORREP_QUAT_I, OrientationReps::quat_i, and OrientationReps::status.

Referenced by ahrs_init(), ahrs_realign_heading(), set_body_state_from_quat(), and stateGetNedToBodyQuat_i().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static struct FloatRMat* orientationGetRMat_f ( struct OrientationReps orientation)
static

Get vehicle body attitude rotation matrix (float).

Definition at line 226 of file pprz_orientation_conversion.h.

References orientationCalcRMat_f(), ORREP_RMAT_F, OrientationReps::rmat_f, and OrientationReps::status.

Referenced by ahrs_init(), ahrs_update_accel(), compute_body_orientation_and_rates(), gx3_packet_read_message(), Normalize(), set_body_orientation_and_rates(), set_body_state_from_quat(), and stateGetNedToBodyRMat_f().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static struct Int32RMat* orientationGetRMat_i ( struct OrientationReps orientation)
static

Get vehicle body attitude rotation matrix (int).

Definition at line 199 of file pprz_orientation_conversion.h.

References orientationCalcRMat_i(), ORREP_RMAT_I, OrientationReps::rmat_i, and OrientationReps::status.

Referenced by ahrs_propagate(), ahrs_update_accel(), ahrs_update_mag(), b2_hff_propagate(), ins_propagate(), nav_catapult_highrate_module(), set_body_state_from_euler(), set_body_state_from_quat(), stateGetNedToBodyRMat_i(), and v_ctl_climb_loop().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void orientationSetEulers_f ( struct OrientationReps orientation,
struct FloatEulers eulers 
)
inlinestatic

Set vehicle body attitude from euler angles (float).

Definition at line 181 of file pprz_orientation_conversion.h.

References EULERS_COPY, OrientationReps::eulers_f, ORREP_EULER_F, and OrientationReps::status.

Referenced by imu_init(), imu_SetBodyToImuCurrent(), imu_SetBodyToImuPhi(), imu_SetBodyToImuPsi(), imu_SetBodyToImuTheta(), and stateSetNedToBodyEulers_f().

+ Here is the caller graph for this function:

static void orientationSetEulers_i ( struct OrientationReps orientation,
struct Int32Eulers eulers 
)
inlinestatic

Set vehicle body attitude from euler angles (int).

Definition at line 157 of file pprz_orientation_conversion.h.

References EULERS_COPY, OrientationReps::eulers_i, ORREP_EULER_I, and OrientationReps::status.

Referenced by stateSetNedToBodyEulers_i().

+ Here is the caller graph for this function:

static void orientationSetQuat_f ( struct OrientationReps orientation,
struct FloatQuat quat 
)
inlinestatic

Set vehicle body attitude from quaternion (float).

Definition at line 165 of file pprz_orientation_conversion.h.

References ORREP_QUAT_F, QUAT_COPY, OrientationReps::quat_f, and OrientationReps::status.

Referenced by stateSetNedToBodyQuat_f().

+ Here is the caller graph for this function:

static void orientationSetQuat_i ( struct OrientationReps orientation,
struct Int32Quat quat 
)
inlinestatic

Set vehicle body attitude from quaternion (int).

Definition at line 141 of file pprz_orientation_conversion.h.

References ORREP_QUAT_I, QUAT_COPY, OrientationReps::quat_i, and OrientationReps::status.

Referenced by stateSetNedToBodyQuat_i().

+ Here is the caller graph for this function:

static void orientationSetRMat_f ( struct OrientationReps orientation,
struct FloatRMat rmat 
)
inlinestatic

Set vehicle body attitude from rotation matrix (float).

Definition at line 173 of file pprz_orientation_conversion.h.

References ORREP_RMAT_F, RMAT_COPY, OrientationReps::rmat_f, and OrientationReps::status.

Referenced by stateSetNedToBodyRMat_f().

+ Here is the caller graph for this function:

static void orientationSetRMat_i ( struct OrientationReps orientation,
struct Int32RMat rmat 
)
inlinestatic

Set vehicle body attitude from rotation matrix (int).

Definition at line 149 of file pprz_orientation_conversion.h.

References ORREP_RMAT_I, RMAT_COPY, OrientationReps::rmat_i, and OrientationReps::status.

Referenced by stateSetNedToBodyRMat_i().

+ Here is the caller graph for this function: