Mercurial > public > ostc4
comparison Common/Inc/settings.h @ 788:4abfb8a2a435
Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
author | heinrichsweikamp |
---|---|
date | Tue, 04 Jul 2023 14:39:06 +0200 |
parents | 45b8f3c2acce |
children | 75ace7af8212 |
comparison
equal
deleted
inserted
replaced
787:aeb72882f30a | 788:4abfb8a2a435 |
---|---|
25 ////////////////////////////////////////////////////////////////////////////// | 25 ////////////////////////////////////////////////////////////////////////////// |
26 | 26 |
27 #ifndef SETTINGS_H | 27 #ifndef SETTINGS_H |
28 #define SETTINGS_H | 28 #define SETTINGS_H |
29 | 29 |
30 #include <stdint.h> | |
31 #include <stdbool.h> | |
32 | |
30 // From Common/Inc: | 33 // From Common/Inc: |
31 #include "FirmwareData.h" | 34 #include "FirmwareData.h" |
32 | 35 |
33 //#include "data_central.h" | 36 //#include "data_central.h" |
34 | 37 |
36 // From Common/Drivers/ | 39 // From Common/Drivers/ |
37 #include "stm32f4xx_hal.h" | 40 #include "stm32f4xx_hal.h" |
38 #include "stm32f4xx_hal_rtc.h" | 41 #include "stm32f4xx_hal_rtc.h" |
39 | 42 |
40 #include "configuration.h" | 43 #include "configuration.h" |
41 | |
42 #include <stdint.h> | |
43 | 44 |
44 | 45 |
45 #define NUM_GASES 5 | 46 #define NUM_GASES 5 |
46 #define NUM_OFFSET_DILUENT 5 | 47 #define NUM_OFFSET_DILUENT 5 |
47 #define SPECIAL_GAS_ID 0 | 48 #define SPECIAL_GAS_ID 0 |
84 #define PSCR_MIN_LUNG_RATIO (5u) | 85 #define PSCR_MIN_LUNG_RATIO (5u) |
85 #define PSCR_MAX_LUNG_RATIO (20u) | 86 #define PSCR_MAX_LUNG_RATIO (20u) |
86 | 87 |
87 #define UART_MAX_PROTOCOL (2u) | 88 #define UART_MAX_PROTOCOL (2u) |
88 | 89 |
89 #define FUTURE_SPARE_SIZE (3u) /* Applied for reuse of old, not used, scooter block (was 32 bytes)*/ | 90 #define FUTURE_SPARE_SIZE (2u) /* Applied for reuse of old, not used, scooter block (was 32 bytes)*/ |
90 | 91 |
91 typedef enum | 92 typedef enum |
92 { | 93 { |
93 O2_SENSOR_SOURCE_OPTIC = 0, | 94 O2_SENSOR_SOURCE_OPTIC = 0, |
94 O2_SENSOR_SOURCE_ANALOG, | 95 O2_SENSOR_SOURCE_ANALOG, |
165 { | 166 { |
166 uint16_t TimerMax; | 167 uint16_t TimerMax; |
167 int16_t TimerCur; | 168 int16_t TimerCur; |
168 RTC_DateTypeDef lastDive; | 169 RTC_DateTypeDef lastDive; |
169 } SScrubberData; | 170 } SScrubberData; |
171 | |
172 enum { | |
173 SETPOINT_INDEX_CUSTOM = 0, | |
174 SETPOINT_INDEX_AUTO_LOW, | |
175 SETPOINT_INDEX_AUTO_HIGH, | |
176 SETPOINT_INDEX_AUTO_DECO, | |
177 }; | |
170 | 178 |
171 | 179 |
172 /* SSettings | 180 /* SSettings |
173 * gas[0] and setpoint[0] are the special ones configurable during the dive | 181 * gas[0] and setpoint[0] are the special ones configurable during the dive |
174 */ | 182 */ |
235 | 243 |
236 uint8_t scubberActiveId; /* redefined in 0xFFFF0023 */ | 244 uint8_t scubberActiveId; /* redefined in 0xFFFF0023 */ |
237 SScrubberData scrubberData[2]; | 245 SScrubberData scrubberData[2]; |
238 uint8_t ext_sensor_map[5]; | 246 uint8_t ext_sensor_map[5]; |
239 uint8_t buttonLockActive; /* redefined in 0xFFFF0025 */ | 247 uint8_t buttonLockActive; /* redefined in 0xFFFF0025 */ |
240 int8_t compassDeclinationDeg; /* redefined in 0xFFFF0026 */ | 248 int8_t compassDeclinationDeg; |
249 uint8_t delaySetpointLow; /* redefined in 0xFFFF0026 */ | |
241 uint8_t Future_SPARE[FUTURE_SPARE_SIZE]; /* redefined in 0xFFFF0020 (old scooter Block was 32 byte)*/ | 250 uint8_t Future_SPARE[FUTURE_SPARE_SIZE]; /* redefined in 0xFFFF0020 (old scooter Block was 32 byte)*/ |
242 // new in 0xFFFF0006 | 251 // new in 0xFFFF0006 |
243 uint8_t ppo2sensors_deactivated; | 252 uint8_t ppo2sensors_deactivated; |
244 uint8_t tX_colorscheme; | 253 uint8_t tX_colorscheme; |
245 uint8_t tX_userselectedLeftLowerCornerPrimary; | 254 uint8_t tX_userselectedLeftLowerCornerPrimary; |
371 uint8_t settingsHelperButtonSens_translate_hwOS_values_to_percentage(uint8_t inputValuePIC); | 380 uint8_t settingsHelperButtonSens_translate_hwOS_values_to_percentage(uint8_t inputValuePIC); |
372 | 381 |
373 void reset_SettingWarning(); | 382 void reset_SettingWarning(); |
374 uint8_t isSettingsWarning(); | 383 uint8_t isSettingsWarning(); |
375 | 384 |
385 bool checkAndFixSetpointSettings(void); | |
376 #endif // SETTINGS_H | 386 #endif // SETTINGS_H |