Paparazzi UAS  v5.14.0_stable-0-g3f680d1
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
airspeed_ets.c File Reference

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>
+ Include dependency graph for airspeed_ets.c:

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 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 airspeed_ets_i2c_done
 
bool airspeed_ets_offset_init
 
uint32_t airspeed_ets_offset_tmp
 
uint16_t airspeed_ets_cnt
 
uint32_t airspeed_ets_delay_time
 
bool airspeed_ets_delay_done
 

Detailed Description

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.

Macro Definition Documentation

#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().

Function Documentation

void airspeed_ets_read_periodic ( void  )

Variable Documentation

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
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.