fix models list reload after USB mass storage connection (#5963)
[opentx.git] / radio / src / translations.cpp
blob3ff37f1481cacf6c2fd83d36b66285f3f17e8458
1 /*
2 * Copyright (C) OpenTX
4 * Based on code named
5 * th9x - http://code.google.com/p/th9x
6 * er9x - http://code.google.com/p/er9x
7 * gruvin9x - http://code.google.com/p/gruvin9x
9 * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2 as
13 * published by the Free Software Foundation.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
21 #include "opentx.h"
23 #define ISTR(x) LEN_##x TR_##x
25 // The non-0-terminated-strings
26 const pm_char STR_OPEN9X[] PROGMEM =
27 ISTR(OFFON)
28 ISTR(MMMINV)
29 ISTR(NCHANNELS)
30 #if !defined(GRAPHICS)
31 ISTR(VBEEPLEN)
32 #endif
33 ISTR(VBEEPMODE)
34 #if defined(ROTARY_ENCODERS)
35 ISTR(VRENAVIG)
36 #endif
37 #if defined(ROTARY_ENCODER_NAVIGATION)
38 ISTR(VRENCODERS)
39 #endif
40 ISTR(TRNMODE)
41 ISTR(TRNCHN)
42 #if defined(PCBTARANIS) || defined(PCBHORUS)
43 ISTR(UART3MODES)
44 ISTR(SWTYPES)
45 ISTR(POTTYPES)
46 ISTR(SLIDERTYPES)
47 #endif
48 ISTR(VTRIMINC)
49 #if defined(CPUARM)
50 ISTR(VDISPLAYTRIMS)
51 #endif
52 ISTR(RETA123)
53 ISTR(VPROTOS)
54 ISTR(POSNEG)
55 #if defined(PCBSKY9X) && defined(REVX)
56 ISTR(VOUTPUT_TYPE)
57 #endif
58 ISTR(VBLMODE)
59 ISTR(VCURVEFUNC)
60 ISTR(VMLTPX)
61 ISTR(VMLTPX2)
62 ISTR(VMIXTRIMS)
63 ISTR(VCSWFUNC)
64 ISTR(VFSWFUNC)
65 ISTR(VFSWRESET)
66 ISTR(FUNCSOUNDS)
67 #if !defined(CPUARM)
68 ISTR(VTELEMCHNS)
69 #endif
70 #if defined(TELEMETRY_FRSKY) || defined(CPUARM)
71 ISTR(VTELEMUNIT)
72 ISTR(VALARM)
73 ISTR(VALARMFN)
74 ISTR(VTELPROTO)
75 ISTR(GPSFORMAT)
76 ISTR(AMPSRC)
77 ISTR(VARIOSRC)
78 ISTR(VTELEMSCREENTYPE)
79 #endif
80 #if defined(TEMPLATES)
81 ISTR(VTEMPLATES)
82 #endif
83 #if defined(HELI)
84 ISTR(VSWASHTYPE)
85 #endif
86 ISTR(VKEYS)
87 ISTR(VSWITCHES)
88 ISTR(VSRCRAW)
89 #if defined(TRANSLATIONS_CZ) && defined(CPUARM)
90 ISTR(INPUTNAMES)
91 #endif
92 ISTR(VTMRMODES)
93 #if defined(CPUM2560) || defined(CPUARM)
94 ISTR(DATETIME)
95 ISTR(VPERSISTENT)
96 #endif
97 #if defined(CPUARM)
98 ISTR(VLCD)
99 ISTR(VUNITSSYSTEM)
100 ISTR(VBEEPCOUNTDOWN)
101 ISTR(VVARIOCENTER)
102 #endif
103 #if defined(PXX) || defined(CPUARM)
104 ISTR(COUNTRYCODES)
105 ISTR(USBMODES)
106 ISTR(VFAILSAFE)
107 #endif
108 #if defined(CPUARM)
109 ISTR(VTRAINERMODES)
110 ISTR(TARANIS_PROTOCOLS)
111 ISTR(R9M_REGION)
112 ISTR(R9M_FCC_POWER_VALUES)
113 ISTR(R9M_LBT_POWER_VALUES)
114 ISTR(TELEMETRY_PROTOCOLS)
115 ISTR(XJT_PROTOCOLS)
116 ISTR(DSM_PROTOCOLS)
117 #if defined(MULTIMODULE)
118 ISTR(MULTI_PROTOCOLS)
119 #endif
120 ISTR(VOLTSRC)
121 ISTR(CURVE_TYPES)
122 ISTR(VSENSORTYPES)
123 ISTR(VFORMULAS)
124 ISTR(VPREC)
125 ISTR(VCELLINDEX)
126 #if defined(BLUETOOTH)
127 ISTR(BLUETOOTH_MODES)
128 #endif
129 ISTR(VANTENNATYPES)
130 #endif
131 #if defined(TELEMETRY_MAVLINK)
132 ISTR(MAVLINK_BAUDS)
133 ISTR(MAVLINK_AC_MODES)
134 ISTR(MAVLINK_AP_MODES)
135 #endif
138 // The 0-terminated-strings
139 const pm_char STR_POPUPS[] PROGMEM = TR_POPUPS;
140 #if !defined(OFS_EXIT)
141 const pm_char STR_EXIT[] PROGMEM = TR_EXIT;
142 #endif
143 #if !defined(PCBHORUS)
144 const pm_char STR_MENUWHENDONE[] PROGMEM = TR_MENUWHENDONE;
145 #endif
146 const pm_char STR_FREE[] PROGMEM = TR_FREE;
147 const pm_char STR_DELETEMODEL[] PROGMEM = TR_DELETEMODEL;
148 const pm_char STR_COPYINGMODEL[] PROGMEM = TR_COPYINGMODEL;
149 const pm_char STR_MOVINGMODEL[] PROGMEM = TR_MOVINGMODEL;
150 const pm_char STR_LOADINGMODEL[] PROGMEM = TR_LOADINGMODEL;
151 const pm_char STR_NAME[] PROGMEM = TR_NAME;
152 const pm_char STR_BITMAP[] PROGMEM = TR_BITMAP;
153 const pm_char STR_TIMER[] PROGMEM = TR_TIMER;
154 const pm_char STR_ELIMITS[] PROGMEM = TR_ELIMITS;
155 const pm_char STR_ETRIMS[] PROGMEM = TR_ETRIMS;
156 const pm_char STR_TRIMINC[] PROGMEM = TR_TRIMINC;
157 const pm_char STR_DISPLAY_TRIMS[] PROGMEM = TR_DISPLAY_TRIMS;
158 const pm_char STR_TTRACE[] PROGMEM = TR_TTRACE;
159 const pm_char STR_TTRIM[] PROGMEM = TR_TTRIM;
160 const pm_char STR_BEEPCTR[] PROGMEM = TR_BEEPCTR;
161 const pm_char STR_USE_GLOBAL_FUNCS[] PROGMEM = TR_USE_GLOBAL_FUNCS;
162 #if defined(PCBSKY9X) && defined(REVX)
163 const pm_char STR_OUTPUT_TYPE[] PROGMEM = TR_OUTPUT_TYPE;
164 #endif
165 const pm_char STR_PROTO[] PROGMEM = TR_PROTO;
166 const pm_char STR_PPMFRAME[] PROGMEM = TR_PPMFRAME;
167 #if defined(CPUARM)
168 const pm_char STR_REFRESHRATE[] PROGMEM = TR_REFRESHRATE;
169 const pm_char SSTR_WARN_BATTVOLTAGE[] PROGMEM = STR_WARN_BATTVOLTAGE;
170 #endif
171 const pm_char STR_MS[] PROGMEM = TR_MS;
172 const pm_char STR_SWITCH[] PROGMEM = TR_SWITCH;
173 const pm_char STR_TRIMS[] PROGMEM = TR_TRIMS;
174 const pm_char STR_FADEIN[] PROGMEM = TR_FADEIN;
175 const pm_char STR_FADEOUT[] PROGMEM = TR_FADEOUT;
176 const pm_char STR_DEFAULT[] PROGMEM = TR_DEFAULT;
177 const pm_char STR_CHECKTRIMS[] PROGMEM = TR_CHECKTRIMS;
178 #ifdef HELI
179 const pm_char STR_SWASHTYPE[] PROGMEM = TR_SWASHTYPE;
180 const pm_char STR_COLLECTIVE[] PROGMEM = TR_COLLECTIVE;
181 const pm_char STR_AILERON[] PROGMEM = TR_AILERON;
182 const pm_char STR_ELEVATOR[] PROGMEM = TR_ELEVATOR;
183 const pm_char STR_SWASHRING[] PROGMEM = TR_SWASHRING;
184 const pm_char STR_ELEDIRECTION[] PROGMEM = TR_ELEDIRECTION;
185 const pm_char STR_AILDIRECTION[] PROGMEM = TR_AILDIRECTION;
186 const pm_char STR_COLDIRECTION[] PROGMEM = TR_COLDIRECTION;
187 #endif
188 const pm_char STR_MODE[] PROGMEM = TR_MODE;
189 #if defined(AUDIO) && defined(BUZZER)
190 const pm_char STR_SPEAKER[] PROGMEM = TR_SPEAKER;
191 const pm_char STR_BUZZER[] PROGMEM = TR_BUZZER;
192 #endif
193 const pm_char STR_NOFREEEXPO[] PROGMEM = TR_NOFREEEXPO;
194 const pm_char STR_NOFREEMIXER[] PROGMEM = TR_NOFREEMIXER;
195 const pm_char STR_SOURCE[] PROGMEM = TR_SOURCE;
196 const pm_char STR_WEIGHT[] PROGMEM = TR_WEIGHT;
197 const pm_char STR_EXPO[] PROGMEM = TR_EXPO;
198 const pm_char STR_SIDE[] PROGMEM = TR_SIDE;
199 const pm_char STR_DIFFERENTIAL[] PROGMEM = TR_DIFFERENTIAL;
200 const pm_char STR_OFFSET[] PROGMEM = TR_OFFSET;
201 const pm_char STR_TRIM[] PROGMEM = TR_TRIM;
202 const pm_char STR_DREX[] PROGMEM = TR_DREX;
203 const pm_char STR_CURVE[] PROGMEM = TR_CURVE;
204 const pm_char STR_FLMODE[] PROGMEM = TR_FLMODE;
205 const pm_char STR_MIXWARNING[] PROGMEM = TR_MIXWARNING;
206 const pm_char STR_OFF[] PROGMEM = TR_OFF;
207 const pm_char STR_MULTPX[] PROGMEM = TR_MULTPX;
208 const pm_char STR_DELAYDOWN[] PROGMEM = TR_DELAYDOWN;
209 const pm_char STR_DELAYUP[] PROGMEM = TR_DELAYUP;
210 const pm_char STR_SLOWDOWN[] PROGMEM = TR_SLOWDOWN;
211 const pm_char STR_SLOWUP[] PROGMEM = TR_SLOWUP;
212 const pm_char STR_MIXER[] PROGMEM = TR_MIXER;
213 const pm_char STR_CV[] PROGMEM = TR_CV;
214 const pm_char STR_GV[] PROGMEM = TR_GV;
215 const pm_char STR_ACHANNEL[] PROGMEM = TR_ACHANNEL;
216 const pm_char STR_RANGE[] PROGMEM = TR_RANGE;
217 const pm_char STR_CENTER[] PROGMEM = TR_CENTER;
218 const pm_char STR_BAR[] PROGMEM = TR_BAR;
219 const pm_char STR_ALARM[] PROGMEM = TR_ALARM;
220 const pm_char STR_USRDATA[] PROGMEM = TR_USRDATA;
221 const pm_char STR_BLADES[] PROGMEM = TR_BLADES;
222 const pm_char STR_SCREEN[] PROGMEM = TR_SCREEN;
223 const pm_char STR_SOUND_LABEL[] PROGMEM = TR_SOUND_LABEL;
224 const pm_char STR_LENGTH[] PROGMEM = TR_LENGTH;
225 #if defined(CPUARM)
226 const pm_char STR_BEEP_LENGTH[] PROGMEM = TR_BEEP_LENGTH;
227 #endif
228 #if defined(AUDIO)
229 const pm_char STR_SPKRPITCH[] PROGMEM = TR_SPKRPITCH;
230 #endif
231 #if defined(HAPTIC)
232 const pm_char STR_HAPTIC_LABEL[] PROGMEM = TR_HAPTIC_LABEL;
233 const pm_char STR_HAPTICSTRENGTH[] PROGMEM = TR_HAPTICSTRENGTH;
234 #endif
235 const pm_char STR_CONTRAST[] PROGMEM = TR_CONTRAST;
236 const pm_char STR_ALARMS_LABEL[] PROGMEM = TR_ALARMS_LABEL;
237 #if defined(BATTGRAPH) || defined(CPUARM)
238 const pm_char STR_BATTERY_RANGE[] PROGMEM = TR_BATTERY_RANGE;
239 #endif
240 const pm_char STR_BATTERYWARNING[] PROGMEM = TR_BATTERYWARNING;
241 const pm_char STR_INACTIVITYALARM[] PROGMEM = TR_INACTIVITYALARM;
242 const pm_char STR_MEMORYWARNING[] PROGMEM = TR_MEMORYWARNING;
243 const pm_char STR_ALARMWARNING[] PROGMEM = TR_ALARMWARNING;
244 const pm_char STR_RSSISHUTDOWNALARM[] PROGMEM = TR_RSSISHUTDOWNALARM;
245 const pm_char STR_MODEL_STILL_POWERED[] PROGMEM = TR_MODEL_STILL_POWERED;
246 const pm_char STR_MODEL_SHUTDOWN[] PROGMEM = TR_MODEL_SHUTDOWN;
247 const pm_char STR_PRESS_ENTER_TO_CONFIRM[] PROGMEM = TR_PRESS_ENTER_TO_CONFIRM;
248 #if defined(ROTARY_ENCODERS)
249 const pm_char STR_RENAVIG[] PROGMEM = TR_RENAVIG;
250 #endif
251 const pm_char STR_THROTTLEREVERSE[] PROGMEM = TR_THROTTLEREVERSE;
252 const pm_char STR_TIMER_NAME[] PROGMEM = TR_TIMER_NAME;
253 const pm_char STR_MINUTEBEEP[] PROGMEM = TR_MINUTEBEEP;
254 const pm_char STR_BEEPCOUNTDOWN[] PROGMEM = TR_BEEPCOUNTDOWN;
255 const pm_char STR_PERSISTENT[] PROGMEM = TR_PERSISTENT;
256 const pm_char STR_BACKLIGHT_LABEL[] PROGMEM = TR_BACKLIGHT_LABEL;
257 const pm_char STR_BLDELAY[] PROGMEM = TR_BLDELAY;
259 #if defined(PWM_BACKLIGHT) || defined(PCBHORUS)
260 const pm_char STR_BLONBRIGHTNESS[] PROGMEM = TR_BLONBRIGHTNESS;
261 const pm_char STR_BLOFFBRIGHTNESS[] PROGMEM = TR_BLOFFBRIGHTNESS;
262 #endif
264 const pm_char STR_SPLASHSCREEN[] PROGMEM = TR_SPLASHSCREEN;
265 const pm_char STR_THROTTLEWARNING[] PROGMEM = TR_THROTTLEWARNING;
266 const pm_char STR_SWITCHWARNING[] PROGMEM = TR_SWITCHWARNING;
267 const pm_char STR_POTWARNINGSTATE[] PROGMEM = TR_POTWARNINGSTATE;
268 const pm_char STR_POTWARNING[] PROGMEM = TR_POTWARNING;
269 const pm_char STR_SLIDERWARNING[] PROGMEM = TR_SLIDERWARNING;
270 #ifdef TELEMETRY_FRSKY
271 const pm_char STR_TIMEZONE[] PROGMEM = TR_TIMEZONE;
272 const pm_char STR_ADJUST_RTC[] PROGMEM = TR_ADJUST_RTC;
273 const pm_char STR_GPS[] PROGMEM = TR_GPS;
274 const pm_char STR_GPSCOORD[] PROGMEM = TR_GPSCOORD;
275 const pm_char STR_VARIO[] PROGMEM = TR_VARIO;
276 const pm_char STR_PITCH_AT_ZERO[] PROGMEM = TR_PITCH_AT_ZERO;
277 const pm_char STR_PITCH_AT_MAX[] PROGMEM = TR_PITCH_AT_MAX;
278 const pm_char STR_REPEAT_AT_ZERO[] PROGMEM = TR_REPEAT_AT_ZERO;
279 #endif
280 const pm_char STR_RXCHANNELORD[] PROGMEM = TR_RXCHANNELORD;
281 const pm_char STR_STICKS[] PROGMEM = TR_STICKS;
282 const pm_char STR_POTS[] PROGMEM = TR_POTS;
283 const pm_char STR_SWITCHES[] PROGMEM = TR_SWITCHES;
284 const pm_char STR_SWITCHES_DELAY[] PROGMEM = TR_SWITCHES_DELAY;
285 const pm_char STR_SLAVE[] PROGMEM = TR_SLAVE;
286 const pm_char STR_MODESRC[] PROGMEM = TR_MODESRC;
287 const pm_char STR_MULTIPLIER[] PROGMEM = TR_MULTIPLIER;
288 const pm_char STR_CAL[] PROGMEM = TR_CAL;
289 const pm_char STR_VTRIM[] PROGMEM = TR_VTRIM;
290 const pm_char STR_BG[] PROGMEM = TR_BG;
291 const pm_char STR_MENUTOSTART[] PROGMEM = TR_MENUTOSTART;
292 const pm_char STR_SETMIDPOINT[] PROGMEM = TR_SETMIDPOINT;
293 const pm_char STR_MOVESTICKSPOTS[] PROGMEM = TR_MOVESTICKSPOTS;
294 const pm_char STR_RXBATT[] PROGMEM = TR_RXBATT;
295 const pm_char STR_TX[] PROGMEM = TR_TXnRX;
296 const pm_char STR_ACCEL[] PROGMEM = TR_ACCEL;
297 const pm_char STR_NODATA[] PROGMEM = TR_NODATA;
298 const pm_char STR_TOTTM1TM2THRTHP[] PROGMEM = TR_TOTTM1TM2THRTHP;
299 const pm_char STR_TMR1LATMAXUS[] PROGMEM = TR_TMR1LATMAXUS;
300 const pm_char STR_TMR1LATMINUS[] PROGMEM = TR_TMR1LATMINUS;
301 const pm_char STR_TMR1JITTERUS[] PROGMEM = TR_TMR1JITTERUS;
302 const pm_char STR_TMIXMAXMS[] PROGMEM = TR_TMIXMAXMS;
303 const pm_char STR_FREESTACKMINB[] PROGMEM = TR_FREESTACKMINB;
304 const pm_char STR_MENUTORESET[] PROGMEM = TR_MENUTORESET;
305 const pm_char STR_PPM_TRAINER[] PROGMEM = TR_PPM_TRAINER;
306 const pm_char STR_CH[] PROGMEM = TR_CH;
307 const pm_char STR_MODEL[] PROGMEM = TR_MODEL;
308 const pm_char STR_FP[] PROGMEM = TR_FP;
309 #if defined(CPUARM)
310 const pm_char STR_MIX[] PROGMEM = TR_MIX;
311 #endif
312 const pm_char STR_ALERT[] PROGMEM = TR_ALERT;
313 const pm_char STR_PRESSANYKEYTOSKIP[] PROGMEM = TR_PRESSANYKEYTOSKIP;
314 const pm_char STR_THROTTLENOTIDLE[] PROGMEM = TR_THROTTLENOTIDLE;
315 const pm_char STR_ALARMSDISABLED[] PROGMEM = TR_ALARMSDISABLED;
316 const pm_char STR_PRESSANYKEY[] PROGMEM = TR_PRESSANYKEY;
317 const pm_char STR_TRIMS2OFFSETS[] PROGMEM = TR_TRIMS2OFFSETS;
318 const pm_char STR_OUTPUTS2FAILSAFE[] PROGMEM = TR_OUTPUTS2FAILSAFE;
319 const pm_char STR_MENURADIOSETUP[] PROGMEM = TR_MENURADIOSETUP;
321 #if defined(EEPROM)
322 const pm_char STR_BAD_RADIO_DATA[] PROGMEM = TR_BADEEPROMDATA;
323 const pm_char STR_STORAGE_FORMAT[] PROGMEM = TR_EEPROMFORMATTING;
324 const pm_char STR_STORAGE_WARNING[] PROGMEM = TR_EEPROMWARN;
325 const pm_char STR_EEPROM_CONVERTING[] PROGMEM = TR_EEPROM_CONVERTING;
326 const pm_char STR_EEPROMLOWMEM[] PROGMEM = TR_EEPROMLOWMEM;
327 const pm_char STR_EEPROMOVERFLOW[] PROGMEM = TR_EEPROMOVERFLOW;
328 #else
329 const pm_char STR_BAD_RADIO_DATA[] PROGMEM = TR_BAD_RADIO_DATA;
330 const pm_char STR_STORAGE_WARNING[] PROGMEM = TR_STORAGE_WARNING;
331 const pm_char STR_STORAGE_FORMAT[] PROGMEM = TR_STORAGE_FORMAT;
332 #endif
334 #if defined(FAS_OFFSET) || !defined(CPUM64)
335 const pm_char STR_FAS_OFFSET[] PROGMEM = TR_FAS_OFFSET;
336 #endif
338 #if defined(CPUM2560) || defined(CPUARM)
339 const pm_char STR_MENUDATEANDTIME[] PROGMEM = TR_MENUDATEANDTIME;
340 #endif
342 const pm_char STR_MENUTRAINER[] PROGMEM = TR_MENUTRAINER;
343 const pm_char STR_MENUSPECIALFUNCS[] PROGMEM = TR_MENUSPECIALFUNCS;
344 const pm_char STR_MENUVERSION[] PROGMEM = TR_MENUVERSION;
345 const pm_char STR_MENU_RADIO_SWITCHES[] PROGMEM = TR_MENU_RADIO_SWITCHES;
346 const pm_char STR_MENU_RADIO_ANALOGS[] PROGMEM = TR_MENU_RADIO_ANALOGS;
347 const pm_char STR_MENUCALIBRATION[] PROGMEM = TR_MENUCALIBRATION;
349 const pm_char STR_MENUMODELSEL[] PROGMEM = TR_MENUMODELSEL;
350 const pm_char STR_MENUSETUP[] PROGMEM = TR_MENUSETUP;
351 const pm_char STR_MENUFLIGHTMODE[] PROGMEM = TR_MENUFLIGHTMODE;
352 const pm_char STR_MENUFLIGHTMODES[] PROGMEM = TR_MENUFLIGHTMODES;
354 #ifdef HELI
355 const pm_char STR_MENUHELISETUP[] PROGMEM = TR_MENUHELISETUP;
356 #endif
358 const pm_char STR_MENUINPUTS[] PROGMEM = TR_MENUINPUTS;
359 const pm_char STR_MENULIMITS[] PROGMEM = TR_MENULIMITS;
360 const pm_char STR_MENUCURVES[] PROGMEM = TR_MENUCURVES;
361 const pm_char STR_MENUCURVE[] PROGMEM = TR_MENUCURVE;
362 const pm_char STR_MENULOGICALSWITCH[] PROGMEM = TR_MENULOGICALSWITCH;
363 const pm_char STR_MENULOGICALSWITCHES[] PROGMEM = TR_MENULOGICALSWITCHES;
364 const pm_char STR_MENUCUSTOMFUNC[] PROGMEM = TR_MENUCUSTOMFUNC;
366 #if defined(LUA)
367 const pm_char STR_MENUCUSTOMSCRIPTS[] PROGMEM = TR_MENUCUSTOMSCRIPTS;
368 #endif
370 #if defined(TELEMETRY_FRSKY)
371 const pm_char STR_MENUTELEMETRY[] PROGMEM = TR_MENUTELEMETRY;
372 const pm_char STR_LIMIT[] PROGMEM = TR_LIMIT;
373 #endif
375 #if defined(TEMPLATES)
376 const pm_char STR_MENUTEMPLATES[] PROGMEM = TR_MENUTEMPLATES;
377 #endif
379 const pm_char STR_MENUSTAT[] PROGMEM = TR_MENUSTAT;
380 const pm_char STR_MENUDEBUG[] PROGMEM = TR_MENUDEBUG;
381 const char * const STR_MONITOR_CHANNELS[] = { TR_MONITOR_CHANNELS1, TR_MONITOR_CHANNELS2, TR_MONITOR_CHANNELS3, TR_MONITOR_CHANNELS4 };
382 const pm_char STR_MONITOR_SWITCHES[] PROGMEM = TR_MONITOR_SWITCHES;
383 const pm_char STR_MONITOR_OUTPUT_DESC[] PROGMEM = TR_MONITOR_OUTPUT_DESC;
384 const pm_char STR_MONITOR_MIXER_DESC[] PROGMEM = TR_MONITOR_MIXER_DESC;
385 const pm_char STR_MENUGLOBALVARS[] PROGMEM = TR_MENUGLOBALVARS;
387 #if defined(DSM2) || defined(PXX)
388 const pm_char STR_RECEIVER_NUM[] PROGMEM = TR_RECEIVER_NUM;
389 const pm_char STR_RECEIVER[] PROGMEM = TR_RECEIVER;
390 const pm_char STR_REBIND[] PROGMEM = TR_REBIND;
391 #endif
393 #if defined(PXX) || defined(CPUARM)
394 const pm_char STR_SYNCMENU[] PROGMEM = TR_SYNCMENU;
395 const pm_char STR_INTERNALRF[] PROGMEM = TR_INTERNALRF;
396 const pm_char STR_EXTERNALRF[] PROGMEM = TR_EXTERNALRF;
397 const pm_char STR_MODULE_TELEMETRY[] PROGMEM = TR_MODULE_TELEMETRY;
398 const pm_char STR_MODULE_TELEM_ON[] PROGMEM = TR_MODULE_TELEM_ON;
399 const pm_char STR_COUNTRYCODE[] PROGMEM = TR_COUNTRYCODE;
400 const pm_char STR_USBMODE[] PROGMEM = TR_USBMODE;
401 const pm_char STR_FAILSAFE[] PROGMEM = TR_FAILSAFE;
402 const pm_char STR_FAILSAFESET[] PROGMEM = TR_FAILSAFESET;
403 const pm_char STR_HOLD[] PROGMEM = TR_HOLD;
404 const pm_char STR_NONE[] PROGMEM = TR_NONE;
405 const pm_char STR_MENUSENSOR[] PROGMEM = TR_MENUSENSOR;
406 const pm_char STR_SENSOR[] PROGMEM = TR_SENSOR;
407 const pm_char STR_DISABLE_INTERNAL[] PROGMEM = TR_DISABLE_INTERNAL;
408 #endif
410 const pm_char STR_INVERT_THR[] PROGMEM = TR_INVERT_THR;
411 const pm_char STR_AND_SWITCH[] PROGMEM = TR_AND_SWITCH;
412 const pm_char STR_SF[] PROGMEM = TR_SF;
413 const pm_char STR_GF[] PROGMEM = TR_GF;
415 #if defined(FRSKY_HUB)
416 const pm_char STR_MINRSSI[] PROGMEM = TR_MINRSSI;
417 const pm_char STR_LATITUDE[] PROGMEM = TR_LATITUDE;
418 const pm_char STR_LONGITUDE[] PROGMEM = TR_LONGITUDE;
419 #endif
421 #if defined(CPUARM) || defined(CPUM2560)
422 const pm_char STR_SHUTDOWN[] PROGMEM = TR_SHUTDOWN;
423 const pm_char STR_SAVEMODEL[] PROGMEM = TR_SAVEMODEL;
424 #endif
426 #if defined(PCBX9E)
427 const pm_char STR_POWEROFF[] PROGMEM = TR_POWEROFF;
428 #endif
430 const pm_char STR_BATT_CALIB[] PROGMEM = TR_BATT_CALIB;
432 #if defined(CPUARM) || defined(TELEMETRY_FRSKY)
433 const pm_char STR_VOLTAGE[] PROGMEM = TR_VOLTAGE;
434 const pm_char STR_CURRENT[] PROGMEM = TR_CURRENT;
435 #endif
437 #if defined(CPUARM)
438 const pm_char STR_CURRENT_CALIB[] PROGMEM = TR_CURRENT_CALIB;
439 const pm_char STR_UNITSSYSTEM[] PROGMEM = TR_UNITSSYSTEM;
440 const pm_char STR_VOICELANG[] PROGMEM = TR_VOICELANG;
441 const pm_char STR_MODELIDUSED[] PROGMEM = TR_MODELIDUSED;
442 const pm_char STR_BEEP_VOLUME[] PROGMEM = INDENT TR_BEEP_VOLUME;
443 const pm_char STR_WAV_VOLUME[] PROGMEM = INDENT TR_WAV_VOLUME;
444 const pm_char STR_BG_VOLUME[] PROGMEM = INDENT TR_BG_VOLUME;
445 const pm_char STR_PERSISTENT_MAH[] PROGMEM = TR_PERSISTENT_MAH;
446 #endif
448 #if defined(NAVIGATION_MENUS)
449 const pm_char STR_SELECT_MODEL[] PROGMEM = TR_SELECT_MODEL;
450 const pm_char STR_CREATE_CATEGORY[] PROGMEM = TR_CREATE_CATEGORY;
451 const pm_char STR_RENAME_CATEGORY[] PROGMEM = TR_RENAME_CATEGORY;
452 const pm_char STR_DELETE_CATEGORY[] PROGMEM = TR_DELETE_CATEGORY;
453 const pm_char STR_CREATE_MODEL[] PROGMEM = TR_CREATE_MODEL;
454 const pm_char STR_DUPLICATE_MODEL[] PROGMEM = TR_DUPLICATE_MODEL;
455 const pm_char STR_COPY_MODEL[] PROGMEM = TR_COPY_MODEL;
456 const pm_char STR_MOVE_MODEL[] PROGMEM = TR_MOVE_MODEL;
457 const pm_char STR_DELETE_MODEL[] PROGMEM = TR_DELETE_MODEL;
458 const pm_char STR_EDIT[] PROGMEM = TR_EDIT;
459 const pm_char STR_INSERT_BEFORE[] PROGMEM = TR_INSERT_BEFORE;
460 const pm_char STR_INSERT_AFTER[] PROGMEM = TR_INSERT_AFTER;
461 const pm_char STR_COPY[] PROGMEM = TR_COPY;
462 const pm_char STR_MOVE[] PROGMEM = TR_MOVE;
463 const pm_char STR_PASTE[] PROGMEM = TR_PASTE;
464 const pm_char STR_INSERT[] PROGMEM = TR_INSERT;
465 const pm_char STR_DELETE[] PROGMEM = TR_DELETE;
466 const pm_char STR_RESET_FLIGHT[] PROGMEM = TR_RESET_FLIGHT;
467 const pm_char STR_RESET_TIMER1[] PROGMEM = TR_RESET_TIMER1;
468 const pm_char STR_RESET_TIMER2[] PROGMEM = TR_RESET_TIMER2;
469 const pm_char STR_RESET_TIMER3[] PROGMEM = TR_RESET_TIMER3;
470 const pm_char STR_RESET_TELEMETRY[] PROGMEM = TR_RESET_TELEMETRY;
471 const pm_char STR_STATISTICS[] PROGMEM = TR_STATISTICS;
472 const pm_char STR_ABOUT_US[] PROGMEM = TR_ABOUT_US;
473 const pm_char STR_USB_JOYSTICK[] PROGMEM = TR_USB_JOYSTICK;
474 const pm_char STR_USB_MASS_STORAGE[] PROGMEM = TR_USB_MASS_STORAGE;
475 const pm_char STR_USB_SERIAL[] PROGMEM = TR_USB_SERIAL;
476 const pm_char STR_SETUP_SCREENS[] PROGMEM = TR_SETUP_SCREENS;
477 const pm_char STR_MONITOR_SCREENS[] PROGMEM = TR_MONITOR_SCREENS;
478 #endif
480 #if defined(MULTIMODULE)
481 const pm_char STR_MULTI_CUSTOM[] PROGMEM = TR_MULTI_CUSTOM;
482 const pm_char STR_MULTI_RFTUNE[] PROGMEM = TR_MULTI_RFTUNE;
483 const pm_char STR_MULTI_TELEMETRY[] PROGMEM = TR_MULTI_TELEMETRY;
484 const pm_char STR_MULTI_VIDFREQ[] PROGMEM = TR_MULTI_VIDFREQ;
485 const pm_char STR_MULTI_OPTION[] PROGMEM = TR_MULTI_OPTION;
486 const pm_char STR_MULTI_AUTOBIND[] PROGMEM = TR_MULTI_AUTOBIND;
487 const pm_char STR_MULTI_DSM_AUTODTECT[] PROGMEM = TR_MULTI_DSM_AUTODTECT;
488 const pm_char STR_MULTI_LOWPOWER[] PROGMEM = TR_MULTI_LOWPOWER;
489 const pm_char STR_MODULE_NO_SERIAL_MODE[] PROGMEM = TR_MODULE_NO_SERIAL_MODE;
490 const pm_char STR_MODULE_NO_INPUT[] PROGMEM = TR_MODULE_NO_INPUT;
491 const pm_char STR_MODULE_WAITFORBIND[] PROGMEM = TR_MODULE_WAITFORBIND;
492 const pm_char STR_MODULE_NO_TELEMETRY[] PROGMEM = TR_MODULE_NO_TELEMETRY;
493 const pm_char STR_MODULE_BINDING[] PROGMEM = TR_MODULE_BINDING;
494 const pm_char STR_PROTOCOL_INVALID[] PROGMEM = TR_PROTOCOL_INVALID;
495 const pm_char STR_MODULE_STATUS[] PROGMEM = TR_MODULE_STATUS;
496 const pm_char STR_MODULE_SYNC[] PROGMEM = TR_MODULE_SYNC;
497 const pm_char STR_MULTI_SERVOFREQ[] PROGMEM = TR_MULTI_SERVOFREQ;
498 #if LCD_W < 212
499 const pm_char STR_SUBTYPE[] PROGMEM = TR_SUBTYPE;
500 #endif
501 #endif
503 const pm_char STR_RESET_BTN[] PROGMEM = TR_RESET_BTN;
505 #if defined(SDCARD)
506 const pm_char STR_BACKUP_MODEL[] PROGMEM = TR_BACKUP_MODEL;
507 const pm_char STR_RESTORE_MODEL[] PROGMEM = TR_RESTORE_MODEL;
508 const pm_char STR_DELETE_ERROR[] PROGMEM = TR_DELETE_ERROR;
509 const pm_char STR_SDCARD_ERROR[] PROGMEM = TR_SDCARD_ERROR;
510 const pm_char STR_NO_SDCARD[] PROGMEM = TR_NO_SDCARD;
511 const pm_char STR_SDCARD_FULL[] PROGMEM = TR_SDCARD_FULL;
512 const pm_char STR_INCOMPATIBLE[] PROGMEM = TR_INCOMPATIBLE;
513 const pm_char STR_LOGS_PATH[] PROGMEM = LOGS_PATH;
514 const pm_char STR_LOGS_EXT[] PROGMEM = LOGS_EXT;
515 const pm_char STR_MODELS_PATH[] PROGMEM = MODELS_PATH;
516 const pm_char STR_MODELS_EXT[] PROGMEM = MODELS_EXT;
517 #endif
519 const pm_char STR_CAT_NOT_EMPTY[] PROGMEM = TR_CAT_NOT_EMPTY;
520 const pm_char STR_WARNING[] PROGMEM = TR_WARNING;
521 const pm_char STR_THROTTLEWARN[] PROGMEM = TR_THROTTLEWARN;
522 const pm_char STR_ALARMSWARN[] PROGMEM = TR_ALARMSWARN;
523 const pm_char STR_SWITCHWARN[] PROGMEM = TR_SWITCHWARN;
524 const pm_char STR_FAILSAFEWARN[] PROGMEM = TR_FAILSAFEWARN;
525 #if defined(NIGHTLY_BUILD_WARNING)
526 const pm_char STR_NIGHTLY_WARNING[] PROGMEM = TR_NIGHTLY_WARNING;
527 const pm_char STR_NIGHTLY_NOTSAFE[] PROGMEM = TR_NIGHTLY_NOTSAFE;
528 #endif
529 const pm_char STR_WRONG_SDCARDVERSION[] PROGMEM = TR_WRONG_SDCARDVERSION;
530 const pm_char STR_WRONG_PCBREV[] PROGMEM = TR_WRONG_PCBREV;
531 const pm_char STR_EMERGENCY_MODE[] PROGMEM = TR_EMERGENCY_MODE;
532 const pm_char STR_PCBREV_ERROR[] PROGMEM = TR_PCBREV_ERROR;
533 const pm_char STR_NO_FAILSAFE[] PROGMEM = TR_NO_FAILSAFE;
534 const pm_char STR_KEYSTUCK[] PROGMEM = TR_KEYSTUCK;
536 const pm_char STR_SPEAKER_VOLUME[] PROGMEM = TR_SPEAKER_VOLUME;
537 const pm_char STR_LCD[] PROGMEM = TR_LCD;
538 const pm_char STR_BRIGHTNESS[] PROGMEM = TR_BRIGHTNESS;
539 const pm_char STR_CPU_TEMP[] PROGMEM = TR_CPU_TEMP;
540 const pm_char STR_CPU_CURRENT[] PROGMEM = TR_CPU_CURRENT;
541 const pm_char STR_CPU_MAH[] PROGMEM = TR_CPU_MAH;
542 const pm_char STR_COPROC[] PROGMEM = TR_COPROC;
543 const pm_char STR_COPROC_TEMP[] PROGMEM = TR_COPROC_TEMP;
544 const pm_char STR_TEMPWARNING[] PROGMEM = TR_TEMPWARNING;
545 const pm_char STR_CAPAWARNING[] PROGMEM = TR_CAPAWARNING;
546 const pm_char STR_FUNC[] PROGMEM = TR_FUNC;
547 const pm_char STR_V1[] PROGMEM = TR_V1;
548 const pm_char STR_V2[] PROGMEM = TR_V2;
549 const pm_char STR_DURATION[] PROGMEM = TR_DURATION;
550 const pm_char STR_DELAY[] PROGMEM = TR_DELAY;
551 const pm_char STR_SD_CARD[] PROGMEM = TR_SD_CARD;
552 const pm_char STR_SDHC_CARD[] PROGMEM = TR_SDHC_CARD;
553 const pm_char STR_NO_SOUNDS_ON_SD[] PROGMEM = TR_NO_SOUNDS_ON_SD;
554 const pm_char STR_NO_MODELS_ON_SD[] PROGMEM = TR_NO_MODELS_ON_SD;
555 const pm_char STR_NO_BITMAPS_ON_SD[] PROGMEM = TR_NO_BITMAPS_ON_SD;
556 const pm_char STR_NO_SCRIPTS_ON_SD[] PROGMEM = TR_NO_SCRIPTS_ON_SD;
557 const pm_char STR_SCRIPT_SYNTAX_ERROR[] PROGMEM = TR_SCRIPT_SYNTAX_ERROR;
558 const pm_char STR_SCRIPT_PANIC[] PROGMEM = TR_SCRIPT_PANIC;
559 const pm_char STR_SCRIPT_KILLED[] PROGMEM = TR_SCRIPT_KILLED;
560 const pm_char STR_SCRIPT_ERROR[] PROGMEM = TR_SCRIPT_ERROR;
561 const pm_char STR_PLAY_FILE[] PROGMEM = TR_PLAY_FILE;
562 const pm_char STR_ASSIGN_BITMAP[] PROGMEM = TR_ASSIGN_BITMAP;
563 #if defined(PCBHORUS)
564 const pm_char STR_ASSIGN_SPLASH[] PROGMEM = TR_ASSIGN_SPLASH;
565 #endif
566 const pm_char STR_EXECUTE_FILE[] PROGMEM = TR_EXECUTE_FILE;
567 const pm_char STR_DELETE_FILE[] PROGMEM = TR_DELETE_FILE;
568 const pm_char STR_COPY_FILE[] PROGMEM = TR_COPY_FILE;
569 const pm_char STR_RENAME_FILE[] PROGMEM = TR_RENAME_FILE;
570 const pm_char STR_SD_INFO[] PROGMEM = TR_SD_INFO;
571 const pm_char STR_SD_FORMAT[] PROGMEM = TR_SD_FORMAT;
572 const pm_char STR_REMOVED[] PROGMEM = TR_REMOVED;
573 const pm_char STR_NA[] PROGMEM = TR_NA;
574 const pm_char STR_HARDWARE[] PROGMEM = TR_HARDWARE;
575 const pm_char STR_FORMATTING[] PROGMEM = TR_FORMATTING;
576 const pm_char STR_TEMP_CALIB[] PROGMEM = TR_TEMP_CALIB;
577 const pm_char STR_TIME[] PROGMEM = TR_TIME;
578 const pm_char STR_MAXBAUDRATE[] PROGMEM = TR_MAXBAUDRATE;
579 const pm_char STR_BAUDRATE[] PROGMEM = TR_BAUDRATE;
580 const pm_char STR_SD_INFO_TITLE[] PROGMEM = TR_SD_INFO_TITLE;
581 const pm_char STR_SD_TYPE[] PROGMEM = TR_SD_TYPE;
582 const pm_char STR_SD_SPEED[] PROGMEM = TR_SD_SPEED;
583 const pm_char STR_SD_SECTORS[] PROGMEM = TR_SD_SECTORS;
584 const pm_char STR_SD_SIZE[] PROGMEM = TR_SD_SIZE;
585 const pm_char STR_TYPE[] PROGMEM = TR_TYPE;
586 const pm_char STR_GLOBAL_VARS[] PROGMEM = TR_GLOBAL_VARS;
587 const pm_char STR_GVARS[] PROGMEM = TR_GVARS;
588 const pm_char STR_GLOBAL_VAR[] PROGMEM = TR_GLOBAL_VAR;
589 const pm_char STR_OWN[] PROGMEM = TR_OWN;
590 const pm_char STR_ROTARY_ENCODER[] PROGMEM = TR_ROTARY_ENCODER;
591 const pm_char STR_DATE[] PROGMEM = TR_DATE;
592 const pm_char STR_CHANNELS_MONITOR[] PROGMEM = TR_CHANNELS_MONITOR;
593 const pm_char STR_MIXERS_MONITOR[] PROGMEM = TR_MIXERS_MONITOR;
594 const pm_char STR_PATH_TOO_LONG[] PROGMEM = TR_PATH_TOO_LONG;
595 const pm_char STR_VIEW_TEXT[] PROGMEM = TR_VIEW_TEXT;
596 const pm_char STR_FLASH_BOOTLOADER[] PROGMEM = TR_FLASH_BOOTLOADER;
597 const pm_char STR_FLASH_INTERNAL_MODULE[] PROGMEM = TR_FLASH_INTERNAL_MODULE;
598 const pm_char STR_FLASH_EXTERNAL_MODULE[] PROGMEM = TR_FLASH_EXTERNAL_MODULE;
599 const pm_char STR_FIRMWARE_UPDATE_ERROR[] PROGMEM = TR_FIRMWARE_UPDATE_ERROR;
600 const pm_char STR_FLASH_EXTERNAL_DEVICE[] PROGMEM = TR_FLASH_EXTERNAL_DEVICE;
601 const pm_char STR_WRITING[] PROGMEM = TR_WRITING;
602 const pm_char STR_CONFIRM_FORMAT[] PROGMEM = TR_CONFIRM_FORMAT;
603 const pm_char STR_EEBACKUP[] PROGMEM = TR_EEBACKUP;
604 const pm_char STR_FACTORYRESET[] PROGMEM = TR_FACTORYRESET;
605 const pm_char STR_CONFIRMRESET[] PROGMEM = TR_CONFIRMRESET;
606 const pm_char STR_TOO_MANY_LUA_SCRIPTS[] PROGMEM = TR_TO_MANY_LUA_SCRIPTS;
607 const pm_char STR_BLCOLOR[] PROGMEM = TR_BLCOLOR;
609 #if defined(CPUARM)
610 const pm_char STR_MODELNAME[] PROGMEM = TR_MODELNAME;
611 const pm_char STR_PHASENAME[] PROGMEM = TR_PHASENAME;
612 const pm_char STR_MIXNAME[] PROGMEM = TR_MIXNAME;
613 const pm_char STR_INPUTNAME[] PROGMEM = TR_INPUTNAME;
614 const pm_char STR_EXPONAME[] PROGMEM = TR_EXPONAME;
615 #endif
617 #if LCD_W >= 212
618 const char * const STR_PHASES_HEADERS[] = TR_PHASES_HEADERS;
619 const char * const STR_LIMITS_HEADERS[] = TR_LIMITS_HEADERS;
620 const char * const STR_LSW_HEADERS[] = TR_LSW_HEADERS;
621 const char * const STR_LSW_DESCRIPTIONS[] = TR_LSW_DESCRIPTIONS;
622 const char * const STR_GVAR_HEADERS[] = TR_GVAR_HEADERS;
623 #endif
625 #if defined(CPUARM)
626 const pm_char STR_TRAINER[] PROGMEM = TR_TRAINER;
627 const pm_char STR_MODULE_BIND[] PROGMEM = TR_MODULE_BIND;
628 const pm_char STR_BINDING_1_8_TELEM_ON[] PROGMEM = TR_BINDING_CH1_8_TELEM_ON;
629 const pm_char STR_BINDING_1_8_TELEM_OFF[] PROGMEM = TR_BINDING_CH1_8_TELEM_OFF;
630 const pm_char STR_BINDING_9_16_TELEM_ON[] PROGMEM = TR_BINDING_CH9_16_TELEM_ON;
631 const pm_char STR_BINDING_9_16_TELEM_OFF[] PROGMEM = TR_BINDING_CH9_16_TELEM_OFF;
632 const pm_char STR_CHANNELRANGE[] PROGMEM = TR_CHANNELRANGE;
633 const pm_char STR_ANTENNASELECTION[] PROGMEM = TR_ANTENNASELECTION;
634 const pm_char STR_ANTENNACONFIRM1[] PROGMEM = TR_ANTENNACONFIRM1;
635 const pm_char STR_ANTENNACONFIRM2[] PROGMEM = TR_ANTENNACONFIRM2;
636 const pm_char STR_SET[] PROGMEM = TR_SET;
637 const pm_char STR_PREFLIGHT[] PROGMEM = TR_PREFLIGHT;
638 const pm_char STR_CHECKLIST[] PROGMEM = TR_CHECKLIST;
639 const pm_char STR_VIEW_NOTES[] PROGMEM = TR_VIEW_NOTES;
640 const pm_char STR_MODEL_SELECT[] PROGMEM = TR_MODEL_SELECT;
641 const pm_char STR_RESET_SUBMENU[] PROGMEM = TR_RESET_SUBMENU;
642 const pm_char STR_LOWALARM[] PROGMEM = TR_LOWALARM;
643 const pm_char STR_CRITICALALARM[] PROGMEM = TR_CRITICALALARM;
644 const pm_char STR_RSSIALARM_WARN[] PROGMEM = TR_RSSIALARM_WARN;
645 const pm_char STR_NO_RSSIALARM[] PROGMEM = TR_NO_RSSIALARM;
646 const pm_char STR_DISABLE_ALARM[] PROGMEM = TR_DISABLE_ALARM;
647 const pm_char STR_TELEMETRY_TYPE[] PROGMEM = TR_TELEMETRY_TYPE;
648 const pm_char STR_TELEMETRY_SENSORS[] PROGMEM = TR_TELEMETRY_SENSORS;
649 const pm_char STR_VALUE[] PROGMEM = TR_VALUE;
650 const pm_char STR_TOPLCDTIMER[] PROGMEM = TR_TOPLCDTIMER;
651 const pm_char STR_UNIT[] PROGMEM = TR_UNIT;
652 const pm_char STR_TELEMETRY_NEWSENSOR[] PROGMEM = TR_TELEMETRY_NEWSENSOR;
653 const pm_char STR_ID[] PROGMEM = TR_ID;
654 const pm_char STR_PRECISION[] PROGMEM = TR_PRECISION;
655 const pm_char STR_RATIO[] PROGMEM = TR_RATIO;
656 const pm_char STR_FORMULA[] PROGMEM = TR_FORMULA;
657 const pm_char STR_CELLINDEX[] PROGMEM = TR_CELLINDEX;
658 const pm_char STR_LOGS[] PROGMEM = TR_LOGS;
659 const pm_char STR_OPTIONS[] PROGMEM = TR_OPTIONS;
660 const pm_char STR_ALTSENSOR[] PROGMEM = TR_ALTSENSOR;
661 const pm_char STR_CELLSENSOR[] PROGMEM = TR_CELLSENSOR;
662 const pm_char STR_GPSSENSOR[] PROGMEM = TR_GPSSENSOR;
663 const pm_char STR_CURRENTSENSOR[] PROGMEM = TR_CURRENTSENSOR;
664 const pm_char STR_AUTOOFFSET[] PROGMEM = TR_AUTOOFFSET;
665 const pm_char STR_ONLYPOSITIVE[] PROGMEM = TR_ONLYPOSITIVE;
666 const pm_char STR_FILTER[] PROGMEM = TR_FILTER;
667 const pm_char STR_TELEMETRYFULL[] PROGMEM = TR_TELEMETRYFULL;
668 const pm_char STR_SERVOS_OK[] PROGMEM = TR_SERVOS_OK;
669 const pm_char STR_SERVOS_KO[] PROGMEM = TR_SERVOS_KO;
670 const pm_char STR_INVERTED_SERIAL[] PROGMEM = TR_INVERTED_SERIAL;
671 const pm_char STR_IGNORE_INSTANCE[] PROGMEM = TR_IGNORE_INSTANCE;
672 const pm_char STR_DISCOVER_SENSORS[] PROGMEM = TR_DISCOVER_SENSORS;
673 const pm_char STR_STOP_DISCOVER_SENSORS[] PROGMEM = TR_STOP_DISCOVER_SENSORS;
674 const pm_char STR_DELETE_ALL_SENSORS[] PROGMEM = TR_DELETE_ALL_SENSORS;
675 const pm_char STR_CONFIRMDELETE[] PROGMEM = TR_CONFIRMDELETE;
676 const pm_char STR_SELECT_WIDGET[] PROGMEM = TR_SELECT_WIDGET;
677 const pm_char STR_REMOVE_WIDGET[] PROGMEM = TR_REMOVE_WIDGET;
678 const pm_char STR_WIDGET_SETTINGS[] PROGMEM = TR_WIDGET_SETTINGS;
679 const pm_char STR_REMOVE_SCREEN[] PROGMEM = TR_REMOVE_SCREEN;
680 const pm_char STR_SETUP_WIDGETS[] PROGMEM = TR_SETUP_WIDGETS;
681 const pm_char STR_USER_INTERFACE[] PROGMEM = TR_USER_INTERFACE;
682 const pm_char STR_THEME[] PROGMEM = TR_THEME;
683 const pm_char STR_SETUP[] PROGMEM = TR_SETUP;
684 const pm_char STR_MAINVIEWX[] PROGMEM = TR_MAINVIEWX;
685 const pm_char STR_LAYOUT[] PROGMEM = TR_LAYOUT;
686 const pm_char STR_ADDMAINVIEW[] PROGMEM = TR_ADDMAINVIEW;
687 const pm_char STR_BACKGROUND_COLOR[] PROGMEM = TR_BACKGROUND_COLOR;
688 const pm_char STR_MAIN_COLOR[] PROGMEM = TR_MAIN_COLOR;
689 const pm_char STR_TEXT_VIEWER[] PROGMEM = TR_TEXT_VIEWER;
690 const pm_char STR_MULTI_RFPOWER[] PROGMEM = TR_MULTI_RFPOWER;
691 #endif
693 #if defined(CPUARM)
694 const pm_char STR_BYTES[] PROGMEM = TR_BYTES;
695 const pm_char STR_ANTENNAPROBLEM[] PROGMEM = TR_ANTENNAPROBLEM;
696 const pm_char STR_MODULE[] PROGMEM = TR_MODULE;
697 const pm_char STR_ENABLE_POPUP[] PROGMEM = TR_ENABLE_POPUP;
698 const pm_char STR_DISABLE_POPUP[] PROGMEM = TR_DISABLE_POPUP;
699 const pm_char STR_POPUP[] PROGMEM = TR_POPUP;
700 const pm_char STR_MIN[] PROGMEM = TR_MIN;
701 const pm_char STR_MAX[] PROGMEM = TR_MAX;
702 const pm_char STR_CURVE_PRESET[] PROGMEM = TR_CURVE_PRESET;
703 const pm_char STR_PRESET[] PROGMEM = TR_PRESET;
704 const pm_char STR_MIRROR[] PROGMEM = TR_MIRROR;
705 const pm_char STR_CLEAR[] PROGMEM = TR_CLEAR;
706 const pm_char STR_RESET[] PROGMEM = TR_RESET;
707 const pm_char STR_COUNT[] PROGMEM = TR_COUNT;
708 const pm_char STR_PT[] PROGMEM = TR_PT;
709 const pm_char STR_PTS[] PROGMEM = TR_PTS;
710 const pm_char STR_SMOOTH[] PROGMEM = TR_SMOOTH;
711 const pm_char STR_COPY_STICKS_TO_OFS[] PROGMEM = TR_COPY_STICKS_TO_OFS;
712 const pm_char STR_COPY_TRIMS_TO_OFS[] PROGMEM = TR_COPY_TRIMS_TO_OFS;
713 const pm_char STR_INCDEC[] PROGMEM = TR_INCDEC;
714 const pm_char STR_GLOBALVAR[] PROGMEM = TR_GLOBALVAR;
715 const pm_char STR_MIXSOURCE[] PROGMEM = TR_MIXSOURCE;
716 const pm_char STR_CONSTANT[] PROGMEM = TR_CONSTANT;
717 const pm_char STR_TOP_BAR[] PROGMEM = TR_TOP_BAR;
718 const pm_char STR_ALTITUDE[] PROGMEM = TR_ALTITUDE;
719 const pm_char STR_SCALE[] PROGMEM = TR_SCALE;
720 const pm_char STR_VIEW_CHANNELS[] PROGMEM = TR_VIEW_CHANNELS;
721 const pm_char STR_UART3MODE[] PROGMEM = TR_UART3MODE;
722 const pm_char STR_THROTTLE_LABEL[] PROGMEM = TR_THROTTLE_LABEL;
723 const pm_char STR_SCRIPT[] PROGMEM = TR_SCRIPT;
724 const pm_char STR_INPUTS[] PROGMEM = TR_INPUTS;
725 const pm_char STR_OUTPUTS[] PROGMEM = TR_OUTPUTS;
726 const pm_char STR_MENU_INPUTS[] PROGMEM = TR_MENU_INPUTS;
727 const pm_char STR_MENU_LUA[] PROGMEM = TR_MENU_LUA;
728 const pm_char STR_MENU_STICKS[] PROGMEM = TR_MENU_STICKS;
729 const pm_char STR_MENU_POTS[] PROGMEM = TR_MENU_POTS;
730 const pm_char STR_MENU_MAX[] PROGMEM = TR_MENU_MAX;
731 const pm_char STR_MENU_HELI[] PROGMEM = TR_MENU_HELI;
732 const pm_char STR_MENU_TRIMS[] PROGMEM = TR_MENU_TRIMS;
733 const pm_char STR_MENU_SWITCHES[] PROGMEM = TR_MENU_SWITCHES;
734 const pm_char STR_MENU_LOGICAL_SWITCHES[] PROGMEM = TR_MENU_LOGICAL_SWITCHES;
735 const pm_char STR_MENU_TRAINER[] PROGMEM = TR_MENU_TRAINER;
736 const pm_char STR_MENU_CHANNELS[] PROGMEM = TR_MENU_CHANNELS;
737 const pm_char STR_MENU_GVARS[] PROGMEM = TR_MENU_GVARS;
738 const pm_char STR_MENU_TELEMETRY[] PROGMEM = TR_MENU_TELEMETRY;
739 const pm_char STR_MENU_DISPLAY[] PROGMEM = TR_MENU_DISPLAY;
740 const pm_char STR_MENU_OTHER[] PROGMEM = TR_MENU_OTHER;
741 const pm_char STR_MENU_INVERT[] PROGMEM = TR_MENU_INVERT;
742 const pm_char STR_JITTER_FILTER[] PROGMEM = TR_JITTER_FILTER;
743 #endif
745 #if MENUS_LOCK == 1
746 const pm_char STR_UNLOCKED[] PROGMEM = TR_UNLOCKED;
747 const pm_char STR_MODS_FORBIDDEN[] PROGMEM = TR_MODS_FORBIDDEN;
748 #endif
750 #if defined(PCBTARANIS) || defined(DSM2)
751 const pm_char STR_MODULE_RANGE[] PROGMEM = TR_MODULE_RANGE;
752 #endif
754 #if defined(BLUETOOTH)
755 const pm_char STR_BLUETOOTH[] PROGMEM = TR_BLUETOOTH;
756 const pm_char STR_BLUETOOTH_DISC[] PROGMEM = TR_BLUETOOTH_DISC;
757 const pm_char STR_BLUETOOTH_INIT[] PROGMEM = TR_BLUETOOTH_INIT;
758 const pm_char STR_BLUETOOTH_DIST_ADDR[] PROGMEM = TR_BLUETOOTH_DIST_ADDR;
759 const pm_char STR_BLUETOOTH_LOCAL_ADDR[] PROGMEM = TR_BLUETOOTH_LOCAL_ADDR;
760 const pm_char STR_BLUETOOTH_PIN_CODE[] PROGMEM = TR_BLUETOOTH_PIN_CODE;
761 #endif
763 #if defined(TELEMETRY_MAVLINK)
764 const pm_char STR_MAVLINK_RC_RSSI_SCALE_LABEL[] PROGMEM = TR_MAVLINK_RC_RSSI_SCALE_LABEL;
765 const pm_char STR_MAVLINK_PC_RSSI_EN_LABEL[] PROGMEM = TR_MAVLINK_PC_RSSI_EN_LABEL;
766 const pm_char STR_MAVMENUSETUP_TITLE[] PROGMEM = TR_MAVMENUSETUP_TITLE;
767 const pm_char STR_MAVLINK_BAUD_LABEL[] PROGMEM = TR_MAVLINK_BAUD_LABEL;
768 const pm_char STR_MAVLINK_INFOS[] PROGMEM = TR_MAVLINK_INFOS;
769 const pm_char STR_MAVLINK_MODE[] PROGMEM = TR_MAVLINK_MODE;
770 const pm_char STR_MAVLINK_CUR_MODE[] PROGMEM = TR_MAVLINK_CUR_MODE;
771 const pm_char STR_MAVLINK_ARMED[] PROGMEM = TR_MAVLINK_ARMED;
772 const pm_char STR_MAVLINK_BAT_MENU_TITLE[] PROGMEM = TR_MAVLINK_BAT_MENU_TITLE;
773 const pm_char STR_MAVLINK_BATTERY_LABEL[] PROGMEM = TR_MAVLINK_BATTERY_LABEL;
774 const pm_char STR_MAVLINK_RC_RSSI_LABEL[] PROGMEM = TR_MAVLINK_RC_RSSI_LABEL;
775 const pm_char STR_MAVLINK_PC_RSSI_LABEL[] PROGMEM = TR_MAVLINK_PC_RSSI_LABEL;
776 const pm_char STR_MAVLINK_NAV_MENU_TITLE[] PROGMEM = TR_MAVLINK_NAV_MENU_TITLE;
777 const pm_char STR_MAVLINK_COURSE[] PROGMEM = TR_MAVLINK_COURSE;
778 const pm_char STR_MAVLINK_HEADING[] PROGMEM = TR_MAVLINK_HEADING;
779 const pm_char STR_MAVLINK_BEARING[] PROGMEM = TR_MAVLINK_BEARING;
780 const pm_char STR_MAVLINK_ALTITUDE[] PROGMEM = TR_MAVLINK_ALTITUDE;
781 const pm_char STR_MAVLINK_GPS[] PROGMEM = TR_MAVLINK_GPS;
782 const pm_char STR_MAVLINK_NO_FIX[] PROGMEM = TR_MAVLINK_NO_FIX;
783 const pm_char STR_MAVLINK_SAT[] PROGMEM = TR_MAVLINK_SAT;
784 const pm_char STR_MAVLINK_HDOP[] PROGMEM = TR_MAVLINK_HDOP;
785 const pm_char STR_MAVLINK_LAT[] PROGMEM = TR_MAVLINK_LAT;
786 const pm_char STR_MAVLINK_LON[] PROGMEM = TR_MAVLINK_LON;
787 #endif
789 #if !defined(CPUM64)
790 const pm_char STR_ABOUTUS[] PROGMEM = TR_ABOUTUS;
791 const pm_char STR_ABOUT_OPENTX_1[] PROGMEM = TR_ABOUT_OPENTX_1;
792 const pm_char STR_ABOUT_OPENTX_2[] PROGMEM = TR_ABOUT_OPENTX_2;
793 const pm_char STR_ABOUT_OPENTX_3[] PROGMEM = TR_ABOUT_OPENTX_3;
794 const pm_char STR_ABOUT_OPENTX_4[] PROGMEM = TR_ABOUT_OPENTX_4;
795 const pm_char STR_ABOUT_OPENTX_5[] PROGMEM = TR_ABOUT_OPENTX_5;
797 const pm_char STR_ABOUT_BERTRAND_1[] PROGMEM = TR_ABOUT_BERTRAND_1;
798 const pm_char STR_ABOUT_BERTRAND_2[] PROGMEM = TR_ABOUT_BERTRAND_2;
799 const pm_char STR_ABOUT_BERTRAND_3[] PROGMEM = TR_ABOUT_BERTRAND_3;
801 const pm_char STR_ABOUT_MIKE_1[] PROGMEM = TR_ABOUT_MIKE_1;
802 const pm_char STR_ABOUT_MIKE_2[] PROGMEM = TR_ABOUT_MIKE_2;
803 const pm_char STR_ABOUT_MIKE_3[] PROGMEM = TR_ABOUT_MIKE_3;
804 const pm_char STR_ABOUT_MIKE_4[] PROGMEM = TR_ABOUT_MIKE_4;
806 const pm_char STR_ABOUT_ROMOLO_1[] PROGMEM = TR_ABOUT_ROMOLO_1;
807 const pm_char STR_ABOUT_ROMOLO_2[] PROGMEM = TR_ABOUT_ROMOLO_2;
808 const pm_char STR_ABOUT_ROMOLO_3[] PROGMEM = TR_ABOUT_ROMOLO_3;
810 const pm_char STR_ABOUT_ANDRE_1[] PROGMEM = TR_ABOUT_ANDRE_1;
811 const pm_char STR_ABOUT_ANDRE_2[] PROGMEM = TR_ABOUT_ANDRE_2;
812 const pm_char STR_ABOUT_ANDRE_3[] PROGMEM = TR_ABOUT_ANDRE_3;
814 const pm_char STR_ABOUT_ROB_1[] PROGMEM = TR_ABOUT_ROB_1;
815 const pm_char STR_ABOUT_ROB_2[] PROGMEM = TR_ABOUT_ROB_2;
817 const pm_char STR_ABOUT_MARTIN_1[] PROGMEM = TR_ABOUT_MARTIN_1;
818 const pm_char STR_ABOUT_MARTIN_2[] PROGMEM = TR_ABOUT_MARTIN_2;
820 const pm_char STR_ABOUT_KJELL_1[] PROGMEM = TR_ABOUT_KJELL_1;
821 const pm_char STR_ABOUT_KJELL_2[] PROGMEM = TR_ABOUT_KJELL_2;
822 const pm_char STR_ABOUT_KJELL_3[] PROGMEM = TR_ABOUT_KJELL_3;
823 const pm_char STR_ABOUT_KJELL_4[] PROGMEM = TR_ABOUT_KJELL_4;
825 const pm_char STR_ABOUT_HARDWARE_1[] PROGMEM = TR_ABOUT_HARDWARE_1;
826 const pm_char STR_ABOUT_HARDWARE_2[] PROGMEM = TR_ABOUT_HARDWARE_2;
827 const pm_char STR_ABOUT_HARDWARE_3[] PROGMEM = TR_ABOUT_HARDWARE_3;
829 const pm_char STR_ABOUT_PARENTS_1[] PROGMEM = TR_ABOUT_PARENTS_1;
830 const pm_char STR_ABOUT_PARENTS_2[] PROGMEM = TR_ABOUT_PARENTS_2;
831 const pm_char STR_ABOUT_PARENTS_3[] PROGMEM = TR_ABOUT_PARENTS_3;
832 const pm_char STR_ABOUT_PARENTS_4[] PROGMEM = TR_ABOUT_PARENTS_4;
833 #endif