annotate Discovery/Src/tMenuEdit.c @ 1046:1d7c7a36df15 GasConsumption

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