Mercurial > public > ostc4
view Small_CPU/Inc/pressure.h @ 311:ddbe8bed5096 cleanup-4
bugfix: make stopwatch and divetime run in sync
And this shows the fundamental issue in the difference between dive time and
stopwatch time. The dive time is constructed on the RTE, and rather
independently, the stopwatch time is constructed on CPU1.
This works rather well, but not perfect. This commit fixes things in
a relatively straightforward way. Instead of incrementing the stopwatch
locally on CPU1, simply use the same time data that is coming from the
RTE. Some logic was added to make this stopwatch resettable again.
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
author | Jan Mulder <jlmulder@xs4all.nl> |
---|---|
date | Wed, 29 May 2019 14:02:27 +0200 |
parents | 8e9c502c0b06 |
children | 37f45300bc2e |
line wrap: on
line source
/* Define to prevent recursive inclusion -------------------------------------*/ #ifndef PRESSURE_H #define PRESSURE_H #include <stdint.h> uint8_t init_pressure(void); uint8_t pressure_update(void); void pressure_update_alternating(void); uint8_t is_init_pressure_done(void); HAL_StatusTypeDef pressure_sensor_get_pressure_raw(void); HAL_StatusTypeDef pressure_sensor_get_temperature_raw(void); void pressure_calculation(void); float get_temperature(void); float get_pressure_mbar(void); float get_surface_mbar(void); void init_surface_ring(void); void update_surface_pressure(uint8_t call_rhythm_seconds); uint32_t demo_modify_temperature_and_pressure(int32_t divetime_in_seconds, uint8_t subseconds, float ceiling_mbar); #endif /* PRESSURE_H */