Paparazzi UAS
v5.8.2_stable-0-g6260b7c
Paparazzi is a free software Unmanned Aircraft System.
|
Driver for the EagleTree Systems Airspeed Sensor. More...
#include "sensors/airspeed_ets.h"
#include "state.h"
#include "mcu_periph/i2c.h"
#include "mcu_periph/uart.h"
#include "mcu_periph/sys_time.h"
#include "messages.h"
#include "subsystems/datalink/downlink.h"
#include <math.h>
Go to the source code of this file.
Macros | |
#define | AIRSPEED_ETS_ADDR 0xEA |
#define | AIRSPEED_ETS_SCALE 1.8 |
#define | AIRSPEED_ETS_OFFSET 0 |
#define | AIRSPEED_ETS_OFFSET_MAX 1750 |
#define | AIRSPEED_ETS_OFFSET_MIN 1450 |
#define | AIRSPEED_ETS_OFFSET_NBSAMPLES_INIT 40 |
#define | AIRSPEED_ETS_OFFSET_NBSAMPLES_AVRG 60 |
#define | AIRSPEED_ETS_NBSAMPLES_AVRG 10 |
#define | AIRSPEED_ETS_I2C_DEV i2c0 |
#define | AIRSPEED_ETS_START_DELAY 0.2 |
delay in seconds until sensor is read after startup More... | |
Functions | |
void | airspeed_ets_init (void) |
void | airspeed_ets_read_periodic (void) |
void | airspeed_ets_read_event (void) |
Variables | |
uint16_t | airspeed_ets_raw |
uint16_t | airspeed_ets_offset |
bool_t | airspeed_ets_valid |
float | airspeed_ets |
int | airspeed_ets_buffer_idx |
float | airspeed_ets_buffer [AIRSPEED_ETS_NBSAMPLES_AVRG] |
struct i2c_transaction | airspeed_ets_i2c_trans |
volatile bool_t | airspeed_ets_i2c_done |
bool_t | airspeed_ets_offset_init |
uint32_t | airspeed_ets_offset_tmp |
uint16_t | airspeed_ets_cnt |
uint32_t | airspeed_ets_delay_time |
bool_t | airspeed_ets_delay_done |
Driver for the EagleTree Systems Airspeed Sensor.
Has only been tested with V3 of the sensor hardware.
Notes: Connect directly to TWOG/Tiny I2C port. Multiple sensors can be chained together. Sensor should be in the proprietary mode (default) and not in 3rd party mode. Define AIRSPEED_ETS_3RD_PARTY_MODE to run it in 3rd party mode.
Sensor module wire assignments: Red wire: 5V White wire: Ground Yellow wire: SDA Brown wire: SCL
Definition in file airspeed_ets.c.
#define AIRSPEED_ETS_ADDR 0xEA |
Definition at line 62 of file airspeed_ets.c.
Referenced by airspeed_ets_read_periodic().
#define AIRSPEED_ETS_I2C_DEV i2c0 |
Definition at line 76 of file airspeed_ets.c.
Referenced by airspeed_ets_read_periodic().
#define AIRSPEED_ETS_NBSAMPLES_AVRG 10 |
Definition at line 73 of file airspeed_ets.c.
Referenced by airspeed_ets_init(), and airspeed_ets_read_event().
#define AIRSPEED_ETS_OFFSET 0 |
Definition at line 67 of file airspeed_ets.c.
Referenced by airspeed_ets_read_event().
#define AIRSPEED_ETS_OFFSET_MAX 1750 |
Definition at line 69 of file airspeed_ets.c.
Referenced by airspeed_ets_read_event().
#define AIRSPEED_ETS_OFFSET_MIN 1450 |
Definition at line 70 of file airspeed_ets.c.
Referenced by airspeed_ets_read_event().
#define AIRSPEED_ETS_OFFSET_NBSAMPLES_AVRG 60 |
Definition at line 72 of file airspeed_ets.c.
Referenced by airspeed_ets_init(), and airspeed_ets_read_event().
#define AIRSPEED_ETS_OFFSET_NBSAMPLES_INIT 40 |
Definition at line 71 of file airspeed_ets.c.
Referenced by airspeed_ets_init().
#define AIRSPEED_ETS_SCALE 1.8 |
Definition at line 64 of file airspeed_ets.c.
Referenced by airspeed_ets_read_event().
#define AIRSPEED_ETS_START_DELAY 0.2 |
delay in seconds until sensor is read after startup
Definition at line 82 of file airspeed_ets.c.
Referenced by airspeed_ets_read_periodic().
void airspeed_ets_init | ( | void | ) |
Definition at line 105 of file airspeed_ets.c.
References airspeed_ets_buffer, AIRSPEED_ETS_NBSAMPLES_AVRG, AIRSPEED_ETS_OFFSET_NBSAMPLES_AVRG, AIRSPEED_ETS_OFFSET_NBSAMPLES_INIT, FALSE, I2CTransDone, i2c_transaction::status, SysTimeTimerStart, and TRUE.
void airspeed_ets_read_event | ( | void | ) |
Definition at line 144 of file airspeed_ets.c.
References airspeed_ets, airspeed_ets_buffer, airspeed_ets_buffer_idx, airspeed_ets_cnt, airspeed_ets_i2c_trans, AIRSPEED_ETS_NBSAMPLES_AVRG, AIRSPEED_ETS_OFFSET, airspeed_ets_offset, airspeed_ets_offset_init, AIRSPEED_ETS_OFFSET_MAX, AIRSPEED_ETS_OFFSET_MIN, AIRSPEED_ETS_OFFSET_NBSAMPLES_AVRG, airspeed_ets_offset_tmp, airspeed_ets_raw, AIRSPEED_ETS_SCALE, airspeed_ets_valid, i2c_transaction::buf, DefaultChannel, DefaultDevice, FALSE, I2CTransDone, stateSetAirspeed_f(), i2c_transaction::status, and TRUE.
Referenced by AirspeedEtsEvent().
void airspeed_ets_read_periodic | ( | void | ) |
Definition at line 128 of file airspeed_ets.c.
References AIRSPEED_ETS_ADDR, airspeed_ets_delay_done, airspeed_ets_delay_time, AIRSPEED_ETS_I2C_DEV, airspeed_ets_i2c_trans, AIRSPEED_ETS_START_DELAY, i2c_receive(), I2CTransDone, sim_air_speed, stateSetAirspeed_f(), i2c_transaction::status, SysTimeTimer, TRUE, and USEC_OF_SEC.
float airspeed_ets |
Definition at line 91 of file airspeed_ets.c.
Referenced by airspeed_ets_read_event().
float airspeed_ets_buffer[AIRSPEED_ETS_NBSAMPLES_AVRG] |
Definition at line 93 of file airspeed_ets.c.
Referenced by airspeed_ets_init(), and airspeed_ets_read_event().
int airspeed_ets_buffer_idx |
Definition at line 92 of file airspeed_ets.c.
Referenced by airspeed_ets_read_event().
uint16_t airspeed_ets_cnt |
Definition at line 101 of file airspeed_ets.c.
Referenced by airspeed_ets_read_event().
bool_t airspeed_ets_delay_done |
Definition at line 103 of file airspeed_ets.c.
Referenced by airspeed_ets_read_periodic().
uint32_t airspeed_ets_delay_time |
Definition at line 102 of file airspeed_ets.c.
Referenced by airspeed_ets_read_periodic().
volatile bool_t airspeed_ets_i2c_done |
Definition at line 98 of file airspeed_ets.c.
struct i2c_transaction airspeed_ets_i2c_trans |
Definition at line 95 of file airspeed_ets.c.
Referenced by airspeed_ets_read_event(), airspeed_ets_read_periodic(), and AirspeedEtsEvent().
uint16_t airspeed_ets_offset |
Definition at line 89 of file airspeed_ets.c.
Referenced by airspeed_ets_read_event().
bool_t airspeed_ets_offset_init |
Definition at line 99 of file airspeed_ets.c.
Referenced by airspeed_ets_read_event().
uint32_t airspeed_ets_offset_tmp |
Definition at line 100 of file airspeed_ets.c.
Referenced by airspeed_ets_read_event().
uint16_t airspeed_ets_raw |
Definition at line 88 of file airspeed_ets.c.
Referenced by airspeed_ets_read_event().
bool_t airspeed_ets_valid |
Definition at line 90 of file airspeed_ets.c.
Referenced by airspeed_ets_read_event().