Mercurial > public > ostc4
comparison Discovery/Src/tMenuEditDeco.c @ 981:c6c781a2e85b default
Merge into default
| author | heinrichsweikamp |
|---|---|
| date | Tue, 11 Feb 2025 18:12:00 +0100 |
| parents | 5ce7708a9095 |
| children |
comparison
equal
deleted
inserted
replaced
| 871:f7318457df4d | 981:c6c781a2e85b |
|---|---|
| 40 /* Private function prototypes -----------------------------------------------*/ | 40 /* Private function prototypes -----------------------------------------------*/ |
| 41 | 41 |
| 42 static void openEdit_DiveMode(void); | 42 static void openEdit_DiveMode(void); |
| 43 static void openEdit_ppO2max(void); | 43 static void openEdit_ppO2max(void); |
| 44 static void openEdit_SafetyStop(void); | 44 static void openEdit_SafetyStop(void); |
| 45 static void openEdit_ExitTime(void); | |
| 45 static void openEdit_FutureTTS(void); | 46 static void openEdit_FutureTTS(void); |
| 46 static void openEdit_Salinity(void); | 47 static void openEdit_Salinity(void); |
| 47 | 48 |
| 48 /* Announced function prototypes -----------------------------------------------*/ | 49 /* Announced function prototypes -----------------------------------------------*/ |
| 49 static uint8_t OnAction_setMode (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | 50 static uint8_t OnAction_setMode (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
| 50 static uint8_t OnAction_FutureTTS (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | 51 static uint8_t OnAction_FutureTTS (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
| 51 static uint8_t OnAction_ppO2Max (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | 52 static uint8_t OnAction_ppO2Max (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
| 52 static uint8_t OnAction_SafetyStop (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | 53 static uint8_t OnAction_SafetyStop (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
| 54 static uint8_t OnAction_SlowExitTime (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | |
| 53 static uint8_t OnAction_Salinity (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); | 55 static uint8_t OnAction_Salinity (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); |
| 54 /* Exported functions --------------------------------------------------------*/ | 56 /* Exported functions --------------------------------------------------------*/ |
| 55 | 57 |
| 56 void openEdit_Deco(uint8_t line) | 58 void openEdit_Deco(uint8_t line) |
| 57 { | 59 { |
| 71 break; | 73 break; |
| 72 case 3: | 74 case 3: |
| 73 openEdit_SafetyStop(); | 75 openEdit_SafetyStop(); |
| 74 break; | 76 break; |
| 75 case 4: | 77 case 4: |
| 78 openEdit_ExitTime(); | |
| 79 break; | |
| 80 case 5: | |
| 76 openEdit_FutureTTS(); | 81 openEdit_FutureTTS(); |
| 77 break; | 82 break; |
| 78 case 5: | 83 case 6: |
| 79 openEdit_Salinity(); | 84 openEdit_Salinity(); |
| 80 break; | 85 break; |
| 81 } | 86 } |
| 82 } | 87 } |
| 83 | 88 |
| 253 } | 258 } |
| 254 | 259 |
| 255 write_buttonTextline(TXT2BYTE_ButtonMinus,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonPlus); | 260 write_buttonTextline(TXT2BYTE_ButtonMinus,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonPlus); |
| 256 | 261 |
| 257 setEvent(StMDECO4_SafetyStop, (uint32_t)OnAction_SafetyStop); | 262 setEvent(StMDECO4_SafetyStop, (uint32_t)OnAction_SafetyStop); |
| 263 startEdit(); | |
| 264 } | |
| 265 | |
| 266 | |
| 267 static void openEdit_ExitTime(void) | |
| 268 { | |
| 269 uint32_t SlowExitTime; | |
| 270 char text[64]; | |
| 271 uint16_t y_line; | |
| 272 | |
| 273 SlowExitTime = settingsGetPointer()->slowExitTime; | |
| 274 | |
| 275 y_line = ME_Y_LINE_BASE + (lineSelected * ME_Y_LINE_STEP); | |
| 276 | |
| 277 text[0] = '\001'; | |
| 278 text[1] = TXT_2BYTE; | |
| 279 text[2] = TXT2BYTE_SlowExit; | |
| 280 text[3] = 0; | |
| 281 write_topline(text); | |
| 282 | |
| 283 write_label_var( 20, 800, y_line, &FontT48, &text[1]); | |
| 284 | |
| 285 strcpy(text,"\016\016"); | |
| 286 text[2] = TXT_Minutes; | |
| 287 if(settingsGetPointer()->nonMetricalSystem) | |
| 288 { | |
| 289 sprintf(&text[3], "\017 ^ %u\016\016 ft\017", unit_depth_integer(settingsGetPointer()->last_stop_depth_meter)); | |
| 290 } | |
| 291 else | |
| 292 { | |
| 293 sprintf(&text[3], "\017 ^ %u\016\016 m\017", settingsGetPointer()->last_stop_depth_meter); | |
| 294 } | |
| 295 write_label_var( 410, 800, y_line, &FontT48, text); | |
| 296 | |
| 297 write_field_udigit(StMDECO_SlowExit, 370, 800, y_line, &FontT48, "#", SlowExitTime, 0, 0, 0); | |
| 298 write_buttonTextline(TXT2BYTE_ButtonMinus,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonPlus); | |
| 299 | |
| 300 setEvent(StMDECO_SlowExit, (uint32_t)OnAction_SlowExitTime); | |
| 258 startEdit(); | 301 startEdit(); |
| 259 } | 302 } |
| 260 | 303 |
| 261 | 304 |
| 262 static uint8_t OnAction_SafetyStop (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | 305 static uint8_t OnAction_SafetyStop (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) |
| 344 return digitContentNew; | 387 return digitContentNew; |
| 345 } | 388 } |
| 346 return EXIT_TO_MENU; | 389 return EXIT_TO_MENU; |
| 347 } | 390 } |
| 348 | 391 |
| 392 static uint8_t OnAction_SlowExitTime (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
| 393 { | |
| 394 uint8_t digitContentNew; | |
| 395 uint32_t newExitTime; | |
| 396 | |
| 397 if(action == ACTION_BUTTON_ENTER) | |
| 398 { | |
| 399 return digitContent; | |
| 400 } | |
| 401 if(action == ACTION_BUTTON_ENTER_FINAL) | |
| 402 { | |
| 403 evaluateNewString(editId, &newExitTime, 0, 0, 0); | |
| 404 | |
| 405 settingsGetPointer()->slowExitTime = newExitTime; | |
| 406 | |
| 407 tMenuEdit_newInput(editId, newExitTime, 0, 0, 0); | |
| 408 return UPDATE_AND_EXIT_TO_MENU; | |
| 409 } | |
| 410 if(action == ACTION_BUTTON_NEXT) | |
| 411 { | |
| 412 digitContentNew = digitContent + 1; | |
| 413 if(blockNumber == 0) | |
| 414 { | |
| 415 if(digitContentNew > '9') | |
| 416 digitContentNew = '0'; | |
| 417 } | |
| 418 | |
| 419 return digitContentNew; | |
| 420 } | |
| 421 if(action == ACTION_BUTTON_BACK) | |
| 422 { | |
| 423 digitContentNew = digitContent - 1; | |
| 424 if(blockNumber == 0) | |
| 425 { | |
| 426 if(digitContentNew < '0') | |
| 427 digitContentNew = '9'; | |
| 428 } | |
| 429 | |
| 430 return digitContentNew; | |
| 431 } | |
| 432 return EXIT_TO_MENU; | |
| 433 } | |
| 349 | 434 |
| 350 static void openEdit_Salinity(void) | 435 static void openEdit_Salinity(void) |
| 351 { | 436 { |
| 352 char text[32]; | 437 char text[32]; |
| 353 uint16_t y_line; | 438 uint16_t y_line; |
