view Small_CPU/Inc/pressure.h @ 814:26ae9e8f24fd

Dev Bugfix: O2 values of new detected sensors were shown as invalid: In the previous version sometime O2 values were shown as invalid (red) after a autodetection cycle was run. After sleep/wakeup cycle the status were shown correct. Rootcause was that the out of bounds detection is based on the divesettings while the HW menu were only updating the common settings regarding active / inactive sensors. The problem has been solved by adding an divesettings update within the HW / sensor menu.
author Ideenmodellierer
date Sun, 03 Sep 2023 17:58:12 +0200
parents 4093ac18b25c
children
line wrap: on
line source

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef PRESSURE_H
#define PRESSURE_H

#include <stdint.h>

uint8_t init_pressure(void);
void pressure_set_offset (float pressureOffset, float temperatureOffset);

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);

uint8_t is_surface_pressure_stable(void);
float set_last_surface_pressure_stable(void);

void init_surface_ring(uint8_t force);
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 */