Paparazzi UAS
v5.14.0_stable-0-g3f680d1
Paparazzi is a free software Unmanned Aircraft System.
|
Parser for calibration data coming from 25AA256 EEPROM of the Meteo Stick. More...
#include <stdint.h>
#include <stdbool.h>
#include <stddef.h>
#include <time.h>
Go to the source code of this file.
Data Structures | |
struct | Sensors_params |
Calibration_params structure initialized with calibvration data read from meteostick eeprom. More... | |
struct | Calibration_params |
Macros | |
#define | MTOSTK_MAX_SEEK_ARRAY_SIZE 20 |
#define | MTOSTK_MAX_POLY_ARRAY_SIZE 6 |
#define | MTOSTK_MAX_TEMP_ARRAY_SIZE 6 |
#define | UUID_LEN 13 |
Typedefs | |
typedef uint32_t | mtostk_time_t |
time in seconds since 01/01/1970 More... | |
Enumerations | |
enum | Mtostk_sensors { MTOSTK_TEMP = 0, MTOSTK_ABS_PRESS, MTOSTK_DIF_PRESS, MTOSTK_HUMIDITY, MTOSTK_NUM_SENSORS } |
Functions | |
bool | mtostk_populate_cal_from_buffer (Calibration_params *cp, uint8_t *eeprom_buffer) |
Initializes a Calibration_params structure from memory buffer. More... | |
float | mtostk_get_calibrated_value (Calibration_params *cp, Mtostk_sensors type, float uncal, float temp) |
get calibrated value for a sensor according to current temperature More... | |
Parser for calibration data coming from 25AA256 EEPROM of the Meteo Stick.
Definition in file meteo_stick_calib.h.
struct Sensors_params |
Calibration_params structure initialized with calibvration data read from meteostick eeprom.
Definition at line 73 of file meteo_stick_calib.h.
Data Fields | ||
---|---|---|
float | coeffs[MTOSTK_MAX_TEMP_ARRAY_SIZE][MTOSTK_MAX_POLY_ARRAY_SIZE] | |
uint16_t | num_coeff | |
uint16_t | num_temp | |
float | temps[MTOSTK_MAX_TEMP_ARRAY_SIZE] | |
mtostk_time_t | timestamp |
struct Calibration_params |
Definition at line 81 of file meteo_stick_calib.h.
Data Fields | ||
---|---|---|
Sensors_params | params[MTOSTK_NUM_SENSORS] | |
char | uuid[13] |
#define MTOSTK_MAX_POLY_ARRAY_SIZE 6 |
Definition at line 39 of file meteo_stick_calib.h.
Referenced by mtostk_populate_float_array_from_buffer().
#define MTOSTK_MAX_SEEK_ARRAY_SIZE 20 |
Definition at line 38 of file meteo_stick_calib.h.
Referenced by mtostk_seek_array_buffer().
#define MTOSTK_MAX_TEMP_ARRAY_SIZE 6 |
Definition at line 40 of file meteo_stick_calib.h.
Referenced by mtostk_populate_float_array_from_buffer(), and mtostk_seek_array_buffer().
#define UUID_LEN 13 |
Definition at line 41 of file meteo_stick_calib.h.
Referenced by mtostk_populate_uuid_from_buffer().
time in seconds since 01/01/1970
we don't use libc time_t because it can be a 64 bits type to avoid Y2038 bug we instead keep a 32 bits type but unsigned. We don't care date before 1970, and 4e9 seconds since 1/1/70 make us bug free until 2100
Definition at line 61 of file meteo_stick_calib.h.
enum Mtostk_sensors |
Enumerator | |
---|---|
MTOSTK_TEMP | |
MTOSTK_ABS_PRESS | |
MTOSTK_DIF_PRESS | |
MTOSTK_HUMIDITY | |
MTOSTK_NUM_SENSORS |
Definition at line 43 of file meteo_stick_calib.h.
float mtostk_get_calibrated_value | ( | Calibration_params * | cp, |
Mtostk_sensors | type, | ||
float | uncal, | ||
float | temp | ||
) |
get calibrated value for a sensor according to current temperature
[in] | cp | pointer to calibration structure |
[in] | type | sensor type |
[in] | uncal | uncalibrated value |
[in] | temp | current temperature (not relevant for calibration of temperature sensor) |
Definition at line 71 of file meteo_stick_calib.c.
References Sensors_params::coeffs, mtostk_apply_polynomial(), mtostk_apply_polynomial_temp(), MTOSTK_NUM_SENSORS, MTOSTK_TEMP, Sensors_params::num_coeff, Sensors_params::num_temp, Calibration_params::params, and Sensors_params::timestamp.
Referenced by get_diff(), get_humidity(), get_pressure(), and get_temp().
bool mtostk_populate_cal_from_buffer | ( | Calibration_params * | cp, |
uint8_t * | eeprom_buffer | ||
) |
Initializes a Calibration_params structure from memory buffer.
[out] | cp | pointer to the Calibration_params structure to be initialized |
[in] | eeprom_buffer | pointer to word aligned buffer of bytes |
Definition at line 53 of file meteo_stick_calib.c.
References MTOSTK_NUM_SENSORS, mtostk_populate_sensor_from_buffer(), mtostk_populate_uuid_from_buffer(), MTOSTK_TEMP, Calibration_params::params, and Calibration_params::uuid.
Referenced by meteo_stick_periodic().