Paparazzi UAS
v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
|
#include "autopilot_arming_common.h"
#include "autopilot_firmware.h"
#include "autopilot.h"
#include "mcu_periph/sys_time.h"
Go to the source code of this file.
Macros | |
#define | MOTOR_ARMING_DELAY 40 |
Delay until motors are armed/disarmed. More... | |
#define | MOTOR_RE_ARM_TIME 10.0 |
#define | YAW_MUST_BE_CENTERED true |
#define | YAW_MUST_BE_PUSHED false |
Enumerations | |
enum | arming_state { STATE_UNINIT, STATE_WAITING, STATE_STARTABLE, STATE_MOTORS_ON, STATUS_INITIALISE_RC, STATUS_MOTORS_RC_KILLED, STATUS_MOTORS_AUTOMATICALLY_OFF, STATUS_MOTORS_AUTOMATICALLY_OFF_SAFETY_WAIT, STATUS_MOTORS_OFF, STATUS_M_OFF_STICK_PUSHED, STATUS_START_MOTORS, STATUS_MOTORS_ON, STATUS_M_ON_STICK_PUSHED, STATUS_STOP_MOTORS } |
Motors ON check state machine states. More... | |
Functions | |
static void | autopilot_arming_init (void) |
static void | autopilot_arming_set (bool motors_on) |
Update the status of the check_motors state machine. More... | |
static bool | autopilot_arming_check_valid (bool yaw_must_be_centered) |
Checks all arm requirements and returns true if OK and false otherwise. More... | |
static void | autopilot_arming_check_motors_on (void) |
State machine to check if motors should be turned ON or OFF. More... | |
Variables | |
uint32_t | autopilot_motors_on_counter |
enum arming_state | autopilot_check_motor_status |
float | motor_kill_time |
Arm the motors by with max yaw stick.
Definition in file autopilot_arming_yaw.h.
#define MOTOR_ARMING_DELAY 40 |
Delay until motors are armed/disarmed.
In number of rc frames received. So 40 is usually ~1s.
Definition at line 42 of file autopilot_arming_yaw.h.
#define MOTOR_RE_ARM_TIME 10.0 |
Definition at line 46 of file autopilot_arming_yaw.h.
#define YAW_MUST_BE_CENTERED true |
Definition at line 88 of file autopilot_arming_yaw.h.
#define YAW_MUST_BE_PUSHED false |
Definition at line 89 of file autopilot_arming_yaw.h.
enum arming_state |
Motors ON check state machine states.
Definition at line 49 of file autopilot_arming_yaw.h.
|
inlinestatic |
State machine to check if motors should be turned ON or OFF.
The motors start/stop when pushing the yaw stick without throttle until MOTOR_ARMING_DELAY is reached. An intermediate state prevents oscillating between ON and OFF while keeping the stick pushed. The stick must return to a neutral position before starting/stoping again.
Definition at line 122 of file autopilot_arming_yaw.h.
References AP_ARMING_STATUS_ARMED, AP_ARMING_STATUS_DISARMING, AP_ARMING_STATUS_KILLED, AP_ARMING_STATUS_WAITING, AP_MODE_KILL, pprz_autopilot::arming_status, autopilot, autopilot_arming_check_valid(), autopilot_check_motor_status, autopilot_get_mode(), autopilot_motors_on_counter, autopilot_set_in_flight(), get_sys_time_float(), kill_switch_is_on(), MOTOR_ARMING_DELAY, motor_kill_time, MOTOR_RE_ARM_TIME, pprz_autopilot::motors_on, STATUS_INITIALISE_RC, STATUS_M_OFF_STICK_PUSHED, STATUS_M_ON_STICK_PUSHED, STATUS_MOTORS_AUTOMATICALLY_OFF, STATUS_MOTORS_AUTOMATICALLY_OFF_SAFETY_WAIT, STATUS_MOTORS_OFF, STATUS_MOTORS_ON, STATUS_MOTORS_RC_KILLED, STATUS_START_MOTORS, STATUS_STOP_MOTORS, THROTTLE_STICK_DOWN, YAW_MUST_BE_CENTERED, YAW_MUST_BE_PUSHED, YAW_STICK_CENTERED, and YAW_STICK_PUSHED.
|
inlinestatic |
Checks all arm requirements and returns true if OK and false otherwise.
Also sets the arming status to provide information to the user
[in] | yaw_must_be_centered | check is vallid of a yaw stick centered (true) or pushed (false) |
Definition at line 96 of file autopilot_arming_yaw.h.
References AP_ARMING_STATUS_PITCH_NOT_CENTERED, AP_ARMING_STATUS_ROLL_NOT_CENTERED, AP_ARMING_STATUS_THROTTLE_NOT_DOWN, AP_ARMING_STATUS_YAW_CENTERED, AP_ARMING_STATUS_YAW_NOT_CENTERED, pprz_autopilot::arming_status, autopilot, PITCH_STICK_CENTERED, ROLL_STICK_CENTERED, THROTTLE_STICK_DOWN, and YAW_STICK_CENTERED.
Referenced by autopilot_arming_check_motors_on().
|
inlinestatic |
Definition at line 67 of file autopilot_arming_yaw.h.
References autopilot_check_motor_status, autopilot_motors_on_counter, motor_kill_time, and STATUS_INITIALISE_RC.
|
inlinestatic |
Update the status of the check_motors state machine.
Definition at line 76 of file autopilot_arming_yaw.h.
References autopilot_check_motor_status, get_sys_time_float(), kill_switch_is_on(), motor_kill_time, STATUS_MOTORS_AUTOMATICALLY_OFF, STATUS_MOTORS_ON, and STATUS_MOTORS_RC_KILLED.
enum arming_state autopilot_check_motor_status |
Definition at line 63 of file autopilot_arming_yaw.h.
Referenced by autopilot_arming_check_motors_on(), autopilot_arming_init(), and autopilot_arming_set().
uint32_t autopilot_motors_on_counter |
Definition at line 62 of file autopilot_arming_yaw.h.
Referenced by autopilot_arming_check_motors_on(), and autopilot_arming_init().
float motor_kill_time |
Definition at line 64 of file autopilot_arming_yaw.h.
Referenced by autopilot_arming_check_motors_on(), autopilot_arming_init(), and autopilot_arming_set().