Mercurial > public > ostc4
comparison Discovery/Src/tMenuEditXtra.c @ 929:63c340abd70e Evo_2_23
Add a line to the compass heading dive menu that shows the currently set heading to enable the
diver to confirm it / add it to notes.
Also add a log entry every time a new compass heading is set or the heading is cleared.
And add a way to add compass headings to the log without changing the currently set heading -
this was added after discussion with cave divers who are interested in recording headings
when mapping out caves.
From mikeller
| author | heinrichsweikamp |
|---|---|
| date | Mon, 02 Dec 2024 11:16:10 +0100 |
| parents | 49ee233c7a74 |
| children | 9b418e63dbc2 |
comparison
equal
deleted
inserted
replaced
| 928:9b7859554beb | 929:63c340abd70e |
|---|---|
| 314 | 314 |
| 315 | 315 |
| 316 | 316 |
| 317 static uint8_t OnAction_CompassHeadingClear(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | 317 static uint8_t OnAction_CompassHeadingClear(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) |
| 318 { | 318 { |
| 319 stateUsedWrite->diveSettings.compassHeading = 0; | 319 clearCompassHeading(); |
| 320 | 320 |
| 321 exitMenuEdit_to_Home_with_Menu_Update(); | 321 exitMenuEdit_to_Home_with_Menu_Update(); |
| 322 | 322 |
| 323 return EXIT_TO_HOME; | 323 return EXIT_TO_HOME; |
| 324 } | 324 } |
| 325 | 325 |
| 326 | 326 |
| 327 static uint8_t OnAction_CompassHeadingReset(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | 327 static uint8_t OnAction_CompassHeadingReset(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) |
| 328 { | 328 { |
| 329 stateUsedWrite->diveSettings.compassHeading = settingsGetPointer()->compassBearing; | 329 setCompassHeading(settingsGetPointer()->compassBearing); |
| 330 | |
| 331 exitMenuEdit_to_Home_with_Menu_Update(); | |
| 332 | |
| 333 return EXIT_TO_HOME; | |
| 334 } | |
| 335 | |
| 336 | |
| 337 static uint8_t OnAction_CompassHeadingLog(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action) | |
| 338 { | |
| 339 logCompassHeading((uint16_t)stateUsed->lifeData.compass_heading); | |
| 330 | 340 |
| 331 exitMenuEdit_to_Home_with_Menu_Update(); | 341 exitMenuEdit_to_Home_with_Menu_Update(); |
| 332 | 342 |
| 333 return EXIT_TO_HOME; | 343 return EXIT_TO_HOME; |
| 334 } | 344 } |
| 381 } | 391 } |
| 382 } else { | 392 } else { |
| 383 write_label_var(20, 800, ME_Y_LINE4, &FontT48, text); | 393 write_label_var(20, 800, ME_Y_LINE4, &FontT48, text); |
| 384 } | 394 } |
| 385 | 395 |
| 396 snprintf(text, 32, "%c%c", TXT_2BYTE, TXT2BYTE_Log); | |
| 397 if (!isRefresh) { | |
| 398 write_field_button(StMXTRA_CompassHeadingLog, 20, 800, ME_Y_LINE5, &FontT48, text); | |
| 399 } else { | |
| 400 tMenuEdit_refresh_field(StMXTRA_CompassHeadingLog); | |
| 401 } | |
| 402 | |
| 403 if (headingIsSet) { | |
| 404 snprintf(text, 32, "%s%c%c (%03u`)", makeGrey(true), TXT_2BYTE, TXT2BYTE_Current, stateUsed->diveSettings.compassHeading); | |
| 405 write_label_var(20, 800, ME_Y_LINE6, &FontT48, text); | |
| 406 } | |
| 407 | |
| 386 if (!isRefresh) { | 408 if (!isRefresh) { |
| 387 setEvent(StMXTRA_CompassHeading, (uint32_t)OnAction_CompassHeading); | 409 setEvent(StMXTRA_CompassHeading, (uint32_t)OnAction_CompassHeading); |
| 388 setEvent(StMXTRA_CompassHeadingClear, (uint32_t)OnAction_CompassHeadingClear); | 410 setEvent(StMXTRA_CompassHeadingClear, (uint32_t)OnAction_CompassHeadingClear); |
| 389 setEvent(StMXTRA_CompassHeadingReset, (uint32_t)OnAction_CompassHeadingReset); | 411 setEvent(StMXTRA_CompassHeadingReset, (uint32_t)OnAction_CompassHeadingReset); |
| 412 setEvent(StMXTRA_CompassHeadingLog, (uint32_t)OnAction_CompassHeadingLog); | |
| 390 } | 413 } |
| 391 | 414 |
| 392 write_buttonTextline(TXT2BYTE_ButtonBack, TXT2BYTE_ButtonEnter, TXT2BYTE_ButtonNext); | 415 write_buttonTextline(TXT2BYTE_ButtonBack, TXT2BYTE_ButtonEnter, TXT2BYTE_ButtonNext); |
| 393 } | 416 } |
| 394 | 417 |
