![]() |
Paparazzi UAS
v5.10_stable-5-g83a0da5-dirty
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 "pprzlink/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) |
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 113 of file airspeed_ets.c.
References airspeed_ets_i2c_trans, AIRSPEED_ETS_NBSAMPLES_AVRG, AIRSPEED_ETS_OFFSET_NBSAMPLES_AVRG, AIRSPEED_ETS_OFFSET_NBSAMPLES_INIT, I2CTransDone, i2c_transaction::status, and SysTimeTimerStart.
void airspeed_ets_read_event | ( | void | ) |
Definition at line 158 of file airspeed_ets.c.
References airspeed_ets_cnt, airspeed_ets_i2c_trans, AIRSPEED_ETS_NBSAMPLES_AVRG, AIRSPEED_ETS_OFFSET, AIRSPEED_ETS_OFFSET_MAX, AIRSPEED_ETS_OFFSET_MIN, AIRSPEED_ETS_OFFSET_NBSAMPLES_AVRG, airspeed_ets_raw, AIRSPEED_ETS_SCALE, i2c_transaction::buf, GpsState::course, DefaultChannel, DefaultDevice, GpsState::fix, gps, GpsState::gspeed, GpsState::hmsl, I2CTransDone, LlaCoor_i::lat, GpsState::lla_pos, LlaCoor_i::lon, GpsState::ned_vel, pprzLogFile, stateSetAirspeed_f(), i2c_transaction::status, GpsState::tow, GpsState::week, and NedCoor_i::z.
Referenced by AirspeedEtsEvent().
void airspeed_ets_read_periodic | ( | void | ) |
Definition at line 142 of file airspeed_ets.c.
References AIRSPEED_ETS_ADDR, AIRSPEED_ETS_I2C_DEV, airspeed_ets_i2c_trans, AIRSPEED_ETS_START_DELAY, i2c_receive(), I2CTransDone, sim_air_speed, stateSetAirspeed_f(), i2c_transaction::status, SysTimeTimer, and USEC_OF_SEC.
float airspeed_ets |
Definition at line 99 of file airspeed_ets.c.
float airspeed_ets_buffer[AIRSPEED_ETS_NBSAMPLES_AVRG] |
Definition at line 101 of file airspeed_ets.c.
int airspeed_ets_buffer_idx |
Definition at line 100 of file airspeed_ets.c.
uint16_t airspeed_ets_cnt |
Definition at line 109 of file airspeed_ets.c.
Referenced by airspeed_ets_read_event().
bool airspeed_ets_delay_done |
Definition at line 111 of file airspeed_ets.c.
uint32_t airspeed_ets_delay_time |
Definition at line 110 of file airspeed_ets.c.
volatile bool airspeed_ets_i2c_done |
Definition at line 106 of file airspeed_ets.c.
struct i2c_transaction airspeed_ets_i2c_trans |
Definition at line 103 of file airspeed_ets.c.
Referenced by airspeed_ets_init(), airspeed_ets_read_event(), airspeed_ets_read_periodic(), and AirspeedEtsEvent().
uint16_t airspeed_ets_offset |
Definition at line 97 of file airspeed_ets.c.
bool airspeed_ets_offset_init |
Definition at line 107 of file airspeed_ets.c.
uint32_t airspeed_ets_offset_tmp |
Definition at line 108 of file airspeed_ets.c.
uint16_t airspeed_ets_raw |
Definition at line 96 of file airspeed_ets.c.
Referenced by airspeed_ets_read_event().
bool airspeed_ets_valid |
Definition at line 98 of file airspeed_ets.c.