annotate Discovery/Src/tMenuEdit.c @ 951:e9c37071933b Evo_2_23

Added vibration warning: The internal buzzer of the GPIO_V2 may now be used as additional warning notificator. It can be activated using the check button in the customer view menu. The vibration will be active while the warning message is displayed in the dive window. In case the diver is in the menu then the warning will be active for a shorter duration.
author Ideenmodellierer
date Sun, 29 Dec 2024 18:29:56 +0100
parents c6b858f2e025
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1 ///////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2 /// -*- coding: UTF-8 -*-
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
3 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
4 /// \file Discovery/Src/tMenuEdit.c
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
5 /// \brief Main Template file for Menu Setting Modifications
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
6 /// \author heinrichs weikamp gmbh
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
7 /// \date 04-July-2014
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
8 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
9 /// \details
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
10 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
11 /// $Id$
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
12 ///////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
13 /// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
14 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
15 /// This program is free software: you can redistribute it and/or modify
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
16 /// it under the terms of the GNU General Public License as published by
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
17 /// the Free Software Foundation, either version 3 of the License, or
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
18 /// (at your option) any later version.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
19 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
20 /// This program is distributed in the hope that it will be useful,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
21 /// but WITHOUT ANY WARRANTY; without even the implied warranty of
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
22 /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
23 /// GNU General Public License for more details.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
24 ///
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
25 /// You should have received a copy of the GNU General Public License
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
26 /// along with this program. If not, see <http://www.gnu.org/licenses/>.
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
27 //////////////////////////////////////////////////////////////////////////////
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
28
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
29 /* Includes ------------------------------------------------------------------*/
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
30 #include <stdlib.h>
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
31
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
32 #include "tMenuEdit.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
33
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
34 #include "externLogbookFlash.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
35 #include "gfx_fonts.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
36 #include "tHome.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
37 #include "tInfoCompass.h"
718
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
38 #include "tInfoSensor.h"
845
17d9d6eddd8d Added new PreDiveCheck info page:
Ideenmodellierer
parents: 788
diff changeset
39 #include "tInfoPreDive.h"
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
40 #include "tMenuEditHardware.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
41 #include "tMenuEditPlanner.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
42 #include "tMenuEditSystem.h"
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
43 #include "tMenuEditXtra.h"
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
44 #include "tMenuEditCustom.h"
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
45
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
46 /* Private types -------------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
47 #define TEXTSIZE 16
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
48
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
49 typedef struct
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
50 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
51 uint32_t pEventFunction;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
52 uint32_t callerID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
53 } SEventHandler;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
54
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
55 typedef struct
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
56 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
57 uint32_t pEventFunction;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
58 uint8_t functionParameter;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
59 uint8_t line;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
60 } SBackMenuHandler;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
61
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
62 typedef struct
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
63 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
64 char orgText[32];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
65 char newText[32];
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
66 uint32_t input[4];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
67 uint16_t coord[3];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
68 int8_t begin[4], size[4];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
69 tFont *fontUsed;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
70 uint32_t callerID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
71 uint8_t maintype;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
72 uint8_t subtype;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
73 } SEditIdent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
74
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
75 typedef enum
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
76 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
77 FIELD_NUMBERS = 0,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
78 FIELD_BUTTON,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
79 FIELD_SELECT,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
80 FIELD_SYMBOL,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
81 FIELD_TOGGLE,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
82 FIELD_ON_OFF,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
83 FIELD_UDIGIT,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
84 FIELD_2DIGIT,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
85 FIELD_3DIGIT,
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
86 FIELD_SDIGIT,
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
87 FIELD_FLOAT,
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
88 FIELD_END
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
89 } SField;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
90
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
91 /* Private variables ---------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
92 GFX_DrawCfgScreen tMEscreen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
93 GFX_DrawCfgScreen tMEcursor;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
94 GFX_DrawCfgScreen tMEcursorNew;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
95
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
96 static uint32_t menuID;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
97 static uint8_t menuColor;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
98
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
99 static int8_t id = 0;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
100 static int8_t actualId = 0;
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
101 static int8_t idLast = -1;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
102 static SEditIdent ident[10];
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
103 static int8_t tME_stop = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
104
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
105 static int8_t evid = 0;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
106 static int8_t actualevid = 0;
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
107 static int8_t evidLast = -1;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
108 static SEventHandler event[10];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
109
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
110 static SBackMenuHandler backmenu;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
111
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
112 static int8_t block = 0;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
113 static int8_t subBlockPosition = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
114
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
115 static _Bool EnterPressedBeforeButtonAction = 0;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
116 static _Bool EnterPressed = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
117
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
118 static _Bool WriteSettings = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
119
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
120 /* Private function prototypes -----------------------------------------------*/
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
121 static void create_newText_for_Id(int8_t localId);
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
122 void clean_content_of_Id(int8_t localId);
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
123 static void write_content_of_Id(int8_t localId);
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
124
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
125 void draw_tMEdesign(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
126 void set_cursorNew(uint8_t forThisIdentID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
127 void startMenuEditFieldSelect(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
128 void create_newText_for_actual_Id(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
129 void write_content_of_actual_Id(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
130 void clean_content_of_actual_Id(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
131 void write_content_without_Id(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
132
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
133 void nextMenuEditFieldDigit(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
134 void upMenuEditFieldDigit(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
135 void downMenuEditFieldDigit(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
136
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
137 void draw_tMEcursorNewDesign(void);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
138
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
139 uint8_t split_Content_to_Digit_helper(uint8_t inContentAscii, uint8_t *outDigit100, uint8_t *outDigit10, uint8_t *outDigit1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
140
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
141 /* Exported functions --------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
142
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
143 void tMenuEdit_init(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
144 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
145 tMEcursor.FBStartAdress = getFrame(7);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
146 tMEcursor.ImageHeight = 480;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
147 tMEcursor.ImageWidth = 800;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
148 tMEcursor.LayerIndex = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
149
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
150 GFX_fill_buffer(tMEcursor.FBStartAdress, 0xFF, CLUT_MenuEditCursor);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
151
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
152 tMEcursorNew.FBStartAdress = getFrame(8);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
153 tMEcursorNew.ImageHeight = 390;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
154 tMEcursorNew.ImageWidth = 800;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
155 tMEcursorNew.LayerIndex = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
156
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
157 draw_tMEcursorNewDesign();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
158 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
159
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
160 void stop_cursor_fields(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
161 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
162 tME_stop = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
163 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
164
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
165 void resetMenuContentStructure()
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
166 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
167 id = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
168 idLast = -1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
169 evid = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
170 evidLast = -1;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
171 }
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
172
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
173 void resetMenuEdit(uint8_t color)
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
174 {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
175 id = 0;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
176 actualId = 0;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
177 idLast = -1;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
178 evid = 0;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
179 actualevid = 0;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
180 evidLast = -1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
181 tME_stop = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
182 EnterPressed = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
183 EnterPressedBeforeButtonAction = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
184
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
185 setBackMenu(0,0,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
186
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
187 releaseFrame(9,tMEscreen.FBStartAdress);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
188
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
189 tMEscreen.FBStartAdress = getFrame(9);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
190 tMEscreen.ImageHeight = 480;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
191 tMEscreen.ImageWidth = 800;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
192 tMEscreen.LayerIndex = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
193
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
194 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
195 write_content_simple(&tMEscreen, 0, 38, 0, &Awe48,"x",CLUT_ButtonSymbols);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
196 write_content_simple(&tMEscreen, 800-46, 800, 0, &Awe48,"u",CLUT_ButtonSymbols);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
197 write_content_simple(&tMEscreen, 0, 45, 480-45, &Awe48,"d",CLUT_ButtonSymbols);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
198 write_content_simple(&tMEscreen, 800-48, 800, 480-45, &Awe48,"e",CLUT_ButtonSymbols);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
199 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
200 menuID = get_globalState();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
201
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
202 menuColor = color;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
203
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
204 /* set cursor to first line */
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
205 uint8_t line = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
206 GFX_SetFrameTop(tMEscreen.FBStartAdress);
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
207 if(!settingsGetPointer()->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
208 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
209 GFX_SetFrameBottom((tMEcursorNew.FBStartAdress) + 65*2*(line - 1), 0, 25, 800, 390);
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
210 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
211 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
212 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
213 GFX_SetFrameBottom((tMEcursorNew.FBStartAdress)+ (390 - 65 *(line)) *2, 0, 480-390-25, 800, 390);
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
214 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
215 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
216
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
217
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
218 void tMenuEdit_refresh_live_content(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
219 {
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
220 uint32_t globState = get_globalState();
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
221 void (*refreshFct)() = NULL;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
222
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
223
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
224 switch(globState)
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
225 {
718
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
226 case (StMHARD3_O2_Sensor1):
562
ec76fa85009e Added ADC sensor interface to O2 sensore menu structure:
Ideenmodellierer
parents: 552
diff changeset
227 case (StMHARD3_O2_Sensor1 & MaskFieldDigit):
584
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
228 case (StMHARD3_O2_Calibrate):
734
190e5814b2f5 Removed interface selection from sensor menu:
Ideenmodellierer
parents: 718
diff changeset
229 case (StMHARD3_Sensor_Detect):
190e5814b2f5 Removed interface selection from sensor menu:
Ideenmodellierer
parents: 718
diff changeset
230 case (StMHARD3_Sensor_Info): refreshFct = refresh_O2Sensors;
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
231 break;
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
232 case (StMHARD2_Compass & MaskFieldDigit):
774
6169309d6eb9 more menu items for the compass menu: Delete bearing, and reset to land based bearing. I have also re-enabled the real time bearing display in the menu - makes it easier to set the correct bearing. (mikeller)
heinrichsweikamp
parents: 734
diff changeset
233 refreshFct = refresh_CompassEdit;
6169309d6eb9 more menu items for the compass menu: Delete bearing, and reset to land based bearing. I have also re-enabled the real time bearing display in the menu - makes it easier to set the correct bearing. (mikeller)
heinrichsweikamp
parents: 734
diff changeset
234 break;
6169309d6eb9 more menu items for the compass menu: Delete bearing, and reset to land based bearing. I have also re-enabled the real time bearing display in the menu - makes it easier to set the correct bearing. (mikeller)
heinrichsweikamp
parents: 734
diff changeset
235 case (StMXTRA_CompassHeading & MaskFieldDigit):
6169309d6eb9 more menu items for the compass menu: Delete bearing, and reset to land based bearing. I have also re-enabled the real time bearing display in the menu - makes it easier to set the correct bearing. (mikeller)
heinrichsweikamp
parents: 734
diff changeset
236 refreshFct = refresh_CompassHeading;
6169309d6eb9 more menu items for the compass menu: Delete bearing, and reset to land based bearing. I have also re-enabled the real time bearing display in the menu - makes it easier to set the correct bearing. (mikeller)
heinrichsweikamp
parents: 734
diff changeset
237 break;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 508
diff changeset
238 case (StMSYS4_Info & MaskFieldDigit): refreshFct = &refresh_InformationPage;
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
239 break;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
240 case (StMPLAN5_ExitResult & MaskFieldDigit): refreshFct = refresh_PlanResult;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
241 break;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
242 case (StMHARD5_Button1 & MaskFieldDigit): // will not be executed in EditFieldMode as global state is different
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
243 refreshFct = refresh_ButtonValuesFromPIC;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
244 break;
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
245 case StMSYS1_DateTime: refreshFct = refresh_DateTime;
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
246 break;
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
247 case (StMSYS3_Units & MaskFieldDigit): refreshFct = refresh_Design;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
248 break;
520
970d8040c0e3 Moved custom view menu to new tab:
Ideenmodellierer
parents: 508
diff changeset
249 case (StMCustom1_CViewTimeout & MaskFieldDigit):refreshFct = refresh_Customviews;
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
250 break;
531
1721b26335f1 Bugfix custom view selection dialog:
Ideenmodellierer
parents: 521
diff changeset
251 case (StMCustom4_CViewSelection1 & MaskFieldDigit):
1721b26335f1 Bugfix custom view selection dialog:
Ideenmodellierer
parents: 521
diff changeset
252 case (StMCustom3_CViewSelection1 & MaskFieldDigit):
521
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 520
diff changeset
253 case StMCustom3_CViewSelection2:
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 520
diff changeset
254 case StMCustom3_CViewSelection3:
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 520
diff changeset
255 case StMCustom3_CViewSelection4:
e221cf762f45 Move Bigfont and motion Ctrl selection menu out of custom view submenu:
Ideenmodellierer
parents: 520
diff changeset
256 case StMCustom3_CViewSelection5:
531
1721b26335f1 Bugfix custom view selection dialog:
Ideenmodellierer
parents: 521
diff changeset
257 case StMCustom3_CViewSelection6: refreshFct = CustomviewDivemode_refresh;
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
258 break;
951
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 949
diff changeset
259 #ifdef ENABLE_MOTION_CONTROL
604
fb5bb04ad914 Merged menu items of viewport and motion control:
Ideenmodellierer
parents: 584
diff changeset
260 case (StMCustom5_CViewPortCalib & MaskFieldDigit):
fb5bb04ad914 Merged menu items of viewport and motion control:
Ideenmodellierer
parents: 584
diff changeset
261 case StMCustom5_CViewPortLayout:
fb5bb04ad914 Merged menu items of viewport and motion control:
Ideenmodellierer
parents: 584
diff changeset
262 case StMCustom5_CViewPortAmbient: refreshFct = refresh_ViewPort;
552
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 531
diff changeset
263 break;
951
e9c37071933b Added vibration warning:
Ideenmodellierer
parents: 949
diff changeset
264 #endif
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
265 default: /* no menu has been updated */
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
266 break;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
267 }
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
268
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
269 if(refreshFct != NULL)
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
270 {
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
271 uint32_t rememberPage = tMEscreen.FBStartAdress;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
272 tMEscreen.FBStartAdress = getFrame(9);
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
273
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
274 refreshFct();
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
275
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
276 GFX_SetFrameTop(tMEscreen.FBStartAdress);
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
277 releaseFrame(9,rememberPage);
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
278 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
279 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
280
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
281 void tMenuEdit_writeSettingsToFlash(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
282 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
283 if(WriteSettings)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
284 {
662
1b995079c045 PSCR Mode
heinrichs weikamp
parents: 604
diff changeset
285 reset_SettingWarning();
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
286 GFX_logoAutoOff();
427
b1091e183d52 Activated ringbuffer for settings:
ideenmodellierer
parents: 225
diff changeset
287 ext_flash_write_settings(0);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
288 WriteSettings = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
289 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
290 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
291
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
292 void helperLeaveMenuEditField(uint8_t idID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
293 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
294 if(ident[idID].maintype == FIELD_NUMBERS)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
295 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
296 change_CLUT_entry((CLUT_MenuEditField0 + idID), CLUT_MenuEditFieldRegular);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
297 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
298 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
299
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
300
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
301 void helperGotoMenuEditField(uint8_t idID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
302 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
303 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
304 if(ident[idID].maintype == FIELD_NUMBERS)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
305 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
306 change_CLUT_entry((CLUT_MenuEditField0 + idID), CLUT_MenuEditFieldSelected);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
307 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
308 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
309 set_cursorNew(idID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
310 // set_cursor(idID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
311 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
312
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
313
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
314 void exitMenuEdit_to_BackMenu(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
315 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
316 _Bool EnterPressedBackup = EnterPressed;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
317
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
318 if(backmenu.pEventFunction)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
319 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
320 ((void (*)(uint8_t))(backmenu.pEventFunction))(backmenu.functionParameter);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
321
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
322 EnterPressed = EnterPressedBackup;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
323 // if(backmenu.line > 1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
324 // helperGotoMenuEditField(backmenu.line);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
325 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
326 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
327
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
328
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
329 void exitMenuEdit_to_Menu_with_Menu_Update(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
330 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
331 EnterPressed = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
332 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
333 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
334
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
335
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
336 void exitMenuEdit_to_Menu_with_Menu_Update_do_not_write_settings_for_this_only(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
337 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
338 EnterPressed = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
339 exitMenuEdit(0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
340 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
341
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
342
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
343 void exitMenuEdit_to_Home_with_Menu_Update(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
344 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
345 EnterPressed = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
346 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
347 set_globalState_tHome();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
348 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
349
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
350
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
351 void exitMenuEdit_to_InfoCompassCalibration(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
352 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
353 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
354 openInfo_Compass();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
355 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
356
718
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
357 void exitMenuEdit_to_InfoSensor(void)
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
358 {
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
359 uint32_t globState = get_globalState();
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
360
718
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
361 exitMenuEdit(1);
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
362 switch(globState)
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
363 {
786
19ab6f3ed52a Cleanup sensor data interface:
Ideenmodellierer
parents: 783
diff changeset
364 case (StMHARD3_O2_Sensor3): openInfo_Sensor(2);
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
365 break;
786
19ab6f3ed52a Cleanup sensor data interface:
Ideenmodellierer
parents: 783
diff changeset
366 case (StMHARD3_O2_Sensor2): openInfo_Sensor(1);
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
367 break;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
368 default:
786
19ab6f3ed52a Cleanup sensor data interface:
Ideenmodellierer
parents: 783
diff changeset
369 case (StMHARD3_O2_Sensor1): openInfo_Sensor(0);
783
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
370 break;
c31237d20491 Update digital O2 sensor information:
Ideenmodellierer
parents: 776
diff changeset
371 }
718
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
372 }
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
373
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
374
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
375 void exitMenuEdit_to_Home(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
376 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
377 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
378 set_globalState_tHome();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
379 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
380
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
381
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
382 void exitMenuEdit(uint8_t writeSettingsIfEnterPressed)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
383 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
384 openMenu(0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
385 if(EnterPressed)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
386 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
387 updateMenu();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
388 if((stateUsed->mode == MODE_SURFACE) && writeSettingsIfEnterPressed)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
389 WriteSettings = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
390 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
391 releaseFrame(9,tMEscreen.FBStartAdress);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
392 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
393
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
394
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
395 void exitMenuEditBackMenuOption(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
396 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
397 if(backmenu.pEventFunction == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
398 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
399 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
400 exitMenuEdit_to_BackMenu();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
401 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
402
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
403
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
404 void startMenuEditFieldSelect(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
405 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
406 actualId = 0;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
407 helperGotoMenuEditField(actualId);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
408 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
409
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
410
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
411 void nextMenuEditField(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
412 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
413 helperLeaveMenuEditField(actualId);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
414
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
415 if(actualId < idLast)
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
416 actualId++;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
417 else
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
418 actualId = 0;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
419 helperGotoMenuEditField(actualId);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
420 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
421
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
422 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
423 void previousMenuEditField(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
424 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
425 helperLeaveMenuEditField(id);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
426 if(id > 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
427 id--;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
428 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
429 id = idLast;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
430 helperGotoMenuEditField(id);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
431 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
432 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
433
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
434 _Bool inc_subBlock_or_block_of_actual_id(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
435 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
436 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
437 return 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
438
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
439 if((ident[actualId].subtype != FIELD_3DIGIT) && (ident[actualId].subtype != FIELD_2DIGIT) && ((subBlockPosition + 1) < ident[actualId].size[block]))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
440 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
441 subBlockPosition++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
442 return 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
443 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
444
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
445 if(((block + 1) < 4) && (ident[actualId].size[block+1] > 0))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
446 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
447 block++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
448 subBlockPosition = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
449 return 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
450 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
451
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
452 return 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
453 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
454
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
455
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
456 uint8_t get_newContent_of_actual_id_block_and_subBlock(uint8_t action)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
457 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
458 uint8_t (*onActionFunc)(uint32_t, uint8_t, uint8_t, uint8_t, uint8_t);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
459 uint8_t content;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
460
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
461 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
462 return 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
463
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
464 onActionFunc = (uint8_t (*)(uint32_t, uint8_t, uint8_t, uint8_t, uint8_t))(event[actualevid].pEventFunction);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
465
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
466 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_3DIGIT))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
467 {
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
468 content = 100 * ( ident[actualId].newText[ident[actualId].begin[block] + 0] - '0');
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
469 content += 10 * ( ident[actualId].newText[ident[actualId].begin[block] + 1] - '0');
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
470 content += ident[actualId].newText[ident[actualId].begin[block] + 2];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
471 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
472 else
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
473 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_2DIGIT))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
474 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
475 content = 10 * (ident[actualId].newText[ident[actualId].begin[block] + 0] - '0');
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
476 content += ident[actualId].newText[ident[actualId].begin[block] + 1];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
477 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
478 else
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
479 if(ident[actualId].maintype == FIELD_NUMBERS)
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
480 content = ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
481 else
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
482 if((ident[actualId].maintype == FIELD_ON_OFF) || (ident[actualId].maintype == FIELD_TOGGLE))
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
483 content = ident[actualId].input[block];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
484 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
485 content = 0; /* just a default for protection */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
486
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
487 return onActionFunc(ident[actualId].callerID, block, subBlockPosition, content, action);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
488 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
489
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
490 void mark_digit_of_actual_id_with_this_block_and_subBlock(int8_t oldblock, int8_t oldsubblockpos)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
491 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
492 char oneCharText[2];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
493 uint16_t positionOffset;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
494
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
495 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
496 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
497
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
498 if(ident[actualId].maintype == FIELD_NUMBERS)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
499 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
500 oneCharText[0] = ident[actualId].newText[ident[actualId].begin[oldblock] + oldsubblockpos];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
501 oneCharText[1] = 0;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
502 positionOffset = GFX_return_offset(ident[actualId].fontUsed, ident[actualId].newText, ident[actualId].begin[oldblock] + oldsubblockpos);
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
503 write_content( ident[actualId].coord[0] + positionOffset, ident[actualId].coord[1], ident[actualId].coord[2], ident[actualId].fontUsed, oneCharText, CLUT_MenuEditFieldSelected);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
504 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
505 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
506
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
507
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
508 void mark_new_2digit_of_actual_id_block(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
509 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
510 char oneCharText[3];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
511 uint16_t positionOffset;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
512
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
513 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
514 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
515
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
516 if(ident[actualId].maintype == FIELD_NUMBERS)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
517 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
518 oneCharText[0] = ident[actualId].newText[ident[actualId].begin[block] + 0];
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
519 oneCharText[1] = ident[actualId].newText[ident[actualId].begin[block] + 1];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
520 oneCharText[2] = 0;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
521 positionOffset = GFX_return_offset(ident[actualId].fontUsed, ident[actualId].newText, ident[actualId].begin[block] + 0);
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
522 write_content( ident[actualId].coord[0] + positionOffset, ident[actualId].coord[1], ident[actualId].coord[2], ident[actualId].fontUsed, oneCharText, CLUT_MenuEditDigit);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
523 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
524 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
525
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
526
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
527 void mark_new_3digit_of_actual_id_block(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
528 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
529 char oneCharText[4];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
530 uint16_t positionOffset;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
531
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
532 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
533 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
534
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
535 if(ident[actualId].maintype == FIELD_NUMBERS)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
536 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
537 oneCharText[0] = ident[actualId].newText[ident[actualId].begin[block] + 0];
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
538 oneCharText[1] = ident[actualId].newText[ident[actualId].begin[block] + 1];
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
539 oneCharText[2] = ident[actualId].newText[ident[actualId].begin[block] + 2];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
540 oneCharText[3] = 0;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
541 positionOffset = GFX_return_offset(ident[actualId].fontUsed, ident[actualId].newText, ident[actualId].begin[block] + 0);
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
542 write_content( ident[actualId].coord[0] + positionOffset, ident[actualId].coord[1], ident[actualId].coord[2], ident[actualId].fontUsed, oneCharText, CLUT_MenuEditDigit);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
543 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
544 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
545
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
546
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
547 void mark_new_digit_of_actual_id_block_and_subBlock(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
548 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
549 char oneCharText[2];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
550 uint16_t positionOffset;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
551
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
552 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
553 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
554
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
555 if(ident[actualId].maintype == FIELD_NUMBERS)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
556 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
557 oneCharText[0] = ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
558 oneCharText[1] = 0;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
559 positionOffset = GFX_return_offset(ident[actualId].fontUsed, ident[actualId].newText, ident[actualId].begin[block] + subBlockPosition);
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
560 write_content( ident[actualId].coord[0] + positionOffset, ident[actualId].coord[1], ident[actualId].coord[2], ident[actualId].fontUsed, oneCharText, CLUT_MenuEditDigit);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
561 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
562 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
563
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
564
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
565 void enterMenuEditField(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
566 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
567 uint8_t newContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
568 uint8_t digit100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
569 uint8_t digit10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
570 uint8_t digit1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
571
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
572 actualevid = 0;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
573 while((actualevid < evidLast) && (event[actualevid].callerID != ident[actualId].callerID))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
574 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
575 actualevid++;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
576 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
577
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
578 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
579 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
580
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
581 set_globalState(event[actualevid].callerID);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
582 block = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
583 subBlockPosition = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
584
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
585 if(ident[actualId].maintype == FIELD_NUMBERS)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
586 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
587 change_CLUT_entry(CLUT_MenuEditLineSelected, CLUT_MenuEditCursor);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
588 // old stuff? hw 150916, reactivated 150923, this shows which digit will be changed now as it marks the other grey/black
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
589 // now fixed for button settings with newContent <= '0'+99 condition
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
590 change_CLUT_entry((CLUT_MenuEditField0 + actualId), CLUT_MenuEditFieldSelected);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
591 }
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
592 if(ident[actualId].maintype == FIELD_TOGGLE)
584
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
593 {
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
594 change_CLUT_entry(CLUT_MenuEditLineSelected, CLUT_MenuEditCursor);
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
595 }
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
596
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
597
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
598 newContent = get_newContent_of_actual_id_block_and_subBlock(ACTION_BUTTON_ENTER);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
599
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
600 if (((newContent == UPDATE_DIVESETTINGS) || (newContent == UPDATE_AND_EXIT_TO_HOME) || (newContent == UPDATE_AND_EXIT_TO_MENU)) && (actual_menu_content == MENU_SURFACE))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
601 createDiveSettings();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
602
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
603 if(newContent == EXIT_TO_MENU_WITH_LOGO)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
604 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
605 GFX_logoAutoOff();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
606 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
607
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
608 if((newContent == EXIT_TO_MENU) || (newContent == UPDATE_AND_EXIT_TO_MENU) || (newContent == EXIT_TO_MENU_WITH_LOGO))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
609 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
610 if(backmenu.pEventFunction == 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
611 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
612 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
613 exitMenuEdit_to_BackMenu();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
614 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
615 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
616
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
617 if((newContent == EXIT_TO_HOME) || (newContent == UPDATE_AND_EXIT_TO_HOME))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
618 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
619 exitMenuEdit_to_Home();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
620 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
621 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
622
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
623 if(newContent == EXIT_TO_INFO_COMPASS)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
624 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
625 exitMenuEdit_to_InfoCompassCalibration();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
626 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
627 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
628
718
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
629 if(newContent == EXIT_TO_INFO_SENSOR)
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
630 {
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
631 exitMenuEdit_to_InfoSensor();
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
632 return;
b9f699d2e3d0 Updated menu structure to support new sensor information page:
Ideenmodellierer
parents: 707
diff changeset
633 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
634
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
635 switch(ident[actualId].maintype)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
636 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
637 case FIELD_NUMBERS:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
638 write_buttonTextline(TXT2BYTE_ButtonMinus,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonPlus);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
639
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
640 switch (ident[actualId].subtype) {
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
641 case FIELD_UDIGIT:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
642 if((newContent >= '0') && (newContent <= '9'))
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
643 ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition] = newContent;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
644
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
645 mark_new_digit_of_actual_id_block_and_subBlock();
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
646
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
647 break;
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
648 case FIELD_3DIGIT:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
649 if((newContent >= '0') && (newContent <= '0'+200))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
650 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
651 split_Content_to_Digit_helper( newContent, &digit100, &digit10, &digit1);
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
652 ident[actualId].newText[ident[actualId].begin[block] + 0] = '0' + digit100;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
653 ident[actualId].newText[ident[actualId].begin[block] + 1] = '0' + digit10;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
654 ident[actualId].newText[ident[actualId].begin[block] + 2] = '0' + digit1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
655 mark_new_3digit_of_actual_id_block();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
656 }
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
657
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
658 break;
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
659 case FIELD_2DIGIT:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
660 if((newContent >= '0') && (newContent <= '0'+99))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
661 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
662 ident[actualId].newText[ident[actualId].begin[block]] = '0' + (newContent - '0')/10;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
663 ident[actualId].newText[ident[actualId].begin[block] + 1] = '0' + ((newContent - '0') - (10*((newContent - '0')/10)));
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
664 mark_new_2digit_of_actual_id_block();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
665 }
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
666
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
667 break;
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
668 case FIELD_SDIGIT:
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
669 if ((subBlockPosition == 0 && (newContent == '+' || newContent == '-')) || (subBlockPosition > 0 && newContent >= '0' && newContent <= '9')) {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
670 ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition] = newContent;
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
671 }
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
672
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
673 mark_new_digit_of_actual_id_block_and_subBlock();
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
674
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
675 break;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
676 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
677 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
678 case FIELD_BUTTON:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
679 case FIELD_ON_OFF:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
680 set_globalState(menuID);
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: 786
diff changeset
681
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
682 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
683 case FIELD_SYMBOL:
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
684 ident[actualId].input[0] += 1;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
685 if(ident[actualId].input[0] >= ident[actualId].input[1])
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
686 ident[actualId].input[0] = 0;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
687 ident[actualId].newText[0] = ident[actualId].orgText[ident[actualId].input[0]];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
688 write_content_of_actual_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
689 set_globalState(menuID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
690 break;
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: 786
diff changeset
691 case FIELD_SELECT:
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: 786
diff changeset
692 write_buttonTextline(TXT2BYTE_ButtonMinus, TXT2BYTE_ButtonEnter, TXT2BYTE_ButtonPlus);
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: 786
diff changeset
693
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: 786
diff changeset
694 break;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
695 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
696 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
697
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
698
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
699 void exitMenuEditField(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
700 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
701 uint8_t newContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
702
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
703 set_globalState(menuID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
704
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
705 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
706 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
707
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
708 newContent = get_newContent_of_actual_id_block_and_subBlock(ACTION_TIMEOUT);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
709
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
710 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
711 uint8_t (*onActionFunc)(uint32_t, uint8_t, uint8_t, uint8_t, uint8_t);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
712 uint8_t newContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
713
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
714 onActionFunc = (uint8_t (*)(uint32_t, uint8_t, uint8_t, uint8_t, uint8_t))(event[evid].pEventFunction);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
715
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
716 newContent = onActionFunc(ident[id].callerID, 0, 0, 255, ACTION_BUTTON_BACK);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
717 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
718
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
719 /* destroy changes of editing in newText */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
720 change_CLUT_entry(CLUT_MenuEditLineSelected, CLUT_MenuLineSelected);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
721 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditFieldRegular);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
722
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
723 create_newText_for_actual_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
724 write_content_of_actual_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
725
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
726 if((newContent == EXIT_TO_MENU) || (newContent == UPDATE_AND_EXIT_TO_MENU))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
727 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
728 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
729 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
730 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
731
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
732 if((newContent == EXIT_TO_HOME) || (newContent == UPDATE_AND_EXIT_TO_HOME))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
733 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
734 exitMenuEdit_to_Home();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
735 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
736 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
737
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
738 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
739
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: 786
diff changeset
740
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: 786
diff changeset
741 static void startNextEdit(void)
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: 786
diff changeset
742 {
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: 786
diff changeset
743 EnterPressed = 1;
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: 786
diff changeset
744 nextMenuEditField();
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: 786
diff changeset
745 enterMenuEditField();
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: 786
diff changeset
746 }
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: 786
diff changeset
747
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: 786
diff changeset
748
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
749 void nextMenuEditFieldDigit(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
750 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
751 uint8_t action;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
752 uint8_t newContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
753 int8_t blockOld = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
754 int8_t subBlockPositionOld = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
755
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
756 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
757 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
758
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
759 blockOld = block;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
760 subBlockPositionOld = subBlockPosition;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
761
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
762 if(inc_subBlock_or_block_of_actual_id())
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
763 action = ACTION_BUTTON_ENTER;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
764 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
765 action = ACTION_BUTTON_ENTER_FINAL;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
766
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
767 newContent = get_newContent_of_actual_id_block_and_subBlock(action);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
768
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
769 if(action == ACTION_BUTTON_ENTER_FINAL)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
770 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
771 write_buttonTextline(TXT2BYTE_ButtonBack,TXT2BYTE_ButtonEnter,TXT2BYTE_ButtonNext);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
772
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
773 change_CLUT_entry(CLUT_MenuEditLineSelected, CLUT_MenuLineSelected);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
774 for(int i = 0;i<=9;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
775 change_CLUT_entry((CLUT_MenuEditField0 + i), CLUT_MenuEditFieldRegular);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
776
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
777 if(((newContent == UPDATE_DIVESETTINGS) || (newContent == UPDATE_AND_EXIT_TO_HOME) || (newContent == UPDATE_AND_EXIT_TO_MENU)) && (actual_menu_content == MENU_SURFACE))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
778 createDiveSettings();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
779
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
780 if((newContent == EXIT_TO_MENU) || (newContent == UPDATE_AND_EXIT_TO_MENU))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
781 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
782 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
783 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
784 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
785
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
786 if((newContent == EXIT_TO_HOME) || (newContent == UPDATE_AND_EXIT_TO_HOME))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
787 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
788 exitMenuEdit_to_Home();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
789 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
790 }
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: 786
diff changeset
791
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: 786
diff changeset
792 if (newContent == EXIT_TO_NEXT_MENU) {
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: 786
diff changeset
793 startNextEdit();
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: 786
diff changeset
794
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: 786
diff changeset
795 return;
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: 786
diff changeset
796 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
797 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
798
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
799 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_3DIGIT) && (action == ACTION_BUTTON_ENTER) &&(newContent >= '0') && (newContent <= '0' + 99))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
800 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
801 ident[actualId].newText[ident[actualId].begin[block] + 0] = '0' + (newContent - '0')/100;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
802 ident[actualId].newText[ident[actualId].begin[block] + 1] = '0' + (newContent - '0')/10;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
803 ident[actualId].newText[ident[actualId].begin[block] + 2] = '0' + ((newContent - '0') - (10*((newContent - '0')/10)));
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
804 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
805 else
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
806 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_2DIGIT) && (action == ACTION_BUTTON_ENTER) &&(newContent >= '0') && (newContent <= '0' + 99))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
807 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
808 ident[actualId].newText[ident[actualId].begin[block] + 0] = '0' + (newContent - '0')/10;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
809 ident[actualId].newText[ident[actualId].begin[block] + 1] = '0' + ((newContent - '0') - (10*((newContent - '0')/10)));
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
810 } else if (ident[actualId].maintype == FIELD_NUMBERS && ident[actualId].subtype == FIELD_SDIGIT && action == ACTION_BUTTON_ENTER && subBlockPosition == 0) {
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
811 if (newContent == '+' || newContent == '-') {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
812 ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition] = newContent;
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
813 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
814 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
815 else
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
816 if((ident[actualId].maintype == FIELD_NUMBERS) && (action == ACTION_BUTTON_ENTER) && (newContent >= '0') && (newContent <= '9'))
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
817 ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition] = newContent;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
818
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
819 if(action == ACTION_BUTTON_ENTER)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
820 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
821 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_3DIGIT))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
822 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
823 mark_new_3digit_of_actual_id_block();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
824 mark_digit_of_actual_id_with_this_block_and_subBlock(blockOld,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
825 mark_digit_of_actual_id_with_this_block_and_subBlock(blockOld,1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
826 mark_digit_of_actual_id_with_this_block_and_subBlock(blockOld,2);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
827 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
828 else
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
829 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_2DIGIT))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
830 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
831 mark_new_2digit_of_actual_id_block();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
832 mark_digit_of_actual_id_with_this_block_and_subBlock(blockOld,0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
833 mark_digit_of_actual_id_with_this_block_and_subBlock(blockOld,1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
834 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
835 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
836 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
837 mark_new_digit_of_actual_id_block_and_subBlock();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
838 mark_digit_of_actual_id_with_this_block_and_subBlock(blockOld,subBlockPositionOld);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
839 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
840 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
841 else /* action == ACTION_BUTTON_ENTER_FINAL */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
842 set_globalState(menuID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
843 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
844
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
845 uint8_t split_Content_to_Digit_helper(uint8_t inContentAscii, uint8_t *outDigit100, uint8_t *outDigit10, uint8_t *outDigit1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
846 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
847 uint8_t newContent, tempDigit, CopyContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
848
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
849 newContent = inContentAscii - '0';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
850 CopyContent = newContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
851
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
852 tempDigit = newContent / 100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
853 newContent -= tempDigit * 100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
854 if(outDigit100)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
855 *outDigit100 = tempDigit;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
856
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
857 tempDigit = newContent / 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
858 newContent -= tempDigit * 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
859 if(outDigit10)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
860 *outDigit10 = tempDigit;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
861
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
862 tempDigit = newContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
863 if(outDigit1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
864 *outDigit1 = tempDigit;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
865
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
866 return CopyContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
867 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
868
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
869
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
870 static void checkUpdateSDigit(uint8_t newContent)
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
871 {
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
872 if ((subBlockPosition == 0 && (newContent == '+' || newContent == '-')) || (subBlockPosition > 0 && newContent >= '0' && newContent <= '9')) {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
873 ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition] = newContent;
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
874 }
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
875 }
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
876
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
877
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
878 void upMenuEditFieldDigit(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
879 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
880 uint8_t newContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
881 uint8_t digit100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
882 uint8_t digit10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
883 uint8_t digit1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
884
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
885 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
886 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
887
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
888 newContent = get_newContent_of_actual_id_block_and_subBlock(ACTION_BUTTON_NEXT);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
889
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
890 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_3DIGIT) &&(newContent >= '0') && (newContent <= '0' + 200))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
891 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
892 split_Content_to_Digit_helper( newContent, &digit100, &digit10, &digit1);
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
893 ident[actualId].newText[ident[actualId].begin[block] + 0] = '0' + digit100;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
894 ident[actualId].newText[ident[actualId].begin[block] + 1] = '0' + digit10;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
895 ident[actualId].newText[ident[actualId].begin[block] + 2] = '0' + digit1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
896 mark_new_3digit_of_actual_id_block();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
897 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
898 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
899
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
900 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_2DIGIT) &&(newContent >= '0') && (newContent <= '0' + 99))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
901 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
902 ident[actualId].newText[ident[actualId].begin[block] + 0] = '0' + (newContent - '0')/10;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
903 ident[actualId].newText[ident[actualId].begin[block] + 1] = '0' + ((newContent - '0') - (10*((newContent - '0')/10)));
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
904 mark_new_2digit_of_actual_id_block();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
905 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
906 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
907
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
908 if (ident[actualId].maintype == FIELD_NUMBERS && ident[actualId].subtype == FIELD_SDIGIT) {
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
909 checkUpdateSDigit(newContent);
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
910 } else if (ident[actualId].maintype == FIELD_NUMBERS && newContent >= '0' && newContent <= '9') {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
911 ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition] = newContent;
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
912 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
913
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
914 mark_new_digit_of_actual_id_block_and_subBlock();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
915 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
916
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
917
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
918 void downMenuEditFieldDigit(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
919 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
920 uint8_t newContent;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
921 uint8_t digit100;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
922 uint8_t digit10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
923 uint8_t digit1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
924
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
925 if(event[actualevid].callerID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
926 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
927
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
928 newContent = get_newContent_of_actual_id_block_and_subBlock(ACTION_BUTTON_BACK);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
929
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
930 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_3DIGIT) &&(newContent >= '0') && (newContent <= '0' + 200))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
931 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
932 split_Content_to_Digit_helper( newContent, &digit100, &digit10, &digit1);
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
933 ident[actualId].newText[ident[actualId].begin[block] + 0] = '0' + digit100;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
934 ident[actualId].newText[ident[actualId].begin[block] + 1] = '0' + digit10;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
935 ident[actualId].newText[ident[actualId].begin[block] + 2] = '0' + digit1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
936 mark_new_3digit_of_actual_id_block();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
937 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
938 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
939
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
940 if((ident[actualId].maintype == FIELD_NUMBERS) && (ident[actualId].subtype == FIELD_2DIGIT) &&(newContent >= '0') && (newContent <= '0' + 99))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
941 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
942 ident[actualId].newText[ident[actualId].begin[block] + 0] = '0' + (newContent - '0')/10;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
943 ident[actualId].newText[ident[actualId].begin[block] + 1] = '0' + ((newContent - '0') - (10*((newContent - '0')/10)));
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
944 mark_new_2digit_of_actual_id_block();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
945 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
946 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
947
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
948 if (ident[actualId].maintype == FIELD_NUMBERS && ident[actualId].subtype == FIELD_SDIGIT) {
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
949 checkUpdateSDigit(newContent);
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
950 } else if (ident[actualId].maintype == FIELD_NUMBERS && newContent >= '0' && newContent <= '9') {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
951 ident[actualId].newText[ident[actualId].begin[block] + subBlockPosition] = newContent;
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
952 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
953
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
954 mark_new_digit_of_actual_id_block_and_subBlock();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
955 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
956
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
957
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
958 void evaluateNewString(uint32_t editID, uint32_t *pNewValue1, uint32_t *pNewValue2, uint32_t *pNewValue3, uint32_t *pNewValue4)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
959 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
960 if(editID != ident[actualId].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
961 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
962
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
963 bool isSigned = ident[actualId].maintype == FIELD_NUMBERS && ident[actualId].subtype == FIELD_SDIGIT;
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
964
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
965 uint8_t i, digitCount, digit;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
966 uint32_t sum[4], multiplier;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
967
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
968 for(i=0;i<4;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
969 sum[i] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
970
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
971 i = 0;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
972 while( ident[actualId].size[i] && (i < 4))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
973 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
974 multiplier = 1;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
975 for(digitCount = 1; digitCount < ident[actualId].size[i]; digitCount++)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
976 multiplier *= 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
977
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
978 bool isNegative = false;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
979 for(digitCount = 0; digitCount < ident[actualId].size[i]; digitCount++)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
980 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
981 digit = ident[actualId].newText[ident[actualId].begin[i] + digitCount];
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
982
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
983 if (isSigned && digitCount == 0) {
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
984 if (digit == '-') {
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
985 isNegative = true;
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
986 }
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
987 } else {
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
988 if(digit > '0')
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
989 digit -= '0';
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
990 else
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
991 digit = 0;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
992
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
993 if(digit > 9)
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
994 digit = 9;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
995
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
996 sum[i] += digit * multiplier;
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
997 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
998
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
999 if(multiplier >= 10)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1000 multiplier /= 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1001 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1002 multiplier = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1003 }
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1004
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1005 if (isSigned) {
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1006 int32_t value = sum[i];
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1007 if (isNegative) {
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1008 value = -value;
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1009 }
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1010 sum[i] = ((input_u)value).uint32;
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1011 }
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1012
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1013 i++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1014 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1015
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1016 *pNewValue1 = sum[0];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1017 *pNewValue2 = sum[1];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1018 *pNewValue3 = sum[2];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1019 *pNewValue4 = sum[3];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1020 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1021
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1022
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1023 uint8_t get_id_of(uint32_t editID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1024 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1025 uint8_t temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1026
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1027 if(editID == ident[actualId].callerID)
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
1028 return actualId;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1029 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1030 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1031 temp_id = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1032 while((temp_id < 9) && (editID != ident[temp_id].callerID))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1033 temp_id++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1034 if(editID != ident[temp_id].callerID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1035 temp_id = 255;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1036 return temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1037 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1038 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1039
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1040
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1041 void tMenuEdit_newButtonText(uint32_t editID, char *text)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1042 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1043 uint8_t backup_id, temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1044
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1045 temp_id = get_id_of(editID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1046 if(temp_id == 255)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1047 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1048
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1049 backup_id = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1050 id = temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1051
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1052 strncpy(ident[id].newText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1053 ident[id].newText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1054
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
1055 clean_content_of_Id(id);
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
1056 write_content_of_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1057
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1058 id = backup_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1059 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1060
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1061
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1062 void tMenuEdit_set_on_off(uint32_t editID, uint32_t int1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1063 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1064 uint8_t backup_id, temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1065
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1066 temp_id = get_id_of(editID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1067 if(temp_id == 255)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1068 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1069
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1070 backup_id = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1071 id = temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1072
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1073 ident[id].input[0] = int1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1074
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1075 if(int1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1076 ident[id].newText[0] = '\005';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1077 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1078 ident[id].newText[0] = '\006';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1079
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
1080 clean_content_of_Id(id);
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
1081 write_content_of_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1082
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1083 id = backup_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1084 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1085
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1086 void tMenuEdit_select(uint32_t editID)
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1087 {
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1088 uint8_t id_local = 0;
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1089 id_local = get_id_of(editID);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1090
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1091 if(id_local <= idLast)
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1092 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1093 actualId = id_local;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1094 set_cursorNew(id_local);
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1095 }
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1096 }
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1097
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1098 #if OLD_SELECTION
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1099 void tMenuEdit_select(uint32_t editID, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1100 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1101 if(int1 > 4)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1102 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1103
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1104 uint8_t backup_id, temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1105
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1106 temp_id = get_id_of(editID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1107 if(temp_id == 255)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1108 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1109
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1110 backup_id = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1111 id = temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1112
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1113 ident[id].input[0] = int1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1114 ident[id].input[1] = int1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1115 ident[id].input[2] = int1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1116 ident[id].input[3] = int1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1117
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1118 create_newText_for_actual_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1119 clean_content_of_actual_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1120 write_content_of_actual_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1121
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1122 id = backup_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1123 }
508
21bf40bb8151 Reimplementation of tMenuEdit_select:
Ideenmodellierer
parents: 427
diff changeset
1124 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1125
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1126
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1127 void tMenuEdit_newInput(uint32_t editID, uint32_t int1, uint32_t int2, uint32_t int3, uint32_t int4)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1128 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1129 uint8_t backup_id, temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1130
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1131 temp_id = get_id_of(editID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1132 if(temp_id == 255)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1133 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1134
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1135 backup_id = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1136 id = temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1137
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1138 if(editID != ident[id].callerID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1139 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1140 temp_id = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1141 while((temp_id < 9) && (editID != ident[temp_id].callerID))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1142 temp_id++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1143 if(editID != ident[temp_id].callerID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1144 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1145 id = temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1146 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1147 ident[id].input[0] = int1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1148 ident[id].input[1] = int2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1149 ident[id].input[2] = int3;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1150 ident[id].input[3] = int4;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1151
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
1152 create_newText_for_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1153 if(id <= idLast)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1154 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditFieldRegular);
854
48b6a3b1f3f8 Development bugfix menu id handling:
Ideenmodellierer
parents: 853
diff changeset
1155 write_content_of_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1156
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1157 id = backup_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1158 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1159
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1160
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1161 void resetEnterPressedToStateBeforeButtonAction(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1162 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1163 EnterPressed = EnterPressedBeforeButtonAction;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1164 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1165
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1166
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1167 void sendActionToMenuEdit(uint8_t sendAction)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1168 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1169 if(get_globalState() == menuID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1170 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1171 switch(sendAction)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1172 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1173 case ACTION_BUTTON_ENTER:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1174 EnterPressedBeforeButtonAction = EnterPressed;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1175 EnterPressed = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1176 enterMenuEditField();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1177 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1178 case ACTION_BUTTON_NEXT:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1179 nextMenuEditField();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1180 // previousMenuEditField();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1181 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1182 case ACTION_BUTTON_BACK:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1183 exitMenuEditBackMenuOption();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1184 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1185 case ACTION_TIMEOUT:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1186 case ACTION_MODE_CHANGE:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1187 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1188 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1189 case ACTION_IDLE_TICK:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1190 case ACTION_IDLE_SECOND:
219
f9b17e898a7a Resolved some minor warnings
ideenmodellierer
parents: 166
diff changeset
1191 default:
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1192 break;
219
f9b17e898a7a Resolved some minor warnings
ideenmodellierer
parents: 166
diff changeset
1193
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1194 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1195 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1196 else
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1197 if(get_globalState() == event[actualevid].callerID)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1198 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1199 switch(sendAction)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1200 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1201 case ACTION_BUTTON_ENTER:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1202 nextMenuEditFieldDigit();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1203 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1204 case ACTION_BUTTON_NEXT:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1205 upMenuEditFieldDigit();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1206 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1207 case ACTION_BUTTON_BACK:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1208 downMenuEditFieldDigit();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1209 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1210 case ACTION_TIMEOUT:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1211 case ACTION_MODE_CHANGE:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1212 exitMenuEditField();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1213 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1214 case ACTION_IDLE_TICK:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1215 case ACTION_IDLE_SECOND:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1216 break;
219
f9b17e898a7a Resolved some minor warnings
ideenmodellierer
parents: 166
diff changeset
1217 default:
f9b17e898a7a Resolved some minor warnings
ideenmodellierer
parents: 166
diff changeset
1218 break;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1219 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1220 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1221 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1222 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1223 switch(sendAction)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1224 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1225 case ACTION_BUTTON_ENTER:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1226 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1227 case ACTION_BUTTON_NEXT:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1228 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1229 case ACTION_BUTTON_BACK:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1230 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1231 case ACTION_TIMEOUT:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1232 case ACTION_MODE_CHANGE:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1233 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1234 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1235 case ACTION_IDLE_TICK:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1236 case ACTION_IDLE_SECOND:
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1237 break;
219
f9b17e898a7a Resolved some minor warnings
ideenmodellierer
parents: 166
diff changeset
1238 default:
f9b17e898a7a Resolved some minor warnings
ideenmodellierer
parents: 166
diff changeset
1239 break;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1240 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1241 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1242 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1243
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1244
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1245 void create_newText_for_Id_and_field_select(int8_t localId)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1246 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1247 uint8_t i;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1248
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1249 i = 0;
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1250 while( ident[localId].size[i] && (i < 4))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1251 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1252 if(ident[localId].input[i])
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1253 ident[localId].newText[ident[localId].begin[i]] = '\005';
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1254 else
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1255 ident[localId].newText[ident[localId].begin[i]] = '\006';
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1256 i++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1257 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1258 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1259
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1260 void create_newText_for_actual_Id_and_field_select(void)
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1261 {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1262 create_newText_for_Id_and_field_select(actualId);
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1263 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1264
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1265 void create_newText_for_Id(int8_t localId)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1266 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1267 bool isSigned = ident[localId].maintype == FIELD_NUMBERS && ident[localId].subtype == FIELD_SDIGIT;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1268
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1269 uint8_t i, digitCount;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1270 uint32_t remainder, digit, divider;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1271 i = 0;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1272
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1273 if( ident[localId].maintype == FIELD_SELECT)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1274 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1275 create_newText_for_Id_and_field_select(localId);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1276 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1277 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1278
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1279 while( ident[localId].size[i] && (i < 4))
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1280 {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1281 bool isNegative = false;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1282 if (isSigned) {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1283 int32_t value = ((input_u)ident[localId].input[i]).int32;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1284 if (value < 0) {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1285 isNegative = true;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1286 }
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1287 remainder = abs(value);
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1288 } else {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1289 remainder = ident[localId].input[i];
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1290 }
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1291 divider = 1;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1292
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1293 for(digitCount = 1; digitCount < ident[localId].size[i]; digitCount++)
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1294 divider *= 10;
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1295
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1296 for(digitCount = 0; digitCount < ident[localId].size[i]; digitCount++)
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1297 {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1298 if (isSigned && digitCount == 0) {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1299 ident[localId].newText[ident[localId].begin[i] + digitCount] = isNegative ? '-' : '+';
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1300 } else {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1301 digit = remainder / divider;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1302 remainder -= digit * divider;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1303 if(digit < 10)
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1304 ident[localId].newText[ident[localId].begin[i] + digitCount] = digit + '0';
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1305 else
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1306 ident[localId].newText[ident[localId].begin[i] + digitCount] = 'x';
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1307 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1308
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1309 divider /= 10;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1310 }
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1311 i++;
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1312 }
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1313 }
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1314
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1315 void create_newText_for_actual_Id(void)
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1316 {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1317 create_newText_for_Id(actualId);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1318 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1319
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1320
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1321 void write_content_without_Id(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1322 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1323 write_content( ident[id].coord[0], ident[id].coord[1], ident[id].coord[2], ident[id].fontUsed, ident[id].newText, CLUT_MenuEditFieldRegular);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1324 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1325
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1326
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1327 void write_content_of_Id(int8_t localId)
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1328 {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1329 write_content( ident[localId].coord[0], ident[localId].coord[1], ident[localId].coord[2], ident[localId].fontUsed, ident[localId].newText, (CLUT_MenuEditField0 + localId));
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1330 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1331 void write_content_of_actual_Id(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1332 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1333 write_content_of_Id(actualId);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1334 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1335
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1336 void clean_content_of_Id(int8_t localId)
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1337 {
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1338 clean_content( ident[localId].coord[0], ident[localId].coord[1], ident[localId].coord[2], ident[localId].fontUsed);
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1339 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1340
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1341 void clean_content_of_actual_Id(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1342 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1343 clean_content_of_Id(actualId);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1344 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1345
949
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
1346 uint8_t togglePlusMinus(uint8_t input)
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
1347 {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
1348 if (input == '+') {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
1349 return '-';
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
1350 } else {
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
1351 return '+';
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
1352 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
1353 }
c6b858f2e025 GNSS UTC in Date-Time menu:
Ideenmodellierer
parents: 854
diff changeset
1354
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1355 void write_field_udigit_and_2digit(uint8_t subtype, 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)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1356 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1357 if(id >= 9)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1358 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1359
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1360 ident[id].maintype = FIELD_NUMBERS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1361 ident[id].subtype = subtype;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1362
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1363 ident[id].coord[0] = XleftGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1364 ident[id].coord[1] = XrightGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1365 ident[id].coord[2] = YtopGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1366 ident[id].fontUsed = (tFont *)Font;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1367 ident[id].callerID = editID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1368
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1369 strncpy(ident[id].orgText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1370 strncpy(ident[id].newText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1371 ident[id].orgText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1372 ident[id].newText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1373
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1374 /* uint32_t has max 10 digits */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1375
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1376 int8_t beginTmp, sizeTmp;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1377 uint8_t i;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1378
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1379 ident[id].input[0] = int1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1380 ident[id].input[1] = int2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1381 ident[id].input[2] = int3;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1382 ident[id].input[3] = int4;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1383
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1384 for(i=0;i<4;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1385 ident[id].size[i] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1386
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1387 beginTmp = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1388 for(i=0;i<4;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1389 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1390 while((ident[id].orgText[beginTmp] != '#')&& ident[id].orgText[beginTmp])
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1391 beginTmp++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1392
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1393 if(ident[id].orgText[beginTmp] == '#')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1394 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1395 sizeTmp = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1396 while(ident[id].orgText[beginTmp + sizeTmp] == '#')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1397 sizeTmp++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1398
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1399 ident[id].begin[i] = beginTmp;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1400 ident[id].size[i] = sizeTmp;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1401 beginTmp = ident[id].begin[i] + ident[id].size[i];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1402 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1403 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1404 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1405 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1406
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1407 if(!tME_stop)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1408 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditFieldRegular);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1409 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1410 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditInfo);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1411
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1412 create_newText_for_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1413
166
255eedad4155 cleanup: get rid of some compile warnings
Jan Mulder <jlmulder@xs4all.nl>
parents: 138
diff changeset
1414 if(editID == 0)
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1415 write_content_without_Id();
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1416 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1417 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1418 write_content_of_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1419 if(!tME_stop)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1420 idLast = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1421 id++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1422 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1423 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1424
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1425 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)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1426 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1427 write_field_udigit_and_2digit(FIELD_UDIGIT, editID,XleftGimpStyle,XrightGimpStyle,YtopGimpStyle,Font,text,int1,int2,int3,int4);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1428 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1429
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1430 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)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1431 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1432 write_field_udigit_and_2digit(FIELD_2DIGIT, editID,XleftGimpStyle,XrightGimpStyle,YtopGimpStyle,Font,text,int1,int2,int3,int4);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1433 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1434
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1435 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)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1436 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1437 write_field_udigit_and_2digit(FIELD_3DIGIT, editID,XleftGimpStyle,XrightGimpStyle,YtopGimpStyle,Font,text,int1,int2,int3,int4);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1438 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1439
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1440
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1441 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
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1442 {
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1443 write_field_udigit_and_2digit(FIELD_SDIGIT, editID, XleftGimpStyle, XrightGimpStyle, YtopGimpStyle, Font, text, ((input_u)int1).uint32, ((input_u)int2).uint32, ((input_u)int3).uint32, ((input_u)int4).uint32);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1444 }
776
45b8f3c2acce Add support for a configurable compass declination in a range of -99 to 99 degrees.
heinrichsweikamp
parents: 774
diff changeset
1445
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1446
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1447 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)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1448 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1449 if(id >= 9)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1450 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1451
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1452 int8_t beginTmp;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1453
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1454 ident[id].maintype = FIELD_SELECT;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1455 ident[id].subtype = FIELD_SELECT;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1456
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1457 ident[id].coord[0] = XleftGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1458 ident[id].coord[1] = XrightGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1459 ident[id].coord[2] = YtopGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1460 ident[id].fontUsed = (tFont *)Font;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1461 ident[id].callerID = editID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1462
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1463 strncpy(ident[id].orgText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1464 strncpy(ident[id].newText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1465 ident[id].orgText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1466 ident[id].newText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1467
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1468 ident[id].input[0] = int1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1469 ident[id].input[1] = int2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1470 ident[id].input[2] = int3;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1471 ident[id].input[3] = int4;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1472
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1473 for(int i=0;i<4;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1474 ident[id].size[i] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1475
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1476 beginTmp = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1477 for(int i=0;i<4;i++)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1478 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1479 while((ident[id].orgText[beginTmp] != '#')&& ident[id].orgText[beginTmp])
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1480 beginTmp++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1481
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1482 if(ident[id].orgText[beginTmp] == '#')
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1483 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1484
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1485 ident[id].begin[i] = beginTmp;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1486 ident[id].size[i] = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1487 beginTmp = ident[id].begin[i] + ident[id].size[i];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1488 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1489 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1490 break;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1491 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1492
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1493 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditFieldRegular);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1494
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1495 create_newText_for_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1496
166
255eedad4155 cleanup: get rid of some compile warnings
Jan Mulder <jlmulder@xs4all.nl>
parents: 138
diff changeset
1497 if(editID == 0)
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1498 write_content_without_Id();
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1499 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1500 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1501 write_content_of_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1502 if(!tME_stop)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1503 idLast = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1504 id++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1505 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1506 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1507
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1508 void write_field_button(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1509 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1510 if(id >= 9)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1511 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1512
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1513 ident[id].maintype = FIELD_BUTTON;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1514 ident[id].subtype = FIELD_BUTTON;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1515
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1516 ident[id].coord[0] = XleftGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1517 ident[id].coord[1] = XrightGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1518 ident[id].coord[2] = YtopGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1519 ident[id].fontUsed = (tFont *)Font;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1520 ident[id].callerID = editID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1521
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1522 strncpy(ident[id].orgText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1523 strncpy(ident[id].newText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1524 ident[id].orgText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1525 ident[id].newText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1526
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1527 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditButtonColor1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1528
166
255eedad4155 cleanup: get rid of some compile warnings
Jan Mulder <jlmulder@xs4all.nl>
parents: 138
diff changeset
1529 if(editID == 0)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1530 write_content_without_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1531 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1532 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1533 write_content_of_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1534 if(!tME_stop)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1535 idLast = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1536 id++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1537 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1538 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1539
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1540
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1541 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)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1542 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1543 if(id >= 9)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1544 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1545
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1546 ident[id].maintype = FIELD_SYMBOL;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1547 ident[id].subtype = FIELD_SYMBOL;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1548
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1549 ident[id].coord[0] = XleftGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1550 ident[id].coord[1] = XrightGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1551 ident[id].coord[2] = YtopGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1552 ident[id].fontUsed = (tFont *)Font;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1553 ident[id].callerID = editID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1554
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1555 strncpy(ident[id].orgText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1556 strncpy(ident[id].newText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1557 ident[id].orgText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1558
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1559 ident[id].newText[0] = text[0];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1560 ident[id].newText[1] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1561
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1562 ident[id].input[0] = int1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1563 ident[id].input[1] = strlen(ident[id].orgText);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1564
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1565 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditButtonColor1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1566
166
255eedad4155 cleanup: get rid of some compile warnings
Jan Mulder <jlmulder@xs4all.nl>
parents: 138
diff changeset
1567 if(editID == 0)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1568 write_content_without_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1569 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1570 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1571 write_content_of_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1572 if(!tME_stop)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1573 idLast = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1574 id++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1575 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1576 }
584
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1577 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)
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1578 {
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1579 if(id >= 9) return;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1580 ident[id].maintype = FIELD_TOGGLE;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1581 ident[id].subtype = FIELD_TOGGLE;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1582 ident[id].coord[0] = XleftGimpStyle;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1583 ident[id].coord[1] = XrightGimpStyle;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1584 ident[id].coord[2] = YtopGimpStyle;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1585 ident[id].fontUsed = (tFont *)Font;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1586 ident[id].callerID = editID;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1587 strncpy(ident[id].orgText, text, 32);
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1588 strncpy(ident[id].newText, text, 32);
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1589 ident[id].orgText[31] = 0;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1590 ident[id].newText[31] = 0;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1591
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1592 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditButtonColor1);
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1593
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1594 if(editID == 0) write_content_without_Id();
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1595 else
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1596 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1597 write_content_of_Id(id);
584
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1598 if(!tME_stop) idLast = id;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1599 id++;
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1600 }
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1601 }
830de438e0b0 Added option for 100% o2 calibration:
Ideenmodellierer
parents: 562
diff changeset
1602
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1603
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1604
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1605 /* was build for field_on_off
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1606 * to be tested for other purposes first
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1607 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1608 void tMenuEdit_refresh_field(uint32_t editID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1609 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1610 uint8_t temp_id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1611
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1612 temp_id = get_id_of(editID);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1613 if(temp_id == 255)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1614 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1615
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1616 clean_content( ident[temp_id].coord[0], ident[temp_id].coord[1], ident[temp_id].coord[2], ident[temp_id].fontUsed);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1617 write_content( ident[temp_id].coord[0], ident[temp_id].coord[1], ident[temp_id].coord[2], ident[temp_id].fontUsed, ident[temp_id].newText, (CLUT_MenuEditField0 + temp_id));
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1618 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1619
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1620
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1621 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)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1622 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1623 if(id >= 9)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1624 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1625
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1626 ident[id].maintype = FIELD_ON_OFF;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1627 ident[id].subtype = FIELD_ON_OFF;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1628
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1629 ident[id].coord[0] = XleftGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1630 ident[id].coord[1] = XrightGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1631 ident[id].coord[2] = YtopGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1632 ident[id].fontUsed = (tFont *)Font;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1633 ident[id].callerID = editID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1634
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1635 if(int1)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1636 ident[id].orgText[0] = '\005';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1637 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1638 ident[id].orgText[0] = '\006';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1639
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1640 ident[id].orgText[1] = ' ';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1641
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1642 strncpy(&ident[id].orgText[2], text, 30);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1643 strncpy(ident[id].newText, ident[id].orgText, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1644 ident[id].orgText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1645 ident[id].newText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1646
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1647 if(!tME_stop)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1648 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditFieldRegular);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1649 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1650 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditInfo);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1651
166
255eedad4155 cleanup: get rid of some compile warnings
Jan Mulder <jlmulder@xs4all.nl>
parents: 138
diff changeset
1652 if(editID == 0)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1653 write_content_without_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1654 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1655 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1656 write_content_of_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1657 if(!tME_stop)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1658 idLast = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1659 id++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1660 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1661 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1662
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1663
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1664 void write_field_fpoint(uint32_t editID, uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, float input)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1665 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1666 if(id >= 9)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1667 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1668
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1669 ident[id].maintype = FIELD_NUMBERS;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1670 ident[id].subtype = FIELD_FLOAT;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1671
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1672 ident[id].coord[0] = XleftGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1673 ident[id].coord[1] = XrightGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1674 ident[id].coord[2] = YtopGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1675 ident[id].fontUsed = (tFont *)Font;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1676 ident[id].callerID = editID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1677
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1678 strncpy(ident[id].orgText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1679 strncpy(ident[id].newText, text, 32);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1680 ident[id].orgText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1681 ident[id].newText[31] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1682
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1683 change_CLUT_entry((CLUT_MenuEditField0 + id), CLUT_MenuEditFieldRegular);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1684
166
255eedad4155 cleanup: get rid of some compile warnings
Jan Mulder <jlmulder@xs4all.nl>
parents: 138
diff changeset
1685 if(editID == 0)
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1686 write_content_without_Id();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1687 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1688 {
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1689 write_content_of_Id(id);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1690 if(!tME_stop)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1691 idLast = id;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1692 id++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1693 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1694 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1695
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1696
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1697 void setBackMenu(uint32_t inputFunctionCall, uint8_t functionCallParameter, uint8_t gotoMenuEditField)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1698 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1699 backmenu.pEventFunction = inputFunctionCall;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1700 backmenu.functionParameter = functionCallParameter;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1701 backmenu.line = gotoMenuEditField;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1702 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1703
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1704
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1705 void setEvent(uint32_t inputEventID, uint32_t inputFunctionCall)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1706 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1707 if(evidLast >= 9)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1708 return;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1709
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1710 #if 0
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1711 /* set cursor to first field */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1712 if(evidLast < 0)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1713 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1714 startMenuEditFieldSelect();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1715 }
853
de6023cc0580 Potential Bugfix Selection MenuEdit lifecycle:
Ideenmodellierer
parents: 845
diff changeset
1716 #endif
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1717 event[evid].callerID = inputEventID;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1718 event[evid].pEventFunction = inputFunctionCall;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1719
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1720 evidLast = evid;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1721 evid++;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1722 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1723
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1724 void startEdit(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1725 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1726 EnterPressed = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1727 helperGotoMenuEditField(0);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1728 enterMenuEditField();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1729 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1730
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: 786
diff changeset
1731
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1732 void exitEditWithUpdate(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1733 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1734 createDiveSettings();
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1735 EnterPressed = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1736 exitMenuEdit(1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1737 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1738
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1739 /*
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1740 void set_cursor(uint8_t forThisIdentID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1741 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1742 int16_t x0, x1, y0, y1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1743
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1744 uint32_t xtra_left_right = 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1745 uint32_t xtra_top_bottom = 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1746
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1747 // y geht von 0 bis 799
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1748 // x geht von 0 bis 479
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1749
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1750 x0 = (int16_t)ident[forThisIdentID].coord[0];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1751 x1 = (int16_t)ident[forThisIdentID].coord[1];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1752 y0 = (int16_t)ident[forThisIdentID].coord[2];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1753 y1 = y0 + (int16_t)ident[forThisIdentID].fontUsed->height;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1754
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1755 if(((int16_t)ident[forThisIdentID].fontUsed->height) > 70)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1756 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1757 xtra_left_right = 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1758 xtra_top_bottom = 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1759 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1760 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1761 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1762 xtra_left_right = 10;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1763 xtra_top_bottom = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1764 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1765
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1766 x0 -= xtra_left_right;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1767 x1 += xtra_left_right;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1768 y0 -= xtra_top_bottom;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1769 y1 += xtra_top_bottom;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1770
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1771 GFX_SetWindowLayer0(tMEcursor.FBStartAdress, x0, x1, y0, y1);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1772 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1773 */
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1774
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1775 void set_cursorNew(uint8_t forThisIdentID)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1776 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1777 int16_t y0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1778 uint8_t lineMinusOne;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1779
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1780 if(!settingsGetPointer()->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1781 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1782 y0 = (int16_t)ident[forThisIdentID].coord[2];
117
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
1783 y0 -= ME_Y_LINE1;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1784 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1785 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1786 {
117
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
1787 y0 = 390 + 25 - (int16_t)ident[forThisIdentID].coord[2];
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1788 }
117
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
1789
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1790 y0 /= ME_Y_LINE_STEP;
117
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
1791 if((y0 >= 0) && (y0 <=6))
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1792 lineMinusOne = y0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1793 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1794 lineMinusOne = 0;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1795
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1796 if(!settingsGetPointer()->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1797 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1798 GFX_SetFrameBottom((tMEcursorNew.FBStartAdress) + 65*2*(lineMinusOne), 0, 25, 800, 390);
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1799 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1800 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1801 {
117
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
1802 GFX_SetFrameBottom((tMEcursorNew.FBStartAdress)+ (390 - 65 *(6-lineMinusOne)) *2, 0, 480-390-25, 800, 390);
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1803 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1804 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1805
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1806
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1807 void write_topline( char *text)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1808 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1809 GFX_DrawCfgWindow hgfx;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1810 const tFont *Font = &FontT48;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1811
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1812 hgfx.Image = &tMEscreen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1813 hgfx.WindowNumberOfTextLines = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1814 hgfx.WindowLineSpacing = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1815 hgfx.WindowTab = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1816 hgfx.WindowX0 = 20;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1817 hgfx.WindowX1 = 779;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1818 if(!settingsGetPointer()->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1819 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1820 hgfx.WindowY1 = 479;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1821 hgfx.WindowY0 = hgfx.WindowY1 - Font->height;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1822 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1823 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1824 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1825 hgfx.WindowY0 = 0;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1826 hgfx.WindowY1 = hgfx.WindowY0 + Font->height;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1827 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1828 GFX_write_label(Font, &hgfx, text, menuColor);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1829 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1830
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1831
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1832 void write_buttonTextline( uint8_t left2ByteCode, char middle2ByteCode, char right2ByteCode)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1833 {
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1834
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1835 SSettings* pSettings;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1836 pSettings = settingsGetPointer();
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1837
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1838 if(!pSettings->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1839 {
117
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
1840 GFX_clean_area(&tMEscreen, 0, 800, 479-24,480);
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1841 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1842 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1843 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1844 GFX_clean_area(&tMEscreen, 0, 800, 0, 24);
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1845 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1846
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1847 char localtext[32];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1848
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1849 if(left2ByteCode)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1850 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1851 localtext[0] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1852 localtext[1] = left2ByteCode;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1853 localtext[2] = 0;
117
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
1854
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
1855 write_content_simple(&tMEscreen, 0, 800, 479-24, &FontT24,localtext,CLUT_ButtonSurfaceScreen);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1856 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1857
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1858 if(middle2ByteCode)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1859 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1860 localtext[0] = '\001';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1861 localtext[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1862 localtext[2] = middle2ByteCode;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1863 localtext[3] = 0;
117
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
1864
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
1865 write_content_simple(&tMEscreen, 0, 800, 479-24, &FontT24,localtext,CLUT_ButtonSurfaceScreen);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1866 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1867
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1868 if(right2ByteCode)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1869 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1870 localtext[0] = '\002';
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1871 localtext[1] = TXT_2BYTE;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1872 localtext[2] = right2ByteCode;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1873 localtext[3] = 0;
117
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
1874
e6b190f5fbc7 Submenus may have 6 items
Ideenmodellierer
parents: 110
diff changeset
1875 write_content_simple(&tMEscreen, 0, 800, 479-24, &FontT24,localtext,CLUT_ButtonSurfaceScreen);
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1876 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1877 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1878
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1879
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1880
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1881 void write_label_var(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1882 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1883 GFX_DrawCfgWindow hgfx;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1884
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1885 if(XrightGimpStyle > 799)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1886 XrightGimpStyle = 799;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1887 if(XleftGimpStyle >= XrightGimpStyle)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1888 XleftGimpStyle = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1889 if(YtopGimpStyle > 479)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1890 YtopGimpStyle = 479;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1891 hgfx.Image = &tMEscreen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1892 hgfx.WindowNumberOfTextLines = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1893 hgfx.WindowLineSpacing = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1894 hgfx.WindowTab = 0;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1895 if(!settingsGetPointer()->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1896 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1897 hgfx.WindowX0 = XleftGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1898 hgfx.WindowX1 = XrightGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1899 hgfx.WindowY1 = 479 - YtopGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1900 if(hgfx.WindowY1 < Font->height)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1901 hgfx.WindowY0 = 0;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1902 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1903 hgfx.WindowY0 = hgfx.WindowY1 - Font->height;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1904 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1905 else
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1906 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1907 hgfx.WindowX0 = 800 - XrightGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1908 hgfx.WindowX1 = 800 - XleftGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1909 hgfx.WindowY0 = YtopGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1910 if(hgfx.WindowY0 < Font->height)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1911 hgfx.WindowY1 = 0;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1912 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1913 hgfx.WindowY1 = hgfx.WindowY0 + Font->height;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1914 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1915 GFX_write_label(Font, &hgfx, text, 0);/*menuColor);*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1916 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1917
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1918
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1919 void write_content(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char *text, uint8_t color)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1920 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1921 GFX_DrawCfgWindow hgfx;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1922
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1923 if(XrightGimpStyle > 799)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1924 XrightGimpStyle = 799;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1925 if(XleftGimpStyle >= XrightGimpStyle)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1926 XleftGimpStyle = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1927 if(YtopGimpStyle > 479)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1928 YtopGimpStyle = 479;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1929 hgfx.Image = &tMEscreen;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1930 hgfx.WindowNumberOfTextLines = 1;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1931 hgfx.WindowLineSpacing = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1932 hgfx.WindowTab = 0;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1933
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1934 if(!settingsGetPointer()->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1935 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1936 hgfx.WindowX0 = XleftGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1937 hgfx.WindowX1 = XrightGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1938 hgfx.WindowY1 = 479 - YtopGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1939 if(hgfx.WindowY1 < Font->height)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1940 hgfx.WindowY0 = 0;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1941 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1942 hgfx.WindowY0 = hgfx.WindowY1 - Font->height;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1943 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1944 else
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1945 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1946 hgfx.WindowX0 = 800 - XrightGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1947 hgfx.WindowX1 = 800 - XleftGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1948 hgfx.WindowY0 = YtopGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1949 if(hgfx.WindowY0 < Font->height)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1950 hgfx.WindowY1 = 0;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1951 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1952 hgfx.WindowY1 = hgfx.WindowY0 + Font->height;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1953 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1954 GFX_write_label(Font, &hgfx, text, color);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1955 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1956
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1957
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1958 void write_label_fix(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font, const char textId)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1959 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1960 char text[2];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1961
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1962 text[0] = textId;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1963 text[1] = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1964
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1965 write_label_var(XleftGimpStyle, XrightGimpStyle, YtopGimpStyle, Font, text);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1966 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1967
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1968
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1969 void clean_content(uint16_t XleftGimpStyle, uint16_t XrightGimpStyle, uint16_t YtopGimpStyle, const tFont *Font)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1970 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1971 GFX_DrawCfgWindow hgfx;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1972
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1973 if(XrightGimpStyle > 799)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1974 XrightGimpStyle = 799;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1975 if(XleftGimpStyle >= XrightGimpStyle)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1976 XleftGimpStyle = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1977 if(YtopGimpStyle > 479)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1978 YtopGimpStyle = 479;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1979 hgfx.Image = &tMEscreen;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1980 if(!settingsGetPointer()->FlipDisplay)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1981 {
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1982 hgfx.WindowX0 = XleftGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1983 hgfx.WindowX1 = XrightGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1984 hgfx.WindowY1 = 479 - YtopGimpStyle;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1985 if(hgfx.WindowY1 < Font->height)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1986 hgfx.WindowY0 = 0;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1987 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
1988 hgfx.WindowY0 = hgfx.WindowY1 - Font->height;
110
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1989 }
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1990 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1991 {
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1992 hgfx.WindowX0 = 800 - XrightGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1993 hgfx.WindowX1 = 800 - XleftGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1994 hgfx.WindowY0 = YtopGimpStyle;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1995 if(hgfx.WindowY0 < Font->height)
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1996 hgfx.WindowY1 = 0;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1997 else
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1998 hgfx.WindowY1 = hgfx.WindowY0 + Font->height;
cc8e24374b83 Added option to handled mirrored display to existing functions
Ideenmodellierer
parents: 38
diff changeset
1999 }
38
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2000 GFX_clear_window_immediately(&hgfx);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2001 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2002
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2003
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2004 /* Private functions ---------------------------------------------------------*/
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2005
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2006 void draw_tMEdesign(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2007 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2008 GFX_draw_header(&tMEscreen,menuColor);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2009 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2010
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2011 void draw_tMEdesignSubUnselected(uint32_t *ppDestination)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2012 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2013 union al88_u
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2014 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2015 uint8_t al8[2];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2016 uint16_t al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2017 };
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2018
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2019 union al88_u color_seperator;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2020 union al88_u color_unselected;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2021 int i;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2022
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2023 color_seperator.al8[0] = CLUT_MenuLineUnselectedSeperator;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2024 color_unselected.al8[0] = CLUT_MenuLineUnselected;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2025
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2026 color_seperator.al8[1] = 0xFF;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2027 color_unselected.al8[1] = 0xFF;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2028
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2029 *(__IO uint16_t*)*ppDestination = color_seperator.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2030 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2031 *(__IO uint16_t*)*ppDestination = color_seperator.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2032 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2033
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2034 for(i = 61; i > 0; i--)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2035 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2036 *(__IO uint16_t*)*ppDestination = color_unselected.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2037 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2038 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2039
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2040 *(__IO uint16_t*)*ppDestination = color_seperator.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2041 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2042 *(__IO uint16_t*)*ppDestination = color_seperator.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2043 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2044 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2045
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2046
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2047 void draw_tMEdesignSubSelected(uint32_t *ppDestination)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2048 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2049 union al88_u
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2050 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2051 uint8_t al8[2];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2052 uint16_t al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2053 };
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2054
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2055 union al88_u color_selected;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2056 union al88_u color_seperator;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2057 int i;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2058
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2059 color_selected.al8[0] = CLUT_MenuEditLineSelected;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2060 color_selected.al8[1] = 0xFF;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2061
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2062 color_seperator.al8[0] = CLUT_MenuLineSelectedSeperator;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2063 color_seperator.al8[1] = 0xFF;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2064
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2065 *(__IO uint16_t*)*ppDestination = color_seperator.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2066 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2067 *(__IO uint16_t*)*ppDestination = color_seperator.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2068 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2069
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2070 for(i = 61; i > 0; i--)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2071 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2072 *(__IO uint16_t*)*ppDestination = color_selected.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2073 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2074 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2075
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2076 *(__IO uint16_t*)*ppDestination = color_seperator.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2077 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2078 *(__IO uint16_t*)*ppDestination = color_seperator.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2079 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2080 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2081
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2082
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2083 void draw_tMEdesignSubSelectedBorder(uint32_t *ppDestination)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2084 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2085 union al88_u
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2086 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2087 uint8_t al8[2];
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2088 uint16_t al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2089 };
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2090
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2091 union al88_u color_selected_sides;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2092
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2093 int i;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2094
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2095 color_selected_sides.al8[0] = CLUT_MenuLineSelectedSides;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2096 color_selected_sides.al8[1] = 0xFF;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2097
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2098 for(i = 65; i > 0; i--)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2099 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2100 *(__IO uint16_t*)*ppDestination = color_selected_sides.al88;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2101 *ppDestination += 2;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2102 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2103 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2104
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2105
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2106 void draw_tMEcursorNewDesign(void)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2107 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2108 int i,j;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2109 uint32_t pDestination;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2110
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2111 pDestination = tMEcursorNew.FBStartAdress;
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2112
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2113 for(j = 801; j > 0; j--)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2114 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2115 for(i = 5; i > 0; i--)
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2116 {
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2117 draw_tMEdesignSubUnselected(&pDestination);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2118 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2119 if((j > 787) || (j < 17))
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2120 draw_tMEdesignSubSelectedBorder(&pDestination);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2121 else
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2122 draw_tMEdesignSubSelected(&pDestination);
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2123 }
5f11787b4f42 include in ostc4 repository
heinrichsweikamp
parents:
diff changeset
2124 }
552
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 531
diff changeset
2125
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 531
diff changeset
2126 GFX_DrawCfgScreen* getMenuEditScreen()
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 531
diff changeset
2127 {
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 531
diff changeset
2128 return &tMEscreen;
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 531
diff changeset
2129 }
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 531
diff changeset
2130
531e7818b737 Added menu structure to acces viewport calibration:
Ideenmodellierer
parents: 531
diff changeset
2131