Paparazzi UAS
v5.12_stable-4-g9b43e9b
Paparazzi is a free software Unmanned Aircraft System.
|
#include "firmwares/rotorcraft/autopilot_firmware.h"
#include "generated/modules.h"
#include <stdint.h>
#include "subsystems/electrical.h"
#include "subsystems/datalink/telemetry.h"
#include "subsystems/radio_control.h"
#include "subsystems/gps.h"
#include "modules/nav/nav_geofence.h"
Go to the source code of this file.
Macros | |
#define | AUTOPILOT_IN_FLIGHT_TIME 20 |
time steps for in_flight detection (at 20Hz, so 20=1second) More... | |
#define | AUTOPILOT_IN_FLIGHT_MIN_SPEED 0.2 |
minimum vertical speed for in_flight condition in m/s More... | |
#define | AUTOPILOT_IN_FLIGHT_MIN_ACCEL 2.0 |
minimum vertical acceleration for in_flight condition in m/s^2 More... | |
#define | AUTOPILOT_IN_FLIGHT_MIN_THRUST 500 |
minimum thrust for in_flight condition in pprz_t units (max = 9600) More... | |
#define | THRESHOLD_GROUND_DETECT 25.0 |
Z-acceleration threshold to detect ground in m/s^2. More... | |
Functions | |
static void | send_status (struct transport_tx *trans, struct link_device *dev) |
static void | send_energy (struct transport_tx *trans, struct link_device *dev) |
static void | send_fp (struct transport_tx *trans, struct link_device *dev) |
static void | send_fp_min (struct transport_tx *trans, struct link_device *dev) |
static void | send_rotorcraft_rc (struct transport_tx *trans, struct link_device *dev) |
static void | send_rotorcraft_cmd (struct transport_tx *trans, struct link_device *dev) |
void | autopilot_firmware_init (void) |
Init function. More... | |
void | autopilot_event (void) |
autopilot event function More... | |
void | autopilot_reset_in_flight_counter (void) |
reset in_flight counter More... | |
void | autopilot_check_in_flight (bool motors_on) |
in flight check utility function More... | |
Variables | |
uint8_t | autopilot_mode_auto2 |
static uint32_t | autopilot_in_flight_counter |
#define AUTOPILOT_IN_FLIGHT_MIN_ACCEL 2.0 |
minimum vertical acceleration for in_flight condition in m/s^2
Definition at line 67 of file autopilot_firmware.c.
Referenced by autopilot_check_in_flight().
#define AUTOPILOT_IN_FLIGHT_MIN_SPEED 0.2 |
minimum vertical speed for in_flight condition in m/s
Definition at line 62 of file autopilot_firmware.c.
Referenced by autopilot_check_in_flight().
#define AUTOPILOT_IN_FLIGHT_MIN_THRUST 500 |
minimum thrust for in_flight condition in pprz_t units (max = 9600)
Definition at line 72 of file autopilot_firmware.c.
Referenced by autopilot_check_in_flight().
#define AUTOPILOT_IN_FLIGHT_TIME 20 |
time steps for in_flight detection (at 20Hz, so 20=1second)
Definition at line 57 of file autopilot_firmware.c.
Referenced by autopilot_check_in_flight().
#define THRESHOLD_GROUND_DETECT 25.0 |
Z-acceleration threshold to detect ground in m/s^2.
Definition at line 77 of file autopilot_firmware.c.
Referenced by autopilot_event().
void autopilot_check_in_flight | ( | bool | motors_on | ) |
in flight check utility function
Check if airframe is in flight.
Definition at line 232 of file autopilot_firmware.c.
References autopilot, autopilot_in_flight_counter, AUTOPILOT_IN_FLIGHT_MIN_ACCEL, AUTOPILOT_IN_FLIGHT_MIN_SPEED, AUTOPILOT_IN_FLIGHT_MIN_THRUST, AUTOPILOT_IN_FLIGHT_TIME, pprz_autopilot::in_flight, stabilization_cmd, stateGetAccelNed_f(), stateGetSpeedNed_f(), and NedCoor_f::z.
void autopilot_event | ( | void | ) |
autopilot event function
Autopilot event check function.
used for automatic ground detection
Definition at line 207 of file autopilot_firmware.c.
References AP_MODE_FAILSAFE, autopilot, pprz_autopilot::detect_ground_once, pprz_autopilot::ground_detected, pprz_autopilot::mode, stateGetAccelNed_f(), THRESHOLD_GROUND_DETECT, and NedCoor_f::z.
void autopilot_firmware_init | ( | void | ) |
Init function.
Definition at line 187 of file autopilot_firmware.c.
References autopilot_in_flight_counter, autopilot_mode_auto2, current, DefaultPeriodic, energy, MODE_AUTO2, register_periodic_telemetry(), send_airspeed(), send_bat(), send_desired(), send_energy(), send_estimator(), send_fp(), send_fp_min(), send_mode(), send_rotorcraft_cmd(), send_rotorcraft_rc(), send_status(), and vsupply.
void autopilot_reset_in_flight_counter | ( | void | ) |
reset in_flight counter
reset in_flight counter actual implementation is firmware dependent
Definition at line 225 of file autopilot_firmware.c.
References autopilot_in_flight_counter.
|
static |
Definition at line 109 of file autopilot_firmware.c.
References Electrical::current, electrical, Electrical::energy, and Electrical::vsupply.
Referenced by autopilot_firmware_init().
|
static |
Definition at line 121 of file autopilot_firmware.c.
References ANGLE_BFP_OF_REAL, autopilot, pprz_autopilot::flight_time, guidance_h, guidance_v_z_sp, HorizontalGuidanceSetpoint::heading, HorizontalGuidanceSetpoint::pos, HorizontalGuidance::sp, stabilization_cmd, stateGetNedToBodyEulers_i(), stateGetPositionEnu_i(), stateGetSpeedEnu_i(), Int32Vect2::x, and Int32Vect2::y.
Referenced by autopilot_firmware_init().
|
static |
Definition at line 143 of file autopilot_firmware.c.
References gps, GpsState::gspeed, stateGetHorizontalSpeedNorm_f(), and stateGetPositionEnu_i().
Referenced by autopilot_firmware_init().
|
static |
Definition at line 177 of file autopilot_firmware.c.
References stabilization_cmd.
Referenced by autopilot_firmware_init().
|
static |
Definition at line 159 of file autopilot_firmware.c.
References radio_control, RADIO_KILL_SWITCH, RADIO_MODE, RADIO_PITCH, RADIO_ROLL, RADIO_THROTTLE, RADIO_YAW, RadioControl::status, and RadioControl::values.
Referenced by autopilot_firmware_init().
|
static |
Definition at line 85 of file autopilot_firmware.c.
References autopilot, electrical, GpsState::fix, RadioControl::frame_rate, gps, guidance_h, guidance_v_mode, pprz_autopilot::in_flight, pprz_autopilot::mode, HorizontalGuidance::mode, motor_mixing, pprz_autopilot::motors_on, MotorMixing::nb_failure, MotorMixing::nb_saturation, sys_time::nb_sec, radio_control, RadioControl::status, and Electrical::vsupply.
Referenced by autopilot_firmware_init().
|
static |
Definition at line 50 of file autopilot_firmware.c.
Referenced by autopilot_check_in_flight(), autopilot_firmware_init(), and autopilot_reset_in_flight_counter().
uint8_t autopilot_mode_auto2 |
Definition at line 49 of file autopilot_firmware.c.
Referenced by ap_mode_of_3way_switch(), autopilot_firmware_init(), and guidance_flip_run().