Paparazzi UAS
v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
|
Windtunnel automatic step controller. More...
#include "modules/ctrl/ctrl_windtunnel.h"
#include "state.h"
#include "subsystems/radio_control.h"
#include "firmwares/rotorcraft/stabilization.h"
#include "subsystems/electrical.h"
#include "subsystems/datalink/telemetry.h"
Go to the source code of this file.
Data Structures | |
struct | ctrl_windtunnel_struct |
Macros | |
#define | WINDTUNNEL_TO_BODY_PHI 0 |
#define | WINDTUNNEL_TO_BODY_THETA 0 |
#define | WINDTUNNEL_TO_BODY_PSI 0 |
Functions | |
void | ctrl_module_init (void) |
void | ctrl_module_run (bool in_flight) |
static void | send_windtunnel_meas (struct transport_tx *trans, struct link_device *dev) |
void | guidance_h_module_init (void) |
void | guidance_h_module_enter (void) |
void | guidance_h_module_read_rc (void) |
void | guidance_h_module_run (bool in_flight) |
void | guidance_v_module_init (void) |
void | guidance_v_module_enter (void) |
void | guidance_v_module_run (UNUSED bool in_flight) |
Variables | |
struct ctrl_windtunnel_struct | ctrl_windtunnel |
float | ctrl_windtunnel_steptime = CTRL_WINDTUNNEL_STEPTIME |
struct min_max_ctrl_t | ctrl_windtunnel_throttle = {.min = CTRL_WINDTUNNEL_THR_MIN, .max = CTRL_WINDTUNNEL_THR_MAX, .step = CTRL_WINDTUNNEL_THR_STEP} |
struct min_max_ctrl_t | ctrl_windtunnel_flaps = {.min = CTRL_WINDTUNNEL_FLAP_MIN, .max = CTRL_WINDTUNNEL_FLAP_MAX, .step = CTRL_WINDTUNNEL_FLAP_STEP} |
static float | last_time = 0 |
Windtunnel automatic step controller.
Definition in file ctrl_windtunnel.c.
struct ctrl_windtunnel_struct |
Definition at line 45 of file ctrl_windtunnel.c.
Data Fields | ||
---|---|---|
int | rc_pitch | |
int | rc_roll | |
int | rc_throttle | |
int | rc_yaw | |
struct OrientationReps | rotation |
#define WINDTUNNEL_TO_BODY_PHI 0 |
Definition at line 34 of file ctrl_windtunnel.c.
#define WINDTUNNEL_TO_BODY_PSI 0 |
Definition at line 42 of file ctrl_windtunnel.c.
#define WINDTUNNEL_TO_BODY_THETA 0 |
Definition at line 38 of file ctrl_windtunnel.c.
void ctrl_module_init | ( | void | ) |
Definition at line 79 of file ctrl_windtunnel.c.
References ctrl_windtunnel, DefaultPeriodic, orientationSetEulers_f(), ctrl_windtunnel_struct::rc_pitch, ctrl_windtunnel_struct::rc_roll, ctrl_windtunnel_struct::rc_throttle, ctrl_windtunnel_struct::rc_yaw, register_periodic_telemetry(), ctrl_windtunnel_struct::rotation, send_windtunnel_meas(), WINDTUNNEL_TO_BODY_PHI, WINDTUNNEL_TO_BODY_PSI, and WINDTUNNEL_TO_BODY_THETA.
Referenced by guidance_h_module_enter(), and guidance_h_module_init().
void ctrl_module_run | ( | bool | in_flight | ) |
Definition at line 96 of file ctrl_windtunnel.c.
References ctrl_windtunnel, ctrl_windtunnel_flaps, ctrl_windtunnel_steptime, ctrl_windtunnel_throttle, min_max_ctrl_t::current, get_sys_time_float(), last_time, min_max_ctrl_t::max, MAX_PPRZ, min_max_ctrl_t::min, ctrl_windtunnel_struct::rc_throttle, stabilization_cmd, and min_max_ctrl_t::step.
Referenced by guidance_h_module_run().
void guidance_h_module_enter | ( | void | ) |
Definition at line 146 of file ctrl_windtunnel.c.
References ctrl_module_init().
void guidance_h_module_init | ( | void | ) |
Definition at line 141 of file ctrl_windtunnel.c.
References ctrl_module_init().
void guidance_h_module_read_rc | ( | void | ) |
Definition at line 151 of file ctrl_windtunnel.c.
References ctrl_windtunnel, radio_control, RADIO_PITCH, RADIO_ROLL, RADIO_THROTTLE, RADIO_YAW, ctrl_windtunnel_struct::rc_pitch, ctrl_windtunnel_struct::rc_roll, ctrl_windtunnel_struct::rc_throttle, ctrl_windtunnel_struct::rc_yaw, and RadioControl::values.
void guidance_h_module_run | ( | bool | in_flight | ) |
Definition at line 160 of file ctrl_windtunnel.c.
References ctrl_module_run().
void guidance_v_module_enter | ( | void | ) |
Definition at line 172 of file ctrl_windtunnel.c.
void guidance_v_module_init | ( | void | ) |
Definition at line 166 of file ctrl_windtunnel.c.
void guidance_v_module_run | ( | UNUSED bool | in_flight | ) |
Definition at line 177 of file ctrl_windtunnel.c.
|
static |
Definition at line 63 of file ctrl_windtunnel.c.
References air_data, AirData::airspeed, ctrl_windtunnel, Electrical::current, dev, electrical, float_eulers_of_quat(), float_quat_comp_inv(), orientationGetQuat_f(), ctrl_windtunnel_struct::rotation, stabilization_cmd, stateGetNedToBodyQuat_f(), FloatEulers::theta, and Electrical::vsupply.
Referenced by ctrl_module_init().
struct ctrl_windtunnel_struct ctrl_windtunnel |
Referenced by ctrl_module_init(), ctrl_module_run(), guidance_h_module_read_rc(), and send_windtunnel_meas().
struct min_max_ctrl_t ctrl_windtunnel_flaps = {.min = CTRL_WINDTUNNEL_FLAP_MIN, .max = CTRL_WINDTUNNEL_FLAP_MAX, .step = CTRL_WINDTUNNEL_FLAP_STEP} |
Definition at line 55 of file ctrl_windtunnel.c.
Referenced by ctrl_module_run().
float ctrl_windtunnel_steptime = CTRL_WINDTUNNEL_STEPTIME |
Definition at line 53 of file ctrl_windtunnel.c.
Referenced by ctrl_module_run().
struct min_max_ctrl_t ctrl_windtunnel_throttle = {.min = CTRL_WINDTUNNEL_THR_MIN, .max = CTRL_WINDTUNNEL_THR_MAX, .step = CTRL_WINDTUNNEL_THR_STEP} |
Definition at line 54 of file ctrl_windtunnel.c.
Referenced by ctrl_module_run().
|
static |
Definition at line 56 of file ctrl_windtunnel.c.
Referenced by ctrl_module_run().