Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
stabilization_attitude_rc_setpoint.c File Reference
+ Include dependency graph for stabilization_attitude_rc_setpoint.c:

Go to the source code of this file.

Macros

#define STABILIZATION_ATTITUDE_DEADBAND_A   0
 
#define STABILIZATION_ATTITUDE_DEADBAND_E   0
 
#define COORDINATED_TURN_AIRSPEED   12.0
 Airspeed that will be used in the turning speed calculation (m/s). More...
 
#define YAW_DEADBAND_EXCEEDED()
 

Functions

static int32_t get_rc_roll (void)
 
static int32_t get_rc_pitch (void)
 
static int32_t get_rc_yaw (void)
 
static float get_rc_roll_f (void)
 
static float get_rc_pitch_f (void)
 
static float get_rc_yaw_f (void)
 
void stabilization_attitude_reset_care_free_heading (void)
 reset the heading for care-free mode to current heading More...
 
int32_t stabilization_attitude_get_heading_i (void)
 
float stabilization_attitude_get_heading_f (void)
 
void stabilization_attitude_read_rc_setpoint_eulers (struct Int32Eulers *sp, bool in_flight, bool in_carefree, bool coordinated_turn)
 Read attitude setpoint from RC as euler angles. More...
 
void stabilization_attitude_read_rc_setpoint_eulers_f (struct FloatEulers *sp, bool in_flight, bool in_carefree, bool coordinated_turn)
 
void stabilization_attitude_read_rc_roll_pitch_quat_f (struct FloatQuat *q)
 Read roll/pitch command from RC as quaternion. More...
 
void stabilization_attitude_read_rc_roll_pitch_earth_quat_f (struct FloatQuat *q)
 Read roll/pitch command from RC as quaternion. More...
 
void stabilization_attitude_read_rc_setpoint_quat_f (struct FloatQuat *q_sp, bool in_flight, bool in_carefree, bool coordinated_turn)
 Read attitude setpoint from RC as quaternion Interprets the stick positions as axes. More...
 
void stabilization_attitude_read_rc_setpoint_quat_earth_bound_f (struct FloatQuat *q_sp, bool in_flight, bool in_carefree, bool coordinated_turn)
 

Variables

float care_free_heading = 0
 
int32_t transition_theta_offset = 0
 

Detailed Description

Read an attitude setpoint from the RC.

Definition in file stabilization_attitude_rc_setpoint.c.

Macro Definition Documentation

◆ COORDINATED_TURN_AIRSPEED

#define COORDINATED_TURN_AIRSPEED   12.0

Airspeed that will be used in the turning speed calculation (m/s).

This variable is for calculation of the turn speed, and does not influence the airspeed. With a higher speed, the vehicle will turn less in a turn with the same roll.

Definition at line 50 of file stabilization_attitude_rc_setpoint.c.

◆ STABILIZATION_ATTITUDE_DEADBAND_A

#define STABILIZATION_ATTITUDE_DEADBAND_A   0

Definition at line 36 of file stabilization_attitude_rc_setpoint.c.

◆ STABILIZATION_ATTITUDE_DEADBAND_E

#define STABILIZATION_ATTITUDE_DEADBAND_E   0

Definition at line 40 of file stabilization_attitude_rc_setpoint.c.

◆ YAW_DEADBAND_EXCEEDED

#define YAW_DEADBAND_EXCEEDED ( )
Value:
(radio_control.values[RADIO_YAW] > STABILIZATION_ATTITUDE_DEADBAND_R || \
radio_control.values[RADIO_YAW] < -STABILIZATION_ATTITUDE_DEADBAND_R)

Definition at line 53 of file stabilization_attitude_rc_setpoint.c.

Function Documentation

◆ get_rc_pitch()

static int32_t get_rc_pitch ( void  )
static

◆ get_rc_pitch_f()

◆ get_rc_roll()

static int32_t get_rc_roll ( void  )
static

◆ get_rc_roll_f()

◆ get_rc_yaw()

static int32_t get_rc_yaw ( void  )
static

Definition at line 84 of file stabilization_attitude_rc_setpoint.c.

References ANGLE_BFP_OF_REAL, MAX_PPRZ, radio_control, RADIO_YAW, and RadioControl::values.

Referenced by stabilization_attitude_read_rc_setpoint_eulers().

+ Here is the caller graph for this function:

◆ get_rc_yaw_f()

static float get_rc_yaw_f ( void  )
inlinestatic

Definition at line 114 of file stabilization_attitude_rc_setpoint.c.

References MAX_PPRZ, radio_control, RADIO_YAW, and RadioControl::values.

Referenced by stabilization_attitude_read_rc_setpoint_eulers_f().

+ Here is the caller graph for this function:

◆ stabilization_attitude_get_heading_f()

float stabilization_attitude_get_heading_f ( void  )

Definition at line 149 of file stabilization_attitude_rc_setpoint.c.

References heading, FloatEulers::phi, FloatEulers::psi, stateGetNedToBodyEulers_f(), and FloatEulers::theta.

Referenced by stabilization_attitude_enter(), stabilization_attitude_read_rc_setpoint_eulers_f(), and stabilization_attitude_set_failsafe_setpoint().

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

◆ stabilization_attitude_get_heading_i()

◆ stabilization_attitude_read_rc_roll_pitch_earth_quat_f()

void stabilization_attitude_read_rc_roll_pitch_earth_quat_f ( struct FloatQuat q)

Read roll/pitch command from RC as quaternion.

Both angles are are interpreted relative to to the horizontal plane (earth bound).

Parameters
[out]qquaternion representing the RC roll/pitch input

Definition at line 347 of file stabilization_attitude_rc_setpoint.c.

References ANGLE_FLOAT_OF_BFP, f, get_rc_pitch_f(), get_rc_roll_f(), FloatQuat::qi, FloatQuat::qx, FloatQuat::qy, FloatQuat::qz, and transition_theta_offset.

Referenced by stabilization_attitude_read_rc_setpoint_quat_earth_bound_f().

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

◆ stabilization_attitude_read_rc_roll_pitch_quat_f()

void stabilization_attitude_read_rc_roll_pitch_quat_f ( struct FloatQuat q)

Read roll/pitch command from RC as quaternion.

Interprets the stick positions as axes.

Parameters
[out]qquaternion representing the RC roll/pitch input

Definition at line 331 of file stabilization_attitude_rc_setpoint.c.

References float_quat_of_orientation_vect(), get_rc_pitch_f(), get_rc_roll_f(), FloatVect3::x, FloatVect3::y, and FloatVect3::z.

Referenced by stabilization_attitude_read_rc_setpoint_quat_f().

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

◆ stabilization_attitude_read_rc_setpoint_eulers()

void stabilization_attitude_read_rc_setpoint_eulers ( struct Int32Eulers sp,
bool  in_flight,
bool  in_carefree,
bool  coordinated_turn 
)

Read attitude setpoint from RC as euler angles.

Parameters
[in]coordinated_turntrue if in horizontal mode forward
[in]in_carefreetrue if in carefree mode
[in]in_flighttrue if in flight
[out]spattitude setpoint as euler angles

Definition at line 173 of file stabilization_attitude_rc_setpoint.c.

References ANGLE_BFP_OF_REAL, ANGLE_FLOAT_OF_BFP, care_free_heading, COORDINATED_TURN_AIRSPEED, get_rc_pitch(), get_rc_roll(), get_rc_yaw(), get_sys_time_float(), heading, INT32_ANGLE_FRAC, INT32_ANGLE_NORMALIZE, INT_MULT_RSHIFT, last_ts, Int32Eulers::phi, PPRZ_ITRIG_COS, PPRZ_ITRIG_SIN, Int32Eulers::psi, stabilization_attitude_get_heading_i(), stateGetNedToBodyEulers_i(), Int32Eulers::theta, THROTTLE_STICK_DOWN, and YAW_DEADBAND_EXCEEDED.

Referenced by guidance_h_module_enter(), guidance_h_module_read_rc(), stabilization_attitude_read_rc(), stabilization_attitude_read_rc_setpoint_quat_earth_bound_f(), and stabilization_attitude_read_rc_setpoint_quat_f().

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

◆ stabilization_attitude_read_rc_setpoint_eulers_f()

◆ stabilization_attitude_read_rc_setpoint_quat_earth_bound_f()

void stabilization_attitude_read_rc_setpoint_quat_earth_bound_f ( struct FloatQuat q_sp,
bool  in_flight,
bool  in_carefree,
bool  coordinated_turn 
)

◆ stabilization_attitude_read_rc_setpoint_quat_f()

void stabilization_attitude_read_rc_setpoint_quat_f ( struct FloatQuat q_sp,
bool  in_flight,
bool  in_carefree,
bool  coordinated_turn 
)

Read attitude setpoint from RC as quaternion Interprets the stick positions as axes.

Parameters
[in]coordinated_turntrue if in horizontal mode forward
[in]in_carefreetrue if in carefree mode
[in]in_flighttrue if in flight
[out]q_spattitude setpoint as quaternion

Definition at line 374 of file stabilization_attitude_rc_setpoint.c.

References ANGLE_FLOAT_OF_BFP, care_free_heading, float_quat_comp(), float_quat_comp_inv(), float_quat_comp_norm_shortest(), float_quat_normalize(), float_quat_of_axis_angle(), FloatEulers::psi, QUAT_COPY, stab_att_sp_euler, stabilization_attitude_read_rc_roll_pitch_quat_f(), stabilization_attitude_read_rc_setpoint_eulers(), stabilization_attitude_read_rc_setpoint_eulers_f(), and stateGetNedToBodyEulers_f().

Referenced by stabilization_attitude_read_rc(), and stabilization_indi_read_rc().

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

◆ stabilization_attitude_reset_care_free_heading()

void stabilization_attitude_reset_care_free_heading ( void  )

reset the heading for care-free mode to current heading

Definition at line 122 of file stabilization_attitude_rc_setpoint.c.

References care_free_heading, FloatEulers::psi, and stateGetNedToBodyEulers_f().

Referenced by guidance_h_mode_changed().

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

Variable Documentation

◆ care_free_heading

◆ transition_theta_offset

RADIO_YAW
#define RADIO_YAW
Definition: intermcu_ap.h:43
radio_control
struct RadioControl radio_control
Definition: radio_control.c:30
RadioControl::values
pprz_t values[RADIO_CONTROL_NB_CHANNEL]
Definition: radio_control.h:69