Paparazzi UAS
v5.10_stable-5-g83a0da5-dirty
Paparazzi is a free software Unmanned Aircraft System.
|
#include "modules/meteo/meteo_stick.h"
#include "subsystems/abi.h"
#include "peripherals/ads1220.h"
#include "mcu_periph/pwm_input.h"
#include "generated/airframe.h"
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 | LOG_MS TRUE |
Includes to log on SD card. More... | |
#define | SEND_MS TRUE |
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) |
void | meteo_stick_init (void) |
Init function. More... | |
void | meteo_stick_periodic (void) |
Periodic function. More... | |
void | meteo_stick_event (void) |
Event function. More... | |
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 |
#define LOG_MS TRUE |
#define MS_DIFF_PRESSURE_OFFSET 0.0f |
Definition at line 51 of file meteo_stick.c.
Referenced by get_diff().
#define MS_DIFF_PRESSURE_SCALE 1.0f |
Definition at line 54 of file meteo_stick.c.
Referenced by get_diff().
#define MS_HUMIDTY_OFFSET 0.0f |
Definition at line 45 of file meteo_stick.c.
Referenced by get_humidity().
#define MS_HUMIDTY_SCALE 1.0f |
Definition at line 48 of file meteo_stick.c.
Referenced by get_humidity().
#define MS_PITOT_COUNTER 20 |
Definition at line 126 of file meteo_stick.c.
Referenced by meteo_stick_event(), meteo_stick_init(), and meteo_stick_periodic().
#define MS_PITOT_FILTER 0.6 |
Definition at line 128 of file meteo_stick.c.
Referenced by meteo_stick_event().
#define MS_PRESSURE_OFFSET 0.0f |
Default scale and offset Only used if calibration from EEPROM is not used/available.
Definition at line 33 of file meteo_stick.c.
Referenced by get_pressure().
#define MS_PRESSURE_SCALE 1.0f |
Definition at line 36 of file meteo_stick.c.
Referenced by get_pressure().
#define MS_TEMPERATURE_OFFSET 0.0f |
Definition at line 39 of file meteo_stick.c.
Referenced by get_temp().
#define MS_TEMPERATURE_SCALE 1.0f |
Definition at line 42 of file meteo_stick.c.
Referenced by get_temp().
#define SEND_MS TRUE |
Definition at line 185 of file meteo_stick.c.
|
inlinestatic |
Definition at line 130 of file meteo_stick.c.
References ADS1220_GAIN_2, Ads1220GainTable, MeteoStick::current_temperature, 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().
|
inlinestatic |
Definition at line 148 of file meteo_stick.c.
References MeteoStick::current_temperature, meteo_stick, MS_HUMIDTY_OFFSET, MS_HUMIDTY_SCALE, mtostk_get_calibrated_value(), and MTOSTK_HUMIDITY.
Referenced by meteo_stick_periodic().
|
inlinestatic |
Definition at line 143 of file meteo_stick.c.
References get_diff().
Referenced by meteo_stick_event().
|
inlinestatic |
Definition at line 93 of file meteo_stick.c.
References MeteoStick::current_temperature, maxAdc, meteo_stick, MS_PRESSURE_OFFSET, MS_PRESSURE_SCALE, MTOSTK_ABS_PRESS, and mtostk_get_calibrated_value().
Referenced by meteo_stick_event().
|
inlinestatic |
Definition at line 104 of file meteo_stick.c.
References ADS1220_GAIN_4, Ads1220GainTable, maxAdc, meteo_stick, MS_TEMPERATURE_OFFSET, MS_TEMPERATURE_SCALE, mtostk_get_calibrated_value(), and MTOSTK_TEMP.
Referenced by meteo_stick_event().
void meteo_stick_event | ( | void | ) |
Event function.
Definition at line 384 of file meteo_stick.c.
References ads1220_event(), MeteoStick::current_airspeed, MeteoStick::current_pressure, MeteoStick::current_temperature, Ads1220::data, Ads1220::data_available, MeteoStick::diff_pressure, eeprom25AA256_event(), get_diff(), get_pitot(), get_pressure(), get_temp(), meteo_stick, METEO_STICK_SENDER_ID, MS_PITOT_COUNTER, MS_PITOT_FILTER, pitot_counter, pitot_offset, MeteoStick::pressure, and MeteoStick::temperature.
void meteo_stick_init | ( | void | ) |
Init function.
Functions.
Definition at line 212 of file meteo_stick.c.
References ADS1220_CONTINIOUS_CONVERSION, ADS1220_GAIN_1, ADS1220_GAIN_2, ADS1220_GAIN_4, ADS1220_IDAC_250_uA, ADS1220_IDAC_OFF, ADS1220_IMUX_A0_RP1, ADS1220_IMUX_OFF, ads1220_init(), ADS1220_MUX_AIN0_AIN1, ADS1220_MUX_AIN0_AVSS, ADS1220_RATE_45_HZ, ADS1220_VREF_EXTERNAL_REF, ADS1220_VREF_VDD, Ads1220::config, Ads1220Config::conv, MeteoStick::current_airspeed, MeteoStick::current_humidity, MeteoStick::current_pressure, MeteoStick::current_temperature, MeteoStick::diff_pressure, eeprom25AA256_init(), Ads1220Config::gain, MeteoStick::humidity_period, Ads1220Config::i1mux, Ads1220Config::i2mux, Ads1220Config::idac, meteo_stick, MS_PITOT_COUNTER, MTOSTK_NUM_SENSORS, Ads1220Config::mux, Ads1220Config::pga_bypass, pitot_counter, MeteoStick::pressure, Ads1220Config::rate, MeteoStick::reset_dp_offset, MeteoStick::temperature, and Ads1220Config::vref.
void meteo_stick_periodic | ( | void | ) |
Periodic function.
Definition at line 286 of file meteo_stick.c.
References ads1220_periodic(), GpsState::course, MeteoStick::current_airspeed, MeteoStick::current_humidity, MeteoStick::current_pressure, MeteoStick::current_temperature, Ads1220::data, MeteoStick::diff_pressure, eeprom25AA256_read(), GpsState::fix, get_humidity(), gps, GpsState::gspeed, GpsState::hmsl, MeteoStick::humidity_period, LlaCoor_i::lat, GpsState::lla_pos, LlaCoor_i::lon, meteo_stick, MS_PITOT_COUNTER, MTOSTK_NUM_SENSORS, mtostk_populate_cal_from_buffer(), GpsState::ned_vel, pitot_counter, pprzLogFile, MeteoStick::pressure, pwm_input_period_tics, MeteoStick::reset_dp_offset, SPITransDone, MeteoStick::temperature, GpsState::tow, GpsState::week, and NedCoor_i::z.
|
static |
Prescaling of data according to datasheets.
Definition at line 91 of file meteo_stick.c.
Referenced by get_diff(), get_pressure(), and get_temp().
struct MeteoStick meteo_stick |
General structure.
Definition at line 85 of file meteo_stick.c.
Referenced by get_diff(), get_humidity(), get_pressure(), get_temp(), meteo_stick_event(), meteo_stick_init(), and meteo_stick_periodic().
|
static |
Definition at line 124 of file meteo_stick.c.
Referenced by meteo_stick_event(), meteo_stick_init(), and meteo_stick_periodic().
|
static |
Definition at line 123 of file meteo_stick.c.
Referenced by get_diff(), and meteo_stick_event().