annotate Discovery/Src/tMenuEdit.c @ 916:4832981f9af8 Evo_2_23

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