view Small_CPU/Inc/pressure.h @ 301:a09b1855d656 cleanup-4

cleanup, RTE: factor out scheduleCheck_pressure_reached_dive_mode_level The detection of the start of dive mode is conceptually simple (when the pressure sensor reaches a certain threshold, we are diving). This said, there are multiple implementations over the entire code base to answer the question: are we diving? This commit factors out scheduleCheck_pressure_reached_dive_mode_level used only in the RTE, in favor of is_ambient_pressure_close_to_surface, which is used in both RTE and CPU1 firmware. I had a little hope that is would fix the 1 second difference between the initial stopwatch and the divetime, but it does not. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
author Jan Mulder <jlmulder@xs4all.nl>
date Mon, 20 May 2019 10:05: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 */