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