Add Screensaver

This commit is contained in:
kevin
2023-07-10 21:30:52 +08:00
parent de75ef5611
commit 88d26a9a6d
3 changed files with 208 additions and 29 deletions
+157 -6
View File
@@ -89,6 +89,7 @@ bool XDRGTKdata;
bool XDRGTKTCP; bool XDRGTKTCP;
bool XDRGTKUSB; bool XDRGTKUSB;
bool XDRMute; bool XDRMute;
bool screensavertriggered = false;
byte af_counterold; byte af_counterold;
byte amnb; byte amnb;
byte audiomode; byte audiomode;
@@ -130,11 +131,13 @@ byte specialstepOIRT;
byte stepsize; byte stepsize;
byte fmminstepsize; byte fmminstepsize;
byte deepsleep; byte deepsleep;
byte screensaverset;
byte StereoLevel; byte StereoLevel;
byte subnetclient; byte subnetclient;
byte TEF; byte TEF;
byte theme; byte theme;
byte tunemode; byte tunemode;
byte screensaverOptions[5] = { 0, 5, 10, 30, 60 };
char buff[16]; char buff[16];
char programTypePrevious[18]; char programTypePrevious[18];
char radioIdPrevious[6]; char radioIdPrevious[6];
@@ -269,10 +272,12 @@ WiFiConnect wc;
WiFiServer Server(7373); WiFiServer Server(7373);
WiFiClient RemoteClient; WiFiClient RemoteClient;
WiFiUDP Udp; WiFiUDP Udp;
hw_timer_t *timScreensaver = NULL;
byte screensaver_IRQ = OFF;
void setup() { void setup() {
setupmode = true; setupmode = true;
EEPROM.begin(262); EEPROM.begin(263);
if (EEPROM.readByte(43) != 29) DefaultSettings(); if (EEPROM.readByte(43) != 29) DefaultSettings();
frequency = EEPROM.readUInt(0); frequency = EEPROM.readUInt(0);
@@ -326,6 +331,7 @@ void setup() {
deepsleep = EEPROM.readByte(259); deepsleep = EEPROM.readByte(259);
CurrentTheme = EEPROM.readByte(260); CurrentTheme = EEPROM.readByte(260);
fmminstepsize = EEPROM.readByte(261); fmminstepsize = EEPROM.readByte(261);
screensaverset = EEPROM.readByte(262);
LWLowEdgeSet = FREQ_LW_LOW_EDGE_MIN; // later will read from flash LWLowEdgeSet = FREQ_LW_LOW_EDGE_MIN; // later will read from flash
LWHighEdgeSet = FREQ_LW_HIGH_EDGE_MAX; // later will read from flash LWHighEdgeSet = FREQ_LW_HIGH_EDGE_MAX; // later will read from flash
@@ -572,6 +578,11 @@ void setup() {
sprite.createSprite(317, 16); sprite.createSprite(317, 16);
sprite2.createSprite(172, 16); sprite2.createSprite(172, 16);
radio.tone(50, -5, 2000); radio.tone(50, -5, 2000);
if (screensaverset) {
ScreensaverTimerInit();
ScreensaverTimerSet(screensaverOptions[screensaverset]);
}
} }
void loop() { void loop() {
@@ -684,8 +695,14 @@ void loop() {
} }
} }
if (rotary == -1) KeyUp(); if (rotary == -1) {
if (rotary == 1) KeyDown(); KeyUp();
if (screensaverset && !menu) ScreensaverTimerRestart();
}
if (rotary == 1) {
KeyDown();
if (screensaverset && !menu) ScreensaverTimerRestart();
}
if (digitalRead(ROTARY_BUTTON) == LOW) ButtonPress(); if (digitalRead(ROTARY_BUTTON) == LOW) ButtonPress();
if (digitalRead(MODEBUTTON) == LOW && screenmute == false) ModeButtonPress(); if (digitalRead(MODEBUTTON) == LOW && screenmute == false) ModeButtonPress();
@@ -707,6 +724,27 @@ void loop() {
attachInterrupt(digitalPinToInterrupt(ROTARY_PIN_A), read_encoder, CHANGE); attachInterrupt(digitalPinToInterrupt(ROTARY_PIN_A), read_encoder, CHANGE);
attachInterrupt(digitalPinToInterrupt(ROTARY_PIN_B), read_encoder, CHANGE); attachInterrupt(digitalPinToInterrupt(ROTARY_PIN_B), read_encoder, CHANGE);
} }
if (screensaverset) {
if (screensaver_IRQ)
{
screensaver_IRQ = OFF;
if (!screensavertriggered && !advancedRDS && !menu) {
screensavertriggered = true;
WakeToSleep(true);
}
}
}
} else {
if (rotary != 0) {
rotary = 0;
if (screensavertriggered) {
screensavertriggered = false;
screensaver_IRQ = OFF;
WakeToSleep(false);
ScreensaverTimerReopen();
}
}
} }
} }
@@ -730,8 +768,8 @@ void GetData() {
} }
} }
void SleepWake(bool isSleep) { void WakeToSleep(bool yes) {
if (isSleep) { if (yes) {
power = false; power = false;
analogWrite(SMETERPIN, 0); analogWrite(SMETERPIN, 0);
analogWrite(CONTRASTPIN, 0); analogWrite(CONTRASTPIN, 0);
@@ -750,15 +788,56 @@ void SleepWake(bool isSleep) {
} }
} }
void ScreensaverTimerInit() {
timScreensaver = timerBegin(0, 80, true);
timerAttachInterrupt(timScreensaver, ScreensaverInterrupt, true);
}
void ScreensaverTimerSet(byte value) {
if (timScreensaver == NULL) {
ScreensaverTimerInit();
ScreensaverTimerSet(screensaverOptions[screensaverset]);
}
if (value == OFF) {
if (screensaverset) timerStop(timScreensaver);
} else {
timerStop(timScreensaver);
timerAlarmWrite(timScreensaver, value * TIMER_SCREENSAVER_BASE, true);
timerStart(timScreensaver);
timerAlarmEnable(timScreensaver);
}
}
void ScreensaverTimerRestart() {
if (timScreensaver == NULL) {
ScreensaverTimerInit();
ScreensaverTimerSet(screensaverOptions[screensaverset]);
}
timerRestart(timScreensaver);
}
void ScreensaverTimerReopen() {
ScreensaverTimerSet(OFF);
ScreensaverTimerSet(screensaverOptions[screensaverset]);
ScreensaverTimerRestart();
}
void ScreensaverInterrupt()
{
screensaver_IRQ = ON;
}
void BANDBUTTONPress() { void BANDBUTTONPress() {
if (menu == false) {
unsigned long counterold = millis(); unsigned long counterold = millis();
unsigned long counter = millis(); unsigned long counter = millis();
if (menu == false && power) {
while (digitalRead(BANDBUTTON) == LOW && counter - counterold <= 1000) counter = millis(); while (digitalRead(BANDBUTTON) == LOW && counter - counterold <= 1000) counter = millis();
if (counter - counterold < 1000) { if (counter - counterold < 1000) {
if (advancedRDS) { if (advancedRDS) {
BuildDisplay(); BuildDisplay();
ScreensaverTimerReopen();
} else { } else {
if (tunemode != TUNE_MEM) { if (tunemode != TUNE_MEM) {
if (band == BAND_FM) { if (band == BAND_FM) {
@@ -771,6 +850,7 @@ void BANDBUTTONPress() {
StoreFrequency(); StoreFrequency();
SelectBand(); SelectBand();
} }
ScreensaverTimerRestart();
} }
} else { } else {
if (band == BAND_FM) { if (band == BAND_FM) {
@@ -780,6 +860,25 @@ void BANDBUTTONPress() {
while (digitalRead(BANDBUTTON) == LOW) delay(50); while (digitalRead(BANDBUTTON) == LOW) delay(50);
delay(100); delay(100);
} }
// Wake after screensaver triggered here
if (power == false) {
while (digitalRead(BANDBUTTON) == LOW && counter - counterold <= 1000) counter = millis();
if (counter - counterold < 1000) {
if (screensavertriggered) {
screensavertriggered = !screensavertriggered;
WakeToSleep(false);
ScreensaverTimerReopen();
}
} else {
if (screensavertriggered) {
screensavertriggered = !screensavertriggered;
WakeToSleep(false);
ScreensaverTimerReopen();
}
}
}
} }
void StoreFrequency() { void StoreFrequency() {
@@ -1211,6 +1310,9 @@ void BWButtonPress() {
} else { } else {
doStereoToggle(); doStereoToggle();
} }
if (screensaverset) {
ScreensaverTimerRestart();
}
} }
while (digitalRead(BWBUTTON) == LOW) delay(50); while (digitalRead(BWBUTTON) == LOW) delay(50);
@@ -1252,6 +1354,9 @@ void ModeButtonPress() {
if (counter - counterold <= 1000) { if (counter - counterold <= 1000) {
doTuneMode(); doTuneMode();
if (screensaverset) {
ScreensaverTimerRestart();
}
} else { } else {
if (XDRGTKUSB == true || XDRGTKTCP == true) { if (XDRGTKUSB == true || XDRGTKTCP == true) {
ShowFreq(1); ShowFreq(1);
@@ -1267,6 +1372,7 @@ void ModeButtonPress() {
if (menu == false) { if (menu == false) {
BuildMenu(); BuildMenu();
menu = true; menu = true;
ScreensaverTimerSet(OFF);
} }
} }
} }
@@ -1334,10 +1440,13 @@ void ModeButtonPress() {
EEPROM.writeByte(259, deepsleep); EEPROM.writeByte(259, deepsleep);
EEPROM.writeByte(260, CurrentTheme); EEPROM.writeByte(260, CurrentTheme);
EEPROM.writeByte(261, fmminstepsize); EEPROM.writeByte(261, fmminstepsize);
EEPROM.writeByte(262, screensaverset);
EEPROM.commit(); EEPROM.commit();
Serial.end(); Serial.end();
if (wifi) remoteip = IPAddress (WiFi.localIP()[0], WiFi.localIP()[1], WiFi.localIP()[2], subnetclient); if (wifi) remoteip = IPAddress (WiFi.localIP()[0], WiFi.localIP()[1], WiFi.localIP()[2], subnetclient);
if (USBmode) Serial.begin(19200); else Serial.begin(115200); if (USBmode) Serial.begin(19200); else Serial.begin(115200);
ScreensaverTimerSet(screensaverOptions[screensaverset]);
if (screensaverset) ScreensaverTimerRestart();
} }
} }
while (digitalRead(MODEBUTTON) == LOW) delay(50); while (digitalRead(MODEBUTTON) == LOW) delay(50);
@@ -1522,6 +1631,9 @@ void ButtonPress() {
EEPROM.commit(); EEPROM.commit();
} }
} }
if (screensaverset) {
ScreensaverTimerRestart();
}
} else { } else {
if (menuopen == false) { if (menuopen == false) {
menuopen = true; menuopen = true;
@@ -1823,6 +1935,13 @@ void ButtonPress() {
if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE); if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE);
if (fmminstepsize) tft.drawRightString(String(FREQ_FM_STEP_100K * 10, DEC), 155, 110, GFXFF); else tft.drawRightString(String(FREQ_FM_STEP_50K * 10, DEC), 155, 110, GFXFF); if (fmminstepsize) tft.drawRightString(String(FREQ_FM_STEP_100K * 10, DEC), 155, 110, GFXFF); else tft.drawRightString(String(FREQ_FM_STEP_50K * 10, DEC), 155, 110, GFXFF);
break; break;
case 110:
if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE);
tft.drawCentreString(myLanguage[language][91], 155, 70, GFXFF);
if (screensaverset) tft.drawString(myLanguage[language][92], 170, 110, GFXFF);
if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE);
if (!screensaverset) tft.drawRightString(myLanguage[language][33], 155, 110, GFXFF); else tft.drawRightString(String(screensaverOptions[screensaverset], DEC), 155, 110, GFXFF);
break;
} }
break; break;
} }
@@ -2212,6 +2331,7 @@ void KeyUp() {
tft.setTextColor(PrimaryColor); tft.setTextColor(PrimaryColor);
tft.drawCentreString(CurrentThemeString, 155, 110, GFXFF); tft.drawCentreString(CurrentThemeString, 155, 110, GFXFF);
break; break;
case 70: case 70:
if (CurrentTheme == 7) tft.setTextColor(TFT_WHITE); else tft.setTextColor(TFT_BLACK); if (CurrentTheme == 7) tft.setTextColor(TFT_WHITE); else tft.setTextColor(TFT_BLACK);
if (deepsleep) tft.drawCentreString(myLanguage[language][75], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][76], 155, 110, GFXFF); if (deepsleep) tft.drawCentreString(myLanguage[language][75], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][76], 155, 110, GFXFF);
@@ -2219,6 +2339,7 @@ void KeyUp() {
if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE); if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE);
if (deepsleep) tft.drawCentreString(myLanguage[language][75], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][76], 155, 110, GFXFF); if (deepsleep) tft.drawCentreString(myLanguage[language][75], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][76], 155, 110, GFXFF);
break; break;
case 90: case 90:
if (CurrentTheme == 7) tft.setTextColor(TFT_WHITE); else tft.setTextColor(TFT_BLACK); if (CurrentTheme == 7) tft.setTextColor(TFT_WHITE); else tft.setTextColor(TFT_BLACK);
if (fmminstepsize) tft.drawRightString(String(FREQ_FM_STEP_100K * 10, DEC), 155, 110, GFXFF); else tft.drawRightString(String(FREQ_FM_STEP_50K * 10, DEC), 155, 110, GFXFF); if (fmminstepsize) tft.drawRightString(String(FREQ_FM_STEP_100K * 10, DEC), 155, 110, GFXFF); else tft.drawRightString(String(FREQ_FM_STEP_50K * 10, DEC), 155, 110, GFXFF);
@@ -2226,6 +2347,18 @@ void KeyUp() {
if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE); if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE);
if (fmminstepsize) tft.drawRightString(String(FREQ_FM_STEP_100K * 10, DEC), 155, 110, GFXFF); else tft.drawRightString(String(FREQ_FM_STEP_50K * 10, DEC), 155, 110, GFXFF); if (fmminstepsize) tft.drawRightString(String(FREQ_FM_STEP_100K * 10, DEC), 155, 110, GFXFF); else tft.drawRightString(String(FREQ_FM_STEP_50K * 10, DEC), 155, 110, GFXFF);
break; break;
case 110:
if (CurrentTheme == 7) tft.setTextColor(TFT_WHITE); else tft.setTextColor(TFT_BLACK);
if (screensaverset) tft.drawString(myLanguage[language][92], 170, 110, GFXFF);
if (!screensaverset) tft.drawRightString(myLanguage[language][33], 155, 110, GFXFF); else tft.drawRightString(String(screensaverOptions[screensaverset], DEC), 155, 110, GFXFF);
screensaverset ++;
if (screensaverset > 4) screensaverset = 0;
if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE);
if (screensaverset) tft.drawString(myLanguage[language][92], 170, 110, GFXFF);
if (!screensaverset) tft.drawRightString(myLanguage[language][33], 155, 110, GFXFF); else tft.drawRightString(String(screensaverOptions[screensaverset], DEC), 155, 110, GFXFF);
break;
} }
break; break;
} }
@@ -2616,6 +2749,7 @@ void KeyDown() {
if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE); if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE);
if (deepsleep) tft.drawCentreString(myLanguage[language][75], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][76], 155, 110, GFXFF); if (deepsleep) tft.drawCentreString(myLanguage[language][75], 155, 110, GFXFF); else tft.drawCentreString(myLanguage[language][76], 155, 110, GFXFF);
break; break;
case 90: case 90:
if (CurrentTheme == 7) tft.setTextColor(TFT_WHITE); else tft.setTextColor(TFT_BLACK); if (CurrentTheme == 7) tft.setTextColor(TFT_WHITE); else tft.setTextColor(TFT_BLACK);
if (fmminstepsize) tft.drawRightString(String(FREQ_FM_STEP_100K * 10, DEC), 155, 110, GFXFF); else tft.drawRightString(String(FREQ_FM_STEP_50K * 10, DEC), 155, 110, GFXFF); if (fmminstepsize) tft.drawRightString(String(FREQ_FM_STEP_100K * 10, DEC), 155, 110, GFXFF); else tft.drawRightString(String(FREQ_FM_STEP_50K * 10, DEC), 155, 110, GFXFF);
@@ -2623,6 +2757,18 @@ void KeyDown() {
if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE); if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE);
if (fmminstepsize) tft.drawRightString(String(FREQ_FM_STEP_100K * 10, DEC), 155, 110, GFXFF); else tft.drawRightString(String(FREQ_FM_STEP_50K * 10, DEC), 155, 110, GFXFF); if (fmminstepsize) tft.drawRightString(String(FREQ_FM_STEP_100K * 10, DEC), 155, 110, GFXFF); else tft.drawRightString(String(FREQ_FM_STEP_50K * 10, DEC), 155, 110, GFXFF);
break; break;
case 110:
if (CurrentTheme == 7) tft.setTextColor(TFT_WHITE); else tft.setTextColor(TFT_BLACK);
if (screensaverset) tft.drawString(myLanguage[language][92], 170, 110, GFXFF);
if (!screensaverset) tft.drawRightString(myLanguage[language][33], 155, 110, GFXFF); else tft.drawRightString(String(screensaverOptions[screensaverset], DEC), 155, 110, GFXFF);
screensaverset --;
if (screensaverset > 4) screensaverset = 4;
if (CurrentTheme == 7) tft.setTextColor(TFT_BLACK); else tft.setTextColor(TFT_WHITE);
if (screensaverset) tft.drawString(myLanguage[language][92], 170, 110, GFXFF);
if (!screensaverset) tft.drawRightString(myLanguage[language][33], 155, 110, GFXFF); else tft.drawRightString(String(screensaverOptions[screensaverset], DEC), 155, 110, GFXFF);
break;
} }
break; break;
} }
@@ -3302,14 +3448,17 @@ void BuildMenu() {
break; break;
case 4: case 4:
tft.drawRightString("KHz", 305, 90, GFXFF); tft.drawRightString("KHz", 305, 90, GFXFF);
if (screensaverset) tft.drawRightString(myLanguage[language][92], 305, 110, GFXFF);
tft.drawString(myLanguage[language][77], 14, 30, GFXFF); tft.drawString(myLanguage[language][77], 14, 30, GFXFF);
tft.drawString(myLanguage[language][70], 14, 50, GFXFF); tft.drawString(myLanguage[language][70], 14, 50, GFXFF);
tft.drawString(myLanguage[language][74], 14, 70, GFXFF); tft.drawString(myLanguage[language][74], 14, 70, GFXFF);
tft.drawString(myLanguage[language][90], 14, 90, GFXFF); tft.drawString(myLanguage[language][90], 14, 90, GFXFF);
tft.drawString(myLanguage[language][91], 14, 110, GFXFF);
tft.setTextColor(PrimaryColor); tft.setTextColor(PrimaryColor);
tft.drawRightString(CurrentThemeString, 305, 30, GFXFF); tft.drawRightString(CurrentThemeString, 305, 30, GFXFF);
if (deepsleep) tft.drawRightString(myLanguage[language][75], 305, 70, GFXFF); else tft.drawRightString(myLanguage[language][76], 305, 70, GFXFF); if (deepsleep) tft.drawRightString(myLanguage[language][75], 305, 70, GFXFF); else tft.drawRightString(myLanguage[language][76], 305, 70, GFXFF);
if (fmminstepsize) tft.drawRightString(String(FREQ_FM_STEP_100K * 10, DEC), 265, 90, GFXFF); else tft.drawRightString(String(FREQ_FM_STEP_50K * 10, DEC), 265, 90, GFXFF); if (fmminstepsize) tft.drawRightString(String(FREQ_FM_STEP_100K * 10, DEC), 265, 90, GFXFF); else tft.drawRightString(String(FREQ_FM_STEP_50K * 10, DEC), 265, 90, GFXFF);
if (!screensaverset) tft.drawRightString(myLanguage[language][33], 265, 110, GFXFF); else tft.drawRightString(String(screensaverOptions[screensaverset], DEC), 265, 110, GFXFF);
break; break;
} }
analogWrite(SMETERPIN, 0); analogWrite(SMETERPIN, 0);
@@ -3337,6 +3486,7 @@ void MuteScreen(int setting) {
void BuildAdvancedRDS() { void BuildAdvancedRDS() {
advancedRDS = true; advancedRDS = true;
ScreensaverTimerSet(OFF);
if (theme == 0) { if (theme == 0) {
tft.invertDisplay(colorinvert); tft.invertDisplay(colorinvert);
tft.fillScreen(BackgroundColor); tft.fillScreen(BackgroundColor);
@@ -5431,5 +5581,6 @@ void DefaultSettings() {
EEPROM.writeByte(259, 0); EEPROM.writeByte(259, 0);
EEPROM.writeByte(260, 0); EEPROM.writeByte(260, 0);
EEPROM.writeByte(261, 0); EEPROM.writeByte(261, 0);
EEPROM.writeByte(262, 0);
EEPROM.commit(); EEPROM.commit();
} }
+4
View File
@@ -1,7 +1,11 @@
#define ON 1
#define OFF 0
#define TIMER_OFFSET_TIMER (TIMER_500_TICK) #define TIMER_OFFSET_TIMER (TIMER_500_TICK)
#define TIMER_BW_TIMER (TIMER_500_TICK) #define TIMER_BW_TIMER (TIMER_500_TICK)
#define TIMER_SNR_TIMER (TIMER_500_TICK) #define TIMER_SNR_TIMER (TIMER_500_TICK)
#define TIMER_BAT_TIMER (TIMER_500_TICK) #define TIMER_BAT_TIMER (TIMER_500_TICK)
#define TIMER_SCREENSAVER_BASE 1000000
#define TIMER_500_TICK 500 #define TIMER_500_TICK 500
#define BAT_LEVEL_EMPTY 1600 #define BAT_LEVEL_EMPTY 1600
+44 -20
View File
@@ -1,6 +1,6 @@
// [number of languages][number of texts][max. length of text] // [number of languages][number of texts][max. length of text]
static const char* const myLanguage[12][91] = { static const char* const myLanguage[12][93] = {
{ "English", // English { "English", // English
"Rotary direction changed", // 1 "Rotary direction changed", // 1
"Please release button", // 2 "Please release button", // 2
@@ -91,7 +91,9 @@ static const char* const myLanguage[12][91] = {
"No AF available", // 87 "No AF available", // 87
"No EON available", // 88 "No EON available", // 88
"No RT+ available", // 89 "No RT+ available", // 89
"FM default stepsize" // 90 "FM default stepsize", // 90
"Screensaver", // 91
"Sec" // 92
}, },
{ "Nederlands", // Dutch { "Nederlands", // Dutch
@@ -184,7 +186,9 @@ static const char* const myLanguage[12][91] = {
"AF niet beschikbaar", // 87 "AF niet beschikbaar", // 87
"EON niet beschikbaar", // 88 "EON niet beschikbaar", // 88
"RT+ niet beschikbaar", // 89 "RT+ niet beschikbaar", // 89
"FM stapgrootte" // 90 "FM stapgrootte", // 90
"Screensaver", // 91
"Sec" // 92
}, },
{ "Polski", // Polish { "Polski", // Polish
@@ -277,7 +281,9 @@ static const char* const myLanguage[12][91] = {
"No AF available", // 87 "No AF available", // 87
"No EON available", // 88 "No EON available", // 88
"No RT+ available", // 89 "No RT+ available", // 89
"FM min stepsize" // 90 "FM min stepsize", // 90
"Screensaver", // 91
"Sec" // 92
}, },
{ "Hrvatski", // Croatian { "Hrvatski", // Croatian
@@ -370,7 +376,9 @@ static const char* const myLanguage[12][91] = {
"No AF available", // 87 "No AF available", // 87
"No EON available", // 88 "No EON available", // 88
"No RT+ available", // 89 "No RT+ available", // 89
"FM min stepsize" // 90 "FM min stepsize", // 90
"Screensaver", // 91
"Sec" // 92
}, },
{ "Ελληνικά", // Greek { "Ελληνικά", // Greek
@@ -463,7 +471,9 @@ static const char* const myLanguage[12][91] = {
"Μη διαθέσιμο AF", // 87 "Μη διαθέσιμο AF", // 87
"Μη διαθέσιμο EON", // 88 "Μη διαθέσιμο EON", // 88
"Μη διαθέσιμο RT+", // 89 "Μη διαθέσιμο RT+", // 89
"Μέγεθος βήματος FM" // 90 "Μέγεθος βήματος FM", // 90
"Screensaver", // 91
"Sec" // 92
}, },
{ "Romana", // Romanian { "Romana", // Romanian
@@ -556,7 +566,9 @@ static const char* const myLanguage[12][91] = {
"No AF available", // 87 "No AF available", // 87
"No EON available", // 88 "No EON available", // 88
"No RT+ available", // 89 "No RT+ available", // 89
"FM min stepsize" // 90 "FM min stepsize", // 90
"Screensaver", // 91
"Sec" // 92
}, },
{ "Deutsch", // German { "Deutsch", // German
@@ -649,7 +661,9 @@ static const char* const myLanguage[12][91] = {
"No AF available", // 87 "No AF available", // 87
"No EON available", // 88 "No EON available", // 88
"No RT+ available", // 89 "No RT+ available", // 89
"FM min stepsize" // 90 "FM min stepsize", // 90
"Screensaver", // 91
"Sec" // 92
}, },
{ "Czech", // Czech { "Czech", // Czech
@@ -742,7 +756,9 @@ static const char* const myLanguage[12][91] = {
"No AF available", // 87 "No AF available", // 87
"No EON available", // 88 "No EON available", // 88
"No RT+ available", // 89 "No RT+ available", // 89
"FM min stepsize" // 90 "FM min stepsize", // 90
"Screensaver", // 91
"Sec" // 92
}, },
{ "Slovak", // Slovak { "Slovak", // Slovak
@@ -835,7 +851,9 @@ static const char* const myLanguage[12][91] = {
"No AF available", // 87 "No AF available", // 87
"No EON available", // 88 "No EON available", // 88
"No RT+ available", // 89 "No RT+ available", // 89
"FM min stepsize" // 90 "FM min stepsize", // 90
"Screensaver", // 91
"Sec" // 92
}, },
{ "France", // French { "France", // French
@@ -863,10 +881,10 @@ static const char* const myLanguage[12][91] = {
"Réglage de la limite de bande basse", // 22 "Réglage de la limite de bande basse", // 22
"Réglage de la limite de bande haute", // 23 "Réglage de la limite de bande haute", // 23
"Réglage du décalage du niveau", // 24 "Réglage du décalage du niveau", // 24
"Seuil minimum pour la sép. Stéréo", // 25 "Réglage du seuil minimum pour la séparation de la Stéréo", // 25
"Fréq. pour l'angle High Cut", // 26 "Réglage de la fréquence pour l'angle du filtre High Cut", // 26
"Seuil minimum pour le filtre High Cut", // 27 "Réglage du seuil minimum pour le filtre High Cut", // 27
"Seuil minimum de niveau bas", // 28 "Réglage du seuil minimum de niveau bas", // 28
"Réglage de la luminosité de l'affichage", // 29 "Réglage de la luminosité de l'affichage", // 29
"Éteint", // 30 "Éteint", // 30
"L'écran est désactivé !", // 31 "L'écran est désactivé !", // 31
@@ -879,15 +897,15 @@ static const char* const myLanguage[12][91] = {
"Montrer les erreurs de décodage RDS", // 38 "Montrer les erreurs de décodage RDS", // 38
"Langage", // 39 "Langage", // 39
"Choix de la langue", // 40 "Choix de la langue", // 40
"APP. SUR MODE POUR SAUVEGARDER", // 41 "APPUYEZ SUR MODE POUR SORTIR ET SAUVEGARDER", // 41
"Allumé", // 42 "Allumé", // 42
"Sourdine douce FM", // 43 "Sourdine douce FM", // 43
"Sourdine douce AM", // 44 "Sourdine douce AM", // 44
"Bip à la limite de bande", // 45 "Émettre un bip lorsque la limite de bande est atteinte", // 45
"Région", // 46 "Région", // 46
"Europe", // 47 "Europe", // 47
"États-Unis", // 48 "États-Unis", // 48
"Tirets à la place des espaces sur le PS", // 49 "Remplacer les espaces du PS (RDS) par des tirets du bas", // 49
"Mode USB", // 50 "Mode USB", // 50
"Wi-Fi actif", // 51 "Wi-Fi actif", // 51
"Configuration du Wi-Fi", // 52 "Configuration du Wi-Fi", // 52
@@ -928,7 +946,9 @@ static const char* const myLanguage[12][91] = {
"AF indisponible", // 87 "AF indisponible", // 87
"EON indisponible", // 88 "EON indisponible", // 88
"RT+ indisponible", // 89 "RT+ indisponible", // 89
"Valeur du pas FM par défaut" // 90 "Valeur du pas FM par défaut", // 90
"Screensaver", // 91
"Sec" // 92
}, },
{ "Български", // Bulgarian { "Български", // Bulgarian
@@ -1021,7 +1041,9 @@ static const char* const myLanguage[12][91] = {
"AF опцията не е налична", // 87 "AF опцията не е налична", // 87
"EON опцията не е налична", // 88 "EON опцията не е налична", // 88
"RT+ опцията не е налична", // 89 "RT+ опцията не е налична", // 89
"Размер на стъпката по подразбиране на FM" // 90 "Размер на стъпката по подразбиране на FM", // 90
"Screensaver", // 91
"Sec" // 92
}, },
{ "Русский", // Russian { "Русский", // Russian
@@ -1114,7 +1136,9 @@ static const char* const myLanguage[12][91] = {
"Нет доступного AF", // 87 "Нет доступного AF", // 87
"Нет доступного EON", // 88 "Нет доступного EON", // 88
"Нет доступного RT+", // 89 "Нет доступного RT+", // 89
"Шаг FM по умолчанию" // 90 "Шаг FM по умолчанию", // 90
"Screensaver", // 91
"Sec" // 92
} }
}; };