Merge branch 'main' into New_Model_DP_666
This commit is contained in:
+129
-47
@@ -114,7 +114,7 @@ bool screenmute;
|
||||
bool screensavertriggered = false;
|
||||
bool seek;
|
||||
bool setupmode;
|
||||
byte showrdserrors;
|
||||
bool showclock;
|
||||
bool usesquelch;
|
||||
bool softmuteam;
|
||||
bool softmutefm;
|
||||
@@ -200,6 +200,7 @@ byte scanmodeold;
|
||||
byte screensaverOptions[5] = {0, 3, 10, 30, 60};
|
||||
byte screensaverset;
|
||||
byte showmodulation;
|
||||
byte showrdserrors;
|
||||
byte showSWMIBand;
|
||||
byte submenu;
|
||||
byte stationlistid;
|
||||
@@ -426,6 +427,8 @@ void setup() {
|
||||
gpio_set_drive_capability((gpio_num_t) 21, GPIO_DRIVE_CAP_0);
|
||||
gpio_set_drive_capability((gpio_num_t) 22, GPIO_DRIVE_CAP_0);
|
||||
gpio_set_drive_capability((gpio_num_t) 23, GPIO_DRIVE_CAP_0);
|
||||
analogReadResolution(12);
|
||||
|
||||
setupmode = true;
|
||||
EEPROM.begin(EE_TOTAL_CNT);
|
||||
if (EEPROM.readByte(EE_BYTE_CHECKBYTE) != EE_CHECKBYTE_VALUE) DefaultSettings(hardwaremodel);
|
||||
@@ -525,6 +528,7 @@ void setup() {
|
||||
scanmute = EEPROM.readByte(EE_BYTE_SCANMUTE);
|
||||
autosquelch = EEPROM.readByte(EE_BYTE_AUTOSQUELCH);
|
||||
longbandpress = EEPROM.readByte(EE_BYTE_LONGBANDPRESS);
|
||||
showclock = EEPROM.readByte(EE_BYTE_SHOWCLOCK);
|
||||
|
||||
if (spispeed == SPI_SPEED_DEFAULT) {
|
||||
tft.setSPISpeed(SPI_FREQUENCY / 1000000);
|
||||
@@ -825,6 +829,7 @@ void setup() {
|
||||
Wire.endTransmission();
|
||||
}
|
||||
|
||||
BuildDisplay();
|
||||
SelectBand();
|
||||
if (tunemode == TUNE_MEM) DoMemoryPosTune();
|
||||
|
||||
@@ -1102,28 +1107,44 @@ void loop() {
|
||||
|
||||
if (digitalRead(BANDBUTTON) == LOW) {
|
||||
tottimer = millis();
|
||||
if (screensavertriggered && !touchrotating) WakeToSleep(REVERSE);
|
||||
BANDBUTTONPress();
|
||||
if (screensavertriggered) {
|
||||
WakeToSleep(REVERSE);
|
||||
while (digitalRead(BANDBUTTON) == LOW);
|
||||
} else {
|
||||
BANDBUTTONPress();
|
||||
}
|
||||
}
|
||||
|
||||
if (digitalRead(ROTARY_BUTTON) == LOW) {
|
||||
tottimer = millis();
|
||||
if (screensavertriggered && !touchrotating) WakeToSleep(REVERSE);
|
||||
if (!afscreen) ButtonPress();
|
||||
if (screensavertriggered) {
|
||||
WakeToSleep(REVERSE);
|
||||
while (digitalRead(ROTARY_BUTTON) == LOW);
|
||||
} else {
|
||||
if (!afscreen) ButtonPress();
|
||||
}
|
||||
}
|
||||
|
||||
if (digitalRead(MODEBUTTON) == LOW) {
|
||||
tottimer = millis();
|
||||
if (screensavertriggered && !touchrotating) WakeToSleep(REVERSE);
|
||||
if (!screenmute) ModeButtonPress();
|
||||
if (screensavertriggered) {
|
||||
WakeToSleep(REVERSE);
|
||||
while (digitalRead(MODEBUTTON) == LOW);
|
||||
} else {
|
||||
if (!screenmute) ModeButtonPress();
|
||||
}
|
||||
}
|
||||
|
||||
if (digitalRead(BWBUTTON) == HIGH && BWtune) BWtune = false;
|
||||
|
||||
if (digitalRead(BWBUTTON) == LOW && !BWtune) {
|
||||
tottimer = millis();
|
||||
if (screensavertriggered && !touchrotating) WakeToSleep(REVERSE);
|
||||
if (screensavertriggered) {
|
||||
WakeToSleep(REVERSE);
|
||||
while (digitalRead(BWBUTTON) == LOW);
|
||||
} else {
|
||||
if (!screenmute && !afscreen) BWButtonPress();
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef DEEPELEC_DP_666
|
||||
@@ -1647,14 +1668,11 @@ void BANDBUTTONPress() {
|
||||
while (digitalRead(BANDBUTTON) == LOW && counter - counterold <= 1000) counter = millis();
|
||||
|
||||
if (counter - counterold < 1000) {
|
||||
if (screensavertriggered) {
|
||||
WakeToSleep(REVERSE);
|
||||
return;
|
||||
}
|
||||
if (afscreen) {
|
||||
BuildAdvancedRDS();
|
||||
} else if (advancedRDS) {
|
||||
BuildDisplay();
|
||||
SelectBand();
|
||||
ScreensaverTimerReopen();
|
||||
} else {
|
||||
if (tunemode != TUNE_MEM) {
|
||||
@@ -1674,11 +1692,6 @@ void BANDBUTTONPress() {
|
||||
ScreensaverTimerRestart();
|
||||
}
|
||||
} else {
|
||||
if (screensavertriggered) {
|
||||
WakeToSleep(REVERSE);
|
||||
return;
|
||||
}
|
||||
|
||||
if (band < BAND_GAP) {
|
||||
if (advancedRDS && !seek) BuildAFScreen();
|
||||
else BuildAdvancedRDS();
|
||||
@@ -1707,6 +1720,14 @@ void BANDBUTTONPress() {
|
||||
}
|
||||
|
||||
void StoreFrequency() {
|
||||
switch (band) {
|
||||
case BAND_LW: freqold = frequency_LW; frequency_AM = frequency_LW; break;
|
||||
case BAND_MW: freqold = frequency_MW; frequency_AM = frequency_MW; break;
|
||||
case BAND_SW: freqold = frequency_SW; frequency_AM = frequency_SW; break;
|
||||
#ifdef HAS_AIR_BAND
|
||||
case BAND_AIR: freqold = frequency_AIR; frequency_AM = frequency_AIR; break;
|
||||
#endif
|
||||
}
|
||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_FM, frequency);
|
||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_OIRT, frequency_OIRT);
|
||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_AM, frequency_AM);
|
||||
@@ -2088,6 +2109,8 @@ void ToggleSWMIBand(bool frequencyup) {
|
||||
}
|
||||
|
||||
void SelectBand() {
|
||||
if (afscreen || advancedRDS) BuildDisplay();
|
||||
|
||||
if (band > BAND_GAP) {
|
||||
seek = false;
|
||||
if (!screenmute) tft.drawBitmap(92, 4, Speaker, 26, 22, GreyoutColor);
|
||||
@@ -2117,7 +2140,6 @@ void SelectBand() {
|
||||
radio.setAMCoChannel(amcodect, amcodectcount);
|
||||
doBW();
|
||||
if (!screenmute) {
|
||||
BuildDisplay();
|
||||
if (region == REGION_EU) tftPrint(-1, "PI:", 212, 193, GreyoutColor, BackgroundColor, 16);
|
||||
if (region == REGION_US) {
|
||||
tftPrint(-1, "PI:", 212, 184, GreyoutColor, BackgroundColor, 16);
|
||||
@@ -2132,6 +2154,7 @@ void SelectBand() {
|
||||
tftPrint(0, "iMS", 265, 59, GreyoutColor, BackgroundColor, 16);
|
||||
tft.drawRoundRect(286, 56, 32, 20, 5, GreyoutColor);
|
||||
tftPrint(0, "EQ", 301, 59, GreyoutColor, BackgroundColor, 16);
|
||||
tftReplace(-1, "MHz", "kHz", 258, 76, ActiveColor, ActiveColorSmooth, BackgroundColor, 28);
|
||||
// todo
|
||||
// if (band == AM_BAND_AIR) tftPrint(-1, "MHz", 258, 76, ActiveColor, ActiveColorSmooth, 28);
|
||||
// else tftPrint(-1, "KHz", 258, 76, ActiveColor, ActiveColorSmooth, 28);
|
||||
@@ -2151,9 +2174,54 @@ void SelectBand() {
|
||||
freqold = frequency_AM;
|
||||
if (!externaltune && tunemode != TUNE_MEM) CheckBandForbiddenFM();
|
||||
doBW();
|
||||
if (!screenmute) BuildDisplay();
|
||||
if (region == REGION_EU) tftPrint(-1, "PI:", 212, 193, ActiveColor, ActiveColorSmooth, 16);
|
||||
if (region == REGION_US) {
|
||||
tftPrint(-1, "PI:", 212, 184, ActiveColor, ActiveColorSmooth, 16);
|
||||
tftPrint(-1, "ID:", 212, 201, ActiveColor, ActiveColorSmooth, 16);
|
||||
}
|
||||
tftPrint(-1, "PS:", 3, 193, ActiveColor, ActiveColorSmooth, 16);
|
||||
tftPrint(-1, "RT:", 3, 221, ActiveColor, ActiveColorSmooth, 16);
|
||||
tftPrint(-1, "PTY:", 3, 163, ActiveColor, ActiveColorSmooth, 16);
|
||||
|
||||
tftReplace(-1, "kHz", "MHz", 258, 76, ActiveColor, ActiveColorSmooth, BackgroundColor, 28);
|
||||
}
|
||||
|
||||
radio.clearRDS(fullsearchrds);
|
||||
ShowFreq(0);
|
||||
|
||||
if (!screenmute) {
|
||||
tft.fillRect(113, 38, 124, 4, BackgroundColor);
|
||||
ShowErrors();
|
||||
showPTY();
|
||||
showRadioText();
|
||||
showPI();
|
||||
updateiMS();
|
||||
updateEQ();
|
||||
ShowTuneMode();
|
||||
ShowStepSize();
|
||||
|
||||
tftPrint(-1, myLanguage[language][102], 70, 32, BackgroundColor, BackgroundColor, 16);
|
||||
tftPrint(-1, myLanguage[language][103], 70, 32, BackgroundColor, BackgroundColor, 16);
|
||||
tftPrint(-1, myLanguage[language][104], 70, 32, BackgroundColor, BackgroundColor, 16);
|
||||
tftPrint(-1, myLanguage[language][105], 70, 32, BackgroundColor, BackgroundColor, 16);
|
||||
tftPrint(-1, myLanguage[language][106], 70, 32, BackgroundColor, BackgroundColor, 16);
|
||||
|
||||
#ifdef HAS_AIR_BAND
|
||||
tftPrint(-1, myLanguage[language][223], 70, 32, BackgroundColor, BackgroundColor, 16);
|
||||
#endif
|
||||
|
||||
switch (band) {
|
||||
case BAND_LW: tftPrint(-1, myLanguage[language][102], 70, 32, (bandforbidden ? GreyoutColor : PrimaryColor), (bandforbidden ? BackgroundColor : PrimaryColorSmooth), 16); break;
|
||||
case BAND_MW: tftPrint(-1, myLanguage[language][103], 70, 32, (bandforbidden ? GreyoutColor : PrimaryColor), (bandforbidden ? BackgroundColor : PrimaryColorSmooth), 16); break;
|
||||
case BAND_SW: tftPrint(-1, myLanguage[language][104], 70, 32, (bandforbidden ? GreyoutColor : PrimaryColor), (bandforbidden ? BackgroundColor : PrimaryColorSmooth), 16); break;
|
||||
case BAND_FM: tftPrint(-1, myLanguage[language][105], 70, 32, (bandforbidden ? GreyoutColor : PrimaryColor), (bandforbidden ? BackgroundColor : PrimaryColorSmooth), 16); break;
|
||||
case BAND_OIRT: tftPrint(-1, myLanguage[language][106], 70, 32, (bandforbidden ? GreyoutColor : PrimaryColor), (bandforbidden ? BackgroundColor : PrimaryColorSmooth), 16); break;
|
||||
|
||||
#ifdef HAS_AIR_BAND
|
||||
case BAND_AIR: tftPrint(-1, myLanguage[language][223], 70, 32, (bandforbidden ? GreyoutColor : PrimaryColor), (bandforbidden ? BackgroundColor : PrimaryColorSmooth), 16); break;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void BWButtonPress() {
|
||||
@@ -2181,10 +2249,6 @@ void BWButtonPress() {
|
||||
doBW();
|
||||
BWtune = true;
|
||||
}
|
||||
if (screensaverset) {
|
||||
WakeToSleep(REVERSE);
|
||||
return;
|
||||
}
|
||||
delay(100);
|
||||
}
|
||||
}
|
||||
@@ -2226,6 +2290,7 @@ void ModeButtonPress() {
|
||||
if (!usesquelch) radio.setUnMute();
|
||||
if (advancedRDS) {
|
||||
BuildDisplay();
|
||||
SelectBand();
|
||||
ScreensaverTimerReopen();
|
||||
} else if (afscreen) {
|
||||
if (afpagenr == 1) afpagenr = 2; else if (afpagenr == 2 && afpage) afpagenr = 3; else afpagenr = 1;
|
||||
@@ -2243,10 +2308,6 @@ void ModeButtonPress() {
|
||||
|
||||
if (counter - counterold <= 1000) {
|
||||
doTuneMode();
|
||||
if (screensaverset) {
|
||||
WakeToSleep(REVERSE);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (!menu) {
|
||||
menuoption = ITEM1;
|
||||
@@ -2384,26 +2445,26 @@ void RoundStep() {//todo air
|
||||
Round30K(frequency_OIRT);
|
||||
radio.SetFreq(frequency_OIRT);
|
||||
} else {
|
||||
if (band == BAND_MW) {
|
||||
if (band == BAND_LW) {
|
||||
unsigned int freq = frequency_AM / (mwstepsize == false ? FREQ_MW_STEP_9K : FREQ_MW_STEP_10K);
|
||||
frequency_AM = freq * (mwstepsize == false ? FREQ_MW_STEP_9K : FREQ_MW_STEP_10K);
|
||||
frequency_LW = frequency_AM;
|
||||
radio.SetFreqAM(frequency_AM);
|
||||
} else if (band == BAND_MW) {
|
||||
unsigned int freq = frequency_AM / (mwstepsize == false ? FREQ_MW_STEP_9K : FREQ_MW_STEP_10K);
|
||||
frequency_AM = freq * (mwstepsize == false ? FREQ_MW_STEP_9K : FREQ_MW_STEP_10K);
|
||||
frequency_MW = frequency_AM;
|
||||
radio.SetFreqAM(frequency_AM);
|
||||
} else if (band == BAND_SW) {
|
||||
Round5K(frequency_AM);
|
||||
frequency_SW = frequency_AM;
|
||||
radio.SetFreqAM(frequency_AM);
|
||||
}
|
||||
}
|
||||
|
||||
while (digitalRead(ROTARY_BUTTON) == LOW) delay(50);
|
||||
StoreFrequency();
|
||||
|
||||
if (band == BAND_FM) {
|
||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_FM, frequency);
|
||||
} else if (band == BAND_OIRT) {
|
||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_OIRT, frequency_OIRT);
|
||||
} else {
|
||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_AM, frequency_AM);
|
||||
}
|
||||
EEPROM.commit();
|
||||
while (digitalRead(ROTARY_BUTTON) == LOW) delay(50);
|
||||
}
|
||||
|
||||
void ButtonPress() {
|
||||
@@ -2411,7 +2472,10 @@ void ButtonPress() {
|
||||
cancelDXScan();
|
||||
} else {
|
||||
if (!usesquelch) radio.setUnMute();
|
||||
if (advancedRDS) BuildDisplay();
|
||||
if (advancedRDS) {
|
||||
BuildDisplay();
|
||||
SelectBand();
|
||||
}
|
||||
if (!menu) {
|
||||
if (tunemode == TUNE_MEM) {
|
||||
if (!memorystore) {
|
||||
@@ -3698,14 +3762,22 @@ void ShowRSSI() {
|
||||
}
|
||||
|
||||
void ShowBattery() {
|
||||
static uint32_t batupdatetimer = 0;
|
||||
|
||||
if (millis() >= batupdatetimer + TIMER_BAT_TIMER) {
|
||||
batupdatetimer = millis();
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
uint16_t v = 0;
|
||||
if (!wifi) v = analogRead(BATTERY_PIN);
|
||||
uint32_t adcSum = 0;
|
||||
for (int i = 0; i < 16; i++) {
|
||||
adcSum += analogRead(BATTERY_PIN);
|
||||
delay(1);
|
||||
}
|
||||
|
||||
int v = adcSum / 16;
|
||||
|
||||
battery = map(constrain(v, BAT_LEVEL_EMPTY, BAT_LEVEL_FULL), BAT_LEVEL_EMPTY, BAT_LEVEL_FULL, 0, BAT_LEVEL_STAGE);
|
||||
byte batteryprobe = map(constrain(v, BAT_LEVEL_EMPTY, BAT_LEVEL_FULL), BAT_LEVEL_EMPTY, BAT_LEVEL_FULL, 0, 20);
|
||||
|
||||
@@ -3719,7 +3791,7 @@ void ShowBattery() {
|
||||
tft.fillRoundRect(313, 13, 4, 6, 2, ActiveColor);
|
||||
}
|
||||
if (batteryoptions != BATTERY_VALUE && batteryoptions != BATTERY_PERCENT && battery != 0) {
|
||||
tft.fillRoundRect(279, 8, (battery * 8) , 16, 2, BarInsignificantColor);
|
||||
tft.fillRoundRect(279, 8, (battery * 8), 16, 2, BarInsignificantColor);
|
||||
} else {
|
||||
tft.fillRoundRect(279, 8, 33, 16, 2, BackgroundColor);
|
||||
}
|
||||
@@ -3732,9 +3804,8 @@ void ShowBattery() {
|
||||
batteryVold = 0;
|
||||
vPerold = 0;
|
||||
|
||||
|
||||
if (!wifi && batterydetect) {
|
||||
float batteryV = constrain((((float)v / 4095.0) * 3.3 * (1100 / 1000.0) * 2.0), 0.0, 5.0);
|
||||
float batteryV = constrain(v / 4095.0 * 3.3 * 2.0, 0.0, 5.0);
|
||||
float vPer = constrain((batteryV - BATTERY_LOW_VALUE) / (BATTERY_FULL_VALUE - BATTERY_LOW_VALUE), 0.0, 0.99) * 100;
|
||||
|
||||
if (abs(batteryV - batteryVold) > 0.05 && batteryoptions == BATTERY_VALUE) {
|
||||
@@ -3770,7 +3841,7 @@ void TuneUp() {
|
||||
} else if (frequency_AM < MWLowEdgeSet) {
|
||||
temp = FREQ_MW_STEP_9K;
|
||||
frequency_AM = (frequency_AM / FREQ_MW_STEP_9K) * FREQ_MW_STEP_9K;
|
||||
} else if (frequency_AM < SWHighEdgeSet && frequency_AM > SWLowEdgeSet) {
|
||||
} else if (frequency_AM <= SWHighEdgeSet && frequency_AM >= SWLowEdgeSet) {
|
||||
temp = FREQ_SW_STEP_5K;
|
||||
frequency_AM = (frequency_AM / FREQ_SW_STEP_5K) * FREQ_SW_STEP_5K;
|
||||
}
|
||||
@@ -3843,6 +3914,7 @@ void TuneUp() {
|
||||
frequency_MW = frequency_AM;
|
||||
} else if (band == BAND_SW) {
|
||||
frequency_AM += temp;
|
||||
Serial.println(String(frequency_AM) + "\t" + String(SWHighEdgeSet) + "\t" + String(temp));
|
||||
if (frequency_AM > SWHighEdgeSet) {
|
||||
frequency_AM = SWLowEdgeSet;
|
||||
if (edgebeep) EdgeBeeper();
|
||||
@@ -4067,11 +4139,17 @@ void MuteScreen(bool setting) {
|
||||
tft.writecommand(0x11);
|
||||
analogWrite(CONTRASTPIN, ContrastSet * 2 + 27);
|
||||
if (band < BAND_GAP) {
|
||||
if (afscreen) BuildAFScreen();
|
||||
else if (advancedRDS) BuildAdvancedRDS();
|
||||
else BuildDisplay();
|
||||
if (afscreen) {
|
||||
BuildAFScreen();
|
||||
} else if (advancedRDS) {
|
||||
BuildAdvancedRDS();
|
||||
} else {
|
||||
BuildDisplay();
|
||||
SelectBand();
|
||||
}
|
||||
} else {
|
||||
BuildDisplay();
|
||||
SelectBand();
|
||||
}
|
||||
setupmode = false;
|
||||
} else if (setting && !screenmute) {
|
||||
@@ -4183,6 +4261,7 @@ void DefaultSettings(byte userhardwaremodel) {
|
||||
EEPROM.writeByte(EE_BYTE_SCANMUTE, 0);
|
||||
EEPROM.writeByte(EE_BYTE_AUTOSQUELCH, 0);
|
||||
EEPROM.writeByte(EE_BYTE_LONGBANDPRESS, 0);
|
||||
EEPROM.writeByte(EE_BYTE_SHOWCLOCK, 1);
|
||||
|
||||
for (int i = 0; i < EE_PRESETS_CNT; i++) {
|
||||
EEPROM.writeByte(i + EE_PRESETS_BAND_START, BAND_FM);
|
||||
@@ -4410,6 +4489,7 @@ void endMenu() {
|
||||
EEPROM.writeByte(EE_BYTE_SCANMUTE, scanmute);
|
||||
EEPROM.writeByte(EE_BYTE_AUTOSQUELCH, autosquelch);
|
||||
EEPROM.writeByte(EE_BYTE_LONGBANDPRESS, longbandpress);
|
||||
EEPROM.writeByte(EE_BYTE_SHOWCLOCK, showclock);
|
||||
EEPROM.commit();
|
||||
if (af == 2) radio.rds.afreg = true; else radio.rds.afreg = false;
|
||||
Serial.end();
|
||||
@@ -4417,6 +4497,8 @@ void endMenu() {
|
||||
if (USBmode) Serial.begin(19200); else Serial.begin(115200);
|
||||
|
||||
BuildDisplay();
|
||||
SelectBand();
|
||||
ScreensaverTimerRestart();
|
||||
}
|
||||
|
||||
void startFMDXScan() {
|
||||
|
||||
+5
-4
@@ -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 2221 // Total occupied eeprom bytes
|
||||
#define EE_TOTAL_CNT 2222 // Total occupied eeprom bytes
|
||||
#else
|
||||
#define EE_TOTAL_CNT 2216 // Total occupied eeprom bytes
|
||||
#define EE_TOTAL_CNT 2217 // Total occupied eeprom bytes
|
||||
#endif
|
||||
|
||||
#define EE_PRESETS_BAND_START 0 // 99 * 1 byte
|
||||
@@ -312,9 +312,10 @@
|
||||
#define EE_BYTE_SCANMUTE 2213
|
||||
#define EE_BYTE_AUTOSQUELCH 2214
|
||||
#define EE_BYTE_LONGBANDPRESS 2215
|
||||
#define EE_BYTE_SHOWCLOCK 2216
|
||||
#ifdef HAS_AIR_BAND
|
||||
#define EE_BYTE_AIRSTEPSIZE 2116
|
||||
#define EE_UINT16_FREQUENCY_AIR 2217
|
||||
#define EE_BYTE_AIRSTEPSIZE 2117
|
||||
#define EE_UINT16_FREQUENCY_AIR 2218
|
||||
#endif
|
||||
// End of EEPROM index defines
|
||||
|
||||
|
||||
+33
-41
@@ -8,7 +8,7 @@
|
||||
#include <cstring>
|
||||
|
||||
byte menuitem;
|
||||
byte items[9] = {9, static_cast<byte>(dynamicspi ? 10 : 9), 7, 10, 9, 10, 9, 6, 7};
|
||||
byte items[9] = {9, static_cast<byte>(dynamicspi ? 10 : 9), 7, 10, 10, 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/
|
||||
@@ -1394,6 +1394,16 @@ void ShowOneLine(byte position, byte item, bool selected) {
|
||||
FullLineSprite.drawString(FreqFont[freqfont], 298, 3);
|
||||
break;
|
||||
|
||||
case RDSSETTINGS:
|
||||
FullLineSprite.setTextDatum(TL_DATUM);
|
||||
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
||||
FullLineSprite.drawString(removeNewline(myLanguage[language][262]), 6, 3);
|
||||
|
||||
FullLineSprite.setTextDatum(TR_DATUM);
|
||||
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||
FullLineSprite.drawString((showclock ? myLanguage[language][42] : myLanguage[language][30]), 298, 3);
|
||||
break;
|
||||
|
||||
case FMSETTINGS:
|
||||
FullLineSprite.setTextDatum(TL_DATUM);
|
||||
FullLineSprite.setTextColor(ActiveColor, ActiveColorSmooth, false);
|
||||
@@ -1572,7 +1582,6 @@ void BuildAdvancedRDS() {
|
||||
void BuildDisplay() {
|
||||
afscreen = false;
|
||||
advancedRDS = false;
|
||||
int bandColor;
|
||||
|
||||
tft.fillScreen(BackgroundColor);
|
||||
tft.drawRect(0, 0, 320, 240, FrameColor);
|
||||
@@ -1606,14 +1615,6 @@ void BuildDisplay() {
|
||||
if (usesquelch || autosquelch) tftPrint(-1, "SQ:", 212, 145, ActiveColor, ActiveColorSmooth, 16);
|
||||
tftPrint(1, "C/N", 270, 163, ActiveColor, ActiveColorSmooth, 16);
|
||||
tftPrint(-1, "dB", 300, 163, ActiveColor, ActiveColorSmooth, 16);
|
||||
if (region == REGION_EU) tftPrint(-1, "PI:", 212, 193, ActiveColor, ActiveColorSmooth, 16);
|
||||
if (region == REGION_US) {
|
||||
tftPrint(-1, "PI:", 212, 184, ActiveColor, ActiveColorSmooth, 16);
|
||||
tftPrint(-1, "ID:", 212, 201, ActiveColor, ActiveColorSmooth, 16);
|
||||
}
|
||||
tftPrint(-1, "PS:", 3, 193, ActiveColor, ActiveColorSmooth, 16);
|
||||
tftPrint(-1, "RT:", 3, 221, ActiveColor, ActiveColorSmooth, 16);
|
||||
tftPrint(-1, "PTY:", 3, 163, ActiveColor, ActiveColorSmooth, 16);
|
||||
|
||||
tftPrint(0, "S", 7, 101, ActiveColor, ActiveColorSmooth, 16);
|
||||
tftPrint(-1, "1", 24, 115, ActiveColor, ActiveColorSmooth, 16);
|
||||
@@ -1643,11 +1644,6 @@ void BuildDisplay() {
|
||||
tftPrint(-1, "kHz", 203, 4, ActiveColor, ActiveColorSmooth, 28);
|
||||
tftPrint(-1, unitString[unit], 282, 145, ActiveColor, ActiveColorSmooth, 16);
|
||||
|
||||
tft.drawRoundRect(248, 56, 32, 20, 5, GreyoutColor);
|
||||
if (band > BAND_GAP) tftPrint(0, "iMS", 265, 59, GreyoutColor, BackgroundColor, 16);
|
||||
tft.drawRoundRect(286, 56, 32, 20, 5, GreyoutColor);
|
||||
if (band > BAND_GAP) tftPrint(0, "EQ", 301, 59, GreyoutColor, BackgroundColor, 16);
|
||||
|
||||
tft.drawBitmap(122, 5, RDSLogo, 35, 22, GreyoutColor);
|
||||
tft.drawBitmap(92, 4, Speaker, 26, 22, GreyoutColor);
|
||||
|
||||
@@ -1661,37 +1657,12 @@ void BuildDisplay() {
|
||||
tft.drawCircle(76, 15, 9, GreyoutColor);
|
||||
}
|
||||
|
||||
if (bandforbidden) bandColor = GreyoutColor; else bandColor = PrimaryColor;
|
||||
switch (band) {
|
||||
case BAND_LW: tftPrint(-1, myLanguage[language][102], 70, 32, bandColor, PrimaryColorSmooth, 16); break;
|
||||
case BAND_MW: tftPrint(-1, myLanguage[language][103], 70, 32, bandColor, PrimaryColorSmooth, 16); break;
|
||||
case BAND_SW: tftPrint(-1, myLanguage[language][104], 70, 32, bandColor, PrimaryColorSmooth, 16); break;
|
||||
#ifdef HAS_AIR_BAND
|
||||
case BAND_AIR: tftPrint(-1, myLanguage[language][223], 70, 32, bandColor, PrimaryColorSmooth, 16); break;
|
||||
#endif
|
||||
case BAND_FM: tftPrint(-1, myLanguage[language][105], 70, 32, bandColor, PrimaryColorSmooth, 16); break;
|
||||
case BAND_OIRT: tftPrint(-1, myLanguage[language][106], 70, 32, bandColor, PrimaryColorSmooth, 16); break;
|
||||
}
|
||||
if (band < BAND_GAP) tftPrint(-1, "MHz", 258, 76, ActiveColor, ActiveColorSmooth, 28);
|
||||
else {
|
||||
#ifdef HAS_AIR_BAND
|
||||
if (band == AM_BAND_AIR)
|
||||
tftPrint(-1, "MHz", 258, 76, ActiveColor, ActiveColorSmooth, 28);
|
||||
else tftPrint(-1, "KHz", 258, 76, ActiveColor, ActiveColorSmooth, 28);
|
||||
#else
|
||||
tftPrint(-1, "KHz", 258, 76, ActiveColor, ActiveColorSmooth, 28);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (autosquelch) showAutoSquelch(1);
|
||||
|
||||
RDSstatusold = false;
|
||||
Stereostatusold = false;
|
||||
LowLevelInit = true;
|
||||
ShowFreq(0);
|
||||
ShowTuneMode();
|
||||
updateBW();
|
||||
ShowStepSize();
|
||||
ShowMemoryPos();
|
||||
updateiMS();
|
||||
updateEQ();
|
||||
@@ -2228,6 +2199,13 @@ void MenuUp() {
|
||||
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
|
||||
case ITEM10:
|
||||
showclock = !showclock;
|
||||
|
||||
OneBigLineSprite.drawString((showclock ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -3083,6 +3061,13 @@ void MenuDown() {
|
||||
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
|
||||
case ITEM10:
|
||||
showclock = !showclock;
|
||||
|
||||
OneBigLineSprite.drawString((showclock ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -3946,6 +3931,13 @@ void DoMenu() {
|
||||
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
|
||||
case ITEM10:
|
||||
Infoboxprint(myLanguage[language][262]);
|
||||
|
||||
OneBigLineSprite.drawString((showclock ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -4349,4 +4341,4 @@ String removeNewline(String inputString) {
|
||||
}
|
||||
}
|
||||
return outputString;
|
||||
}
|
||||
}
|
||||
@@ -59,6 +59,7 @@ extern bool usesquelch;
|
||||
extern bool scandxmode;
|
||||
extern bool scanmem;
|
||||
extern bool scanmute;
|
||||
extern bool showclock;
|
||||
extern bool softmuteam;
|
||||
extern bool softmutefm;
|
||||
extern bool Stereostatusold;
|
||||
|
||||
+278
-261
@@ -1,11 +1,11 @@
|
||||
#ifndef LANGUAGE_H
|
||||
#define LANGUAGE_H
|
||||
|
||||
#define VERSION "v2.10 RC9"
|
||||
#define VERSION "v2.10 RC10"
|
||||
|
||||
// [number of languages][number of texts]
|
||||
|
||||
static const char* const myLanguage[18][262] PROGMEM = {
|
||||
static const char* const myLanguage[18][263] PROGMEM = {
|
||||
{ "English", // English
|
||||
"Rotary direction changed", // 1
|
||||
"Please release button", // 2
|
||||
@@ -267,7 +267,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
|
||||
"Alarm Test", // 258
|
||||
"Alarm!!!", // 259
|
||||
"Initial", // 260
|
||||
"Always" //261
|
||||
"Always", // 261
|
||||
"Show clock" // 262
|
||||
},
|
||||
|
||||
{ "Nederlands", // Dutch
|
||||
@@ -531,7 +532,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
|
||||
"Alarmtest", // 258
|
||||
"Alarm ! ALARM !", // 259
|
||||
"Initieel", // 260
|
||||
"Altijd" //261
|
||||
"Altijd", //261
|
||||
"Toon klok" // 262
|
||||
},
|
||||
|
||||
{ "Polski", // Polish
|
||||
@@ -795,7 +797,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
|
||||
"Alarm Test", // 258
|
||||
"Alarm", // 259
|
||||
"Początkowy", // 260
|
||||
"Zawsze" // 261
|
||||
"Zawsze", // 261
|
||||
"Pokaż zegar" // 262
|
||||
},
|
||||
|
||||
{ "Hrvatski", // Croatian
|
||||
@@ -1059,7 +1062,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
|
||||
"Testni alarm!", // 258
|
||||
"Alarm !", // 259
|
||||
"Početno", // 260
|
||||
"Uvijek" //261
|
||||
"Uvijek", //261
|
||||
"Prikaži sat" // 262
|
||||
},
|
||||
|
||||
{ "Ελληνικά", // Greek
|
||||
@@ -1323,7 +1327,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
|
||||
"Δοκιμή συναγερμού", // 258
|
||||
"Συναγερμός!!!", // 259
|
||||
"Αρχικό", // 260
|
||||
"Πάντα" //261
|
||||
"Πάντα", //261
|
||||
"Εμφάνιση ρολογιού" // 262
|
||||
},
|
||||
|
||||
{ "Română", // Romanian
|
||||
@@ -1587,7 +1592,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
|
||||
"Test Alarmă", // 258
|
||||
"Alarmă !", // 259
|
||||
"Inițial", // 260
|
||||
"Mereu" //261
|
||||
"Mereu", //261
|
||||
"Arată ceasul" // 262
|
||||
},
|
||||
|
||||
{ "Deutsch", // German
|
||||
@@ -1851,7 +1857,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
|
||||
"Alarm Test", // 258
|
||||
"Alarm! Alarm!", // 259
|
||||
"Anfänglich", // 260
|
||||
"Immer" // 261
|
||||
"Immer", // 261
|
||||
"Uhr anzeigen" // 262
|
||||
},
|
||||
|
||||
{ "Český", // Czech
|
||||
@@ -2115,271 +2122,272 @@ static const char* const myLanguage[18][262] PROGMEM = {
|
||||
"Alarm Test", // 258
|
||||
"Alarm – Alarm !", // 259
|
||||
"Počáteční", // 260
|
||||
"Vždy" //261
|
||||
"Vždy", //261
|
||||
"Zobrazit hodiny" // 262
|
||||
},
|
||||
|
||||
{ "SloveSlovenský", // Slovak
|
||||
"Smer enkóderu bol zmenený", // 1
|
||||
"Prosím, pusťte tlačidlo", // 2
|
||||
"Obrazovka otočená", // 3
|
||||
"Kalibrácia analog. merača", // 4
|
||||
"Po dokončení pusťte tlačidlo", // 5
|
||||
"enkóder nastavený na optický", // 6
|
||||
"enkóder nastavený na štandardný", // 7
|
||||
"FM/AM prijímač", // 8
|
||||
"Tuner: !ŽIADNY!", // 9
|
||||
"Hlasitosť:", // 10
|
||||
"Konvertor:", // 11
|
||||
"Spodok pásma:", // 12
|
||||
"Vrch pásma:", // 13
|
||||
"FM Offset frekvencie:", // 14
|
||||
"Prah pre stereo:", // 15
|
||||
"Prah utlmenia:", // 16
|
||||
"Prah zvuku:", // 17
|
||||
"Prah nizkeho signálu:", // 18
|
||||
"Kontrast:", // 19
|
||||
"Hlasitost", // 20
|
||||
"Offset frekvencie", // 21
|
||||
"Spodok pásma", // 22
|
||||
"Vrch pásma", // 23
|
||||
"Offset signálu", // 24
|
||||
"Prah pro stereo", // 25
|
||||
"Prah utlmenia", // 26
|
||||
"Prah signálu pre utlmenie", // 27
|
||||
"Prah nízkého signálu", // 28
|
||||
"Jas", // 29
|
||||
"Vyp", // 30
|
||||
"Obrazovka je stlmená!", // 31
|
||||
"Pre spustenie odčiarknite RF+", // 32
|
||||
"VYP", // 33
|
||||
"SKENUJEM...", // 34
|
||||
"Tuner nedetekovaný", // 35
|
||||
"AM Antenna gain", // 36
|
||||
{ "Magyar", // Hungarian
|
||||
"Forgási irány megváltozott", // 1
|
||||
"Engedd el a gombot", // 2
|
||||
"Képernyő megfordítva", // 3
|
||||
"Analóg mérő kalibrálása", // 4
|
||||
"Engedd el a gombot, ha kész", // 5
|
||||
"Kódoló optikaira állítva", // 6
|
||||
"Kódoló szabványosra állítva", // 7
|
||||
"FM/AM vevőkészülék", // 8
|
||||
"Tuner: !Nincs!", // 9
|
||||
"Hangerő", // 10
|
||||
"Átalakító", // 11
|
||||
"Legkisebb sávszél", // 12
|
||||
"Legnagyobb sávszél", // 13
|
||||
"FM RF szinteltolás", // 14
|
||||
"Sztereó küszöbérték", // 15
|
||||
"Magasak sarokja", // 16
|
||||
"Magasak küszöbértéke", // 17
|
||||
"Alacsonyak küszöbértéke", // 18
|
||||
"Kontraszt", // 19
|
||||
"Hangerő", // 20
|
||||
"Átalakító eltolása", // 21
|
||||
"Legkisebb sávszél", // 22
|
||||
"Legnagyobb sávszél", // 23
|
||||
"Szinteltolás", // 24
|
||||
"Sztereó szétválasztás küszöbértéke", // 25
|
||||
"Magasak sarokfrekvenciája", // 26
|
||||
"Magasak küszöbértéke", // 27
|
||||
"Alacsony szint küszöbérték", // 28
|
||||
"Kijelző fényereje", // 29
|
||||
"Ki", // 30
|
||||
"Kijelző némítva!", // 31
|
||||
"A némítás feloldásához\n jelöld ki az\nRF+ pipát", // 32
|
||||
"KI", // 33
|
||||
"KERESÉS...", // 34
|
||||
"Tuner nem észlelhető", // 35
|
||||
"AM Antenna érzékenység", // 36
|
||||
"FM AGC", // 37
|
||||
"Zobraziť chyby v RDS", // 38
|
||||
"Jazyk", // 39
|
||||
"Vyberte jazyk", // 40
|
||||
"STLAČTE MODE PRE ULOŽENIE", // 41
|
||||
"Zap", // 42
|
||||
"Softmute FM", // 43
|
||||
"Softmute AM", // 44
|
||||
"Pípnutie na konci pásma", // 45
|
||||
"Region", // 46
|
||||
"RDS hibák megjelenítése", // 38
|
||||
"Nyelv", // 39
|
||||
"Válassz nyelvet", // 40
|
||||
"MODE A MENTÉSHEZ\nÉS BEZÁRÁSHOZ", // 41
|
||||
"Be", // 42
|
||||
"FM halkítás", // 43
|
||||
"AM halkítás", // 44
|
||||
"Sípszó a sáv szélén", // 45
|
||||
"Régió", // 46
|
||||
"Európa", // 47
|
||||
"America", // 48
|
||||
"Zobraziť podtržítka v RDS", // 49
|
||||
"Amerika", // 48
|
||||
"Aláhúzások megjelenítése\nRDS-ben", // 49
|
||||
"USB mód", // 50
|
||||
"Wi-Fi active", // 51
|
||||
"Konfigurace Wi-Fi", // 52
|
||||
"Pripojte sa k: ", // 53
|
||||
"pre nakonfigurovánie Wi-Fi", // 54
|
||||
"Wi-Fi pripojenie prebieha...", // 55
|
||||
"NEPRIPOJENÉ!", // 56
|
||||
"PRIPOJENÉ!", // 57
|
||||
"Stationlist IP", // 58
|
||||
"Zobraziť SW pásmo", // 59
|
||||
"RDS filter", // 60
|
||||
"Zobraziť chyby v PI", // 61
|
||||
"Zobraziť squelch", // 62 NEEDS NEW TRANSLATION, ENGLISH: USE SQUELCH
|
||||
"Graf modulácie", // 63
|
||||
"Utlmenie šumu (AM)", // 64
|
||||
"Utlmenie šumu (FM)", // 65
|
||||
"Východzie hodnoty načítané", // 66
|
||||
"Zvukový výstup", // 67
|
||||
"Povolit ladenie počas šetriča", // 68
|
||||
"Invertovanie farieb", // 69
|
||||
"O softvéri", // 70
|
||||
"Hlavný kód:", // 71
|
||||
"Prispeli:", // 72
|
||||
"Neznámy", // 73
|
||||
"Nastavenia šetriča obrazovky", // 74
|
||||
"Čas", // 75
|
||||
"Vypnutie obrazovky", // 76
|
||||
"Vzhľad", // 77
|
||||
"Skin", // 78
|
||||
"Detegované aplikácie", // 79
|
||||
"Min.", // 80
|
||||
"Dynamic SPI speed", // 81
|
||||
"Scan sensitivity", // 82
|
||||
"NONE", // 83 represents: AM/FM bands unavailable(please delete this note after translation)
|
||||
"Software version", // 84
|
||||
"Frequency font", // 85
|
||||
"Wi-Fi", // 51
|
||||
"Wi-Fi beállítása", // 52
|
||||
"Csatlakozz ehhez: ", // 53
|
||||
"a Wi-Fi beállításához", // 54
|
||||
"Wi-Fi kapcsolódási\nkísérlet", // 55
|
||||
"SIKERTELEN!", // 56
|
||||
"CSATLAKOZVA!", // 57
|
||||
"Stationlist kliens IP", // 58
|
||||
"SW hullámhossz\nmegjelenítése", // 59
|
||||
"RDS szűrő", // 60
|
||||
"PI hibák megjelenítése", // 61
|
||||
"Zajzár(SQ) használata", // 62
|
||||
"Modulációmérő", // 63
|
||||
"AM Zajszűrő", // 64
|
||||
"FM Zajszűrő", // 65
|
||||
"Alapértelmezettek betöltve", // 66
|
||||
"Audió kimenet", // 67
|
||||
"Hangolás\nengedélyezése\nképernyővédő közben", // 68
|
||||
"Inverz kijelző", // 69
|
||||
"A szoftverről", // 70
|
||||
"Fő kód:", // 71
|
||||
"Közreműködők:", // 72
|
||||
"Ismeretlen", // 73
|
||||
"Képernyővédő opciók", // 74
|
||||
"Időtúllépés időzítő", // 75
|
||||
"Kijelző ki", // 76
|
||||
"Téma", // 77
|
||||
"Kinézet", // 78
|
||||
"Felismert alkalmazások", // 79
|
||||
"Perc", // 80
|
||||
"Dinamikus SPI sebesség", // 81
|
||||
"Keresés érzékenység", // 82
|
||||
"NINCS", // 83
|
||||
"Szoftver verzió", // 84
|
||||
"Frekvencia betűtípusa", // 85
|
||||
"Auto", // 86
|
||||
"AF nedostupné", // 87
|
||||
"EON nedostupný", // 88
|
||||
"RT+ nedostupný", // 89
|
||||
"Krokovanie FM", // 90
|
||||
"Šetrič obrazovky", // 91
|
||||
"Sekúnd", // 92
|
||||
"STLAČTE BAND PRE UZAVRETIE", // 93
|
||||
"1% jas", // 94
|
||||
"25% jas", // 95
|
||||
"50% jas", // 96
|
||||
"AM Offset signálu:", // 97
|
||||
"Jednotka signálu:", // 98
|
||||
"AF:", // 99
|
||||
"Zvoľte FM pásmo:", // 100
|
||||
"Zvoľte AM pásmo:", // 101
|
||||
"Nincs elérhető AF", // 87
|
||||
"Nincs elérhető EON", // 88
|
||||
"Nincs elérhető RT+", // 89
|
||||
"FM alap. lépésköz", // 90
|
||||
"Kijelzővédő", // 91
|
||||
"Mp", // 92
|
||||
"BAND A BEZÁRÁSHOZ", // 93
|
||||
"1% fényerő", // 94
|
||||
"25% fényerő", // 95
|
||||
"50% fényerő", // 96
|
||||
"AM RF szinteltolás", // 97
|
||||
"Jelmérő egység", // 98
|
||||
"AF használata", // 99
|
||||
"FM sáv kiválasztása", // 100
|
||||
"AM sáv kiválasztása", // 101
|
||||
"LW", // 102
|
||||
"MW", // 103
|
||||
"SW", // 104
|
||||
"FM", // 105
|
||||
"OIRT", // 106
|
||||
"Rotating while screen off", // 107
|
||||
"Voľba modelu", // 108
|
||||
"Základ (ILI9341)", // 109
|
||||
"Prenosný (ILI9341)", // 110
|
||||
"Prenosný - dotykový (ILI9341)", // 111
|
||||
"Title", // 112
|
||||
"Forgatás kikapcsolt képernyővel", // 107
|
||||
"Modellválasztó", // 108
|
||||
"Alap (ILI9341)", // 109
|
||||
"Hordozható (ILI9341)", // 110
|
||||
"Hord. érintős (ILI9341)", // 111
|
||||
"Cím", // 112
|
||||
"Album", // 113
|
||||
"Track", // 114
|
||||
"Artist", // 115
|
||||
"Composition", // 116
|
||||
"Movement", // 117
|
||||
"Conductor", // 118
|
||||
"Composer", // 119
|
||||
"Band", // 120
|
||||
"Comment", // 121
|
||||
"Genre", // 122
|
||||
"News", // 123
|
||||
"Local news", // 124
|
||||
"Stockmarket", // 125
|
||||
"Szám", // 114
|
||||
"Előadó", // 115
|
||||
"Kompozíció", // 116
|
||||
"Tétel", // 117
|
||||
"Karmester", // 118
|
||||
"Zeneszerző", // 119
|
||||
"Zenekar", // 120
|
||||
"Megjegyzés", // 121
|
||||
"Műfaj", // 122
|
||||
"Hírek", // 123
|
||||
"Helyi hírek", // 124
|
||||
"Tőzsdepiac", // 125
|
||||
"Sport", // 126
|
||||
"Lottery", // 127
|
||||
"Horoscope", // 128
|
||||
"Daily Diversion", // 129
|
||||
"Health", // 130
|
||||
"Event", // 131
|
||||
"Scene", // 132
|
||||
"Cinema", // 133
|
||||
"Lottó", // 127
|
||||
"Horoszkóp", // 128
|
||||
"Napi kikapcsolódás", // 129
|
||||
"Egészség", // 130
|
||||
"Esemény", // 131
|
||||
"Jelenet", // 132
|
||||
"Mozi", // 133
|
||||
"TV", // 134
|
||||
"Date/time", // 135
|
||||
"Weather", // 136
|
||||
"Traffic", // 137
|
||||
"Alarm", // 138
|
||||
"Advertisement", // 139
|
||||
"Website", // 140
|
||||
"Other", // 141
|
||||
"Short PS", // 142
|
||||
"Long PS", // 143
|
||||
"Now", // 144
|
||||
"Next", // 145
|
||||
"Part", // 146
|
||||
"Host", // 147
|
||||
"Editor", // 148
|
||||
"Frequency", // 149
|
||||
"Homepage", // 150
|
||||
"Subchannel", // 151
|
||||
"Hotline", // 152
|
||||
"Studio phone", // 153
|
||||
"Phone", // 154
|
||||
"SMS studio", // 155
|
||||
"Dátum/idő", // 135
|
||||
"Időjárás", // 136
|
||||
"Közlekedés", // 137
|
||||
"Riasztás", // 138
|
||||
"Hirdetés", // 139
|
||||
"Weboldal", // 140
|
||||
"Egyéb", // 141
|
||||
"Rövid PS", // 142
|
||||
"Hosszú PS", // 143
|
||||
"Most", // 144
|
||||
"Következő", // 145
|
||||
"Rész", // 146
|
||||
"Házigazda", // 147
|
||||
"Szerkesztő", // 148
|
||||
"Frekvencia", // 149
|
||||
"Kezdőlap", // 150
|
||||
"Alcsatorna", // 151
|
||||
"Forródrót", // 152
|
||||
"Stúdió telefon", // 153
|
||||
"Telefon", // 154
|
||||
"Stúdió SMS", // 155
|
||||
"SMS", // 156
|
||||
"Email hotline", // 157
|
||||
"Email studio", // 158
|
||||
"Email forródrót", // 157
|
||||
"Stúdió Email", // 158
|
||||
"Email", // 159
|
||||
"Chat", // 160
|
||||
"Chat centre", // 161
|
||||
"Vote question", // 162
|
||||
"Vote centre", // 163
|
||||
"Place", // 164
|
||||
"Appointment", // 165
|
||||
"Identifier", // 166
|
||||
"Purchase", // 167
|
||||
"Get data", // 168
|
||||
"MW default stepsize", // 169
|
||||
"Tangerine", // 170
|
||||
"Ocean", // 171
|
||||
"Indigo", // 172
|
||||
"Nastavenia batérie", // 173
|
||||
"Zobraziť napätie", // 174
|
||||
"Zobraziť percentá", // 175
|
||||
"RT načítanie", // 176
|
||||
"Hlavné nastavenia", // 177
|
||||
"Nastavenia zvuku", // 178
|
||||
"Nastavenia displeja", // 179
|
||||
"Nastavenia RDS", // 180
|
||||
"Nastavenia FM pásma", // 181
|
||||
"Nastavenia AM pásma", // 182
|
||||
"Konektivita", // 183
|
||||
"STĽACTE MODE PRE NÁVRAT", // 184
|
||||
"AM CoChannelDet", // 185
|
||||
"Citlivosť CoChannelDet", // 186
|
||||
"Prah AM CoChannelDet", // 187
|
||||
"CoChannelDet počítadlo", // 188
|
||||
"HLAVNÝ", // 189
|
||||
"ZVUK", // 190
|
||||
"DISPLEJ", // 191
|
||||
"Csevegés", // 160
|
||||
"Csevegőközpont", // 161
|
||||
"Szavazási kérdés", // 162
|
||||
"Szavazóközpont", // 163
|
||||
"Helyszín", // 164
|
||||
"Találkozó", // 165
|
||||
"Azonosító", // 166
|
||||
"Vásárlás", // 167
|
||||
"Adatok lekérése", // 168
|
||||
"MW alap. lépésköz", // 169
|
||||
"Tangerin", // 170
|
||||
"Óceán", // 171
|
||||
"Indigó", // 172
|
||||
"Akkumulátor jelzése", // 173
|
||||
"Feszültség mutatása", // 174
|
||||
"Százalék mutatása", // 175
|
||||
"RT pufferelés", // 176
|
||||
"Fő beállítások", // 177
|
||||
"Audió beállítások", // 178
|
||||
"Kijelző beállítások", // 179
|
||||
"RDS beállítások", // 180
|
||||
"FM beállítások", // 181
|
||||
"AM beállítások", // 182
|
||||
"Csatlakoztathatóság", // 183
|
||||
"MODE A VISSZALÉPÉSHEZ", // 184
|
||||
"CoChannel Detektor", // 185
|
||||
"CoChannel Detektor\nérzékenység", // 186
|
||||
"CoChannel Detektor\nküszöbérték", // 187
|
||||
"CoChannel Detektor\nszámláló", // 188
|
||||
"FŐ", // 189
|
||||
"AUDIÓ", // 190
|
||||
"KIJELZŐ", // 191
|
||||
"RDS", // 192
|
||||
"FM", // 193
|
||||
"AM", // 194
|
||||
"PRIPOJENIE", // 195
|
||||
"DX MODE", // 196
|
||||
"CSATLAKOZÁS", // 195
|
||||
"DX MÓD", // 196
|
||||
"Stationlist ID", // 197
|
||||
"AM ATT", // 198
|
||||
"FM deemphasis", // 199
|
||||
"Malý", // 200
|
||||
"Veľký", // 201
|
||||
"Všetko", // 202
|
||||
"Rýchle načítanie PS", // 203
|
||||
"Default", // 204
|
||||
"Mute screen on\nXDRGTK connection", // 205
|
||||
"FMSI stereo\nimprovement", // 206
|
||||
"Function only available\non TEF6687/6689!", // 207
|
||||
"Function not available\non selected skin!", // 208
|
||||
"Begin scanning\nmemory channels", // 209
|
||||
"Stop scanning\nmemory channels", // 210
|
||||
"Wait time", // 211
|
||||
"Start DX scanning", // 212
|
||||
"FM DX Options", // 213
|
||||
"Abort! The start channel\nis marked as skipped.", // 214
|
||||
"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
|
||||
"AM AGC", // 198
|
||||
"FM kihangolás", // 199
|
||||
"Kicsi", // 200
|
||||
"Nagy", // 201
|
||||
"Mind", // 202
|
||||
"Gyors PS", // 203
|
||||
"Alap", // 204
|
||||
"Képernyő némítása\nXDRGTK kapcsolaton", // 205
|
||||
"FMSI sztereó\njavítás", // 206
|
||||
"Funkció csak a\nTEF6687/6689\nkészülékeken érhető el!", // 207
|
||||
"Funkció nem elérhető\na kiválasztott kinézetben!", // 208
|
||||
"Memóriacsatornák keresésének elkezdése", // 209
|
||||
"Memóriacsatornák keresésének befejezése", // 210
|
||||
"Várakozási idő", // 211
|
||||
"DX keresés indítása", // 212
|
||||
"FM DX Opciók", // 213
|
||||
"Megszakítva!\nA kezdőcsatorna\nkihagyottnak van jelölve.", // 214
|
||||
"Auto AF rendezés", // 215
|
||||
"Memóriacsatornák", // 216
|
||||
"Kizárása", // 217
|
||||
"Csak", // 218
|
||||
"Auto keresés\nmegszakítása", // 219
|
||||
"Helyes PI", // 220
|
||||
"Jelszint", // 221
|
||||
"Hang némítása\nkeresés közben", // 222
|
||||
"AIR", // 223
|
||||
"5 sec. bandbutton press", // 224
|
||||
"Power off", // 225
|
||||
"Mute screen", // 226
|
||||
"Disabled", // 227
|
||||
"None", // 228
|
||||
"News", // 229
|
||||
"Current Affairs", // 230
|
||||
"Information", // 231
|
||||
"5 mp. sávgombnyomás", // 224
|
||||
"Kikapcsolás", // 225
|
||||
"Képernyőnémítás", // 226
|
||||
"Letiltva", // 227
|
||||
"Nincs", // 228
|
||||
"Hírek", // 229
|
||||
"Aktuális események", // 230
|
||||
"Információ", // 231
|
||||
"Sport", // 232
|
||||
"Education", // 233
|
||||
"Drama", // 234
|
||||
"Culture", // 235
|
||||
"Science", // 236
|
||||
"Varied", // 237
|
||||
"Pop Music", // 238
|
||||
"Rock Music", // 239
|
||||
"Easy Listening", // 240
|
||||
"Light Classical", // 241
|
||||
"Serious Classical", // 242
|
||||
"Other Music", // 243
|
||||
"Weather", // 244
|
||||
"Finance", // 245
|
||||
"Children's Progs", // 246
|
||||
"Social Affairs", // 247
|
||||
"Religion", // 248
|
||||
"Phone-In", // 249
|
||||
"Travel", // 250
|
||||
"Leisure", // 251
|
||||
"Jazz Music", // 252
|
||||
"Country Music", // 253
|
||||
"National Music", // 254
|
||||
"Oldies Music", // 255
|
||||
"Folk Music", // 256
|
||||
"Documentary", // 257
|
||||
"Alarm Test", // 258
|
||||
"Alarm!!!", // 259
|
||||
"Initial", // 260
|
||||
"Always" //261
|
||||
"Oktatás", // 233
|
||||
"Dráma", // 234
|
||||
"Kultúra", // 235
|
||||
"Tudomány", // 236
|
||||
"Változatos", // 237
|
||||
"Pop Zene", // 238
|
||||
"Rock Zene", // 239
|
||||
"Könnyűzene", // 240
|
||||
"Könnyű Klasszikus", // 241
|
||||
"Komoly Klasszikus", // 242
|
||||
"Egyéb Zene", // 243
|
||||
"Időjárás", // 244
|
||||
"Pénzügy", // 245
|
||||
"Gyermekprogramok", // 246
|
||||
"Társadalmi ügyek", // 247
|
||||
"Vallás", // 248
|
||||
"Betelefonálós", // 249
|
||||
"Utazás", // 250
|
||||
"Szabadidő", // 251
|
||||
"Jazz Zene", // 252
|
||||
"Country Zene", // 253
|
||||
"Nemzeti Zene", // 254
|
||||
"Régi Zene", // 255
|
||||
"Népi Zene", // 256
|
||||
"Dokumentumfilm", // 257
|
||||
"Riasztás Teszt", // 258
|
||||
"Riasztás!!!", // 259
|
||||
"Kezdeti", // 260
|
||||
"Mindig" //261
|
||||
},
|
||||
|
||||
{ "Français", // French
|
||||
@@ -2643,7 +2651,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
|
||||
"TEST", // 258
|
||||
"Alerte !", // 259
|
||||
"Initial", // 260
|
||||
"Toujours" // 261
|
||||
"Toujours", // 261
|
||||
"Afficher l'horloge" // 262
|
||||
},
|
||||
|
||||
{ "Български", // Bulgarian
|
||||
@@ -2907,7 +2916,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
|
||||
"Внимание тест", // 258
|
||||
"Тревога!", // 259
|
||||
"Начален", // 260
|
||||
"Винаги" // 261
|
||||
"Винаги", // 261
|
||||
"Покажи часовника" // 262
|
||||
},
|
||||
|
||||
{ "Русский", // Russian
|
||||
@@ -3171,7 +3181,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
|
||||
"Внимание тест", // 258
|
||||
"Тревога!", // 259
|
||||
"Начальный", // 260
|
||||
"Всегда" // 261
|
||||
"Всегда", // 261
|
||||
"Показать часы" // 262
|
||||
},
|
||||
|
||||
{ "Українська", // Ukranian
|
||||
@@ -3435,7 +3446,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
|
||||
"Alarm Test", // 258
|
||||
"Alarm!!!", // 259
|
||||
"Початковий", // 260
|
||||
"Завжди" // 261
|
||||
"Завжди", // 261
|
||||
"Показати годинник" // 262
|
||||
},
|
||||
|
||||
{ "Italiano", // Italian
|
||||
@@ -3699,7 +3711,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
|
||||
"Test Allarme", // 258
|
||||
"!!Allarme!!", // 259
|
||||
"Iniziale", // 260
|
||||
"Sempre" // 261
|
||||
"Sempre", // 261
|
||||
"Mostra l'orologio" // 262
|
||||
},
|
||||
|
||||
{ "Simplified Chinese", // Simplified Chinese
|
||||
@@ -3963,7 +3976,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
|
||||
"Alarm Test", // 258
|
||||
"Alarm!!!", // 259
|
||||
"初始", // 260
|
||||
"始终" // 261
|
||||
"始终", // 261
|
||||
"显示时钟" // 262
|
||||
},
|
||||
|
||||
{ "Norsk", // Norwegian
|
||||
@@ -4227,7 +4241,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
|
||||
"Alarm test", // 258
|
||||
"Alarm!", // 259
|
||||
"Innledende", // 260
|
||||
"Alltid" // 261
|
||||
"Alltid", // 261
|
||||
"Vis klokka" // 262
|
||||
},
|
||||
|
||||
{ "Español", // Spanish
|
||||
@@ -4491,7 +4506,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
|
||||
"Prueba de Alarma", // 258
|
||||
"¡ Alarma !", // 259
|
||||
"Inicial", // 260
|
||||
"Siempre" // 261
|
||||
"Siempre", // 261
|
||||
"Mostrar reloj" // 262
|
||||
},
|
||||
|
||||
{ "Português", // Portuguese
|
||||
@@ -4755,7 +4771,8 @@ static const char* const myLanguage[18][262] PROGMEM = {
|
||||
"Teste de Alarme", // 258
|
||||
"Alarme – Alarme !", // 259
|
||||
"Inicial", // 260
|
||||
"Sempre" // 261
|
||||
"Sempre", // 261
|
||||
"Mostrar relógio" // 262
|
||||
}
|
||||
};
|
||||
#endif
|
||||
+1
-1
@@ -748,7 +748,7 @@ void showPS() {
|
||||
}
|
||||
|
||||
void showCT() {
|
||||
if (!screenmute) {
|
||||
if (!screenmute && showclock) {
|
||||
if (radio.rds.hasCT && !dropout) {
|
||||
rds_clock = ((radio.rds.hour < 10 ? "0" : "") + String(radio.rds.hour) + ":" + (radio.rds.minute < 10 ? "0" : "") + String(radio.rds.minute));
|
||||
} else if (!radio.rds.hasCT || dropout) {
|
||||
|
||||
@@ -34,7 +34,7 @@ extern bool rdsstereoold;
|
||||
extern bool rtcset;
|
||||
extern bool screenmute;
|
||||
extern bool setupmode;
|
||||
extern byte showrdserrors;
|
||||
extern bool showclock;
|
||||
extern bool TAold;
|
||||
extern bool TPold;
|
||||
extern bool wifi;
|
||||
@@ -54,6 +54,7 @@ extern byte eonptyold[20];
|
||||
extern byte rdsblockold;
|
||||
extern byte rdsqualityold;
|
||||
extern byte region;
|
||||
extern byte showrdserrors;
|
||||
extern byte stationlistid;
|
||||
extern char eonpicodeold[20][6];
|
||||
extern char programTypePrevious[18];
|
||||
|
||||
Reference in New Issue
Block a user