|
Paparazzi UAS
v6.1.0_stable
Paparazzi is a free software Unmanned Aircraft System.
|
#include <inttypes.h>#include "mcu.h"#include "led.h"#include "mcu_periph/sys_time.h"#include "modules/core/commands.h"#include "modules/actuators/actuators.h"#include "modules/energy/electrical.h"#include "modules/radio_control/radio_control.h"#include "modules/intermcu/intermcu_fbw.h"#include "firmwares/rotorcraft/main_fbw.h"#include "firmwares/rotorcraft/autopilot_rc_helpers.h"#include "generated/modules.h"
Include dependency graph for main_fbw.c:Go to the source code of this file.
Macros | |
| #define | MODULES_C |
| #define | And(x, y) ((x) && (y)) |
| #define | Or(x, y) ((x) || (y)) |
| #define | Min(x, y) (x < y ? x : y) |
| #define | Max(x, y) (x > y ? x : y) |
| #define | LessThan(_x, _y) ((_x) < (_y)) |
| #define | MoreThan(_x, _y) ((_x) > (_y)) |
Functions | |
| void | main_init (void) |
| Main initialization. More... | |
| void | handle_periodic_tasks (void) |
| void | telemetry_periodic (void) |
| static void | fbw_safety_check (void) |
| void | main_periodic (void) |
| static void | fbw_on_rc_frame (void) |
| Callback when we received an RC frame. More... | |
| static void | fbw_on_ap_command (void) |
| Callback when receive commands from the AP. More... | |
| void | main_event (void) |
Variables | |
| fbw_mode_enum | fbw_mode |
| Fly by wire modes. More... | |
| bool | fbw_motors_on = false |
| tid_t | main_periodic_tid |
| id for main_periodic() timer More... | |
| tid_t | modules_tid |
| id for modules_periodic_task() timer More... | |
| tid_t | radio_control_tid |
| id for radio_control_periodic_task() timer More... | |
| tid_t | electrical_tid |
| id for electrical_periodic() timer More... | |
| tid_t | telemetry_tid |
| id for telemetry_periodic() timer More... | |
Rotorcraft FBW main loop.
Definition in file main_fbw.c.
| #define And | ( | x, | |
| y | |||
| ) | ((x) && (y)) |
Definition at line 50 of file main_fbw.c.
| #define LessThan | ( | _x, | |
| _y | |||
| ) | ((_x) < (_y)) |
Definition at line 54 of file main_fbw.c.
| #define Max | ( | x, | |
| y | |||
| ) | (x > y ? x : y) |
Definition at line 53 of file main_fbw.c.
| #define Min | ( | x, | |
| y | |||
| ) | (x < y ? x : y) |
Definition at line 52 of file main_fbw.c.
| #define MODULES_C |
Definition at line 46 of file main_fbw.c.
| #define MoreThan | ( | _x, | |
| _y | |||
| ) | ((_x) > (_y)) |
Definition at line 55 of file main_fbw.c.
| #define Or | ( | x, | |
| y | |||
| ) | ((x) || (y)) |
Definition at line 51 of file main_fbw.c.
|
static |
Callback when receive commands from the AP.
Definition at line 276 of file main_fbw.c.
References fbw_mode, FBW_MODE_AUTO, intermcu_commands, and SetCommands.
Referenced by main_event().
Here is the caller graph for this function:
|
static |
Callback when we received an RC frame.
Definition at line 230 of file main_fbw.c.
References AP_LOST_FBW_MODE, commands, commands_failsafe, fbw_mode, FBW_MODE_AUTO, FBW_MODE_AUTO_ONLY, FBW_MODE_FAILSAFE, FBW_MODE_MANUAL, fbw_motors_on, intermcu, INTERMCU_LOST, intermcu_on_rc_frame(), MIN_PPRZ, radio_control, RADIO_FBW_MODE, RADIO_KILL_SWITCH, SetCommands, intermcu_t::status, and RadioControl::values.
Referenced by main_event().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 138 of file main_fbw.c.
References AP_LOST_FBW_MODE, fbw_mode, FBW_MODE_AUTO, FBW_MODE_FAILSAFE, FBW_MODE_MANUAL, intermcu, INTERMCU_LOST, radio_control, RC_LOST_FBW_MODE, RC_LOST_IN_AUTO_FBW_MODE, RC_REALLY_LOST, RadioControl::status, and intermcu_t::status.
Referenced by main_periodic().
Here is the caller graph for this function:| void handle_periodic_tasks | ( | void | ) |
Definition at line 109 of file main_fbw.c.
References electrical_periodic(), electrical_tid, main_periodic(), main_periodic_tid, modules_tid, radio_control_periodic_task(), radio_control_tid, sys_time_check_and_ack_timer(), telemetry_periodic(), and telemetry_tid.
Here is the call graph for this function:
|
inline |
Definition at line 284 of file main_fbw.c.
References fbw_on_ap_command(), fbw_on_rc_frame(), InterMcuEvent(), mcu_event(), and RadioControlEvent.
Here is the call graph for this function:
|
inline |
Main initialization.
Definition at line 75 of file main_fbw.c.
References electrical_init(), electrical_tid, fbw_mode, FBW_MODE_FAILSAFE, intermcu_init(), main_periodic_tid, mcu_init(), modules_tid, motor_mixing_init(), radio_control_init(), radio_control_tid, sys_time_register_timer(), and telemetry_tid.
Here is the call graph for this function:
|
inline |
Definition at line 174 of file main_fbw.c.
References autopilot_get_mode(), autopilot_motors_on, commands, commands_failsafe, fbw_mode, FBW_MODE_AUTO, FBW_MODE_FAILSAFE, FBW_MODE_MANUAL, fbw_motors_on, fbw_safety_check(), intermcu, intermcu_periodic(), LED_OFF, LED_ON, LED_PERIODIC, LED_TOGGLE, PPRZ_BAUD, and SetCommands.
Referenced by handle_periodic_tasks().
Here is the call graph for this function:
Here is the caller graph for this function:| void telemetry_periodic | ( | void | ) |
Definition at line 128 of file main_fbw.c.
References fbw_mode, and intermcu_send_status().
Referenced by handle_periodic_tasks().
Here is the call graph for this function:
Here is the caller graph for this function:| tid_t electrical_tid |
id for electrical_periodic() timer
Definition at line 70 of file main_fbw.c.
| fbw_mode_enum fbw_mode |
Fly by wire modes.
Definition at line 59 of file main_fbw.c.
Referenced by telemetry_intermcu_event().
| bool fbw_motors_on = false |
Definition at line 60 of file main_fbw.c.
Referenced by fbw_on_rc_frame(), and main_periodic().
| tid_t main_periodic_tid |
id for main_periodic() timer
Definition at line 67 of file main_fbw.c.
Referenced by handle_periodic_tasks(), and main_init().
| tid_t modules_tid |
id for modules_periodic_task() timer
Definition at line 68 of file main_fbw.c.
Referenced by handle_periodic_tasks(), and main_init().
| tid_t radio_control_tid |
id for radio_control_periodic_task() timer
Definition at line 69 of file main_fbw.c.
Referenced by handle_periodic_tasks(), and main_init().
| tid_t telemetry_tid |
id for telemetry_periodic() timer
Definition at line 71 of file main_fbw.c.
Referenced by handle_periodic_tasks(), and main_init().