dRonin  adbada4
dRonin firmware
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Airspeed Module

Files

file  airspeed.c
 Airspeed module.
 
file  gps_airspeed.c
 Use GPS data to estimate airspeed.
 
file  baro_airspeed_analog.h
 Read airspeed from analog sensor.
 
file  baro_airspeed_etasv3.h
 Calculate airspeed using GPS.
 
file  gps_airspeed.h
 Airspeed module, reads temperature and pressure from BMP085.
 

Data Structures

struct  GPSGlobals
 

Macros

#define STACK_SIZE_BYTES   0
 
#define NO_AIRSPEED_SENSOR_PRESENT
 
#define TASK_PRIORITY   PIOS_THREAD_PRIO_LOW
 
#define SAMPLING_DELAY_MS_FALLTHROUGH   50
 
#define GPS_AIRSPEED_BIAS_KP   0.01f
 
#define GPS_AIRSPEED_BIAS_KI   0.01f
 
#define GPS_AIRSPEED_TIME_CONSTANT_MS   500.0f
 
#define BARO_TEMPERATURE_OFFSET   5
 
#define GPS_AIRSPEED_BIAS_KP   0.1f
 
#define GPS_AIRSPEED_BIAS_KI   0.1f
 
#define SAMPLING_DELAY_MS_GPS   100
 
#define GPS_AIRSPEED_TIME_CONSTANT_MS   500.0f
 

Functions

static void airspeedTask (void *parameters)
 
void baro_airspeedGet (BaroAirspeedData *baroAirspeedData, uint32_t *lastSysTime, uint8_t airspeedSensorType, int8_t airspeedADCPin)
 
int32_t AirspeedStart ()
 
static void doSettingsUpdate ()
 
int32_t AirspeedInitialize ()
 
 MODULE_INITCALL (AirspeedInitialize, AirspeedStart)
 
void baro_airspeedGetAnalog (BaroAirspeedData *baroAirspeedData, uint32_t *lastSysTime, uint8_t airspeedSensorType, int8_t airspeedADCPin)
 
void baro_airspeedGetETASV3 (BaroAirspeedData *baroAirspeedData, uint32_t *lastSysTime, uint8_t airspeedSensorType, int8_t airspeedADCPin)
 
int32_t gps_airspeedInitialize ()
 
void gps_airspeedGet (float *v_air_GPS)
 

Variables

static struct pios_thread * taskHandle
 
static bool module_enabled = false
 
volatile bool gpsNew = false
 
static uint8_t airspeedSensorType
 
static uint16_t gpsSamplePeriod_ms
 
static float tasFilterTau = 0.1f
 
static struct GPSGlobalsgps
 

Detailed Description

Macro Definition Documentation

#define BARO_TEMPERATURE_OFFSET   5

Definition at line 86 of file airspeed.c.

#define GPS_AIRSPEED_BIAS_KI   0.1f

Definition at line 43 of file gps_airspeed.c.

#define GPS_AIRSPEED_BIAS_KI   0.01f

Definition at line 83 of file airspeed.c.

#define GPS_AIRSPEED_BIAS_KP   0.1f

Definition at line 42 of file gps_airspeed.c.

#define GPS_AIRSPEED_BIAS_KP   0.01f

Definition at line 82 of file airspeed.c.

#define GPS_AIRSPEED_TIME_CONSTANT_MS   500.0f

Definition at line 45 of file gps_airspeed.c.

#define GPS_AIRSPEED_TIME_CONSTANT_MS   500.0f

Definition at line 84 of file airspeed.c.

#define NO_AIRSPEED_SENSOR_PRESENT

Definition at line 75 of file airspeed.c.

#define SAMPLING_DELAY_MS_FALLTHROUGH   50

Definition at line 80 of file airspeed.c.

#define SAMPLING_DELAY_MS_GPS   100

Definition at line 44 of file gps_airspeed.c.

#define STACK_SIZE_BYTES   0

Output object: BaroAirspeed

This module will periodically update the value of the BaroAirspeed object.

Definition at line 74 of file airspeed.c.

#define TASK_PRIORITY   PIOS_THREAD_PRIO_LOW

Definition at line 78 of file airspeed.c.

Function Documentation

int32_t AirspeedInitialize ( )

Initialise the module, called on startup

Returns
0 on success or -1 if initialisation failed

Definition at line 154 of file airspeed.c.

int32_t AirspeedStart ( )

Initialise the module, called on startup

Returns
0 on success or -1 if initialisation failed

Definition at line 111 of file airspeed.c.

static void airspeedTask ( void *  parameters)
static

Module thread, should not return.

Definition at line 200 of file airspeed.c.

void baro_airspeedGet ( BaroAirspeedData *  baroAirspeedData,
uint32_t *  lastSysTime,
uint8_t  airspeedSensorType,
int8_t  airspeedADCPin 
)
void baro_airspeedGetAnalog ( BaroAirspeedData *  baroAirspeedData,
uint32_t *  lastSysTime,
uint8_t  airspeedSensorType,
int8_t  airspeedADCPin 
)

Output object: BaroAirspeed

This module will periodically update the value of the BaroAirspeed object.

Definition at line 149 of file baro_airspeed_analog.c.

void baro_airspeedGetETASV3 ( BaroAirspeedData *  baroAirspeedData,
uint32_t *  lastSysTime,
uint8_t  airspeedSensorType,
int8_t  airspeedADCPin 
)

Output object: BaroAirspeed

This module will periodically update the value of the BaroAirspeed object.

Definition at line 104 of file baro_airspeed_etasv3.c.

static void doSettingsUpdate ( )
static

Definition at line 128 of file airspeed.c.

void gps_airspeedGet ( float *  v_air_GPS)

Definition at line 103 of file gps_airspeed.c.

int32_t gps_airspeedInitialize ( )

Definition at line 63 of file gps_airspeed.c.

MODULE_INITCALL ( AirspeedInitialize  ,
AirspeedStart   
)

Variable Documentation

uint8_t airspeedSensorType
static

Definition at line 95 of file airspeed.c.

struct GPSGlobals* gps
static

Definition at line 56 of file gps_airspeed.c.

volatile bool gpsNew = false

Definition at line 93 of file airspeed.c.

uint16_t gpsSamplePeriod_ms
static

Definition at line 96 of file airspeed.c.

bool module_enabled = false
static

Definition at line 92 of file airspeed.c.

float tasFilterTau = 0.1f
static

Definition at line 97 of file airspeed.c.

struct pios_thread* taskHandle
static

Definition at line 91 of file airspeed.c.