Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
eff_scheduling_rot_wing.c File Reference
+ Include dependency graph for eff_scheduling_rot_wing.c:

Go to the source code of this file.

Macros

#define WING_ROTATION_CAN_ROT_WING_ID   ABI_BROADCAST
 ABI binding wing position data. More...
 

Functions

void eff_scheduling_rot_wing_update_wing_angle (void)
 
void eff_scheduling_rot_wing_update_MMOI (void)
 
void eff_scheduling_rot_wing_update_cmd (void)
 
void eff_scheduling_rot_wing_update_airspeed (void)
 
void eff_scheduling_rot_wing_update_hover_motor_effectiveness (void)
 
void eff_scheduling_rot_wing_update_elevator_effectiveness (void)
 
void eff_scheduling_rot_wing_update_rudder_effectiveness (void)
 
void eff_scheduling_rot_wing_update_aileron_effectiveness (void)
 
void eff_scheduling_rot_wing_update_flaperon_effectiveness (void)
 
void eff_scheduling_rot_wing_update_pusher_effectiveness (void)
 
void eff_scheduling_rot_wing_schedule_liftd (void)
 
float guidance_indi_get_liftd (float pitch UNUSED, float theta UNUSED)
 
void stabilization_indi_set_wls_settings (void)
 Function that sets the du_min, du_max and du_pref if function not elsewhere defined. More...
 
static void wing_position_cb (uint8_t sender_id UNUSED, struct act_feedback_t *pos_msg, uint8_t num_act)
 
void eff_scheduling_rot_wing_init (void)
 
void eff_scheduling_rot_wing_periodic (void)
 

Variables

struct rot_wing_eff_sched_param_t eff_sched_p
 
struct rot_wing_eff_sched_var_t eff_sched_var
 
static abi_event wing_position_ev
 
float eff_scheduling_rot_wing_lift_d = 0.0f
 

Detailed Description

Author
Dennis van Wijngaarden D.C.v.nosp@m.anWi.nosp@m.jngaa.nosp@m.rden.nosp@m.@tude.nosp@m.lft..nosp@m.nl The control effectiveness scheduler for the rotating wing drone type

Definition in file eff_scheduling_rot_wing.c.

Macro Definition Documentation

◆ WING_ROTATION_CAN_ROT_WING_ID

#define WING_ROTATION_CAN_ROT_WING_ID   ABI_BROADCAST

ABI binding wing position data.

Definition at line 168 of file eff_scheduling_rot_wing.c.

Function Documentation

◆ eff_scheduling_rot_wing_init()

◆ eff_scheduling_rot_wing_periodic()

◆ eff_scheduling_rot_wing_schedule_liftd()

◆ eff_scheduling_rot_wing_update_aileron_effectiveness()

void eff_scheduling_rot_wing_update_aileron_effectiveness ( void  )
inline

◆ eff_scheduling_rot_wing_update_airspeed()

void eff_scheduling_rot_wing_update_airspeed ( void  )
inline

Definition at line 269 of file eff_scheduling_rot_wing.c.

References rot_wing_eff_sched_var_t::airspeed, rot_wing_eff_sched_var_t::airspeed2, eff_sched_var, and stateGetAirspeed_f().

Referenced by eff_scheduling_rot_wing_periodic().

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

◆ eff_scheduling_rot_wing_update_cmd()

void eff_scheduling_rot_wing_update_cmd ( void  )
inline

◆ eff_scheduling_rot_wing_update_elevator_effectiveness()

◆ eff_scheduling_rot_wing_update_flaperon_effectiveness()

void eff_scheduling_rot_wing_update_flaperon_effectiveness ( void  )
inline

◆ eff_scheduling_rot_wing_update_hover_motor_effectiveness()

◆ eff_scheduling_rot_wing_update_MMOI()

◆ eff_scheduling_rot_wing_update_pusher_effectiveness()

void eff_scheduling_rot_wing_update_pusher_effectiveness ( void  )
inline

◆ eff_scheduling_rot_wing_update_rudder_effectiveness()

◆ eff_scheduling_rot_wing_update_wing_angle()

◆ guidance_indi_get_liftd()

float guidance_indi_get_liftd ( float pitch  UNUSED,
float theta  UNUSED 
)
inline

Definition at line 399 of file eff_scheduling_rot_wing.c.

References eff_scheduling_rot_wing_lift_d.

◆ stabilization_indi_set_wls_settings()

void stabilization_indi_set_wls_settings ( void  )

Function that sets the du_min, du_max and du_pref if function not elsewhere defined.

Definition at line 403 of file eff_scheduling_rot_wing.c.

References act_is_servo, act_pref, actuator_state_filt_vect, MAX_PPRZ, u_max_stab_indi, u_min_stab_indi, and u_pref_stab_indi.

◆ wing_position_cb()

static void wing_position_cb ( uint8_t sender_id  UNUSED,
struct act_feedback_t pos_msg,
uint8_t  num_act 
)
static

Definition at line 173 of file eff_scheduling_rot_wing.c.

References eff_sched_var, and rot_wing_eff_sched_var_t::wing_rotation_rad.

Referenced by eff_scheduling_rot_wing_init().

+ Here is the caller graph for this function:

Variable Documentation

◆ eff_sched_p

struct rot_wing_eff_sched_param_t eff_sched_p
Initial value:
= {
.Ixx_body = ROT_WING_EFF_SCHED_IXX_BODY,
.Iyy_body = ROT_WING_EFF_SCHED_IYY_BODY,
.Izz = ROT_WING_EFF_SCHED_IZZ,
.Ixx_wing = ROT_WING_EFF_SCHED_IXX_WING,
.Iyy_wing = ROT_WING_EFF_SCHED_IYY_WING,
.m = ROT_WING_EFF_SCHED_M,
.DMdpprz_hover_roll = ROT_WING_EFF_SCHED_DM_DPPRZ_HOVER_ROLL,
.hover_roll_pitch_coef = ROT_WING_EFF_SCHED_HOVER_ROLL_PITCH_COEF,
.hover_roll_roll_coef = ROT_WING_EFF_SCHED_HOVER_ROLL_ROLL_COEF,
.k_elevator = ROT_WING_EFF_SCHED_K_ELEVATOR,
.k_rudder = ROT_WING_EFF_SCHED_K_RUDDER,
.k_aileron = ROT_WING_EFF_SCHED_K_AILERON,
.k_flaperon = ROT_WING_EFF_SCHED_K_FLAPERON,
.k_pusher = ROT_WING_EFF_SCHED_K_PUSHER,
.k_elevator_deflection = ROT_WING_EFF_SCHED_K_ELEVATOR_DEFLECTION,
.d_rudder_d_pprz = ROT_WING_EFF_SCHED_D_RUDDER_D_PPRZ,
.k_rpm_pprz_pusher = ROT_WING_EFF_SCHED_K_RPM_PPRZ_PUSHER,
.k_lift_wing = ROT_WING_EFF_SCHED_K_LIFT_WING,
.k_lift_fuselage = ROT_WING_EFF_SCHED_K_LIFT_FUSELAGE,
.k_lift_tail = ROT_WING_EFF_SCHED_K_LIFT_TAIL
}

Definition at line 1 of file eff_scheduling_rot_wing.c.

Referenced by eff_scheduling_rot_wing_init(), eff_scheduling_rot_wing_schedule_liftd(), eff_scheduling_rot_wing_update_aileron_effectiveness(), eff_scheduling_rot_wing_update_elevator_effectiveness(), eff_scheduling_rot_wing_update_flaperon_effectiveness(), eff_scheduling_rot_wing_update_hover_motor_effectiveness(), eff_scheduling_rot_wing_update_MMOI(), eff_scheduling_rot_wing_update_pusher_effectiveness(), and eff_scheduling_rot_wing_update_rudder_effectiveness().

◆ eff_sched_var

◆ eff_scheduling_rot_wing_lift_d

float eff_scheduling_rot_wing_lift_d = 0.0f

◆ wing_position_ev

abi_event wing_position_ev
static

Definition at line 171 of file eff_scheduling_rot_wing.c.

Referenced by eff_scheduling_rot_wing_init().