Mercurial > public > ostc4
annotate Small_CPU/Inc/pressure.h @ 335:c11ce8c885d3 PressureMeasure_Improvment
Use average calculation for pressure: precondition was that pressure values jittered +- 10 HPa from one capture (once a second) to the other. Basically pressure is measured several times a second => using these values in an additional history calculation reduces the jitter down to +-1 per second
Additionaly a similar function has been added to the surface pressure capture to further reduce the jitter in long therm measurements (once a minute)
author | ideenmodellierer |
---|---|
date | Tue, 13 Aug 2019 21:46:26 +0200 |
parents | 8e9c502c0b06 |
children | 37f45300bc2e |
rev | line source |
---|---|
38 | 1 /* Define to prevent recursive inclusion -------------------------------------*/ |
2 #ifndef PRESSURE_H | |
3 #define PRESSURE_H | |
4 | |
5 #include <stdint.h> | |
6 | |
7 uint8_t init_pressure(void); | |
8 uint8_t pressure_update(void); | |
276
8e9c502c0b06
Rework pressure/ temperature data aquisition
ideenmodellierer
parents:
38
diff
changeset
|
9 void pressure_update_alternating(void); |
38 | 10 |
11 uint8_t is_init_pressure_done(void); | |
12 | |
276
8e9c502c0b06
Rework pressure/ temperature data aquisition
ideenmodellierer
parents:
38
diff
changeset
|
13 HAL_StatusTypeDef pressure_sensor_get_pressure_raw(void); |
8e9c502c0b06
Rework pressure/ temperature data aquisition
ideenmodellierer
parents:
38
diff
changeset
|
14 HAL_StatusTypeDef pressure_sensor_get_temperature_raw(void); |
38 | 15 void pressure_calculation(void); |
16 | |
17 float get_temperature(void); | |
18 float get_pressure_mbar(void); | |
19 float get_surface_mbar(void); | |
20 | |
21 void init_surface_ring(void); | |
22 void update_surface_pressure(uint8_t call_rhythm_seconds); | |
23 | |
24 uint32_t demo_modify_temperature_and_pressure(int32_t divetime_in_seconds, uint8_t subseconds, float ceiling_mbar); | |
25 | |
26 #endif /* PRESSURE_H */ | |
27 |