Mercurial > public > ostc4
annotate Small_CPU/Inc/pressure.h @ 697:d55817a11f4c
Improvment key event detection:
In previous version the evaluation of a button event was called in the 100ms callback. Assuming an event is signaled at the in line for 100ms there is a potential risk to loose a button event. To avoid this scenarion the evaluation function was moved into the extint callback (called ~50+xms) and the line readback tim was reduced to 40ms.
Reminder: This function is not called in the main loop because the main loop is not executed in UART mode => movement would cause key events to not beeing detected
author | Ideenmodellierer |
---|---|
date | Sun, 25 Sep 2022 21:09:18 +0200 |
parents | 4093ac18b25c |
children |
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); | |
339
37f45300bc2e
Apply averaging to pressure measurement: In pre versions calculated pressure value jittered +/-10hPa. Since we measure the pressure several time a second but only use one value a second, calc average including not used values
ideenmodellierer
parents:
276
diff
changeset
|
8 void pressure_set_offset (float pressureOffset, float temperatureOffset); |
37f45300bc2e
Apply averaging to pressure measurement: In pre versions calculated pressure value jittered +/-10hPa. Since we measure the pressure several time a second but only use one value a second, calc average including not used values
ideenmodellierer
parents:
276
diff
changeset
|
9 |
38 | 10 uint8_t pressure_update(void); |
276
8e9c502c0b06
Rework pressure/ temperature data aquisition
ideenmodellierer
parents:
38
diff
changeset
|
11 void pressure_update_alternating(void); |
38 | 12 |
13 uint8_t is_init_pressure_done(void); | |
14 | |
276
8e9c502c0b06
Rework pressure/ temperature data aquisition
ideenmodellierer
parents:
38
diff
changeset
|
15 HAL_StatusTypeDef pressure_sensor_get_pressure_raw(void); |
8e9c502c0b06
Rework pressure/ temperature data aquisition
ideenmodellierer
parents:
38
diff
changeset
|
16 HAL_StatusTypeDef pressure_sensor_get_temperature_raw(void); |
38 | 17 void pressure_calculation(void); |
18 | |
19 float get_temperature(void); | |
20 float get_pressure_mbar(void); | |
21 float get_surface_mbar(void); | |
22 | |
345
4093ac18b25c
Added function to evaluate the state of the surface pressure history memory
ideenmodellierer
parents:
339
diff
changeset
|
23 uint8_t is_surface_pressure_stable(void); |
4093ac18b25c
Added function to evaluate the state of the surface pressure history memory
ideenmodellierer
parents:
339
diff
changeset
|
24 float set_last_surface_pressure_stable(void); |
4093ac18b25c
Added function to evaluate the state of the surface pressure history memory
ideenmodellierer
parents:
339
diff
changeset
|
25 |
339
37f45300bc2e
Apply averaging to pressure measurement: In pre versions calculated pressure value jittered +/-10hPa. Since we measure the pressure several time a second but only use one value a second, calc average including not used values
ideenmodellierer
parents:
276
diff
changeset
|
26 void init_surface_ring(uint8_t force); |
38 | 27 void update_surface_pressure(uint8_t call_rhythm_seconds); |
28 | |
29 uint32_t demo_modify_temperature_and_pressure(int32_t divetime_in_seconds, uint8_t subseconds, float ceiling_mbar); | |
30 | |
31 #endif /* PRESSURE_H */ | |
32 |