view Small_CPU/Inc/pressure.h @ 304:43b44f8d4fb0 cleanup-4

bugfix, simulator: fix the 1 sec difference between stopwatch and divetime This is a rather subtle bugfix. counterSecondsShallowDepth is used to decide to increase dive_time_seconds_without_surface_time. But just after using it, logic is present to reset counterSecondsShallowDepth. So, basically, we are looking to an old state. Simply increase dive_time_seconds_without_surface_time *after* we have reset counterSecondsShallowDepth, so that we are looking to a current state instead of an old one. Notice that this is simulator only. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
author Jan Mulder <jlmulder@xs4all.nl>
date Mon, 20 May 2019 13:06:02 +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 */