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;