You've already forked TEF6686_ESP32
Added extra menu options for FM DX mode (not integrated yet!)
This commit is contained in:
@@ -92,6 +92,8 @@ bool RDSstatusold;
|
||||
bool rdsstereoold;
|
||||
bool rtcset;
|
||||
bool scandxmode;
|
||||
bool scanmem;
|
||||
bool scanmute;
|
||||
bool screenmute;
|
||||
bool screensavertriggered = false;
|
||||
bool seek;
|
||||
@@ -173,6 +175,7 @@ byte rdsqualityold;
|
||||
byte region;
|
||||
byte rotarymode;
|
||||
byte touchrotating;
|
||||
byte scancancel;
|
||||
byte scanstart;
|
||||
byte scanstop;
|
||||
byte scanhold;
|
||||
@@ -484,6 +487,9 @@ void setup() {
|
||||
scanstart = EEPROM.readByte(EE_BYTE_SCANSTART);
|
||||
scanstop = EEPROM.readByte(EE_BYTE_SCANSTOP);
|
||||
scanhold = EEPROM.readByte(EE_BYTE_SCANHOLD);
|
||||
scanmem = EEPROM.readByte(EE_BYTE_SCANMEM);
|
||||
scancancel = EEPROM.readByte(EE_BYTE_SCANCANCEL);
|
||||
scanmute = EEPROM.readByte(EE_BYTE_SCANMUTE);
|
||||
|
||||
if (spispeed == SPI_SPEED_DEFAULT) tft.setSPISpeed(SPI_FREQUENCY / 1000000); else tft.setSPISpeed(spispeed * 10);
|
||||
LWLowEdgeSet = FREQ_LW_LOW_EDGE_MIN;
|
||||
@@ -2077,6 +2083,9 @@ void ModeButtonPress() {
|
||||
EEPROM.writeByte(EE_BYTE_SCANSTART, scanstart);
|
||||
EEPROM.writeByte(EE_BYTE_SCANSTOP, scanstop);
|
||||
EEPROM.writeByte(EE_BYTE_SCANHOLD, scanhold);
|
||||
EEPROM.writeByte(EE_BYTE_SCANMEM, scanmem);
|
||||
EEPROM.writeByte(EE_BYTE_SCANCANCEL, scancancel);
|
||||
EEPROM.writeByte(EE_BYTE_SCANMUTE, scanmute);
|
||||
EEPROM.commit();
|
||||
if (af == 2) radio.rds.afreg = true; else radio.rds.afreg = false;
|
||||
if (!usesquelch) radio.setUnMute();
|
||||
@@ -4170,6 +4179,9 @@ void DefaultSettings(byte userhardwaremodel) {
|
||||
EEPROM.writeByte(EE_BYTE_SCANSTART, 0);
|
||||
EEPROM.writeByte(EE_BYTE_SCANSTOP, 9);
|
||||
EEPROM.writeByte(EE_BYTE_SCANHOLD, 5);
|
||||
EEPROM.writeByte(EE_BYTE_SCANMEM, 1);
|
||||
EEPROM.writeByte(EE_BYTE_SCANCANCEL, 0);
|
||||
EEPROM.writeByte(EE_BYTE_SCANMUTE, 0);
|
||||
|
||||
for (int i = 0; i < EE_PRESETS_CNT; i++) {
|
||||
EEPROM.writeByte(i + EE_PRESETS_BAND_START, BAND_FM);
|
||||
|
||||
@@ -198,7 +198,7 @@
|
||||
#define EE_PRESETS_CNT 99
|
||||
#define EE_CHECKBYTE_VALUE 6 // 0 ~ 255,add new entry, change for new value
|
||||
|
||||
#define EE_TOTAL_CNT 2216
|
||||
#define EE_TOTAL_CNT 2219
|
||||
#define EE_UINT16_FREQUENCY_FM 0
|
||||
#define EE_BYTE_VOLSET 4
|
||||
#define EE_BYTE_STEREO 5
|
||||
@@ -285,12 +285,15 @@
|
||||
#define EE_BYTE_SCANSTART 130
|
||||
#define EE_BYTE_SCANSTOP 131
|
||||
#define EE_BYTE_SCANHOLD 132
|
||||
#define EE_PRESETS_BAND_START 133
|
||||
#define EE_PRESET_BW_START 233
|
||||
#define EE_PRESET_MS_START 333
|
||||
#define EE_PRESETS_FREQUENCY_START 433
|
||||
#define EE_PRESETS_RDSPI_START 829 // 5 bytes
|
||||
#define EE_PRESETS_RDSPS_START 1324 // 9 bytes
|
||||
#define EE_BYTE_SCANMEM 133
|
||||
#define EE_BYTE_SCANCANCEL 134
|
||||
#define EE_BYTE_SCANMUTE 135
|
||||
#define EE_PRESETS_BAND_START 136
|
||||
#define EE_PRESET_BW_START 236
|
||||
#define EE_PRESET_MS_START 336
|
||||
#define EE_PRESETS_FREQUENCY_START 436
|
||||
#define EE_PRESETS_RDSPI_START 832 // 5 bytes
|
||||
#define EE_PRESETS_RDSPS_START 1327 // 9 bytes
|
||||
#define EE_PRESETS_FREQUENCY 0
|
||||
|
||||
// End of EEPROM index defines
|
||||
@@ -310,6 +313,10 @@ typedef struct {
|
||||
char RDSPS[9];
|
||||
} mem;
|
||||
|
||||
enum SCAN_CANCEL {
|
||||
SCAN_CANCEL = OFF, CORRECTPI, SIGNAL
|
||||
};
|
||||
|
||||
// FM band: before BAND_GAP; AM band: after BAND_GAP
|
||||
enum RADIO_BAND {
|
||||
BAND_OIRT = 0, BAND_FM, BAND_GAP, BAND_LW, BAND_MW, BAND_SW
|
||||
|
||||
109
src/gui.cpp
109
src/gui.cpp
@@ -7,7 +7,7 @@
|
||||
#include <cstring>
|
||||
|
||||
byte menuitem;
|
||||
byte items[9] = {9, static_cast<byte>(dynamicspi ? 9 : 8), 7, 10, 9, 10, 9, 6, 4};
|
||||
byte items[9] = {9, static_cast<byte>(dynamicspi ? 9 : 8), 7, 10, 9, 10, 9, 6, 7};
|
||||
extern mem presets[];
|
||||
|
||||
void doTheme() { // Use this to put your own colors in: http://www.barth-dev.de/online/rgb565-color-picker/
|
||||
@@ -1009,6 +1009,16 @@ void ShowOneLine(byte position, byte item, bool selected) {
|
||||
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||
FullLineSprite.drawString(String(stationlistid, DEC), 298, 3);
|
||||
break;
|
||||
|
||||
case DXMODE:
|
||||
FullLineSprite.setTextDatum(TL_DATUM);
|
||||
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
||||
FullLineSprite.drawString(removeNewline(myLanguage[language][216]), 6, 3);
|
||||
|
||||
FullLineSprite.setTextDatum(TR_DATUM);
|
||||
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||
FullLineSprite.drawString((scanmem ? myLanguage[language][218] : myLanguage[language][217]), 298, 3);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1103,6 +1113,20 @@ void ShowOneLine(byte position, byte item, bool selected) {
|
||||
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||
FullLineSprite.drawString((XDRGTKMuteScreen ? myLanguage[language][42] : myLanguage[language][30]), 298, 3);
|
||||
break;
|
||||
|
||||
case DXMODE:
|
||||
FullLineSprite.setTextDatum(TL_DATUM);
|
||||
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
||||
FullLineSprite.drawString(removeNewline(myLanguage[language][219]), 6, 3);
|
||||
|
||||
FullLineSprite.setTextDatum(TR_DATUM);
|
||||
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||
switch (scancancel) {
|
||||
case OFF: FullLineSprite.drawString(myLanguage[language][30], 298, 3); break;
|
||||
case CORRECTPI: FullLineSprite.drawString(myLanguage[language][220], 298, 3); break;
|
||||
case SIGNAL: FullLineSprite.drawString(myLanguage[language][221], 298, 3); break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1185,6 +1209,16 @@ void ShowOneLine(byte position, byte item, bool selected) {
|
||||
if (amgain != 0) FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
||||
FullLineSprite.drawString((amgain != 0 ? "dB" : myLanguage[language][30]), 298, 3);
|
||||
break;
|
||||
|
||||
case DXMODE:
|
||||
FullLineSprite.setTextDatum(TL_DATUM);
|
||||
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
||||
FullLineSprite.drawString(removeNewline(myLanguage[language][222]), 6, 3);
|
||||
|
||||
FullLineSprite.setTextDatum(TR_DATUM);
|
||||
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||
FullLineSprite.drawString((scanmute ? myLanguage[language][42] : myLanguage[language][30]), 298, 3);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -2522,6 +2556,29 @@ void MenuUp() {
|
||||
OneBigLineSprite.drawString(String(scanhold, DEC), 135, 0);
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
|
||||
case ITEM5:
|
||||
scanmem = !scanmem;
|
||||
OneBigLineSprite.drawString((scanmem ? myLanguage[language][218] : myLanguage[language][217]), 135, 0);
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
|
||||
case ITEM6:
|
||||
scancancel++;
|
||||
if (scancancel > 2) scancancel = 0;
|
||||
switch (scancancel) {
|
||||
case OFF: OneBigLineSprite.drawString(myLanguage[language][30], 135, 0); break;
|
||||
case CORRECTPI: OneBigLineSprite.drawString(myLanguage[language][220], 135, 0); break;
|
||||
case SIGNAL: OneBigLineSprite.drawString(myLanguage[language][221], 135, 0); break;
|
||||
}
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
|
||||
case ITEM7:
|
||||
scanmute = !scanmute;
|
||||
OneBigLineSprite.drawString((scanmute ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -3323,6 +3380,29 @@ void MenuDown() {
|
||||
OneBigLineSprite.drawString(String(scanhold, DEC), 135, 0);
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
|
||||
case ITEM5:
|
||||
scanmem = !scanmem;
|
||||
OneBigLineSprite.drawString((scanmem ? myLanguage[language][218] : myLanguage[language][217]), 135, 0);
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
|
||||
case ITEM6:
|
||||
scancancel--;
|
||||
if (scancancel > 2) scancancel = 2;
|
||||
switch (scancancel) {
|
||||
case OFF: OneBigLineSprite.drawString(myLanguage[language][30], 135, 0); break;
|
||||
case CORRECTPI: OneBigLineSprite.drawString(myLanguage[language][220], 135, 0); break;
|
||||
case SIGNAL: OneBigLineSprite.drawString(myLanguage[language][221], 135, 0); break;
|
||||
}
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
|
||||
case ITEM7:
|
||||
scanmute = !scanmute;
|
||||
OneBigLineSprite.drawString((scanmute ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -4108,7 +4188,7 @@ void DoMenu() {
|
||||
menuopen = false;
|
||||
menu = false;
|
||||
memorypos = scanstart;
|
||||
scanmodeold = tunemode;
|
||||
scanmodeold = tunemode;
|
||||
tunemode = TUNE_MEM;
|
||||
BuildDisplay();
|
||||
DoMemoryPosTune();
|
||||
@@ -4142,6 +4222,31 @@ void DoMenu() {
|
||||
OneBigLineSprite.drawString(String(scanhold, DEC), 135, 0);
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
|
||||
case ITEM5:
|
||||
Infoboxprint(myLanguage[language][216]);
|
||||
|
||||
OneBigLineSprite.drawString((scanmem ? myLanguage[language][218] : myLanguage[language][217]), 135, 0);
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
|
||||
case ITEM6:
|
||||
Infoboxprint(myLanguage[language][219]);
|
||||
|
||||
switch (scancancel) {
|
||||
case OFF: OneBigLineSprite.drawString(myLanguage[language][30], 135, 0); break;
|
||||
case CORRECTPI: OneBigLineSprite.drawString(myLanguage[language][220], 135, 0); break;
|
||||
case SIGNAL: OneBigLineSprite.drawString(myLanguage[language][221], 135, 0); break;
|
||||
}
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
|
||||
case ITEM7:
|
||||
Infoboxprint(myLanguage[language][222]);
|
||||
|
||||
OneBigLineSprite.drawString((scanmute ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -56,6 +56,8 @@ extern bool RDSstatusold;
|
||||
extern bool rdsstereoold;
|
||||
extern bool usesquelch;
|
||||
extern bool scandxmode;
|
||||
extern bool scanmem;
|
||||
extern bool scanmute;
|
||||
extern bool softmuteam;
|
||||
extern bool softmutefm;
|
||||
extern bool Stereostatusold;
|
||||
@@ -103,6 +105,7 @@ extern byte poweroptions;
|
||||
extern byte eonptyold[20];
|
||||
extern byte rdsblockold;
|
||||
extern byte region;
|
||||
extern byte scancancel;
|
||||
extern byte scanstart;
|
||||
extern byte scanstop;
|
||||
extern byte scanhold;
|
||||
|
||||
164
src/language.h
164
src/language.h
@@ -5,7 +5,7 @@
|
||||
|
||||
// [number of languages][number of texts]
|
||||
// *** means the text is the same as in English
|
||||
static const char* const myLanguage[18][216] PROGMEM = {
|
||||
static const char* const myLanguage[18][223] PROGMEM = {
|
||||
{ "English", // English
|
||||
"Rotary direction changed", // 1
|
||||
"Please release button", // 2
|
||||
@@ -221,7 +221,14 @@ static const char* const myLanguage[18][216] PROGMEM = {
|
||||
"Start DX scanning", // 212
|
||||
"FM DX Options", // 213
|
||||
"Abort! The start channel\nis marked as skipped.", // 214
|
||||
"Auto sort AF" // 215
|
||||
"Auto sort AF", // 215
|
||||
"Memory channels", // 216
|
||||
"Exclude", // 217
|
||||
"Only", // 218
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
},
|
||||
|
||||
{ "Nederlands", // Dutch
|
||||
@@ -439,7 +446,14 @@ static const char* const myLanguage[18][216] PROGMEM = {
|
||||
"Start DX zoeken", // 212
|
||||
"FM DX Opties", // 213
|
||||
"Fout! Startkanaal is\ngemarkeerd als skip", // 214
|
||||
"Auto AF sorteren" // 215
|
||||
"Auto AF sorteren", // 215
|
||||
"Geheugenkanalen", // 216
|
||||
"Uitsluiten", // 217
|
||||
"Enkel", // 218
|
||||
"Auto afbreken", // 219
|
||||
"Correcte PI", // 220
|
||||
"Signaal", // 221
|
||||
"Geen geluid\ntijdens scannen" // 222
|
||||
},
|
||||
|
||||
{ "Polski", // Polish
|
||||
@@ -657,7 +671,14 @@ static const char* const myLanguage[18][216] PROGMEM = {
|
||||
"Start DX scanning", // 212
|
||||
"FM DX Options", // 213
|
||||
"Abort! The start channel\nis marked as skipped.", // 214
|
||||
"Automat. sortowanie AF" // 215
|
||||
"Automat. sortowanie AF", // 215
|
||||
"Memory channels", // 216
|
||||
"Exclude", // 217
|
||||
"Only", // 218
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
},
|
||||
|
||||
{ "Hrvatski", // Croatian
|
||||
@@ -875,7 +896,14 @@ static const char* const myLanguage[18][216] PROGMEM = {
|
||||
"Start DX scanning", // 212
|
||||
"FM DX Options", // 213
|
||||
"Abort! The start channel\nis marked as skipped.", // 214
|
||||
"Autom. sortiranje AF-a" // 215
|
||||
"Autom. sortiranje AF-a", // 215
|
||||
"Memory channels", // 216
|
||||
"Exclude", // 217
|
||||
"Only", // 218
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
},
|
||||
|
||||
{ "Ελληνικά", // Greek
|
||||
@@ -1093,7 +1121,14 @@ static const char* const myLanguage[18][216] PROGMEM = {
|
||||
"Start DX scanning", // 212
|
||||
"FM DX Options", // 213
|
||||
"Abort! The start channel\nis marked as skipped.", // 214
|
||||
"Αυτόματη ταξινόμηση\nAF" // 215
|
||||
"Αυτόματη ταξινόμηση\nAF", // 215
|
||||
"Memory channels", // 216
|
||||
"Exclude", // 217
|
||||
"Only", // 218
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
},
|
||||
|
||||
{ "Română", // Romanian
|
||||
@@ -1311,7 +1346,14 @@ static const char* const myLanguage[18][216] PROGMEM = {
|
||||
"Start DX scanning", // 212
|
||||
"FM DX Options", // 213
|
||||
"Abort! The start channel\nis marked as skipped.", // 214
|
||||
"Sortare automata AF" // 215
|
||||
"Sortare automata AF", // 215
|
||||
"Memory channels", // 216
|
||||
"Exclude", // 217
|
||||
"Only", // 218
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
},
|
||||
|
||||
{ "Deutsch", // German
|
||||
@@ -1529,7 +1571,14 @@ static const char* const myLanguage[18][216] PROGMEM = {
|
||||
"Start DX scanning", // 212
|
||||
"FM DX Options", // 213
|
||||
"Abort! The start channel\nis marked as skipped.", // 214
|
||||
"AF Autosortierung" // 215
|
||||
"AF Autosortierung", // 215
|
||||
"Memory channels", // 216
|
||||
"Exclude", // 217
|
||||
"Only", // 218
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
},
|
||||
|
||||
{ "Český", // Czech
|
||||
@@ -1747,7 +1796,14 @@ static const char* const myLanguage[18][216] PROGMEM = {
|
||||
"Start DX scanning", // 212
|
||||
"FM DX Options", // 213
|
||||
"Abort! The start channel\nis marked as skipped.", // 214
|
||||
"Auto řazení AF" // 215
|
||||
"Auto řazení AF", // 215
|
||||
"Memory channels", // 216
|
||||
"Exclude", // 217
|
||||
"Only", // 218
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
},
|
||||
|
||||
{ "Slovenský", // Slovak
|
||||
@@ -1965,7 +2021,14 @@ static const char* const myLanguage[18][216] PROGMEM = {
|
||||
"Start DX scanning", // 212
|
||||
"FM DX Options", // 213
|
||||
"Abort! The start channel\nis marked as skipped.", // 214
|
||||
"Auto radenie AF" // 215
|
||||
"Auto radenie AF", // 215
|
||||
"Memory channels", // 216
|
||||
"Exclude", // 217
|
||||
"Only", // 218
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
},
|
||||
|
||||
{ "Français", // French
|
||||
@@ -2183,7 +2246,14 @@ static const char* const myLanguage[18][216] PROGMEM = {
|
||||
"Start DX scanning", // 212
|
||||
"FM DX Options", // 213
|
||||
"Abort! The start channel\nis marked as skipped.", // 214
|
||||
"Tri AF automatique" // 215
|
||||
"Tri AF automatique", // 215
|
||||
"Memory channels", // 216
|
||||
"Exclude", // 217
|
||||
"Only", // 218
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
},
|
||||
|
||||
{ "Български", // Bulgarian
|
||||
@@ -2401,7 +2471,14 @@ static const char* const myLanguage[18][216] PROGMEM = {
|
||||
"Start DX scanning", // 212
|
||||
"FM DX Options", // 213
|
||||
"Abort! The start channel\nis marked as skipped.", // 214
|
||||
"Auto sort AF" // 215 ***
|
||||
"Auto sort AF", // 215 ***
|
||||
"Memory channels", // 216
|
||||
"Exclude", // 217
|
||||
"Only", // 218
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
},
|
||||
|
||||
{ "Русский", // Russian
|
||||
@@ -2619,7 +2696,14 @@ static const char* const myLanguage[18][216] PROGMEM = {
|
||||
"Start DX scanning", // 212
|
||||
"FM DX Options", // 213
|
||||
"Abort! The start channel\nis marked as skipped.", // 214
|
||||
"Сортировка AF-частот" // 215
|
||||
"Сортировка AF-частот", // 215
|
||||
"Memory channels", // 216
|
||||
"Exclude", // 217
|
||||
"Only", // 218
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
},
|
||||
|
||||
{ "Українська", // Ukranian
|
||||
@@ -2837,7 +2921,14 @@ static const char* const myLanguage[18][216] PROGMEM = {
|
||||
"Start DX scanning", // 212
|
||||
"FM DX Options", // 213
|
||||
"Abort! The start channel\nis marked as skipped.", // 214
|
||||
"Авто сорт. AF" // 215
|
||||
"Авто сорт. AF", // 215
|
||||
"Memory channels", // 216
|
||||
"Exclude", // 217
|
||||
"Only", // 218
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
},
|
||||
|
||||
{ "Italiano", // Italian
|
||||
@@ -3055,7 +3146,14 @@ static const char* const myLanguage[18][216] PROGMEM = {
|
||||
"Start DX scanning", // 212
|
||||
"FM DX Options", // 213
|
||||
"Abort! The start channel\nis marked as skipped.", // 214
|
||||
"Autoordinamento AF" // 215
|
||||
"Autoordinamento AF", // 215
|
||||
"Memory channels", // 216
|
||||
"Exclude", // 217
|
||||
"Only", // 218
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
},
|
||||
|
||||
{ "Simplified Chinese", // Simplified Chinese
|
||||
@@ -3273,7 +3371,14 @@ static const char* const myLanguage[18][216] PROGMEM = {
|
||||
"Start DX scanning", // 212
|
||||
"FM DX Options", // 213
|
||||
"Abort! The start channel\nis marked as skipped.", // 214
|
||||
"自动排列AF" // 215
|
||||
"自动排列AF", // 215
|
||||
"Memory channels", // 216
|
||||
"Exclude", // 217
|
||||
"Only", // 218
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
},
|
||||
|
||||
{ "Norsk", // Norwegian
|
||||
@@ -3491,7 +3596,14 @@ static const char* const myLanguage[18][216] PROGMEM = {
|
||||
"Start DX scanning", // 212
|
||||
"FM DX Options", // 213
|
||||
"Abort! The start channel\nis marked as skipped.", // 214
|
||||
"Auto sorterings AF" // 215
|
||||
"Auto sorterings AF", // 215
|
||||
"Memory channels", // 216
|
||||
"Exclude", // 217
|
||||
"Only", // 218
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
},
|
||||
|
||||
{ "Español", // Spanish
|
||||
@@ -3709,7 +3821,14 @@ static const char* const myLanguage[18][216] PROGMEM = {
|
||||
"Start DX scanning", // 212
|
||||
"FM DX Options", // 213
|
||||
"Abort! The start channel\nis marked as skipped.", // 214
|
||||
"Orden automático de AF" // 215
|
||||
"Orden automático de AF", // 215
|
||||
"Memory channels", // 216
|
||||
"Exclude", // 217
|
||||
"Only", // 218
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
},
|
||||
|
||||
{ "Português", // Portuguese
|
||||
@@ -3927,7 +4046,14 @@ static const char* const myLanguage[18][216] PROGMEM = {
|
||||
"Start DX scanning", // 212
|
||||
"FM DX Options", // 213
|
||||
"Abort! The start channel\nis marked as skipped.", // 214
|
||||
"Classificar AF\nautomaticamente" // 215
|
||||
"Classificar AF\nautomaticamente", // 215
|
||||
"Memory channels", // 216
|
||||
"Exclude", // 217
|
||||
"Only", // 218
|
||||
"Auto cancel scan", // 219
|
||||
"Correct PI", // 220
|
||||
"Signal", // 221
|
||||
"Mute audio\nwhile scanning" // 222
|
||||
}
|
||||
};
|
||||
#endif
|
||||
Reference in New Issue
Block a user