comparison Discovery/Src/tMenuEditSystem.c @ 807:9e2ebfc72e8c

Zusammenf?hren
author heinrichsweikamp
date Sat, 26 Aug 2023 13:37:06 +0200
parents dd7ce655db26
children e04d7dd199fb
comparison
equal deleted inserted replaced
806:ee3c0029ed34 807:9e2ebfc72e8c
99 uint8_t OnAction_TestCLog (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action); 99 uint8_t OnAction_TestCLog (uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action);
100 */ 100 */
101 101
102 /* Exported functions --------------------------------------------------------*/ 102 /* Exported functions --------------------------------------------------------*/
103 103
104 static uint8_t OnAction_Timer(uint32_t editId, uint8_t blockNumber, uint8_t digitNumber, uint8_t digitContent, uint8_t action)
105 {
106 SSettings *settings = settingsGetPointer();
107 uint8_t digitContentNew;
108 switch (action) {
109 case ACTION_BUTTON_ENTER:
110
111 return digitContent;
112 case ACTION_BUTTON_ENTER_FINAL:
113 {
114 uint32_t timerM;
115 uint32_t timerS;
116 evaluateNewString(editId, &timerM, &timerS, 0, 0);
117 if (timerM > 9) {
118 timerM = 9;
119 }
120 if (timerS > 59) {
121 timerS = 59;
122 }
123
124 uint16_t timerDurationS = 60 * timerM + timerS;
125
126 if (timerDurationS < 1) {
127 timerDurationS = 1;
128 }
129
130 if (timerDurationS != settings->timerDurationS) {
131 settings->timerDurationS = timerDurationS;
132
133 disableTimer();
134
135 tMenuEdit_newInput(editId, settings->timerDurationS / 60, settings->timerDurationS % 60, 0, 0);
136 }
137
138 return EXIT_TO_MENU;
139 }
140 case ACTION_BUTTON_NEXT:
141 digitContentNew = digitContent + 1;
142 if ((blockNumber == 1 && digitNumber == 0 && digitContentNew > '5') || digitContentNew > '9') {
143 digitContentNew = '0';
144 }
145
146 return digitContentNew;
147 case ACTION_BUTTON_BACK:
148 digitContentNew = digitContent - 1;
149 if (digitContentNew < '0') {
150 if (blockNumber == 1 && digitNumber == 0) {
151 digitContentNew = '5';
152 } else {
153 digitContentNew = '9';
154 }
155 }
156
157 return digitContentNew;
158 }
159
160 return EXIT_TO_MENU;
161 }
162
163
164 static void openEdit_Timer(void)
165 {
166 SSettings *settings = settingsGetPointer();
167
168 char text[32];
169 snprintf(text, 32, "\001%c%c", TXT_2BYTE, TXT2BYTE_Timer);
170 write_topline(text);
171
172 uint16_t yPos = ME_Y_LINE_BASE + get_globalState_Menu_Line() * ME_Y_LINE_STEP;
173 snprintf(text, 32, "%c%c", TXT_2BYTE, TXT2BYTE_Timer);
174 write_label_var(30, 299, yPos, &FontT48, text);
175 write_field_udigit(StMSYS_Timer, 300, 392, yPos, &FontT48, "#:##", settings->timerDurationS / 60, settings->timerDurationS % 60, 0, 0);
176 write_label_var(393, 800, yPos, &FontT48, "\016\016 [m:ss]\017");
177
178 write_buttonTextline(TXT2BYTE_ButtonMinus, TXT2BYTE_ButtonEnter, TXT2BYTE_ButtonPlus);
179
180 setEvent(StMSYS_Timer, (uint32_t)OnAction_Timer);
181 startEdit();
182 }
183
184
104 void openEdit_System(uint8_t line) 185 void openEdit_System(uint8_t line)
105 { 186 {
106 set_globalState_Menu_Line(line); 187 set_globalState_Menu_Line(line);
107 resetMenuEdit(CLUT_MenuPageSystem); 188 resetMenuEdit(CLUT_MenuPageSystem);
108 189
113 case 1: 194 case 1:
114 default: 195 default:
115 openEdit_DateTime(); 196 openEdit_DateTime();
116 break; 197 break;
117 case 2: 198 case 2:
199 openEdit_Timer();
200 break;
201 case 3:
118 openEdit_Language(); 202 openEdit_Language();
119 break; 203 break;
120 case 3: 204 case 4:
121 openEdit_Design(); 205 openEdit_Design();
122 break; 206 break;
123 case 4: 207 case 5:
124 openEdit_Information(); 208 openEdit_Information();
125 break; 209 break;
126 case 5: 210 case 6:
127 openEdit_Reset(); 211 openEdit_Reset();
128 break; 212 break;
129 /* 213 /*
130 case 3: 214 case 3:
131 openEdit_DecoFutureTTS(); 215 openEdit_DecoFutureTTS();