Paparazzi UAS  v5.2.2_stable-0-gd6b9f29
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures 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 "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_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
 

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.

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 56 of file airspeed_ets.c.

Referenced by airspeed_ets_read_periodic().

#define AIRSPEED_ETS_I2C_DEV   i2c0

Definition at line 70 of file airspeed_ets.c.

Referenced by airspeed_ets_read_periodic().

#define AIRSPEED_ETS_NBSAMPLES_AVRG   10

Definition at line 67 of file airspeed_ets.c.

Referenced by airspeed_ets_init(), and airspeed_ets_read_event().

#define AIRSPEED_ETS_OFFSET   0

Definition at line 61 of file airspeed_ets.c.

Referenced by airspeed_ets_read_event().

#define AIRSPEED_ETS_OFFSET_MAX   1750

Definition at line 63 of file airspeed_ets.c.

Referenced by airspeed_ets_read_event().

#define AIRSPEED_ETS_OFFSET_MIN   1450

Definition at line 64 of file airspeed_ets.c.

Referenced by airspeed_ets_read_event().

#define AIRSPEED_ETS_OFFSET_NBSAMPLES_AVRG   60

Definition at line 66 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 65 of file airspeed_ets.c.

Referenced by airspeed_ets_init().

#define AIRSPEED_ETS_SCALE   1.8

Definition at line 58 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 76 of file airspeed_ets.c.

Referenced by airspeed_ets_read_periodic().

Function Documentation

Variable Documentation

float airspeed_ets

Definition at line 85 of file airspeed_ets.c.

Referenced by airspeed_ets_read_event().

float airspeed_ets_buffer[AIRSPEED_ETS_NBSAMPLES_AVRG]

Definition at line 87 of file airspeed_ets.c.

Referenced by airspeed_ets_init(), and airspeed_ets_read_event().

int airspeed_ets_buffer_idx

Definition at line 86 of file airspeed_ets.c.

Referenced by airspeed_ets_read_event().

uint16_t airspeed_ets_cnt

Definition at line 95 of file airspeed_ets.c.

Referenced by airspeed_ets_read_event().

bool_t airspeed_ets_delay_done

Definition at line 97 of file airspeed_ets.c.

Referenced by airspeed_ets_read_periodic().

uint32_t airspeed_ets_delay_time

Definition at line 96 of file airspeed_ets.c.

Referenced by airspeed_ets_read_periodic().

volatile bool_t airspeed_ets_i2c_done

Definition at line 92 of file airspeed_ets.c.

struct i2c_transaction airspeed_ets_i2c_trans

Definition at line 89 of file airspeed_ets.c.

Referenced by airspeed_ets_read_event(), and airspeed_ets_read_periodic().

uint16_t airspeed_ets_offset

Definition at line 83 of file airspeed_ets.c.

Referenced by airspeed_ets_read_event().

bool_t airspeed_ets_offset_init

Definition at line 93 of file airspeed_ets.c.

Referenced by airspeed_ets_read_event().

uint32_t airspeed_ets_offset_tmp

Definition at line 94 of file airspeed_ets.c.

Referenced by airspeed_ets_read_event().

uint16_t airspeed_ets_raw

Definition at line 82 of file airspeed_ets.c.

Referenced by airspeed_ets_read_event().

bool_t airspeed_ets_valid

Definition at line 84 of file airspeed_ets.c.

Referenced by airspeed_ets_read_event().