Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Angle of Attack sensor on PWM. More...
#include "modules/sensors/aoa_pwm.h"
#include "mcu_periph/pwm_input.h"
#include "pprzlink/messages.h"
#include "modules/datalink/downlink.h"
#include "modules/core/abi.h"
#include "generated/airframe.h"
#include "modules/datalink/telemetry.h"
Go to the source code of this file.
Macros | |
#define | AOA_PWM_PERIOD 4096 |
Default to a 12 bit PWM sensor. More... | |
#define | AOA_PWM_OFFSET 1 |
Some sensor may need an initial PWM offset (1 usec in the case of an MA3 sensor) More... | |
#define | AOA_ANGLE_OFFSET M_PI |
Default offset value (assuming 0 AOA is in the middle of the range) More... | |
#define | AOA_OFFSET 0.0f |
Default extra offset that can be ajusted from settings. More... | |
#define | AOA_FILTER 0.0f |
Default filter value. More... | |
#define | AOA_SENS ((2.0f*M_PI)/AOA_PWM_PERIOD) |
Default sensitivity (2*pi on a PWM of period AOA_PWM_PERIOD) More... | |
#define | AOA_SIGN 1 |
#define | SEND_SYNC_AOA TRUE |
#define | LOG_AOA FALSE |
#define | SSA_OFFSET 0.0f |
#define | SSA_FILTER 0.0f |
#define | SSA_SENS ((2.0f*M_PI)/AOA_PWM_PERIOD) |
#define | SSA_SIGN 1 |
Functions | |
static void | send_aoa (struct transport_tx *trans, struct link_device *dev) |
void | aoa_pwm_init (void) |
void | aoa_pwm_update (void) |
Variables | |
struct Aoa_Pwm | aoa_pwm |
struct Aoa_Pwm | ssa_pwm |
enum Aoa_Type | aoa_send_type |
Angle of Attack sensor on PWM.
Driver for a PWM based angle of attack sensor A second sensor can be defined for the sideslip angle It is assumed that both sensors are the same, only sensitivity, offset and direction can differ.
SENSOR, exemple : US DIGITAL MA3-P12-125-B
Definition in file aoa_pwm.c.
#define AOA_ANGLE_OFFSET M_PI |
#define AOA_OFFSET 0.0f |
#define AOA_PWM_OFFSET 1 |
#define AOA_PWM_PERIOD 4096 |
#define AOA_SENS ((2.0f*M_PI)/AOA_PWM_PERIOD) |
#define SSA_SENS ((2.0f*M_PI)/AOA_PWM_PERIOD) |
void aoa_pwm_init | ( | void | ) |
Definition at line 145 of file aoa_pwm.c.
References Aoa_Pwm::angle, AOA_FILTER, AOA_OFFSET, aoa_pwm, aoa_send_type, AOA_SENS, DefaultPeriodic, Aoa_Pwm::filter, log_started, Aoa_Pwm::offset, Aoa_Pwm::raw, register_periodic_telemetry(), send_aoa(), SEND_TYPE_AOA, Aoa_Pwm::sens, SSA_FILTER, SSA_OFFSET, ssa_pwm, and SSA_SENS.
void aoa_pwm_update | ( | void | ) |
Definition at line 167 of file aoa_pwm.c.
References Aoa_Pwm::angle, AOA_ANGLE_OFFSET, aoa_pwm, AOA_PWM_ID, AOA_PWM_OFFSET, AOA_SIGN, DefaultChannel, DefaultDevice, Aoa_Pwm::filter, get_pwm_input_duty_in_usec(), log_started, Aoa_Pwm::offset, pprzLogFile, Aoa_Pwm::raw, send_aoa(), Aoa_Pwm::sens, ssa_pwm, and SSA_SIGN.
|
static |
Definition at line 128 of file aoa_pwm.c.
References Aoa_Pwm::angle, aoa_pwm, aoa_send_type, dev, Aoa_Pwm::raw, SEND_TYPE_AOA, SEND_TYPE_SIDESLIP, and ssa_pwm.
Referenced by aoa_pwm_init(), and aoa_pwm_update().
struct Aoa_Pwm aoa_pwm |
Definition at line 1 of file aoa_pwm.c.
Referenced by aoa_pwm_init(), aoa_pwm_update(), and send_aoa().
enum Aoa_Type aoa_send_type |
Definition at line 1 of file aoa_pwm.c.
Referenced by aoa_pwm_init(), and send_aoa().
struct Aoa_Pwm ssa_pwm |
Definition at line 1 of file aoa_pwm.c.
Referenced by aoa_pwm_init(), aoa_pwm_update(), and send_aoa().