Revert "Merge pull request #549 from ohmytime/Air_Band"

This reverts commit a4af8de85a, reversing
changes made to dcf7203a7e.
This commit is contained in:
Sjef Verhoeven PE5PVB
2024-05-05 14:47:31 +02:00
parent a4af8de85a
commit c951a39c4c
7 changed files with 64 additions and 478 deletions
+34 -287
View File
@@ -17,7 +17,6 @@
#include "src/FREQFONT.h"
#include "src/TEF6686.h"
#include "src/constants.h"
#include "src/config.h"
#include "src/language.h"
#include "src/gui.h"
#include "src/comms.h"
@@ -35,6 +34,7 @@
#define STANDBYLED 19
#define SMETERPIN 27
// #define CHINA_PORTABLE // uncomment for China Portable build (Simplified Chinese)
#define DYNAMIC_SPI_SPEED // uncomment to enable dynamic SPI Speed https://github.com/ohmytime/TFT_eSPI_DynamicSpeed
#ifdef ARS
@@ -82,9 +82,6 @@ bool memtune;
bool menu;
bool menuopen;
bool mwstepsize;
#ifdef HAS_AIR_BAND
bool airstepsize;
#endif
bool nobattery;
bool optenc;
bool rdsflagreset;
@@ -338,11 +335,6 @@ unsigned int frequency_MIBand_75M;
unsigned int frequency_MIBand_90M;
unsigned int frequency_MW;
unsigned int frequency_SW;
#ifdef HAS_AIR_BAND
unsigned int frequency_AIR;
unsigned int AIRHighEdgeSet;
unsigned int AIRLowEdgeSet;
#endif
unsigned int frequencyold;
unsigned int HighEdgeOIRTSet;
unsigned int HighEdgeSet;
@@ -453,9 +445,6 @@ void setup() {
frequency_LW = EEPROM.readUInt(EE_UINT16_FREQUENCY_LW);
frequency_MW = EEPROM.readUInt(EE_UINT16_FREQUENCY_MW);
frequency_SW = EEPROM.readUInt(EE_UINT16_FREQUENCY_SW);
#ifdef HAS_AIR_BAND
frequency_AIR = EEPROM.readUInt(EE_UINT16_FREQUENCY_AIR);
#endif
XDRGTK_key = EEPROM.readString(EE_STRING_XDRGTK_KEY);
usesquelch = EEPROM.readByte(EE_BYTE_USESQUELCH);
showmodulation = EEPROM.readByte(EE_BYTE_SHOWMODULATION);
@@ -486,9 +475,6 @@ void setup() {
radio.rds.fastps = EEPROM.readByte(EE_BYTE_FASTPS);
tot = EEPROM.readByte(EE_BYTE_TOT);
mwstepsize = EEPROM.readByte(EE_BYTE_MWREGION);
#ifdef HAS_AIR_BAND
airstepsize = EEPROM.readByte(EE_BYTE_AIRSTEPSIZE);
#endif
spispeed = EEPROM.readByte(EE_BYTE_SPISPEED);
amscansens = EEPROM.readByte(EE_BYTE_AMSCANSENS);
fmscansens = EEPROM.readByte(EE_BYTE_FMSCANSENS);
@@ -760,10 +746,12 @@ void setup() {
radio.setVolume(VolSet);
radio.setOffset(LevelOffset);
radio.setAMOffset(AMLevelOffset);
if (band > BAND_GAP && band != BAND_AIR) {
if (band > BAND_GAP) {
radio.setAMCoChannel(amcodect, amcodectcount);
radio.setAMAttenuation(amgain);
}
radio.setStereoLevel(StereoLevel);
radio.setHighCutLevel(HighCutLevel);
radio.setHighCutOffset(HighCutOffset);
@@ -1264,145 +1252,23 @@ void doBandSelectionFM() {
}
}
void CheckBandForbiddenAM() {
#ifdef HAS_AIR_BAND
void CheckBandForbiddenAM () {
switch (band) {
case BAND_LW:
if (bandAM == AM_BAND_MW_SW_AIR || bandAM == AM_BAND_MW_SW || bandAM == AM_BAND_MW_AIR || bandAM == AM_BAND_SW_AIR || bandAM == AM_BAND_MW || bandAM == AM_BAND_SW || bandAM == AM_BAND_AIR)
bandforbidden = 1;
else
bandforbidden = 0;
if (bandAM == AM_BAND_MW_SW || bandAM == AM_BAND_MW || bandAM == AM_BAND_SW) bandforbidden = 1; else bandforbidden = 0;
break;
case BAND_MW:
if (bandAM == AM_BAND_LW_SW_AIR || bandAM == AM_BAND_LW_SW || bandAM == AM_BAND_LW_AIR || bandAM == AM_BAND_SW_AIR || bandAM == AM_BAND_LW || bandAM == AM_BAND_SW || bandAM == AM_BAND_AIR)
bandforbidden = 1;
else
bandforbidden = 0;
if (bandAM == AM_BAND_LW_SW || bandAM == AM_BAND_LW || bandAM == AM_BAND_SW) bandforbidden = 1; else bandforbidden = 0;
break;
case BAND_SW:
if (bandAM == AM_BAND_LW_MW_AIR || bandAM == AM_BAND_LW_MW || bandAM == AM_BAND_LW_AIR || bandAM == AM_BAND_MW_AIR || bandAM == AM_BAND_LW || bandAM == AM_BAND_MW || bandAM == AM_BAND_AIR)
bandforbidden = 1;
else
bandforbidden = 0;
break;
case BAND_AIR:
if (bandAM == AM_BAND_LW_MW_SW || bandAM == AM_BAND_LW_MW || bandAM == AM_BAND_LW_SW || bandAM == AM_BAND_MW_SW || bandAM == AM_BAND_LW || bandAM == AM_BAND_MW || bandAM == AM_BAND_SW)
bandforbidden = 1;
else
bandforbidden = 0;
if (bandAM == AM_BAND_LW_MW || bandAM == AM_BAND_LW || bandAM == AM_BAND_MW) bandforbidden = 1; else bandforbidden = 0;
break;
}
#else
switch (band) {
case BAND_LW:
if (bandAM == AM_BAND_MW_SW || bandAM == AM_BAND_MW || bandAM == AM_BAND_SW) bandforbidden = 1;
else bandforbidden = 0;
break;
case BAND_MW:
if (bandAM == AM_BAND_LW_SW || bandAM == AM_BAND_LW || bandAM == AM_BAND_SW) bandforbidden = 1;
else bandforbidden = 0;
break;
case BAND_SW:
if (bandAM == AM_BAND_LW_MW || bandAM == AM_BAND_LW || bandAM == AM_BAND_MW) bandforbidden = 1;
else bandforbidden = 0;
break;
}
#endif
}
void doBandSelectionAM() {
if (band < BAND_GAP) return;
#ifdef HAS_AIR_BAND // has air band
switch (bandAM) {
case AM_BAND_ALL:
break;
case AM_BAND_LW_MW_SW:
if (band == BAND_AIR) {
band = BAND_LW;
SelectBand();
}
break;
case AM_BAND_LW_MW_AIR:
if (band == BAND_SW) {
band = BAND_LW;
SelectBand();
}
break;
case AM_BAND_LW_SW_AIR:
if (band == BAND_MW) {
band = BAND_LW;
SelectBand();
}
break;
case AM_BAND_MW_SW_AIR:
if (band == BAND_LW) {
band = BAND_MW;
SelectBand();
}
break;
case AM_BAND_LW_MW:
if (band == BAND_SW || band == BAND_AIR) {
band = BAND_LW;
SelectBand();
}
break;
case AM_BAND_LW_SW:
if (band == BAND_MW || band == BAND_AIR) {
band = BAND_LW;
SelectBand();
}
break;
case AM_BAND_LW_AIR:
if (band == BAND_MW || band == BAND_SW) {
band = BAND_LW;
SelectBand();
}
break;
case AM_BAND_MW_SW:
if (band == BAND_LW || band == BAND_AIR) {
band = BAND_MW;
SelectBand();
}
break;
case AM_BAND_MW_AIR:
if (band == BAND_LW || band == BAND_SW) {
band = BAND_MW;
SelectBand();
}
break;
case AM_BAND_SW_AIR:
if (band == BAND_LW || band == BAND_MW) {
band = BAND_SW;
SelectBand();
}
break;
case AM_BAND_LW:
if (band != BAND_LW) {
band = BAND_LW;
SelectBand();
}
break;
case AM_BAND_MW:
if (band != BAND_MW) {
band = BAND_MW;
SelectBand();
}
break;
case AM_BAND_SW:
if (band != BAND_SW) {
band = BAND_SW;
SelectBand();
}
break;
case AM_BAND_AIR:
if (band != BAND_AIR) {
band = BAND_AIR;
SelectBand();
}
break;
}
#else // has no air band
switch (bandAM) {
case AM_BAND_ALL:
break;
@@ -1447,30 +1313,17 @@ void doBandSelectionAM() {
SelectBand();
break;
}
#endif
}
void AMjumptoFM() {
if (bandFM != FM_BAND_NONE) {
if (bandFM == FM_BAND_FM) band = BAND_FM; else band = BAND_OIRT;
} else {
FMjumptoAM();
// do nothing
}
}
void FMjumptoAM() {
#ifdef HAS_AIR_BAND
if (bandAM == AM_BAND_ALL || bandAM == AM_BAND_LW_MW_AIR || bandAM == AM_BAND_LW_SW_AIR || bandAM == AM_BAND_LW_MW || bandAM == AM_BAND_LW_SW || bandAM == AM_BAND_LW_AIR || bandAM == AM_BAND_LW) {
band = BAND_LW;
if (stepsize > 3) stepsize = 3;
} else if (bandAM == AM_BAND_MW_SW || bandAM == AM_BAND_MW_AIR || bandAM == AM_BAND_MW) {
band = BAND_MW;
} else if (bandAM == AM_BAND_SW_AIR || bandAM == AM_BAND_SW) {
band = BAND_SW;
} else if (bandAM == AM_BAND_AIR) {
band = BAND_AIR;
}
#else
if (bandAM == AM_BAND_ALL || bandAM == AM_BAND_LW_MW || bandAM == AM_BAND_LW_SW || bandAM == AM_BAND_LW) {
band = BAND_LW;
if (stepsize > 3) stepsize = 3;
@@ -1479,43 +1332,10 @@ void FMjumptoAM() {
} else if (bandAM == AM_BAND_SW) {
band = BAND_SW;
}
#endif
}
void ToggleBand(byte nowBand) {
switch (nowBand) {
#ifdef HAS_AIR_BAND
case BAND_LW:
if (bandAM == AM_BAND_LW_MW_SW || bandAM == AM_BAND_LW_MW_AIR || bandAM == AM_BAND_LW_MW || bandAM == AM_BAND_ALL) {
band = BAND_MW;
} else if (bandAM == AM_BAND_LW_SW_AIR || bandAM == AM_BAND_LW_SW) {
band = BAND_SW;
} else if (bandAM == AM_BAND_LW_MW_AIR || bandAM == AM_BAND_LW_SW_AIR || bandAM == AM_BAND_LW_AIR) {
band = BAND_AIR;
} else if (bandAM == AM_BAND_LW || bandAM == AM_BAND_NONE) {
AMjumptoFM();
}
break;
case BAND_MW:
if (bandAM == AM_BAND_LW_MW_SW || bandAM == AM_BAND_MW_SW_AIR || bandAM == AM_BAND_MW_SW || bandAM == AM_BAND_ALL) {
band = BAND_SW;
} else if (bandAM == AM_BAND_LW_MW_AIR || bandAM == AM_BAND_MW_AIR) {
band = BAND_AIR;
} else if (bandAM == AM_BAND_MW || bandAM == AM_BAND_NONE) {
AMjumptoFM();
}
break;
case BAND_SW:
if (bandAM == AM_BAND_LW_SW_AIR || bandAM == AM_BAND_MW_SW_AIR || bandAM == AM_BAND_SW_AIR || bandAM == AM_BAND_ALL) {
band = BAND_AIR;
} else if (bandAM == AM_BAND_LW_MW_SW || bandAM == AM_BAND_LW_SW || bandAM == AM_BAND_MW_SW || bandAM == AM_BAND_SW || bandAM == AM_BAND_NONE) {
AMjumptoFM();
}
break;
case BAND_AIR:
AMjumptoFM();
break;
#else // has no air band
case BAND_LW:
if (bandAM == AM_BAND_LW_MW || bandAM == AM_BAND_ALL) {
band = BAND_MW;
@@ -1540,9 +1360,8 @@ void ToggleBand(byte nowBand) {
break;
case BAND_SW:
if (bandFM != FM_BAND_NONE) {
if (bandFM == FM_BAND_FM) band = BAND_FM;
else band = BAND_OIRT;
} else { // FM be disabled
if (bandFM == FM_BAND_FM) band = BAND_FM; else band = BAND_OIRT;
} else {
if (bandAM == AM_BAND_LW_SW || bandAM == AM_BAND_ALL) {
band = BAND_LW;
} else if (bandAM == AM_BAND_MW_SW) {
@@ -1552,7 +1371,6 @@ void ToggleBand(byte nowBand) {
}
}
break;
#endif
case BAND_OIRT:
if (bandFM == FM_BAND_ALL || bandFM == FM_BAND_FM) {
band = BAND_FM;
@@ -1654,13 +1472,10 @@ void StoreFrequency() {
EEPROM.writeUInt(EE_UINT16_FREQUENCY_LW, frequency_LW);
EEPROM.writeUInt(EE_UINT16_FREQUENCY_MW, frequency_MW);
EEPROM.writeUInt(EE_UINT16_FREQUENCY_SW, frequency_SW);
#ifdef HAS_AIR_BAND
EEPROM.writeUInt(EE_UINT16_FREQUENCY_AIR, frequency_AIR);
#endif
EEPROM.commit();
}
void LimitAMFrequency() {//todo air
void LimitAMFrequency() {
switch (band) {
case BAND_LW:
frequency_AM = frequency_LW;
@@ -2038,23 +1853,10 @@ void SelectBand() {
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
}
LimitAMFrequency();
if (!externaltune) CheckBandForbiddenAM();
#ifdef HAS_AIR_BAND
if (band == BAND_AIR) {
radio.SetFreqAIR(10700);
log_d("BAND SELECT -> 航空的频率: %d",frequency_AIR);
} else {
radio.SetFreqAM(frequency_AM);
}
#else
radio.SetFreqAM(frequency_AM);
#endif
log_d("BAND SELECT -> 现在的频率: %d",frequency_AM);
radio.setAMAttenuation(amgain);
radio.setAMCoChannel(amcodect, amcodectcount);
doBW();
@@ -2074,11 +1876,7 @@ void SelectBand() {
tftPrint(0, "iMS", 265, 59, GreyoutColor, BackgroundColor, 16);
tft.drawRoundRect(286, 56, 32, 20, 5, GreyoutColor);
tftPrint(0, "EQ", 303, 59, GreyoutColor, BackgroundColor, 16);
// todo
// if (band == AM_BAND_AIR) tftPrint(-1, "MHz", 258, 76, ActiveColor, ActiveColorSmooth, 28);
// else tftPrint(-1, "KHz", 258, 76, ActiveColor, ActiveColorSmooth, 28);
}
log_d("BAND SELECT -> 现在的波段: %d",band);
} else {
if (tunemode == TUNE_MI_BAND) tunemode = TUNE_MAN;
radio.power(0);
@@ -2313,7 +2111,7 @@ void Round5K(unsigned int freqAM) {
}
}
void RoundStep() {//todo air
void RoundStep() {
if (band == BAND_FM) {
unsigned int freq = frequency;
switch (fmdefaultstepsize) {
@@ -2368,7 +2166,7 @@ void ButtonPress() {
EEPROM.writeByte(memorypos + EE_PRESETS_BAND_START, band);
EEPROM.writeByte(memorypos + EE_PRESET_BW_START, BWset);
EEPROM.writeByte(memorypos + EE_PRESET_MS_START, StereoToggle);
if (band == BAND_FM) {//todo air
if (band == BAND_FM) {
EEPROM.writeUInt((memorypos * 4) + EE_PRESETS_FREQUENCY_START, frequency);
} else if (band == BAND_OIRT) {
EEPROM.writeUInt((memorypos * 4) + EE_PRESETS_FREQUENCY_START, frequency_OIRT);
@@ -2402,7 +2200,7 @@ void ButtonPress() {
EEPROM.commit();
if (band == BAND_FM) {//todo air
if (band == BAND_FM) {
presets[memorypos].frequency = frequency;
} else if (band == BAND_OIRT) {
presets[memorypos].frequency = frequency_OIRT;
@@ -2708,36 +2506,22 @@ void DoMemoryPosTune() {
band = presets[memorypos].band;
}
switch (band) {
case BAND_FM:
frequency = presets[memorypos].frequency;
radio.SetFreq(frequency);
break;
case BAND_OIRT:
frequency = presets[memorypos].frequency;
radio.SetFreq(frequency_OIRT);
break;
case BAND_LW:
frequency = presets[memorypos].frequency;
radio.SetFreq(frequency_LW);
break;
case BAND_MW:
frequency = presets[memorypos].frequency;
radio.SetFreq(frequency_MW);
break;
case BAND_SW:
frequency = presets[memorypos].frequency;
radio.SetFreq(frequency_SW);
break;
#ifdef HAS_AIR_BAND
case BAND_AIR:
frequency = presets[memorypos].frequency;
// radio.SetFreq(frequency_AIR); // todo
radio.SetFreqAM(10700); // todo
break;
#endif
if (band == BAND_FM) {
frequency = presets[memorypos].frequency;
radio.SetFreq(frequency);
} else if (band == BAND_OIRT) {
frequency_OIRT = presets[memorypos].frequency;
radio.SetFreq(frequency_OIRT);
} else if (band == BAND_LW) {
frequency_LW = presets[memorypos].frequency;
radio.SetFreqAM(frequency_LW);
} else if (band == BAND_MW) {
frequency_MW = presets[memorypos].frequency;
radio.SetFreqAM(frequency_MW);
} else if (band == BAND_SW) {
frequency_SW = presets[memorypos].frequency;
radio.SetFreqAM(frequency_SW);
}
ShowFreq(0);
if (band == BAND_FM || band == BAND_OIRT) {
@@ -2809,9 +2593,6 @@ void ShowFreq(int mode) {
case BAND_LW: frequency_AM = frequency_LW; break;
case BAND_MW: frequency_AM = frequency_MW; break;
case BAND_SW: frequency_AM = frequency_SW; break;
#ifdef HAS_AIR_BAND
case BAND_AIR: frequency_AM = frequency_AIR; break; // todo air
#endif
}
if (!screenmute) {
@@ -2828,11 +2609,7 @@ void ShowFreq(int mode) {
FrequencySprite.setTextDatum(TR_DATUM);
FrequencySprite.setTextColor(FreqColor, FreqColorSmooth, false);
if (band == BAND_AIR) {
FrequencySprite.drawString(String(frequency_AM / 1000) + "." + String(frequency_AM % 1000) + " ", 218, -6);
} else {
FrequencySprite.drawString(String(frequency_AM) + " ", 218, -6);
}
FrequencySprite.drawString(String(frequency_AM) + " ", 218, -6);
FrequencySprite.unloadFont();
FrequencySprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
FrequencySprite.setTextDatum(TL_DATUM);
@@ -3294,7 +3071,7 @@ void doSquelch() {
SquelchSprite.unloadFont();
}
void updateBW() {//todo air
void updateBW() {
if (BWset == 0) {
if (!screenmute && !advancedRDS && !afscreen) {
tft.drawRoundRect(248, 35, 71, 20, 5, ActiveColor);
@@ -3346,8 +3123,7 @@ void updateEQ() {
}
void updateCodetect() {
if (
band > BAND_GAP && band != BAND_AIR) {
if (band > BAND_GAP) {
if (WAM) {
tftPrint(-1, "CO", 50, 61, PrimaryColor, PrimaryColorSmooth, 16);
} else {
@@ -3657,18 +3433,10 @@ 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 {
temp = FREQ_SW_STEP_5K;
frequency_AM = (frequency_AM / FREQ_SW_STEP_5K) * FREQ_SW_STEP_5K;
}
#ifdef HAS_AIR_BAND
else if (frequency_AM < AIRHighEdgeSet && frequency_AM > AIRLowEdgeSet) {
if (airstepsize == 0) temp = FREQ_AIR_STEP_25K;
else temp = FREQ_AIR_STEP_8K33;
log_d("tune up airband stepsize = %d",airstepsize);
}
#endif
} else {
if (band == BAND_OIRT) {
temp = FREQ_OIRT_STEP_30K;
@@ -3733,18 +3501,6 @@ void TuneUp() {
radio.SetFreqAM(frequency_AM);
frequency_SW = frequency_AM;
}
#ifdef HAS_AIR_BAND
else if (band == BAND_AIR) {
log_d("tune up airband = %d",frequency_AM);
frequency_AM += temp;
if (frequency_AIR > AIRHighEdgeSet) {
frequency_AM = AIRLowEdgeSet;
if (edgebeep) EdgeBeeper();
}
radio.SetFreqAM(frequency_AM);
frequency_AIR = frequency_AM;
}
#endif
radio.clearRDS(fullsearchrds);
if (RDSSPYUSB) Serial.print("G:\r\nRESET-------\r\n\r\n");
if (RDSSPYTCP) RemoteClient.print("G:\r\nRESET-------\r\n\r\n");
@@ -4003,9 +3759,6 @@ void DefaultSettings(byte userhardwaremodel) {
if (userhardwaremodel == BASE_ILI9341) EEPROM.writeUInt(EE_UINT16_FREQUENCY_LW, 180); else EEPROM.writeUInt(EE_UINT16_FREQUENCY_LW, 164);
if (userhardwaremodel == BASE_ILI9341) EEPROM.writeUInt(EE_UINT16_FREQUENCY_MW, 540); else EEPROM.writeUInt(EE_UINT16_FREQUENCY_MW, 639);
if (userhardwaremodel == BASE_ILI9341) EEPROM.writeUInt(EE_UINT16_FREQUENCY_SW, 1800); else EEPROM.writeUInt(EE_UINT16_FREQUENCY_SW, 5000);
#ifdef HAS_AIR_BAND
EEPROM.writeUInt(EE_UINT16_FREQUENCY_AIR, 135350);
#endif
EEPROM.writeString(EE_STRING_XDRGTK_KEY, "password");
if (userhardwaremodel == BASE_ILI9341) EEPROM.writeByte(EE_BYTE_USESQUELCH, 1); else EEPROM.writeByte(EE_BYTE_USESQUELCH, 0);
EEPROM.writeByte(EE_BYTE_SHOWMODULATION, 1);
@@ -4037,9 +3790,6 @@ void DefaultSettings(byte userhardwaremodel) {
EEPROM.writeByte(EE_BYTE_FASTPS, 1);
EEPROM.writeByte(EE_BYTE_TOT, 0);
EEPROM.writeByte(EE_BYTE_MWREGION, 0);
#ifdef HAS_AIR_BAND
EEPROM.writeByte(EE_BYTE_AIRSTEPSIZE, 0);
#endif
EEPROM.writeByte(EE_BYTE_SPISPEED, 0);
EEPROM.writeByte(EE_BYTE_AMSCANSENS, 4);
EEPROM.writeByte(EE_BYTE_FMSCANSENS, 4);
@@ -4266,9 +4016,6 @@ void endMenu() {
EEPROM.writeByte(EE_BYTE_FASTPS, radio.rds.fastps);
EEPROM.writeByte(EE_BYTE_TOT, tot);
EEPROM.writeByte(EE_BYTE_MWREGION, mwstepsize);
#ifdef HAS_AIR_BAND
EEPROM.writeByte(EE_BYTE_AIRSTEPSIZE, airstepsize);
#endif
EEPROM.writeByte(EE_BYTE_SPISPEED, spispeed);
EEPROM.writeByte(EE_BYTE_AMSCANSENS, amscansens);
EEPROM.writeByte(EE_BYTE_FMSCANSENS, fmscansens);
+4 -8
View File
@@ -135,16 +135,16 @@ void TEF6686::init(byte TEF) {
if (xtalADC < XTAL_0V_ADC + XTAL_ADC_TOL) {
Tuner_Init(tuner_init_tab9216);
log_d("TEF668X XTAL : 9.216M");
log_v("XTAL : 9.216M");
} else if (xtalADC > XTAL_1V_ADC - XTAL_ADC_TOL && xtalADC < XTAL_1V_ADC + XTAL_ADC_TOL) {
Tuner_Init(tuner_init_tab12000);
log_d("TEF668X XTAL : 12M");
log_v("XTAL : 12M");
} else if (xtalADC > XTAL_2V_ADC - XTAL_ADC_TOL && xtalADC < XTAL_2V_ADC + XTAL_ADC_TOL) {
Tuner_Init(tuner_init_tab55000);
log_d("TEF668X XTAL : 55M");
log_v("XTAL : 55M");
} else {
Tuner_Init(tuner_init_tab4000);
log_d("TEF668X XTAL : 4M");
log_v("XTAL : 4M");
}
power(1);
Tuner_Init(tuner_init_tab);
@@ -178,10 +178,6 @@ void TEF6686::SetFreqAM(uint16_t frequency) {
devTEF_Radio_Tune_AM (frequency);
}
void TEF6686::SetFreqAIR(uint16_t frequency) {
devTEF_Radio_Tune_AM (10700);
}
void TEF6686::setOffset(int8_t offset) {
devTEF_Radio_Set_LevelOffset(offset * 10);
}
-1
View File
@@ -660,7 +660,6 @@ class TEF6686 {
void readRDS(byte showrdserrors);
void SetFreq(uint16_t frequency);
void SetFreqAM(uint16_t frequency);
void SetFreqAIR(uint16_t frequency);
bool getProcessing(uint16_t &highcut, uint16_t &stereo, uint16_t &sthiblend, uint8_t &stband_1, uint8_t &stband_2, uint8_t &stband_3, uint8_t &stband_4);
bool getStatus(int16_t &level, uint16_t &USN, uint16_t &WAM, int16_t &offset, uint16_t &bandwidth, uint16_t &modulation, int8_t &snr);
bool getStatusAM(int16_t &level, uint16_t &noise, uint16_t &cochannel, int16_t &offset, uint16_t &bandwidth, uint16_t &modulation, int8_t &snr);
-9
View File
@@ -1,9 +0,0 @@
#ifndef CONFIG_H
#define CONFIG_H
#include <Arduino.h>
// #define HAS_AIR_BAND // uncomment to enable Air Band(Make sure you have Air Band extend board)
#define CHINA_PORTABLE // uncomment for China Portable build (Simplified Chinese)
#endif
+2 -33
View File
@@ -1,5 +1,3 @@
#include "config.h"
#define ON 1
#define OFF 0
#define REVERSE false
@@ -35,10 +33,6 @@
#define FREQ_MW_STEP_9K 9
#define FREQ_MW_STEP_10K 10
#define FREQ_SW_STEP_5K 5
#ifdef HAS_AIR_BAND
#define FREQ_AIR_STEP_25K 25
#define FREQ_AIR_STEP_8K33 8.33
#endif
#define FREQ_OIRT_STEP_30K 3
#define FREQ_FM_STEP_50K 5
#define FREQ_FM_STEP_100K 10
@@ -54,10 +48,6 @@
#define FREQ_SW_LOW_EDGE_MAX (FREQ_SW_160M_START)
#define FREQ_SW_HIGH_EDGE_MIN (FREQ_SW_11M_END)
#define FREQ_SW_HIGH_EDGE_MAX (FREQ_SW_END)
#ifdef HAS_AIR_BAND
#define FREQ_AIR_LOW_EDGE_MIN 108000
#define FREQ_AIR_HIGH_EDGE_MIN 137000
#endif
#define FREQ_FM_START 65000
#define FREQ_FM_END 108000
#define FREQ_FM_OIRT_START 6500 // use values of 1/10 * kHz
@@ -206,13 +196,9 @@
// EEPROM index defines
#define EE_PRESETS_CNT 99 // When set > 99 change the complete EEPROM adressing!
#define EE_CHECKBYTE_VALUE 10 // 0 ~ 255,add new entry, change for new value
#define EE_CHECKBYTE_VALUE 7 // 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 2219 // Total occupied eeprom bytes
#else
#define EE_TOTAL_CNT 2214 // Total occupied eeprom bytes
#endif
#define EE_PRESETS_BAND_START 0 // 99 * 1 byte
#define EE_PRESET_BW_START 99 // 99 * 1 byte
@@ -310,10 +296,6 @@
#define EE_BYTE_SCANMEM 2211
#define EE_BYTE_SCANCANCEL 2212
#define EE_BYTE_SCANMUTE 2213
#ifdef HAS_AIR_BAND
#define EE_BYTE_AIRSTEPSIZE 2114
#define EE_UINT16_FREQUENCY_AIR 2215
#endif
// End of EEPROM index defines
static const char* const unitString[] = {"dBμV", "dBf", "dBm"};
@@ -337,28 +319,15 @@ enum SCAN_CANCEL {
// FM band: before BAND_GAP; AM band: after BAND_GAP
enum RADIO_BAND {
BAND_OIRT = 0, BAND_FM, BAND_GAP, BAND_LW, BAND_MW, BAND_SW, BAND_AIR
BAND_OIRT = 0, BAND_FM, BAND_GAP, BAND_LW, BAND_MW, BAND_SW
};
#ifndef HAS_AIR_BAND
// Toggle: LW -> MW -> SW
enum RADIO_AM_BAND_SELECTION {
AM_BAND_ALL = 0, AM_BAND_LW_MW, AM_BAND_LW_SW, AM_BAND_MW_SW,
AM_BAND_LW, AM_BAND_MW, AM_BAND_SW, AM_BAND_NONE,
AM_BAND_CNT
};
#else
// Toggle: LW -> MW -> SW -> AIR
enum RADIO_AM_BAND_SELECTION {
AM_BAND_ALL = 0,
AM_BAND_LW_MW_SW, AM_BAND_LW_MW_AIR, AM_BAND_LW_SW_AIR, AM_BAND_MW_SW_AIR,
AM_BAND_LW_MW, AM_BAND_LW_SW, AM_BAND_LW_AIR,
AM_BAND_MW_SW, AM_BAND_MW_AIR,
AM_BAND_SW_AIR,
AM_BAND_LW, AM_BAND_MW, AM_BAND_SW, AM_BAND_AIR, AM_BAND_NONE,
AM_BAND_CNT
};
#endif /* end of HAS_AIR_BAND */
// Toggle: OIRT -> FM
enum RADIO_FM_BAND_SELECTION {
+5 -103
View File
@@ -1,7 +1,6 @@
#include "gui.h"
#include "language.h"
#include "constants.h"
#include "config.h"
#include <WiFi.h>
#include <Wire.h>
#include <EEPROM.h>
@@ -1194,27 +1193,7 @@ void ShowOneLine(byte position, byte item, bool selected) {
FullLineSprite.setTextDatum(TR_DATUM);
FullLineSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
#ifdef HAS_AIR_BAND
switch (bandAM) {
case AM_BAND_ALL: FullLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104] + String(",") + myLanguage[language][223], 298, 3); break;
case AM_BAND_LW_MW_SW: FullLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104], 298, 3); break;
case AM_BAND_LW_MW_AIR: FullLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][223], 298, 3); break;
case AM_BAND_LW_SW_AIR: FullLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][104] + String(",") + myLanguage[language][223], 298, 3); break;
case AM_BAND_MW_SW_AIR: FullLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][104] + String(",") + myLanguage[language][223], 298, 3); break;
case AM_BAND_LW_MW: FullLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103], 298, 3); break;
case AM_BAND_LW_SW: FullLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][104], 298, 3); break;
case AM_BAND_LW_AIR: FullLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][223], 298, 3); break;
case AM_BAND_MW_SW: FullLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][104], 298, 3); break;
case AM_BAND_MW_AIR: FullLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][223], 298, 3); break;
case AM_BAND_SW_AIR: FullLineSprite.drawString(myLanguage[language][104] + String(",") + myLanguage[language][223], 298, 3); break;
case AM_BAND_LW: FullLineSprite.drawString(myLanguage[language][102], 298, 3); break;
case AM_BAND_MW: FullLineSprite.drawString(myLanguage[language][103], 298, 3); break;
case AM_BAND_SW: FullLineSprite.drawString(myLanguage[language][104], 298, 3); break;
case AM_BAND_AIR: FullLineSprite.drawString(myLanguage[language][223], 298, 3); break;
case AM_BAND_NONE: FullLineSprite.drawString(myLanguage[language][83], 298, 3); break;
}
break;
#else
switch (bandAM) {
case AM_BAND_ALL: FullLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104], 298, 3); break;
case AM_BAND_LW_MW: FullLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103], 298, 3); break;
@@ -1225,8 +1204,7 @@ void ShowOneLine(byte position, byte item, bool selected) {
case AM_BAND_SW: FullLineSprite.drawString(myLanguage[language][104], 298, 3); break;
case AM_BAND_NONE: FullLineSprite.drawString(myLanguage[language][83], 298, 3); break;
}
break;
#endif
break;
case DISPLAYSETTINGS:
FullLineSprite.setTextDatum(TL_DATUM);
@@ -1640,22 +1618,10 @@ void BuildDisplay() {
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 (band < BAND_GAP) tftPrint(-1, "MHz", 258, 76, ActiveColor, ActiveColorSmooth, 28); else tftPrint(-1, "kHz", 258, 76, ActiveColor, ActiveColorSmooth, 28);
RDSstatusold = false;
Stereostatusold = false;
@@ -1819,26 +1785,7 @@ void MenuUp() {
case ITEM8:
bandAM++;
if (bandAM > AM_BAND_CNT - 1) bandAM = AM_BAND_ALL;
#ifdef HAS_AIR_BAND
switch (bandAM) {
case AM_BAND_ALL: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104]+ String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_LW_MW_SW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104], 135, 0); break;
case AM_BAND_LW_MW_AIR: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_LW_SW_AIR: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][104] + String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_MW_SW_AIR: OneBigLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][104] + String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_LW_MW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103], 135, 0); break;
case AM_BAND_LW_SW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][104], 135, 0); break;
case AM_BAND_LW_AIR: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_MW_SW: OneBigLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][104], 135, 0); break;
case AM_BAND_MW_AIR: OneBigLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_SW_AIR: OneBigLineSprite.drawString(myLanguage[language][104] + String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_LW: OneBigLineSprite.drawString(myLanguage[language][102], 135, 0); break;
case AM_BAND_MW: OneBigLineSprite.drawString(myLanguage[language][103], 135, 0); break;
case AM_BAND_SW: OneBigLineSprite.drawString(myLanguage[language][104], 135, 0); break;
case AM_BAND_AIR: OneBigLineSprite.drawString(myLanguage[language][223], 135, 0); break;
case AM_BAND_NONE: OneBigLineSprite.drawString(myLanguage[language][83], 135, 0); break;
}
#else
switch (bandAM) {
case AM_BAND_ALL: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104], 135, 0); break;
case AM_BAND_LW_MW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103], 135, 0); break;
@@ -1849,7 +1796,7 @@ void MenuUp() {
case AM_BAND_SW: OneBigLineSprite.drawString(myLanguage[language][104], 135, 0); break;
case AM_BAND_NONE: OneBigLineSprite.drawString(myLanguage[language][83], 135, 0); break;
}
#endif
OneBigLineSprite.pushSprite(24, 118);
break;
@@ -2642,26 +2589,6 @@ void MenuDown() {
bandAM--;
if (bandAM > AM_BAND_CNT) bandAM = AM_BAND_NONE;
#ifdef HAS_AIR_BAND
switch (bandAM) {
case AM_BAND_ALL: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104]+ String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_LW_MW_SW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104], 135, 0); break;
case AM_BAND_LW_MW_AIR: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_LW_SW_AIR: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][104] + String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_MW_SW_AIR: OneBigLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][104] + String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_LW_MW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103], 135, 0); break;
case AM_BAND_LW_SW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][104], 135, 0); break;
case AM_BAND_LW_AIR: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_MW_SW: OneBigLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][104], 135, 0); break;
case AM_BAND_MW_AIR: OneBigLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_SW_AIR: OneBigLineSprite.drawString(myLanguage[language][104] + String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_LW: OneBigLineSprite.drawString(myLanguage[language][102], 135, 0); break;
case AM_BAND_MW: OneBigLineSprite.drawString(myLanguage[language][103], 135, 0); break;
case AM_BAND_SW: OneBigLineSprite.drawString(myLanguage[language][104], 135, 0); break;
case AM_BAND_AIR: OneBigLineSprite.drawString(myLanguage[language][223], 135, 0); break;
case AM_BAND_NONE: OneBigLineSprite.drawString(myLanguage[language][83], 135, 0); break;
}
#else
switch (bandAM) {
case AM_BAND_ALL: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104], 135, 0); break;
case AM_BAND_LW_MW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103], 135, 0); break;
@@ -2672,8 +2599,6 @@ void MenuDown() {
case AM_BAND_SW: OneBigLineSprite.drawString(myLanguage[language][104], 135, 0); break;
case AM_BAND_NONE: OneBigLineSprite.drawString(myLanguage[language][83], 135, 0); break;
}
#endif
OneBigLineSprite.pushSprite(24, 118);
break;
@@ -3176,7 +3101,6 @@ void MenuDown() {
OneBigLineSprite.drawString((showSWMIBand ? myLanguage[language][42] : myLanguage[language][30]), 135, 0);
OneBigLineSprite.pushSprite(24, 118);
break;
case ITEM5:
@@ -3531,26 +3455,6 @@ void DoMenu() {
case ITEM8:
Infoboxprint(myLanguage[language][101]);
#ifdef HAS_AIR_BAND
switch (bandAM) {
case AM_BAND_ALL: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104]+ String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_LW_MW_SW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104], 135, 0); break;
case AM_BAND_LW_MW_AIR: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_LW_SW_AIR: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][104] + String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_MW_SW_AIR: OneBigLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][104] + String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_LW_MW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103], 135, 0); break;
case AM_BAND_LW_SW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][104], 135, 0); break;
case AM_BAND_LW_AIR: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_MW_SW: OneBigLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][104], 135, 0); break;
case AM_BAND_MW_AIR: OneBigLineSprite.drawString(myLanguage[language][103] + String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_SW_AIR: OneBigLineSprite.drawString(myLanguage[language][104] + String(",") + myLanguage[language][223], 135, 0); break;
case AM_BAND_LW: OneBigLineSprite.drawString(myLanguage[language][102], 135, 0); break;
case AM_BAND_MW: OneBigLineSprite.drawString(myLanguage[language][103], 135, 0); break;
case AM_BAND_SW: OneBigLineSprite.drawString(myLanguage[language][104], 135, 0); break;
case AM_BAND_AIR: OneBigLineSprite.drawString(myLanguage[language][223], 135, 0); break;
case AM_BAND_NONE: OneBigLineSprite.drawString(myLanguage[language][83], 135, 0); break;
}
#else
switch (bandAM) {
case AM_BAND_ALL: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104], 135, 0); break;
case AM_BAND_LW_MW: OneBigLineSprite.drawString(myLanguage[language][102] + String(",") + myLanguage[language][103], 135, 0); break;
@@ -3561,8 +3465,6 @@ void DoMenu() {
case AM_BAND_SW: OneBigLineSprite.drawString(myLanguage[language][104], 135, 0); break;
case AM_BAND_NONE: OneBigLineSprite.drawString(myLanguage[language][83], 135, 0); break;
}
#endif
OneBigLineSprite.pushSprite(24, 118);
break;
+19 -37
View File
@@ -5,7 +5,7 @@
// [number of languages][number of texts]
// *** means the text is the same as in English
static const char* const myLanguage[18][224] PROGMEM = {
static const char* const myLanguage[18][223] PROGMEM = {
{ "English", // English
"Rotary direction changed", // 1
"Please release button", // 2
@@ -228,8 +228,7 @@ static const char* const myLanguage[18][224] PROGMEM = {
"Auto cancel scan", // 219
"Correct PI", // 220
"Signal", // 221
"Mute audio\nwhile scanning", // 222
"AIR" // 223
"Mute audio\nwhile scanning" // 222
},
{ "Nederlands", // Dutch
@@ -454,8 +453,7 @@ static const char* const myLanguage[18][224] PROGMEM = {
"Auto afbreken", // 219
"Correcte PI", // 220
"Signaal", // 221
"Geen geluid\ntijdens scannen", // 222
"AIR" // 223
"Geen geluid\ntijdens scannen" // 222
},
{ "Polski", // Polish
@@ -680,8 +678,7 @@ static const char* const myLanguage[18][224] PROGMEM = {
"Automatyczne\nanulowanie skanowania", // 219
"Poprawne PI", // 220
"Sygnał", // 221
"Wycisz dźwięk\npodczas skanowania", // 222
"AIR" // 223
"Wycisz dźwięk\npodczas skanowania" // 222
},
{ "Hrvatski", // Croatian
@@ -906,8 +903,7 @@ static const char* const myLanguage[18][224] PROGMEM = {
"Auto cancel scan", // 219
"Correct PI", // 220
"Signal", // 221
"Mute audio\nwhile scanning", // 222
"AIR" // 223
"Mute audio\nwhile scanning" // 222
},
{ "Ελληνικά", // Greek
@@ -1132,8 +1128,7 @@ static const char* const myLanguage[18][224] PROGMEM = {
"Αυτόματη ακύρωση\nανίχνευσης", // 219
"Σωστό PI", // 220
"Σήμα", // 221
"Σίγαση ήχου\nκατά την ανίχνευση", // 222
"AIR" // 223
"Σίγαση ήχου\nκατά την ανίχνευση" // 222
},
{ "Română", // Romanian
@@ -1358,8 +1353,7 @@ static const char* const myLanguage[18][224] PROGMEM = {
"Auto cancel scan", // 219
"Correct PI", // 220
"Signal", // 221
"Mute audio\nwhile scanning", // 222
"AIR" // 223
"Mute audio\nwhile scanning" // 222
},
{ "Deutsch", // German
@@ -1584,8 +1578,7 @@ static const char* const myLanguage[18][224] PROGMEM = {
"Automatisches Scan-Ende", // 219
"Korrekter PI-Code", // 220
"Signal", // 221
"Stumm beim Scannen", // 222
"AIR" // 223
"Stumm beim Scannen" // 222
},
{ "Český", // Czech
@@ -1810,8 +1803,7 @@ static const char* const myLanguage[18][224] PROGMEM = {
"Auto cancel scan", // 219
"Correct PI", // 220
"Signal", // 221
"Mute audio\nwhile scanning", // 222
"AIR" // 223
"Mute audio\nwhile scanning" // 222
},
{ "Slovenský", // Slovak
@@ -2036,8 +2028,7 @@ static const char* const myLanguage[18][224] PROGMEM = {
"Auto cancel scan", // 219
"Correct PI", // 220
"Signal", // 221
"Mute audio\nwhile scanning", // 222
"AIR" // 223
"Mute audio\nwhile scanning" // 222
},
{ "Français", // French
@@ -2262,8 +2253,7 @@ static const char* const myLanguage[18][224] PROGMEM = {
"Annuler automatiquement", // 219
"PI Correct", // 220
"Signal", // 221
"Audio muet lors\nde la numérisation", // 222
"AIR" // 223
"Audio muet lors\nde la numérisation" // 222
},
{ "Български", // Bulgarian
@@ -2488,8 +2478,7 @@ static const char* const myLanguage[18][224] PROGMEM = {
"Auto cancel scan", // 219
"Correct PI", // 220
"Signal", // 221
"Mute audio\nwhile scanning", // 222
"AIR" // 223
"Mute audio\nwhile scanning" // 222
},
{ "Русский", // Russian
@@ -2714,8 +2703,7 @@ static const char* const myLanguage[18][224] PROGMEM = {
"Автоматическая отмена \nсканирования", // 219
"При корректном PI", // 220
"При наличии сигнала", // 221
"Отключать аудио\nпри сканировании", // 222
"AIR" // 223
"Отключать аудио\nпри сканировании" // 222
},
{ "Українська", // Ukranian
@@ -2940,8 +2928,7 @@ static const char* const myLanguage[18][224] PROGMEM = {
"Auto cancel scan", // 219
"Correct PI", // 220
"Signal", // 221
"Mute audio\nwhile scanning", // 222
"AIR" // 223
"Mute audio\nwhile scanning" // 222
},
{ "Italiano", // Italian
@@ -3166,8 +3153,7 @@ static const char* const myLanguage[18][224] PROGMEM = {
"Fine scansione automatica", // 219
"PI corretto", // 220
"Signale", // 221
"Audio silenziato\ndurante scansione", // 222
"AIR" // 223
"Audio silenziato\ndurante scansione" // 222
},
{ "Simplified Chinese", // Simplified Chinese
@@ -3392,8 +3378,7 @@ static const char* const myLanguage[18][224] PROGMEM = {
"扫频停台条件", // 219
"节目识别码正确", // 220
"信号超阈值", // 221
"扫描时静音", // 222
"AIR" // 223
"扫描时静音" // 222
},
{ "Norsk", // Norwegian
@@ -3618,8 +3603,7 @@ static const char* const myLanguage[18][224] PROGMEM = {
"Avbryt skanning automatisk", // 219
"korrekt PI", // 220
"Signal", // 221
"Demp lyden\nmens du skanner", // 222
"AIR" // 223
"Demp lyden\nmens du skanner" // 222
},
{ "Español", // Spanish
@@ -3844,8 +3828,7 @@ static const char* const myLanguage[18][224] PROGMEM = {
"Cancelar automáticamente\nla búsqueda", // 219
"PI correcto", // 220
"Señal", // 221
"Audio mudo\nmientras busca", // 222
"AIR" // 223
"Audio mudo\nmientras busca" // 222
},
{ "Português", // Portuguese
@@ -4070,8 +4053,7 @@ static const char* const myLanguage[18][224] PROGMEM = {
"Cancelar automatic.\na pesquisa", // 219
"PI correto", // 220
"Sinal", // 221
"Mudo áudio\nenquanto procura", // 222
"AIR" // 223
"Mudo áudio\nenquanto procura" // 222
}
};
#endif