Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Autopilot static implementation. More...
Go to the source code of this file.
Macros | |
#define | AP_MODE_KILL 0 |
Static autopilot modes. More... | |
#define | AP_MODE_FAILSAFE 1 |
#define | AP_MODE_HOME 2 |
#define | AP_MODE_RATE_DIRECT 3 |
#define | AP_MODE_ATTITUDE_DIRECT 4 |
#define | AP_MODE_RATE_RC_CLIMB 5 |
#define | AP_MODE_ATTITUDE_RC_CLIMB 6 |
#define | AP_MODE_ATTITUDE_CLIMB 7 |
#define | AP_MODE_RATE_Z_HOLD 8 |
#define | AP_MODE_ATTITUDE_Z_HOLD 9 |
#define | AP_MODE_HOVER_DIRECT 10 |
#define | AP_MODE_HOVER_CLIMB 11 |
#define | AP_MODE_HOVER_Z_HOLD 12 |
#define | AP_MODE_NAV 13 |
#define | AP_MODE_RC_DIRECT 14 |
#define | AP_MODE_CARE_FREE_DIRECT 15 |
#define | AP_MODE_FORWARD 16 |
#define | AP_MODE_GUIDED 19 |
#define | MODE_MANUAL AP_MODE_ATTITUDE_DIRECT |
Default RC mode. More... | |
#define | MODE_AUTO1 AP_MODE_HOVER_Z_HOLD |
#define | MODE_AUTO2 AP_MODE_NAV |
Functions | |
void | autopilot_static_init (void) |
Specific function for static AP. More... | |
void | autopilot_static_periodic (void) |
void | autopilot_static_on_rc_frame (void) |
Function to be called when a message from FBW is available. More... | |
void | autopilot_static_set_mode (uint8_t new_autopilot_mode) |
void | autopilot_static_SetModeHandler (float new_autopilot_mode) |
AP mode setting handler. More... | |
void | autopilot_static_set_motors_on (bool motors_on) |
Autopilot static implementation.
Definition in file autopilot_static.h.
#define AP_MODE_ATTITUDE_CLIMB 7 |
Definition at line 42 of file autopilot_static.h.
#define AP_MODE_ATTITUDE_DIRECT 4 |
Definition at line 39 of file autopilot_static.h.
#define AP_MODE_ATTITUDE_RC_CLIMB 6 |
Definition at line 41 of file autopilot_static.h.
#define AP_MODE_ATTITUDE_Z_HOLD 9 |
Definition at line 44 of file autopilot_static.h.
#define AP_MODE_CARE_FREE_DIRECT 15 |
Definition at line 50 of file autopilot_static.h.
#define AP_MODE_FAILSAFE 1 |
Definition at line 36 of file autopilot_static.h.
#define AP_MODE_FORWARD 16 |
Definition at line 51 of file autopilot_static.h.
#define AP_MODE_GUIDED 19 |
Definition at line 52 of file autopilot_static.h.
#define AP_MODE_HOME 2 |
Definition at line 37 of file autopilot_static.h.
#define AP_MODE_HOVER_CLIMB 11 |
Definition at line 46 of file autopilot_static.h.
#define AP_MODE_HOVER_DIRECT 10 |
Definition at line 45 of file autopilot_static.h.
#define AP_MODE_HOVER_Z_HOLD 12 |
Definition at line 47 of file autopilot_static.h.
#define AP_MODE_KILL 0 |
Static autopilot modes.
Definition at line 35 of file autopilot_static.h.
#define AP_MODE_NAV 13 |
Definition at line 48 of file autopilot_static.h.
#define AP_MODE_RATE_DIRECT 3 |
Definition at line 38 of file autopilot_static.h.
#define AP_MODE_RATE_RC_CLIMB 5 |
Definition at line 40 of file autopilot_static.h.
#define AP_MODE_RATE_Z_HOLD 8 |
Definition at line 43 of file autopilot_static.h.
#define AP_MODE_RC_DIRECT 14 |
Definition at line 49 of file autopilot_static.h.
#define MODE_AUTO1 AP_MODE_HOVER_Z_HOLD |
Definition at line 61 of file autopilot_static.h.
#define MODE_AUTO2 AP_MODE_NAV |
Definition at line 64 of file autopilot_static.h.
#define MODE_MANUAL AP_MODE_ATTITUDE_DIRECT |
Default RC mode.
Definition at line 58 of file autopilot_static.h.
void autopilot_static_init | ( | void | ) |
Specific function for static AP.
Specific function for static AP.
Static autopilot functions.
Definition at line 81 of file autopilot_static.c.
References ABI_BROADCAST, AP_MODE_AUTO2, AP_MODE_KILL, autopilot, autopilot_arming_init(), autopilot_static_set_mode(), lateral_mode, LATERAL_MODE_MANUAL, pprz_autopilot::mode, and MODE_STARTUP.
Referenced by autopilot_init().
void autopilot_static_on_rc_frame | ( | void | ) |
Function to be called when a message from FBW is available.
In AUTO1 mode, compute roll setpoint and pitch setpoint from RADIO_ROLL and RADIO_PITCH
Roll is bounded between [-AUTO1_MAX_ROLL;AUTO1_MAX_ROLL]
Pitch is bounded between [-AUTO1_MAX_PITCH;AUTO1_MAX_PITCH]
Else asynchronously set by h_ctl_course_loop()
In AUTO1, throttle comes from RADIO_THROTTLE In MANUAL, the value is copied to get it in the telemetry
else asynchronously set by v_ctl_climb_loop();
In AUTO1 mode, compute roll setpoint and pitch setpoint from RADIO_ROLL and RADIO_PITCH
Roll is bounded between [-AUTO1_MAX_ROLL;AUTO1_MAX_ROLL]
Pitch is bounded between [-AUTO1_MAX_PITCH;AUTO1_MAX_PITCH]
Else asynchronously set by h_ctl_course_loop()
In AUTO1, throttle comes from RADIO_THROTTLE In MANUAL, the value is copied to get it in the telemetry
else asynchronously set by v_ctl_climb_loop();
Definition at line 100 of file autopilot_static.c.
References AP_MODE_AUTO1, AP_MODE_FAILSAFE, AP_MODE_HOME, AP_MODE_KILL, AP_MODE_MANUAL, AP_MODE_NAV, ap_mode_of_3way_switch(), autopilot, autopilot_arming_check_motors_on(), autopilot_get_mode(), autopilot_static_set_mode(), commands, FLOAT_OF_PPRZ, GpsIsLost, h_ctl_pitch_setpoint, h_ctl_roll_setpoint, kill_switch_is_on(), pprz_autopilot::kill_throttle, pprz_autopilot::mode, MODE_MANUAL, pprz_autopilot::motors_on, nav, radio_control, radio_control_get(), RADIO_PITCH, RADIO_ROLL, RADIO_THROTTLE, RADIO_YAW, pprz_autopilot::throttle, RotorcraftNavigation::too_far_from_home, UNLOCKED_HOME_MODE, v_ctl_throttle_setpoint, and RadioControl::values.
Referenced by autopilot_on_rc_frame().
void autopilot_static_periodic | ( | void | ) |
Definition at line 93 of file autopilot_static.c.
References AP_MODE_FAILSAFE, AP_MODE_HOME, AP_MODE_KILL, AP_MODE_NAV, autopilot, autopilot_in_flight(), autopilot_static_set_mode(), Stabilization::cmd, commands, commands_failsafe, compute_dist2_to_home(), datalink_lost(), pprz_autopilot::detect_ground_once, RotorcraftNavigation::dist2_to_home, RotorcraftNavigation::failsafe_mode_dist2, FAILSAFE_MODE_TOO_FAR_FROM_HOME, pprz_autopilot::ground_detected, guidance_h, GUIDANCE_H_MODE_NONE, guidance_h_run(), guidance_v_run(), higher_than_max_altitude(), pprz_autopilot::in_flight, pprz_autopilot::mode, HorizontalGuidance::mode, pprz_autopilot::motors_on, nav, nav_home(), nav_periodic_task(), NAV_PRESCALER, Stabilization::rc_sp, SetRotorcraftCommands, stabilization, stabilization_get_failsafe_sp(), stabilization_run(), pprz_autopilot::throttle, thrust_sp, and RotorcraftNavigation::too_far_from_home.
Referenced by autopilot_periodic().
void autopilot_static_set_mode | ( | uint8_t | new_autopilot_mode | ) |
Definition at line 140 of file autopilot_static.c.
References AP_MODE_ATTITUDE_CLIMB, AP_MODE_ATTITUDE_DIRECT, AP_MODE_ATTITUDE_RC_CLIMB, AP_MODE_ATTITUDE_Z_HOLD, AP_MODE_CARE_FREE_DIRECT, AP_MODE_FAILSAFE, AP_MODE_FORWARD, AP_MODE_GUIDED, AP_MODE_HOME, AP_MODE_HOVER_CLIMB, AP_MODE_HOVER_DIRECT, AP_MODE_HOVER_Z_HOLD, AP_MODE_KILL, AP_MODE_NAV, AP_MODE_RATE_DIRECT, AP_MODE_RATE_RC_CLIMB, AP_MODE_RATE_Z_HOLD, AP_MODE_RC_DIRECT, autopilot, autopilot_set_in_flight(), autopilot_set_motors_on(), Stabilization::cmd, FAILSAFE_DESCENT_SPEED, guidance_h_mode_changed(), GUIDANCE_H_MODE_GUIDED, GUIDANCE_H_MODE_HOVER, GUIDANCE_H_MODE_NAV, GUIDANCE_H_MODE_NONE, guidance_v_mode_changed(), GUIDANCE_V_MODE_CLIMB, GUIDANCE_V_MODE_GUIDED, GUIDANCE_V_MODE_HOVER, GUIDANCE_V_MODE_KILL, GUIDANCE_V_MODE_NAV, GUIDANCE_V_MODE_RC_CLIMB, GUIDANCE_V_MODE_RC_DIRECT, guidance_v_set_vz(), pprz_autopilot::mode, stabilization, STABILIZATION_ATT_SUBMODE_CARE_FREE, STABILIZATION_ATT_SUBMODE_FORWARD, STABILIZATION_ATT_SUBMODE_HEADING, STABILIZATION_MODE_ATTITUDE, stabilization_mode_changed(), STABILIZATION_MODE_DIRECT, STABILIZATION_MODE_NONE, and STABILIZATION_MODE_RATE.
Referenced by autopilot_set_mode(), autopilot_static_init(), autopilot_static_on_rc_frame(), autopilot_static_periodic(), and autopilot_static_SetModeHandler().
void autopilot_static_set_motors_on | ( | bool | motors_on | ) |
Definition at line 152 of file autopilot_static.c.
References AP_MODE_KILL, autopilot, autopilot_arming_set(), pprz_autopilot::mode, and pprz_autopilot::motors_on.
Referenced by autopilot_force_motors_on().
void autopilot_static_SetModeHandler | ( | float | mode | ) |
AP mode setting handler.
Checks RC status before calling autopilot_static_set_mode function
Definition at line 147 of file autopilot_static.c.
References AP_MODE_FAILSAFE, AP_MODE_GUIDED, AP_MODE_HOME, AP_MODE_KILL, AP_MODE_NAV, autopilot_static_set_mode(), mode, radio_control, RC_OK, and RadioControl::status.
Referenced by autopilot_SetModeHandler().