Added menuoption auto memory

This commit is contained in:
Sjef Verhoeven PE5PVB
2024-08-04 20:33:27 +02:00
parent eba22aa41a
commit 0280cf3a03
5 changed files with 681 additions and 96 deletions
+9 -4
View File
@@ -209,9 +209,9 @@
#define EE_CHECKBYTE_VALUE 10 // 0 ~ 255,add new entry, change for new value
#define EE_PRESETS_FREQUENCY 0 // Default value when memory channel should be skipped!
#ifdef HAS_AIR_BAND
#define EE_TOTAL_CNT 2223 // Total occupied eeprom bytes
#define EE_TOTAL_CNT 2235 // Total occupied eeprom bytes
#else
#define EE_TOTAL_CNT 2218 // Total occupied eeprom bytes
#define EE_TOTAL_CNT 2229 // Total occupied eeprom bytes
#endif
#define EE_PRESETS_BAND_START 0 // 99 * 1 byte
@@ -314,9 +314,14 @@
#define EE_BYTE_LONGBANDPRESS 2215
#define EE_BYTE_SHOWCLOCK 2216
#define EE_BYTE_SHOWLONGPS 2217
#define EE_UINT16_MEMSTARTFREQ 2218
#define EE_UINT16_MEMSTOPFREQ 2222
#define EE_BYTE_MEMSTARTPOS 2226
#define EE_BYTE_MEMSTOPPOS 2227
#define EE_BYTE_MEMPIONLY 2228
#ifdef HAS_AIR_BAND
#define EE_BYTE_AIRSTEPSIZE 2118
#define EE_UINT16_FREQUENCY_AIR 2219
#define EE_BYTE_AIRSTEPSIZE 2229
#define EE_UINT16_FREQUENCY_AIR 2230
#endif
// End of EEPROM index defines
+242 -6
View File
@@ -8,7 +8,7 @@
#include <cstring>
byte menuitem;
byte items[9] = {9, static_cast<byte>(dynamicspi ? 10 : 9), 7, 10, 10, 10, 9, 6, 7};
byte items[10] = {10, static_cast<byte>(dynamicspi ? 10 : 9), 7, 10, 10, 10, 9, 6, 7, 6};
extern mem presets[];
bool setWiFiConnectParam = false;
@@ -596,6 +596,12 @@ void ShowOneLine(byte position, byte item, bool selected) {
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
FullLineSprite.drawString(removeNewline(myLanguage[language][212]), 6, 2);
break;
case AUTOMEM:
FullLineSprite.setTextDatum(TL_DATUM);
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
FullLineSprite.drawString(removeNewline(myLanguage[language][269]), 6, 2);
break;
}
break;
@@ -693,6 +699,18 @@ void ShowOneLine(byte position, byte item, bool selected) {
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
FullLineSprite.drawString(String(scanstart + 1, DEC), 298, 2);
break;
case AUTOMEM:
FullLineSprite.setTextDatum(TL_DATUM);
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
FullLineSprite.drawString(removeNewline(myLanguage[language][264]), 6, 2);
FullLineSprite.setTextDatum(TR_DATUM);
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
FullLineSprite.drawString("MHz", 298, 2);
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
FullLineSprite.drawString(String(memstartfreq / 10 + ConverterSet, DEC) + "." + String(memstartfreq % 10 + ConverterSet, DEC), 258, 2);
break;
}
break;
@@ -789,6 +807,18 @@ void ShowOneLine(byte position, byte item, bool selected) {
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
FullLineSprite.drawString(String(scanstop + 1, DEC), 298, 2);
break;
case AUTOMEM:
FullLineSprite.setTextDatum(TL_DATUM);
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
FullLineSprite.drawString(removeNewline(myLanguage[language][265]), 6, 2);
FullLineSprite.setTextDatum(TR_DATUM);
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
FullLineSprite.drawString("MHz", 298, 2);
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
FullLineSprite.drawString(String(memstopfreq / 10 + ConverterSet, DEC) + "." + String(memstopfreq % 10 + ConverterSet, DEC), 258, 2);
break;
}
break;
@@ -887,6 +917,16 @@ void ShowOneLine(byte position, byte item, bool selected) {
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
FullLineSprite.drawString((scanhold == 0 ? "0.5" : String(scanhold, DEC)), 258, 2);
break;
case AUTOMEM:
FullLineSprite.setTextDatum(TL_DATUM);
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
FullLineSprite.drawString(removeNewline(myLanguage[language][266]), 6, 2);
FullLineSprite.setTextDatum(TR_DATUM);
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
FullLineSprite.drawString(String(memstartpos + 1, DEC), 298, 2);
break;
}
break;
@@ -975,7 +1015,7 @@ void ShowOneLine(byte position, byte item, bool selected) {
case CONNECTIVITY:
FullLineSprite.setTextDatum(TL_DATUM);
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
FullLineSprite.drawString(removeNewline(myLanguage[language][197]), 6, 2);
FullLineSprite.drawString(removeNewline(myLanguage[language][271]), 6, 2);
FullLineSprite.setTextDatum(TR_DATUM);
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
@@ -991,6 +1031,16 @@ void ShowOneLine(byte position, byte item, bool selected) {
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
FullLineSprite.drawString((scanmem ? myLanguage[language][218] : myLanguage[language][217]), 298, 2);
break;
case AUTOMEM:
FullLineSprite.setTextDatum(TL_DATUM);
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
FullLineSprite.drawString(removeNewline(myLanguage[language][266]), 6, 2);
FullLineSprite.setTextDatum(TR_DATUM);
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
FullLineSprite.drawString(String(memstoppos + 1, DEC), 298, 2);
break;
}
break;
@@ -1099,6 +1149,16 @@ void ShowOneLine(byte position, byte item, bool selected) {
case SIGNAL: FullLineSprite.drawString(myLanguage[language][221], 298, 2); break;
}
break;
case AUTOMEM:
FullLineSprite.setTextDatum(TL_DATUM);
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
FullLineSprite.drawString(removeNewline(myLanguage[language][268]), 6, 2);
FullLineSprite.setTextDatum(TR_DATUM);
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
FullLineSprite.drawString((mempionly ? myLanguage[language][42] : myLanguage[language][30]), 298, 2);
break;
}
break;
@@ -1298,7 +1358,7 @@ void ShowOneLine(byte position, byte item, bool selected) {
case INDEX:
FullLineSprite.setTextDatum(TC_DATUM);
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
FullLineSprite.drawString(removeNewline(myLanguage[language][70]), 152, 2);
FullLineSprite.drawString(removeNewline(myLanguage[language][270]), 152, 2);
break;
case MAINSETTINGS:
@@ -1364,8 +1424,8 @@ void ShowOneLine(byte position, byte item, bool selected) {
switch (menupage) {
case INDEX:
FullLineSprite.setTextDatum(TC_DATUM);
FullLineSprite.setTextColor(SecondaryColor, SecondaryColorSmooth, false);
FullLineSprite.drawString(removeNewline(String(myLanguage[language][84]) + " " + String(VERSION)), 152, 2);
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
FullLineSprite.drawString(removeNewline(myLanguage[language][70]), 152, 2);
break;
case MAINSETTINGS:
@@ -2554,6 +2614,57 @@ void MenuUp() {
break;
}
break;
case AUTOMEM:
switch (menuoption) {
case ITEM2:
memstartfreq ++;
if (memstartfreq > 1070) (TEF == 205 ? memstartfreq = 640 : memstartfreq = 650);
OneBigLineSprite.setTextDatum(TL_DATUM);
OneBigLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
OneBigLineSprite.drawString("MHz", 155, 0);
OneBigLineSprite.setTextDatum(TR_DATUM);
OneBigLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
OneBigLineSprite.drawString(String(memstartfreq / 10 + ConverterSet, DEC) + "." + String(memstartfreq % 10 + ConverterSet, DEC), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
case ITEM3:
memstopfreq ++;
if (memstopfreq > 1080) memstopfreq = 660;
OneBigLineSprite.setTextDatum(TL_DATUM);
OneBigLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
OneBigLineSprite.drawString("MHz", 155, 0);
OneBigLineSprite.setTextDatum(TR_DATUM);
OneBigLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
OneBigLineSprite.drawString(String(memstopfreq / 10 + ConverterSet, DEC) + "." + String(memstopfreq % 10 + ConverterSet, DEC), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
case ITEM4:
memstartpos++;
if (memstartpos >= memstoppos) memstartpos = 0;
OneBigLineSprite.drawString(String(memstartpos + 1, DEC), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
case ITEM5:
memstoppos++;
if (memstoppos > EE_PRESETS_CNT - 1) memstoppos = memstartpos + 1;
OneBigLineSprite.drawString(String(memstoppos + 1, DEC), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
case ITEM6:
mempionly = !mempionly;
OneBigLineSprite.drawString((mempionly ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
}
break;
}
}
}
@@ -3416,6 +3527,57 @@ void MenuDown() {
break;
}
break;
case AUTOMEM:
switch (menuoption) {
case ITEM2:
memstartfreq -= 10;
if ((TEF == 205 ? memstartfreq < 640 : memstartfreq < 650)) memstartfreq = 1079;
OneBigLineSprite.setTextDatum(TL_DATUM);
OneBigLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
OneBigLineSprite.drawString("MHz", 155, 0);
OneBigLineSprite.setTextDatum(TR_DATUM);
OneBigLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
OneBigLineSprite.drawString(String(memstartfreq / 10 + ConverterSet, DEC) + "." + String(memstartfreq % 10 + ConverterSet, DEC), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
case ITEM3:
memstopfreq -= 10;
if (memstopfreq < 660) memstopfreq = 1080;
OneBigLineSprite.setTextDatum(TL_DATUM);
OneBigLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
OneBigLineSprite.drawString("MHz", 155, 0);
OneBigLineSprite.setTextDatum(TR_DATUM);
OneBigLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
OneBigLineSprite.drawString(String(memstopfreq / 10 + ConverterSet, DEC) + "." + String(memstopfreq % 10 + ConverterSet, DEC), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
case ITEM4:
memstartpos--;
if (memstartpos >= memstoppos) memstartpos = scanstop - 1;
OneBigLineSprite.drawString(String(memstartpos + 1, DEC), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
case ITEM5:
memstoppos--;
if (memstoppos <= memstartpos) memstoppos = EE_PRESETS_CNT - 1;
OneBigLineSprite.drawString(String(memstoppos + 1, DEC), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
case ITEM6:
mempionly = !mempionly;
OneBigLineSprite.drawString((mempionly ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
}
break;
}
}
}
@@ -3506,6 +3668,14 @@ void DoMenu() {
break;
case ITEM9:
menupage = AUTOMEM;
menuoption = ITEM1;
menuitem = 0;
submenu = true;
BuildMenu();
break;
case ITEM10:
menuopen = true;
tft.drawRoundRect(10, 6, 300, 230, 5, ActiveColor);
tft.fillRoundRect(12, 8, 296, 226, 5, BackgroundColor);
@@ -4221,7 +4391,7 @@ void DoMenu() {
break;
case ITEM5:
Infoboxprint(myLanguage[language][197]);
Infoboxprint(myLanguage[language][271]);
OneBigLineSprite.drawString(String(stationlistid, DEC), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
@@ -4299,6 +4469,72 @@ void DoMenu() {
break;
}
break;
case AUTOMEM:
switch (menuoption) {
case ITEM1:
Infoboxprint(myLanguage[language][270]);
switch (doAutoMemory(memstartfreq, memstopfreq, memstartpos, memstoppos, mempionly)) {
case 0:
tftPrint(0, myLanguage[language][275], 160, 175, ActiveColor, ActiveColorSmooth, 16);
break;
case 1:
tftPrint(0, myLanguage[language][273], 160, 175, ActiveColor, ActiveColorSmooth, 16);
break;
case 2:
tftPrint(0, myLanguage[language][274], 160, 175, ActiveColor, ActiveColorSmooth, 16);
break;
}
break;
case ITEM2:
Infoboxprint(myLanguage[language][264]);
OneBigLineSprite.setTextDatum(TL_DATUM);
OneBigLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
OneBigLineSprite.drawString("MHz", 155, 0);
OneBigLineSprite.setTextDatum(TR_DATUM);
OneBigLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
OneBigLineSprite.drawString(String(memstartfreq / 10 + ConverterSet, DEC) + "." + String(memstartfreq % 10 + ConverterSet, DEC), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
case ITEM3:
Infoboxprint(myLanguage[language][265]);
OneBigLineSprite.setTextDatum(TL_DATUM);
OneBigLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
OneBigLineSprite.drawString("MHz", 155, 0);
OneBigLineSprite.setTextDatum(TR_DATUM);
OneBigLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
OneBigLineSprite.drawString(String(memstopfreq / 10 + ConverterSet, DEC) + "." + String(memstopfreq % 10 + ConverterSet, DEC), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
case ITEM4:
Infoboxprint(myLanguage[language][266]);
OneBigLineSprite.drawString(String(memstartpos + 1), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
case ITEM5:
Infoboxprint(myLanguage[language][267]);
OneBigLineSprite.drawString(String(memstoppos + 1), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
case ITEM6:
Infoboxprint(myLanguage[language][268]);
OneBigLineSprite.drawString((mempionly ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
}
break;
}
} else {
if (menupage == CONNECTIVITY && menuoption == ITEM2) {
+8 -2
View File
@@ -23,10 +23,10 @@
#define ITEM9 190
#define ITEM10 210
enum menupage {INDEX, MAINSETTINGS, AUDIOSETTINGS, DISPLAYSETTINGS, RDSSETTINGS, FMSETTINGS, AMSETTINGS, CONNECTIVITY, DXMODE};
enum menupage {INDEX, MAINSETTINGS, AUDIOSETTINGS, DISPLAYSETTINGS, RDSSETTINGS, FMSETTINGS, AMSETTINGS, CONNECTIVITY, DXMODE, AUTOMEM};
extern byte menuitem;
extern byte items[9];
extern byte items[10];
extern bool advancedRDS;
extern bool afmethodBold;
@@ -103,6 +103,9 @@ extern byte language;
extern byte licold;
extern byte longbandpress;
extern byte memorypos;
extern byte mempionly;
extern byte memstartpos;
extern byte memstoppos;
extern byte menupage;
extern byte MSold;
extern byte poweroptions;
@@ -198,6 +201,8 @@ extern unsigned int LowEdgeSet;
extern unsigned int mappedfreqold[20];
extern unsigned int mappedfreqold2[20];
extern unsigned int mappedfreqold3[20];
extern unsigned int memstartfreq;
extern unsigned int memstopfreq;
extern unsigned long scantimer;
extern TFT_eSPI tft;
@@ -238,4 +243,5 @@ extern void UpdateFonts(byte mode);
extern void tftPrint(int8_t offset, const String & text, int16_t x, int16_t y, int color, int smoothcolor, uint8_t fontsize);
extern void setAutoSpeedSPI();
extern void showAutoSquelch(bool mode);
extern uint8_t doAutoMemory(uint16_t startfreq, uint16_t stopfreq, uint8_t startmem, uint8_t stopmem, bool pisearch);
#endif
+253 -37
View File
@@ -5,7 +5,7 @@
// [number of languages][number of texts]
static const char* const myLanguage[18][264] PROGMEM = {
static const char* const myLanguage[18][276] PROGMEM = {
{ "English", // English
"Rotary direction changed", // 1
"Please release button", // 2
@@ -203,7 +203,7 @@ static const char* const myLanguage[18][264] PROGMEM = {
"AM", // 194
"CONNECT", // 195
"DX MODE", // 196
"Stationlist ID", // 197
"AUTO MEM", // 197
"AM AGC", // 198
"FM deemphasis", // 199
"Small", // 200
@@ -269,7 +269,19 @@ static const char* const myLanguage[18][264] PROGMEM = {
"Initial", // 260
"Always", // 261
"Show clock", // 262
"Show long PS" // 263
"Show long PS", // 263
"Start frequency", // 264
"Stop frequency", // 265
"Start memory channel", // 266
"Stop memory channel", // 267
"Only store with RDS", // 268
"Start auto memory", // 269
"Auto memory", // 270
"Stationlist ID", // 271
"Found", // 272
"Abort! Out of memorychannels", // 273
"Abort! User pressed button", // 274
"Scan finished without errors" // 275
},
{ "Nederlands", // Dutch
@@ -469,7 +481,7 @@ static const char* const myLanguage[18][264] PROGMEM = {
"AM", // 194
"VERBIND", // 195
"DX MODE", // 196
"Stationlist ID", // 197
"AUTO MEM", // 197
"AM AGC", // 198
"FM deemphasis", // 199
"Laag", // 200
@@ -535,7 +547,19 @@ static const char* const myLanguage[18][264] PROGMEM = {
"Initieel", // 260
"Altijd", //261
"Toon klok", // 262
"Toon long PS" // 263
"Toon long PS", // 263
"Start frequentie", // 264
"Stop frequentie", // 265
"Start geheugen\nkanaal", // 266
"Stop geheugen\nkanaal", // 267
"Alleen met\nRDS opslaan", // 268
"Start auto\ngeheugen kanaal", // 269
"Auto geheugen kanaal", // 270
"Stationlist ID", // 271
"Gevonden", // 272
"Afgebroken! Geheugen vol", // 273
"Afgebroken! Knop ingedrukt", // 274
"Zoeken zonder fouten voltooid" // 275
},
{ "Polski", // Polish
@@ -735,7 +759,7 @@ static const char* const myLanguage[18][264] PROGMEM = {
"AM", // 194
"ŁĄCZNOŚĆ", // 195
"TRYB DX", // 196
"Identyfikator Stationlist", // 197
"AUTO MEM", // 197
"Tłumik ant. AM", // 198
"Deemfaza FM", // 199
"Małe", // 200
@@ -801,7 +825,19 @@ static const char* const myLanguage[18][264] PROGMEM = {
"Początkowy", // 260
"Zawsze", // 261
"Pokaż zegar", // 262
"Show long PS" // 263
"Show long PS", // 263
"Start frequency", // 264
"Stop frequency", // 265
"Start memory channel", // 266
"Stop memory channel", // 267
"Only store with RDS", // 268
"Start auto memory", // 269
"Auto memory", // 270
"Identyfikator Stationlist", // 271
"Found", // 272
"Abort! Out of memorychannels", // 273
"Abort! User pressed button", // 274
"Scan finished without errors" // 275
},
{ "Hrvatski", // Croatian
@@ -1001,7 +1037,7 @@ static const char* const myLanguage[18][264] PROGMEM = {
"AM", // 194
"SPOJI", // 195
"DX NAČIN RADA", // 196
"Stationlist ID", // 197
"AUTO MEM", // 197
"AM ATT", // 198
"FM deemphasis", // 199
"Malo", // 200
@@ -1067,7 +1103,19 @@ static const char* const myLanguage[18][264] PROGMEM = {
"Početno", // 260
"Uvijek", //261
"Prikaži sat", // 262
"Show long PS" // 263
"Show long PS", // 263
"Start frequency", // 264
"Stop frequency", // 265
"Start memory channel", // 266
"Stop memory channel", // 267
"Only store with RDS", // 268
"Start auto memory", // 269
"Auto memory", // 270
"Stationlist ID", // 271
"Found", // 272
"Abort! Out of memorychannels", // 273
"Abort! User pressed button", // 274
"Scan finished without errors" // 275
},
{ "Ελληνικά", // Greek
@@ -1267,7 +1315,7 @@ static const char* const myLanguage[18][264] PROGMEM = {
"AM", // 194
"ΣΥΝΔΕΣΗ", // 195
"DX MODE", // 196
"ID λίστας σταθμών", // 197
"AUTO MEM", // 197
"AM εξασθένιση", // 198
"FM αποέμφαση", // 199
"Μικρό", // 200
@@ -1333,7 +1381,19 @@ static const char* const myLanguage[18][264] PROGMEM = {
"Αρχικό", // 260
"Πάντα", //261
"Εμφάνιση ρολογιού", // 262
"Show long PS" // 263
"Show long PS", // 263
"Start frequency", // 264
"Stop frequency", // 265
"Start memory channel", // 266
"Stop memory channel", // 267
"Only store with RDS", // 268
"Start auto memory", // 269
"Auto memory", // 270
"ID λίστας σταθμών", // 271
"Found", // 272
"Abort! Out of memorychannels", // 273
"Abort! User pressed button", // 274
"Scan finished without errors" // 275
},
{ "Română", // Romanian
@@ -1533,7 +1593,7 @@ static const char* const myLanguage[18][264] PROGMEM = {
"AM", // 194
"CONECTARE", // 195
"MOD DX", // 196
"Listă ID posturi", // 197
"AUTO MEM", // 197
"AGC AM", // 198
"FM deemphasis", // 199
"Mic", // 200
@@ -1599,7 +1659,19 @@ static const char* const myLanguage[18][264] PROGMEM = {
"Inițial", // 260
"Mereu", //261
"Arată ceasul", // 262
"Show long PS" // 263
"Show long PS", // 263
"Start frequency", // 264
"Stop frequency", // 265
"Start memory channel", // 266
"Stop memory channel", // 267
"Only store with RDS", // 268
"Start auto memory", // 269
"Auto memory", // 270
"Listă ID posturi", // 271
"Found", // 272
"Abort! Out of memorychannels", // 273
"Abort! User pressed button", // 274
"Scan finished without errors" // 275
},
{ "Deutsch", // German
@@ -1799,7 +1871,7 @@ static const char* const myLanguage[18][264] PROGMEM = {
"AM", // 194
"NETZWERK", // 195
"DX MODE", // 196
"Stationlist ID", // 197
"AUTO MEM", // 197
"AM ATT", // 198
"Entzerrung auf UKW", // 199
"Wenig", // 200
@@ -1865,7 +1937,19 @@ static const char* const myLanguage[18][264] PROGMEM = {
"Anfänglich", // 260
"Immer", // 261
"Uhr anzeigen", // 262
"Show long PS" // 263
"Show long PS", // 263
"Start frequency", // 264
"Stop frequency", // 265
"Start memory channel", // 266
"Stop memory channel", // 267
"Only store with RDS", // 268
"Start auto memory", // 269
"Auto memory", // 270
"Stationlist ID", // 271
"Found", // 272
"Abort! Out of memorychannels", // 273
"Abort! User pressed button", // 274
"Scan finished without errors" // 275
},
{ "Český", // Czech
@@ -2065,7 +2149,7 @@ static const char* const myLanguage[18][264] PROGMEM = {
"AM", // 194
"KONEKTIVITA", // 195
"DX REŽIM", // 196
"Stationlist ID", // 197
"AUTO MEM", // 197
"AM ATT", // 198
"FM deemfáze", // 199
"Malé", // 200
@@ -2131,7 +2215,19 @@ static const char* const myLanguage[18][264] PROGMEM = {
"Počáteční", // 260
"Vždy", //261
"Zobrazit hodiny", // 262
"Show long PS" // 263
"Show long PS", // 263
"Start frequency", // 264
"Stop frequency", // 265
"Start memory channel", // 266
"Stop memory channel", // 267
"Only store with RDS", // 268
"Start auto memory", // 269
"Auto memory", // 270
"Stationlist ID", // 271
"Found", // 272
"Abort! Out of memorychannels", // 273
"Abort! User pressed button", // 274
"Scan finished without errors" // 275
},
{ "Magyar", // Hungarian
@@ -2331,7 +2427,7 @@ static const char* const myLanguage[18][264] PROGMEM = {
"AM", // 194
"CSATLAKOZÁS", // 195
"DX MÓD", // 196
"Stationlist ID", // 197
"AUTO MEM", // 197
"AM AGC", // 198
"FM kihangolás", // 199
"Kicsi", // 200
@@ -2397,7 +2493,19 @@ static const char* const myLanguage[18][264] PROGMEM = {
"Kezdeti", // 260
"Mindig", //261
"Óra mutatása", // 262
"Show long PS" // 263
"Show long PS", // 263
"Start frequency", // 264
"Stop frequency", // 265
"Start memory channel", // 266
"Stop memory channel", // 267
"Only store with RDS", // 268
"Start auto memory", // 269
"Auto memory", // 270
"Stationlist ID", // 271
"Found", // 272
"Abort! Out of memorychannels", // 273
"Abort! User pressed button", // 274
"Scan finished without errors" // 275
},
{ "Français", // French
@@ -2597,7 +2705,7 @@ static const char* const myLanguage[18][264] PROGMEM = {
"AM", // 194
"CONNECTER", // 195
"DX MODE", // 196
"Stationlist ID", // 197
"AUTO MEM", // 197
"AM ATT", // 198
"FM déemphasie", // 199
"Petites", // 200
@@ -2663,7 +2771,19 @@ static const char* const myLanguage[18][264] PROGMEM = {
"Initial", // 260
"Toujours", // 261
"Afficher l'horloge", // 262
"Show long PS" // 263
"Show long PS", // 263
"Start frequency", // 264
"Stop frequency", // 265
"Start memory channel", // 266
"Stop memory channel", // 267
"Only store with RDS", // 268
"Start auto memory", // 269
"Auto memory", // 270
"Stationlist ID", // 271
"Found", // 272
"Abort! Out of memorychannels", // 273
"Abort! User pressed button", // 274
"Scan finished without errors" // 275
},
{ "Български", // Bulgarian
@@ -2863,7 +2983,7 @@ static const char* const myLanguage[18][264] PROGMEM = {
"СВ (AM)", // 194
"ВРЪЗКА", // 195
"DX MODE", // 196
"Stationlist Идентификатор", // 197
"AUTO MEM", // 197
"СВ атенюатор", // 198
"FM deemphasis", // 199
"Small", // 200
@@ -2929,7 +3049,19 @@ static const char* const myLanguage[18][264] PROGMEM = {
"Начален", // 260
"Винаги", // 261
"Покажи часовника", // 262
"Show long PS" // 263
"Show long PS", // 263
"Start frequency", // 264
"Stop frequency", // 265
"Start memory channel", // 266
"Stop memory channel", // 267
"Only store with RDS", // 268
"Start auto memory", // 269
"Auto memory", // 270
"Stationlist Идентификатор", // 271
"Found", // 272
"Abort! Out of memorychannels", // 273
"Abort! User pressed button", // 274
"Scan finished without errors" // 275
},
{ "Русский", // Russian
@@ -3129,7 +3261,7 @@ static const char* const myLanguage[18][264] PROGMEM = {
"AM", // 194
"КОННЕКТ", // 195
"DX MODE", // 196
"Stationlist ID", // 197
"AUTO MEM", // 197
"AM аттеньюатор", // 198
"FM deemphasis", // 199
"Мало", // 200
@@ -3195,7 +3327,19 @@ static const char* const myLanguage[18][264] PROGMEM = {
"Начальный", // 260
"Всегда", // 261
"Показать часы", // 262
"Show long PS" // 263
"Show long PS", // 263
"Start frequency", // 264
"Stop frequency", // 265
"Start memory channel", // 266
"Stop memory channel", // 267
"Only store with RDS", // 268
"Start auto memory", // 269
"Auto memory", // 270
"Stationlist Идентификатор", // 271
"Found", // 272
"Abort! Out of memorychannels", // 273
"Abort! User pressed button", // 274
"Scan finished without errors" // 275
},
{ "Українська", // Ukranian
@@ -3395,7 +3539,7 @@ static const char* const myLanguage[18][264] PROGMEM = {
"AM", // 194
"ПІДКЛЮЧЕННЯ", // 195
"DX MODE", // 196
"Stationlist ID", // 197
"AUTO MEM", // 197
"AM ATT", // 198
"FM deemphasis", // 199
"Мало", // 200
@@ -3461,7 +3605,19 @@ static const char* const myLanguage[18][264] PROGMEM = {
"Початковий", // 260
"Завжди", // 261
"Показати годинник", // 262
"Show long PS" // 263
"Show long PS", // 263
"Start frequency", // 264
"Stop frequency", // 265
"Start memory channel", // 266
"Stop memory channel", // 267
"Only store with RDS", // 268
"Start auto memory", // 269
"Auto memory", // 270
"Stationlist ID", // 271
"Found", // 272
"Abort! Out of memorychannels", // 273
"Abort! User pressed button", // 274
"Scan finished without errors" // 275
},
{ "Italiano", // Italian
@@ -3661,7 +3817,7 @@ static const char* const myLanguage[18][264] PROGMEM = {
"AM", // 194
"CONNETTI", // 195
"MODO DX", // 196
"ID Stationlist", // 197
"AUTO MEM", // 197
"ATT AM", // 198
"Deenfasi FM", // 199
"Piccolo", // 200
@@ -3727,7 +3883,19 @@ static const char* const myLanguage[18][264] PROGMEM = {
"Iniziale", // 260
"Sempre", // 261
"Mostra l'orologio", // 262
"Show long PS" // 263
"Show long PS", // 263
"Start frequency", // 264
"Stop frequency", // 265
"Start memory channel", // 266
"Stop memory channel", // 267
"Only store with RDS", // 268
"Start auto memory", // 269
"Auto memory", // 270
"ID Stationlist", // 271
"Found", // 272
"Abort! Out of memorychannels", // 273
"Abort! User pressed button", // 274
"Scan finished without errors" // 275
},
{ "Simplified Chinese", // Simplified Chinese
@@ -3927,7 +4095,7 @@ static const char* const myLanguage[18][264] PROGMEM = {
"AM 设置", // 194
"连机模式", // 195
"FMDX 选项", // 196
"Stationlist ID", // 197
"AUTO MEM", // 197
"AM天线衰减", // 198
"FM去加重", // 199
"少量", // 200
@@ -3993,7 +4161,19 @@ static const char* const myLanguage[18][264] PROGMEM = {
"初始", // 260
"始终", // 261
"显示时钟", // 262
"Show long PS" // 263
"Show long PS", // 263
"Start frequency", // 264
"Stop frequency", // 265
"Start memory channel", // 266
"Stop memory channel", // 267
"Only store with RDS", // 268
"Start auto memory", // 269
"Auto memory", // 270
"Stationlist ID", // 271
"Found", // 272
"Abort! Out of memorychannels", // 273
"Abort! User pressed button", // 274
"Scan finished without errors" // 275
},
{ "Norsk", // Norwegian
@@ -4193,7 +4373,7 @@ static const char* const myLanguage[18][264] PROGMEM = {
"AM", // 194
"TILKOBLE", // 195
"DX MODUS", // 196
"Stationlist ID", // 197
"AUTO MEM", // 197
"AM AGC", // 198
"FM ettertrykkelse", // 199
"Lite", // 200
@@ -4259,7 +4439,19 @@ static const char* const myLanguage[18][264] PROGMEM = {
"Innledende", // 260
"Alltid", // 261
"Vis klokka", // 262
"Show long PS" // 263
"Show long PS", // 263
"Start frequency", // 264
"Stop frequency", // 265
"Start memory channel", // 266
"Stop memory channel", // 267
"Only store with RDS", // 268
"Start auto memory", // 269
"Auto memory", // 270
"Stationlist ID", // 271
"Found", // 272
"Abort! Out of memorychannels", // 273
"Abort! User pressed button", // 274
"Scan finished without errors" // 275
},
{ "Español", // Spanish
@@ -4459,7 +4651,7 @@ static const char* const myLanguage[18][264] PROGMEM = {
"AM", // 194
"CONECTAR", // 195
"DX MODE", // 196
"ID de lista de estaciones", // 197
"AUTO MEM", // 197
"Atenuación de AM", // 198
"Despreocupación\nde FM", // 199
"Pequeño", // 200
@@ -4525,7 +4717,19 @@ static const char* const myLanguage[18][264] PROGMEM = {
"Inicial", // 260
"Siempre", // 261
"Mostrar reloj", // 262
"Show long PS" // 263
"Show long PS", // 263
"Start frequency", // 264
"Stop frequency", // 265
"Start memory channel", // 266
"Stop memory channel", // 267
"Only store with RDS", // 268
"Start auto memory", // 269
"Auto memory", // 270
"Stationlist ID", // 271
"Found", // 272
"Abort! Out of memorychannels", // 273
"Abort! User pressed button", // 274
"Scan finished without errors" // 275
},
{ "Português", // Portuguese
@@ -4725,7 +4929,7 @@ static const char* const myLanguage[18][264] PROGMEM = {
"AM", // 194
"CONECTAR", // 195
"DX MODE", // 196
"ID da lista de estações", // 197
"AUTO MEM", // 197
"Atenuação AM", // 198
"Desênfase FM", // 199
"Pequeno", // 200
@@ -4791,7 +4995,19 @@ static const char* const myLanguage[18][264] PROGMEM = {
"Inicial", // 260
"Sempre", // 261
"Mostrar relógio", // 262
"Show long PS" // 263
"Show long PS", // 263
"Start frequency", // 264
"Stop frequency", // 265
"Start memory channel", // 266
"Stop memory channel", // 267
"Only store with RDS", // 268
"Start auto memory", // 269
"Auto memory", // 270
"ID da lista de estações", // 271
"Found", // 272
"Abort! Out of memorychannels", // 273
"Abort! User pressed button", // 274
"Scan finished without errors" // 275
}
};
#endif