Mercurial > public > ostc4
comparison Discovery/Src/tMenuEditXtra.c @ 969:81049905d829 Evo_2_23
Zusammenf?hren
| author | heinrichsweikamp |
|---|---|
| date | Sun, 19 Jan 2025 12:02:59 +0100 |
| parents | 9b418e63dbc2 |
| children | 5a690195b6b7 |
comparison
equal
deleted
inserted
replaced
| 968:b9a1710522b1 | 969:81049905d829 |
|---|---|
| 312 setEvent(StMXTRA_PSCR_LUNG_RATIO, (uint32_t)OnAction_PSCRLungRation); | 312 setEvent(StMXTRA_PSCR_LUNG_RATIO, (uint32_t)OnAction_PSCRLungRation); |
| 313 } | 313 } |
| 314 | 314 |
| 315 | 315 |
| 316 | 316 |
| 317 static uint8_t OnAction_CompassHeadingReverse(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
| 318 { | |
| 319 setCompassHeading((stateUsed->diveSettings.compassHeading + 180) % 360); | |
| 320 | |
| 321 exitMenuEdit_to_Home_with_Menu_Update(); | |
| 322 | |
| 323 return EXIT_TO_HOME; | |
| 324 } | |
| 325 | |
| 326 | |
| 317 static uint8_t OnAction_CompassHeadingClear(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | 327 static uint8_t OnAction_CompassHeadingClear(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) |
| 318 { | 328 { |
| 319 clearCompassHeading(); | 329 clearCompassHeading(); |
| 320 | 330 |
| 321 exitMenuEdit_to_Home_with_Menu_Update(); | 331 exitMenuEdit_to_Home_with_Menu_Update(); |
| 349 SSettings *settings = settingsGetPointer(); | 359 SSettings *settings = settingsGetPointer(); |
| 350 | 360 |
| 351 char text[32]; | 361 char text[32]; |
| 352 snprintf(text, 32, "\001%c%c", TXT_2BYTE, TXT2BYTE_CompassHeading); | 362 snprintf(text, 32, "\001%c%c", TXT_2BYTE, TXT2BYTE_CompassHeading); |
| 353 write_topline(text); | 363 write_topline(text); |
| 364 | |
| 365 if (!isRefresh) { | |
| 366 snprintf(text, 32, "%c%c", TXT_2BYTE, TXT2BYTE_Set); | |
| 367 write_field_button(StMXTRA_CompassHeading, 20, 800, ME_Y_LINE1, &FontT48, text); | |
| 368 } else { | |
| 369 tMenuEdit_refresh_field(StMXTRA_CompassHeading); | |
| 370 } | |
| 354 | 371 |
| 355 uint16_t heading; | 372 uint16_t heading; |
| 356 if (settings->compassInertia) { | 373 if (settings->compassInertia) { |
| 357 heading = (uint16_t)compass_getCompensated(); | 374 heading = (uint16_t)compass_getCompensated(); |
| 358 } else { | 375 } else { |
| 359 heading = (uint16_t)stateUsed->lifeData.compass_heading; | 376 heading = (uint16_t)stateUsed->lifeData.compass_heading; |
| 360 } | 377 } |
| 361 snprintf(text,32,"\001%03i`",heading); | 378 snprintf(text,32,"\001%03i`",heading); |
| 362 write_label_var(0, 800, ME_Y_LINE1, &FontT54, text); | 379 write_label_var(0, 800, ME_Y_LINE1, &FontT54, text); |
| 363 | 380 |
| 364 if (!isRefresh) { | 381 bool headingIsSet = stateUsed->diveSettings.compassHeading; |
| 365 snprintf(text, 32, "%c%c", TXT_2BYTE, TXT2BYTE_Set); | 382 snprintf(text, 32, "%s%c%c", makeGrey(!headingIsSet), TXT_2BYTE, TXT2BYTE_Reverse); |
| 366 write_field_button(StMXTRA_CompassHeading, 20, 800, ME_Y_LINE2, &FontT48, text); | 383 if (headingIsSet) { |
| 384 if (!isRefresh) { | |
| 385 write_field_button(StMXTRA_CompassHeadingReverse, 20, 800, ME_Y_LINE2, &FontT48, text); | |
| 386 } else { | |
| 387 tMenuEdit_refresh_field(StMXTRA_CompassHeadingReverse); | |
| 388 } | |
| 367 } else { | 389 } else { |
| 368 tMenuEdit_refresh_field(StMXTRA_CompassHeading); | 390 write_label_var(20, 800, ME_Y_LINE2, &FontT48, text); |
| 369 } | 391 } |
| 370 | 392 |
| 371 bool headingIsSet = stateUsed->diveSettings.compassHeading; | |
| 372 snprintf(text, 32, "%s%c%c", makeGrey(!headingIsSet), TXT_2BYTE, TXT2BYTE_Clear); | 393 snprintf(text, 32, "%s%c%c", makeGrey(!headingIsSet), TXT_2BYTE, TXT2BYTE_Clear); |
| 373 if (headingIsSet) { | 394 if (headingIsSet) { |
| 374 if (!isRefresh) { | 395 if (!isRefresh) { |
| 375 write_field_button(StMXTRA_CompassHeadingClear, 20, 800, ME_Y_LINE3, &FontT48, text); | 396 write_field_button(StMXTRA_CompassHeadingClear, 20, 800, ME_Y_LINE3, &FontT48, text); |
| 376 } else { | 397 } else { |
| 405 write_label_var(20, 800, ME_Y_LINE6, &FontT48, text); | 426 write_label_var(20, 800, ME_Y_LINE6, &FontT48, text); |
| 406 } | 427 } |
| 407 | 428 |
| 408 if (!isRefresh) { | 429 if (!isRefresh) { |
| 409 setEvent(StMXTRA_CompassHeading, (uint32_t)OnAction_CompassHeading); | 430 setEvent(StMXTRA_CompassHeading, (uint32_t)OnAction_CompassHeading); |
| 431 setEvent(StMXTRA_CompassHeadingReverse, (uint32_t)OnAction_CompassHeadingReverse); | |
| 410 setEvent(StMXTRA_CompassHeadingClear, (uint32_t)OnAction_CompassHeadingClear); | 432 setEvent(StMXTRA_CompassHeadingClear, (uint32_t)OnAction_CompassHeadingClear); |
| 411 setEvent(StMXTRA_CompassHeadingReset, (uint32_t)OnAction_CompassHeadingReset); | 433 setEvent(StMXTRA_CompassHeadingReset, (uint32_t)OnAction_CompassHeadingReset); |
| 412 setEvent(StMXTRA_CompassHeadingLog, (uint32_t)OnAction_CompassHeadingLog); | 434 setEvent(StMXTRA_CompassHeadingLog, (uint32_t)OnAction_CompassHeadingLog); |
| 413 } | 435 } |
| 414 | 436 |
