Paparazzi UAS  v6.2_unstable
Paparazzi is a free software Unmanned Aircraft System.
meteo_stick.c File Reference
#include "modules/meteo/meteo_stick.h"
#include "modules/core/abi.h"
#include "peripherals/ads1220.h"
#include "mcu_periph/pwm_input.h"
#include "generated/airframe.h"
#include "pprzlink/messages.h"
#include "modules/datalink/downlink.h"
+ Include dependency graph for meteo_stick.c:

Go to the source code of this file.

Macros

#define MS_PRESSURE_OFFSET   0.0f
 Default scale and offset Only used if calibration from EEPROM is not used/available. More...
 
#define MS_PRESSURE_SCALE   1.0f
 
#define MS_TEMPERATURE_OFFSET   0.0f
 
#define MS_TEMPERATURE_SCALE   1.0f
 
#define MS_HUMIDTY_OFFSET   0.0f
 
#define MS_HUMIDTY_SCALE   1.0f
 
#define MS_DIFF_PRESSURE_OFFSET   0.0f
 
#define MS_DIFF_PRESSURE_SCALE   1.0f
 
#define MS_PITOT_COUNTER   20
 
#define MS_PITOT_FILTER   0.6
 
#define SEND_MS_SYNC   FALSE
 Send over telemetry synchrone to reading. More...
 
#define LOG_MS   TRUE
 Includes to log on SD card as ASCII csv. More...
 
#define LOG_MS_FLIGHTRECORDER   FALSE
 Includes and function to log to flight recorder. More...
 
#define MS_LOG_FILE   flightrecorder_sdlog
 

Functions

static float get_pressure (uint32_t raw)
 
static float get_temp (uint32_t raw)
 
static float get_diff (uint32_t raw)
 
static float get_pitot (uint32_t raw)
 
static float get_humidity (uint32_t raw)
 
static void meteo_stick_send_data (struct transport_tx *trans, struct link_device *device)
 Funnction to send over different transport and device. More...
 
void meteo_stick_init (void)
 Init function. More...
 
void meteo_stick_periodic (void)
 Periodic function. More...
 
void meteo_stick_event (void)
 Event function. More...
 
void meteo_stick_report (void)
 

Variables

struct MeteoStick meteo_stick
 General structure. More...
 
static const float maxAdc = 8388608.0f
 Prescaling of data according to datasheets. More...
 
static float pitot_offset
 
static int pitot_counter
 

Macro Definition Documentation

◆ LOG_MS

#define LOG_MS   TRUE

Includes to log on SD card as ASCII csv.

TRUE by default

Definition at line 197 of file meteo_stick.c.

◆ LOG_MS_FLIGHTRECORDER

#define LOG_MS_FLIGHTRECORDER   FALSE

Includes and function to log to flight recorder.

FALSE by default

Definition at line 261 of file meteo_stick.c.

◆ MS_DIFF_PRESSURE_OFFSET

#define MS_DIFF_PRESSURE_OFFSET   0.0f

Definition at line 53 of file meteo_stick.c.

◆ MS_DIFF_PRESSURE_SCALE

#define MS_DIFF_PRESSURE_SCALE   1.0f

Definition at line 56 of file meteo_stick.c.

◆ MS_HUMIDTY_OFFSET

#define MS_HUMIDTY_OFFSET   0.0f

Definition at line 47 of file meteo_stick.c.

◆ MS_HUMIDTY_SCALE

#define MS_HUMIDTY_SCALE   1.0f

Definition at line 50 of file meteo_stick.c.

◆ MS_LOG_FILE

#define MS_LOG_FILE   flightrecorder_sdlog

Definition at line 266 of file meteo_stick.c.

◆ MS_PITOT_COUNTER

#define MS_PITOT_COUNTER   20

Definition at line 128 of file meteo_stick.c.

◆ MS_PITOT_FILTER

#define MS_PITOT_FILTER   0.6

Definition at line 130 of file meteo_stick.c.

◆ MS_PRESSURE_OFFSET

#define MS_PRESSURE_OFFSET   0.0f

Default scale and offset Only used if calibration from EEPROM is not used/available.

Definition at line 35 of file meteo_stick.c.

◆ MS_PRESSURE_SCALE

#define MS_PRESSURE_SCALE   1.0f

Definition at line 38 of file meteo_stick.c.

◆ MS_TEMPERATURE_OFFSET

#define MS_TEMPERATURE_OFFSET   0.0f

Definition at line 41 of file meteo_stick.c.

◆ MS_TEMPERATURE_SCALE

#define MS_TEMPERATURE_SCALE   1.0f

Definition at line 44 of file meteo_stick.c.

◆ SEND_MS_SYNC

#define SEND_MS_SYNC   FALSE

Send over telemetry synchrone to reading.

FALSE by default (the asynchronous report function is used by default)

Definition at line 188 of file meteo_stick.c.

Function Documentation

◆ get_diff()

static float get_diff ( uint32_t  raw)
inlinestatic

Definition at line 132 of file meteo_stick.c.

References ADS1220_GAIN_2, Ads1220GainTable, MeteoStick::current_temperature, f, maxAdc, meteo_stick, MS_DIFF_PRESSURE_OFFSET, MS_DIFF_PRESSURE_SCALE, MTOSTK_DIF_PRESS, mtostk_get_calibrated_value(), and pitot_offset.

Referenced by get_pitot(), and meteo_stick_event().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get_humidity()

static float get_humidity ( uint32_t  raw)
inlinestatic

Definition at line 150 of file meteo_stick.c.

References MeteoStick::current_temperature, f, meteo_stick, MS_HUMIDTY_OFFSET, MS_HUMIDTY_SCALE, mtostk_get_calibrated_value(), MTOSTK_HUMIDITY, and S1.

Referenced by meteo_stick_periodic().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get_pitot()

static float get_pitot ( uint32_t  raw)
inlinestatic

Definition at line 145 of file meteo_stick.c.

References f, and get_diff().

Referenced by meteo_stick_event().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get_pressure()

static float get_pressure ( uint32_t  raw)
inlinestatic

Definition at line 95 of file meteo_stick.c.

References MeteoStick::current_temperature, f, maxAdc, meteo_stick, MS_PRESSURE_OFFSET, MS_PRESSURE_SCALE, MTOSTK_ABS_PRESS, and mtostk_get_calibrated_value().

Referenced by meteo_stick_event().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get_temp()

static float get_temp ( uint32_t  raw)
inlinestatic

Definition at line 106 of file meteo_stick.c.

References ADS1220_GAIN_4, Ads1220GainTable, f, maxAdc, meteo_stick, MS_TEMPERATURE_OFFSET, MS_TEMPERATURE_SCALE, mtostk_get_calibrated_value(), and MTOSTK_TEMP.

Referenced by meteo_stick_event().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ meteo_stick_event()

◆ meteo_stick_init()

◆ meteo_stick_periodic()

◆ meteo_stick_report()

void meteo_stick_report ( void  )

Definition at line 497 of file meteo_stick.c.

References DefaultChannel, DefaultDevice, and meteo_stick_send_data().

+ Here is the call graph for this function:

◆ meteo_stick_send_data()

static void meteo_stick_send_data ( struct transport_tx *  trans,
struct link_device *  device 
)
static

Funnction to send over different transport and device.

Definition at line 170 of file meteo_stick.c.

References MeteoStick::current_airspeed, MeteoStick::current_humidity, MeteoStick::current_pressure, MeteoStick::current_temperature, gps, GpsState::hmsl, meteo_stick, stateGetPositionLla_i(), and GpsState::tow.

Referenced by meteo_stick_periodic(), and meteo_stick_report().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ maxAdc

const float maxAdc = 8388608.0f
static

Prescaling of data according to datasheets.

Definition at line 93 of file meteo_stick.c.

Referenced by get_diff(), get_pressure(), and get_temp().

◆ meteo_stick

struct MeteoStick meteo_stick

◆ pitot_counter

int pitot_counter
static

Definition at line 126 of file meteo_stick.c.

Referenced by meteo_stick_event(), meteo_stick_init(), and meteo_stick_periodic().

◆ pitot_offset

float pitot_offset
static

Definition at line 125 of file meteo_stick.c.

Referenced by get_diff(), and meteo_stick_event().