Mercurial > public > ostc4
annotate Discovery/Inc/tMenuEdit.h @ 1018:808153ba3fec GasConsumption
Disable the menu items for editing scrubber timer parameters if an
inactive scrubber timer is selected.
This removes the confusion when users edit a scrubber that is not
active, and are then surprised when the scrubber timer does not work
during the dive. (mikeller)
| author | heinrichsweikamp |
|---|---|
| date | Mon, 09 Jun 2025 09:42:16 +0200 |
| parents | c6b858f2e025 |
| children | 5fedf7ba2392 |
| rev | line source |
|---|---|
| 38 | 1 /////////////////////////////////////////////////////////////////////////////// |
| 2 /// -*- coding: UTF-8 -*- | |
| 3 /// | |
| 4 /// \file Discovery/Inc/tMenuEdit.h | |
| 5 /// \brief Header file for Menu Setting Modifications | |
| 6 /// \author heinrichs weikamp gmbh | |
| 7 /// \date 04-July-2014 | |
| 8 /// | |
| 9 /// $Id$ | |
| 10 /////////////////////////////////////////////////////////////////////////////// | |
| 11 /// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh | |
| 12 /// | |
| 13 /// This program is free software: you can redistribute it and/or modify | |
| 14 /// it under the terms of the GNU General Public License as published by | |
| 15 /// the Free Software Foundation, either version 3 of the License, or | |
| 16 /// (at your option) any later version. | |
| 17 /// | |
| 18 /// This program is distributed in the hope that it will be useful, | |
| 19 /// but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 20 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 21 /// GNU General Public License for more details. | |
| 22 /// | |
| 23 /// You should have received a copy of the GNU General Public License | |
| 24 /// along with this program. If not, see <http://www.gnu.org/licenses/>. | |
| 25 ////////////////////////////////////////////////////////////////////////////// | |
| 26 | |
| 27 /* Define to prevent recursive inclusion -------------------------------------*/ | |
| 28 #ifndef TMENU_EDIT_H | |
| 29 #define TMENU_EDIT_H | |
| 30 | |
| 31 /* Includes ------------------------------------------------------------------*/ | |
| 32 #include "tMenu.h" | |
| 33 | |
| 34 #define ME_Y_LINE1 (70) | |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
584
diff
changeset
|
35 #define ME_Y_LINE_STEP (65) |
|
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
584
diff
changeset
|
36 #define ME_Y_LINE_BASE (ME_Y_LINE1 - ME_Y_LINE_STEP) |
| 38 | 37 #define ME_Y_LINE2 (ME_Y_LINE1 + (1 * ME_Y_LINE_STEP)) |
| 38 #define ME_Y_LINE3 (ME_Y_LINE1 + (2 * ME_Y_LINE_STEP)) | |
| 39 #define ME_Y_LINE4 (ME_Y_LINE1 + (3 * ME_Y_LINE_STEP)) | |
| 40 #define ME_Y_LINE5 (ME_Y_LINE1 + (4 * ME_Y_LINE_STEP)) | |
| 41 #define ME_Y_LINE6 (ME_Y_LINE1 + (5 * ME_Y_LINE_STEP)) | |
| 42 | |
| 845 | 43 #define EXIT_TO_INFO_PREDIVE (245) |
|
788
4abfb8a2a435
Define explicit setpoints for low / high / deco. Add an option to delay the switch to SPlow until all decompression has been cleared. (mikeller)
heinrichsweikamp
parents:
783
diff
changeset
|
44 #define EXIT_TO_NEXT_MENU (246) |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
584
diff
changeset
|
45 #define EXIT_TO_INFO_SENSOR (247) |
| 38 | 46 #define EXIT_TO_INFO_COMPASS (248) |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
584
diff
changeset
|
47 #define EXIT_TO_MENU_WITH_LOGO (249) |
|
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
584
diff
changeset
|
48 #define EXIT_TO_HOME (250) |
|
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
584
diff
changeset
|
49 #define EXIT_TO_MENU (251) |
| 38 | 50 #define UPDATE_DIVESETTINGS (252) |
|
718
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
584
diff
changeset
|
51 #define UPDATE_AND_EXIT_TO_HOME (253) |
|
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
584
diff
changeset
|
52 #define UPDATE_AND_EXIT_TO_MENU (255) |
|
b9f699d2e3d0
Updated menu structure to support new sensor information page:
Ideenmodellierer
parents:
584
diff
changeset
|
53 #define UNSPECIFIC_RETURN (254) |
| 38 | 54 |
|
776
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
718
diff
changeset
|
55 typedef union { |
|
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
718
diff
changeset
|
56 uint32_t uint32; |
|
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
718
diff
changeset
|
57 int32_t int32; |
|
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
718
diff
changeset
|
58 } input_u; |
|
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
718
diff
changeset
|
59 |
| 38 | 60 void sendActionToMenuEdit(uint8_t sendAction); |
| 61 | |
| 62 void tMenuEdit_init(void); | |
| 852 | 63 void resetMenuContentStructure(); |
| 64 void resetMenuStructure(uint8_t color); | |
| 38 | 65 void resetMenuEdit(uint8_t color); |
| 66 void tMenuEdit_refresh_live_content(void); | |
| 67 void tMenuEdit_refresh_field(uint32_t editID); | |
| 508 | 68 void tMenuEdit_select(uint32_t editID); |
| 38 | 69 |
| 70 void evaluateNewString (uint32_t editID, uint32_t *pNewValue1, uint32_t *pNewValue2, uint32_t *pNewValue3, uint32_t *pNewValue4); | |
| 71 void tMenuEdit_newInput (uint32_t editID, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4); | |
| 72 void tMenuEdit_newButtonText(uint32_t editID, char *text); | |
| 73 void tMenuEdit_set_on_off(uint32_t editID, uint32_t int1); | |
| 74 | |
| 75 void write_label_fix(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char textId); | |
| 76 void write_label_var(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text); | |
| 77 | |
| 78 void clean_content(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font); | |
| 79 void write_content(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t color); | |
| 80 | |
| 949 | 81 uint8_t togglePlusMinus(uint8_t input); |
| 38 | 82 void write_topline( char *text); |
| 83 void write_buttonTextline( uint8_t left2ByteCode, char middle2ByteCode, char right2ByteCode); | |
| 84 void write_field_udigit(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4); | |
| 85 void write_field_2digit(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4); | |
| 86 void write_field_3digit(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4); | |
| 87 void write_field_select(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t int1, uint8_t int2, uint8_t int3, uint8_t int4); | |
|
776
45b8f3c2acce
Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents:
718
diff
changeset
|
88 void write_field_sdigit(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, int32_t int1, int32_t int2, int32_t int3, int32_t int4); |
| 38 | 89 void write_field_button(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text); |
| 90 void write_field_symbol(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t int1); | |
| 91 void write_field_toggle(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t int1, uint8_t int2); | |
| 92 void write_field_on_off(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t int1); | |
| 93 void write_field_fpoint(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, float input); | |
| 94 | |
| 95 void stop_cursor_fields(void); | |
| 96 | |
| 97 void setEvent(uint32_t inputEventID, uint32_t inputFunctionCall); | |
| 98 void resetEnterPressedToStateBeforeButtonAction(void); | |
| 99 | |
| 100 void setBackMenu(uint32_t inputFunctionCall, uint8_t functionCallParameter, uint8_t gotoMenuEditField); | |
| 101 void exitMenuEdit_to_BackMenu(void); | |
| 783 | 102 void exitMenuEdit(uint8_t writeSettingsIfEnterPressed); |
| 38 | 103 void startEdit(void); |
| 104 void exitEditWithUpdate(void); | |
| 105 void exitMenuEdit_to_Home(void); | |
| 106 void exitMenuEdit_to_Home_with_Menu_Update(void); | |
| 107 void exitMenuEdit_to_Menu_with_Menu_Update(void); | |
| 108 void exitMenuEdit_to_Menu_with_Menu_Update_do_not_write_settings_for_this_only(void); | |
| 584 | 109 void exitMenuEditField(void); |
| 38 | 110 void tMenuEdit_writeSettingsToFlash(void); |
| 111 | |
|
552
531e7818b737
Added menu structure to acces viewport calibration:
Ideenmodellierer
parents:
508
diff
changeset
|
112 GFX_DrawCfgScreen* getMenuEditScreen(void); |
| 38 | 113 #endif /* TMENU_EDIT_H */ |
