Mercurial > public > ostc4
comparison Common/Inc/settings.h @ 1027:158100a84ebd GasConsumption
New profile feature:
In the past the OSTC provide just one instance for settings. If for example a diver switched from OC to CCR configuration several settings had to be modified. To improve this and to be more flexible in adapting the OSTC to differend dive scenarions the usage of up to 4 profiles has beem introduced. The profiles are copies of the common settings but stored in a separate, previously not used, flash section => no impact to existings settings handling. For access to the profiles the existing setting flash functions are reused. To enable this a parameter war introduced which defines the target of the operation (common settings or profiles).
| author | Ideenmodellierer |
|---|---|
| date | Sun, 07 Sep 2025 19:03:44 +0200 |
| parents | 5924a2d1d3ba |
| children |
comparison
equal
deleted
inserted
replaced
| 1026:5fedf7ba2392 | 1027:158100a84ebd |
|---|---|
| 92 #define PSCR_MAX_LUNG_RATIO (20u) | 92 #define PSCR_MAX_LUNG_RATIO (20u) |
| 93 | 93 |
| 94 #define UART_MAX_PROTOCOL (2u) | 94 #define UART_MAX_PROTOCOL (2u) |
| 95 | 95 |
| 96 #define FUTURE_SPARE_SIZE (0u) /* Applied for reuse of old, not used, scooter block (was 32 bytes)*/ | 96 #define FUTURE_SPARE_SIZE (0u) /* Applied for reuse of old, not used, scooter block (was 32 bytes)*/ |
| 97 | |
| 98 #define NUMBER_OF_PROFILES (4u) | |
| 97 | 99 |
| 98 typedef enum | 100 typedef enum |
| 99 { | 101 { |
| 100 O2_SENSOR_SOURCE_OPTIC = 0, | 102 O2_SENSOR_SOURCE_OPTIC = 0, |
| 101 O2_SENSOR_SOURCE_ANALOG, | 103 O2_SENSOR_SOURCE_ANALOG, |
| 327 uint8_t cvAutofocus; | 329 uint8_t cvAutofocus; |
| 328 uint8_t slowExitTime; | 330 uint8_t slowExitTime; |
| 329 /* new in 0xFFFF002c */ | 331 /* new in 0xFFFF002c */ |
| 330 StimeZone timeZone; | 332 StimeZone timeZone; |
| 331 uint8_t warningBuzzer; | 333 uint8_t warningBuzzer; |
| 334 /* new in 0xFFFF002d */ | |
| 335 uint8_t profileName[NUMBER_OF_PROFILES][9]; | |
| 336 uint8_t activeProfile; | |
| 332 } SSettings; | 337 } SSettings; |
| 333 | 338 |
| 334 uint8_t writeData(uint8_t *); | 339 uint8_t writeData(uint8_t *); |
| 335 uint8_t readData(uint8_t what,uint8_t *); | 340 uint8_t readData(uint8_t what,uint8_t *); |
| 336 uint8_t readDataLimits__8and16BitValues_4and7BytesOutput(uint8_t what, uint8_t * data); | 341 uint8_t readDataLimits__8and16BitValues_4and7BytesOutput(uint8_t what, uint8_t * data); |
| 340 uint8_t getDiveMode(void); | 345 uint8_t getDiveMode(void); |
| 341 uint8_t getCCRMode(void); | 346 uint8_t getCCRMode(void); |
| 342 uint8_t getDecoType(void); | 347 uint8_t getDecoType(void); |
| 343 uint8_t getFutureTTS(void); | 348 uint8_t getFutureTTS(void); |
| 344 | 349 |
| 350 uint16_t settingsGetSize(); | |
| 345 SSettings* settingsGetPointer(void); | 351 SSettings* settingsGetPointer(void); |
| 352 SSettings* profileGetPointer(uint8_t number); | |
| 346 const SSettings* settingsGetPointerStandard(void); | 353 const SSettings* settingsGetPointerStandard(void); |
| 347 void set_settings_to_Standard(void); | 354 void set_settings_to_Standard(uint8_t whichSettings); |
| 348 void mod_settings_for_first_start_with_empty_ext_flash(void); | 355 void mod_settings_for_first_start_with_empty_ext_flash(void); |
| 349 const SFirmwareData* firmwareDataGetPointer(void); | 356 const SFirmwareData* firmwareDataGetPointer(void); |
| 350 const SHardwareData* hardwareDataGetPointer(void); | 357 const SHardwareData* hardwareDataGetPointer(void); |
| 351 uint8_t firmwareVersion_16bit_high(void); | 358 uint8_t firmwareVersion_16bit_high(void); |
| 352 uint8_t firmwareVersion_16bit_low(void); | 359 uint8_t firmwareVersion_16bit_low(void); |
| 359 | 366 |
| 360 void setActualRTEversion(uint8_t high, uint8_t low); | 367 void setActualRTEversion(uint8_t high, uint8_t low); |
| 361 void getActualRTEandFONTversion(uint8_t *RTEhigh, uint8_t *RTElow, uint8_t *FONThigh, uint8_t *FONTlow); | 368 void getActualRTEandFONTversion(uint8_t *RTEhigh, uint8_t *RTElow, uint8_t *FONThigh, uint8_t *FONTlow); |
| 362 | 369 |
| 363 void setFlipDisplay(uint8_t flipDisplay); | 370 void setFlipDisplay(uint8_t flipDisplay); |
| 364 void set_new_settings_missing_in_ext_flash(void); | 371 void set_new_settings_missing_in_ext_flash(uint8_t whichSettings); |
| 365 uint8_t check_and_correct_settings(void); | 372 uint8_t check_and_correct_settings(uint8_t whichSettings); |
| 366 uint8_t newFirmwareVersionCheckViaSettings(void); | 373 uint8_t newFirmwareVersionCheckViaSettings(void); |
| 367 void set_settings_button_to_factory_with_individual_buttonBalance(void); | 374 void set_settings_button_to_factory_with_individual_buttonBalance(void); |
| 368 uint8_t getLicence(void); | 375 uint8_t getLicence(void); |
| 369 void firmwareGetDate(RTC_DateTypeDef *SdateOutput); | 376 void firmwareGetDate(RTC_DateTypeDef *SdateOutput); |
| 370 | 377 |
