Merge pull request #110 from ohmytime/New_OIRT
This commit is contained in:
+415
-134
@@ -101,6 +101,9 @@ byte afpagenr;
|
|||||||
byte amnb;
|
byte amnb;
|
||||||
byte audiomode;
|
byte audiomode;
|
||||||
byte band;
|
byte band;
|
||||||
|
byte bandAM;
|
||||||
|
byte bandFM;
|
||||||
|
byte bandforbidden;
|
||||||
byte battery;
|
byte battery;
|
||||||
byte batteryold;
|
byte batteryold;
|
||||||
byte BWset;
|
byte BWset;
|
||||||
@@ -241,6 +244,7 @@ unsigned int change;
|
|||||||
unsigned int ConverterSet;
|
unsigned int ConverterSet;
|
||||||
unsigned int freq_scan;
|
unsigned int freq_scan;
|
||||||
unsigned int frequency;
|
unsigned int frequency;
|
||||||
|
unsigned int frequency_OIRT;
|
||||||
unsigned int frequency_AM;
|
unsigned int frequency_AM;
|
||||||
unsigned int frequency_LW;
|
unsigned int frequency_LW;
|
||||||
unsigned int frequency_MIBand_11M; // Surive before tuner restart
|
unsigned int frequency_MIBand_11M; // Surive before tuner restart
|
||||||
@@ -308,12 +312,15 @@ void setup() {
|
|||||||
if (EEPROM.readByte(EE_BYTE_CHECKBYTE) != EE_CHECKBYTE_VALUE) DefaultSettings();
|
if (EEPROM.readByte(EE_BYTE_CHECKBYTE) != EE_CHECKBYTE_VALUE) DefaultSettings();
|
||||||
|
|
||||||
frequency = EEPROM.readUInt(EE_UINT16_FREQUENCY_FM);
|
frequency = EEPROM.readUInt(EE_UINT16_FREQUENCY_FM);
|
||||||
|
frequency_OIRT = EEPROM.readUInt(EE_UINT16_FREQUENCY_OIRT);
|
||||||
VolSet = EEPROM.readInt(EE_BYTE_VOLSET);
|
VolSet = EEPROM.readInt(EE_BYTE_VOLSET);
|
||||||
ConverterSet = EEPROM.readUInt(EE_UINT16_CONVERTERSET);
|
ConverterSet = EEPROM.readUInt(EE_UINT16_CONVERTERSET);
|
||||||
LowEdgeSet = EEPROM.readUInt(EE_UINT16_FMLOWEDGESET);
|
LowEdgeSet = EEPROM.readUInt(EE_UINT16_FMLOWEDGESET);
|
||||||
HighEdgeSet = EEPROM.readUInt(EE_UINT16_FMHIGHEDGESET);
|
HighEdgeSet = EEPROM.readUInt(EE_UINT16_FMHIGHEDGESET);
|
||||||
ContrastSet = EEPROM.readByte(EE_BYTE_CONTRASTSET);
|
ContrastSet = EEPROM.readByte(EE_BYTE_CONTRASTSET);
|
||||||
StereoLevel = EEPROM.readByte(EE_BYTE_STEREOLEVEL);
|
StereoLevel = EEPROM.readByte(EE_BYTE_STEREOLEVEL);
|
||||||
|
bandFM = EEPROM.readByte(EE_BYTE_BANDFM);
|
||||||
|
bandAM = EEPROM.readByte(EE_BYTE_BANDAM);
|
||||||
HighCutLevel = EEPROM.readByte(EE_BYTE_HIGHCUTLEVEL);
|
HighCutLevel = EEPROM.readByte(EE_BYTE_HIGHCUTLEVEL);
|
||||||
HighCutOffset = EEPROM.readByte(EE_BYTE_HIGHCUTOFFSET);
|
HighCutOffset = EEPROM.readByte(EE_BYTE_HIGHCUTOFFSET);
|
||||||
LevelOffset = EEPROM.readByte(EE_BYTE_LEVELOFFSET);
|
LevelOffset = EEPROM.readByte(EE_BYTE_LEVELOFFSET);
|
||||||
@@ -352,8 +359,8 @@ void setup() {
|
|||||||
fmnb = EEPROM.readByte(EE_BYTE_FM_NB);
|
fmnb = EEPROM.readByte(EE_BYTE_FM_NB);
|
||||||
audiomode = EEPROM.readByte(EE_BYTE_AUDIOMODE);
|
audiomode = EEPROM.readByte(EE_BYTE_AUDIOMODE);
|
||||||
specialstepOIRT = EEPROM.readByte(EE_BYTE_OIRT);
|
specialstepOIRT = EEPROM.readByte(EE_BYTE_OIRT);
|
||||||
LowEdgeOIRTSet = EEPROM.readUInt(EE_UINT16_LOWEDGEOIRTSET);
|
// LowEdgeOIRTSet = EEPROM.readUInt(EE_UINT16_LOWEDGEOIRTSET);
|
||||||
HighEdgeOIRTSet = EEPROM.readUInt(EE_UINT16_HIGHEDGEOIRTSET);
|
// HighEdgeOIRTSet = EEPROM.readUInt(EE_UINT16_HIGHEDGEOIRTSET);
|
||||||
colorinvert = EEPROM.readByte(EE_BYTE_COLORINVERT);
|
colorinvert = EEPROM.readByte(EE_BYTE_COLORINVERT);
|
||||||
poweroptions = EEPROM.readByte(EE_BYTE_POWEROPTIONS);
|
poweroptions = EEPROM.readByte(EE_BYTE_POWEROPTIONS);
|
||||||
CurrentTheme = EEPROM.readByte(EE_BYTE_CURRENTTHEME);
|
CurrentTheme = EEPROM.readByte(EE_BYTE_CURRENTTHEME);
|
||||||
@@ -370,6 +377,11 @@ void setup() {
|
|||||||
MWHighEdgeSet = region == 0 ? FREQ_MW_HIGH_EDGE_MAX_9K : FREQ_MW_HIGH_EDGE_MAX_10K; // later will read from flash
|
MWHighEdgeSet = region == 0 ? FREQ_MW_HIGH_EDGE_MAX_9K : FREQ_MW_HIGH_EDGE_MAX_10K; // later will read from flash
|
||||||
SWLowEdgeSet = FREQ_SW_LOW_EDGE_MIN;
|
SWLowEdgeSet = FREQ_SW_LOW_EDGE_MIN;
|
||||||
SWHighEdgeSet = FREQ_SW_HIGH_EDGE_MAX;
|
SWHighEdgeSet = FREQ_SW_HIGH_EDGE_MAX;
|
||||||
|
if (LowEdgeOIRTSet < FREQ_FM_OIRT_START || LowEdgeOIRTSet > FREQ_FM_OIRT_END) LowEdgeOIRTSet = FREQ_FM_OIRT_START;
|
||||||
|
if (HighEdgeOIRTSet < FREQ_FM_OIRT_START || HighEdgeOIRTSet > FREQ_FM_OIRT_END) HighEdgeOIRTSet = FREQ_FM_OIRT_END;
|
||||||
|
|
||||||
|
LowEdgeOIRTSet = LowEdgeOIRTSet;
|
||||||
|
HighEdgeOIRTSet = FREQ_FM_OIRT_END;
|
||||||
|
|
||||||
for (int i = 0; i < EE_PRESETS_CNT; i++) memoryband[i] = EEPROM.readByte(i + EE_PRESETS_BAND_START);
|
for (int i = 0; i < EE_PRESETS_CNT; i++) memoryband[i] = EEPROM.readByte(i + EE_PRESETS_BAND_START);
|
||||||
for (int i = 0; i < EE_PRESETS_CNT; i++) memory[i] = EEPROM.readUInt((i * 4) + EE_PRESETS_START);
|
for (int i = 0; i < EE_PRESETS_CNT; i++) memory[i] = EEPROM.readUInt((i * 4) + EE_PRESETS_START);
|
||||||
@@ -393,16 +405,13 @@ void setup() {
|
|||||||
break;
|
break;
|
||||||
case BAND_SW: frequency_SW = frequency_AM; break;
|
case BAND_SW: frequency_SW = frequency_AM; break;
|
||||||
case BAND_FM:
|
case BAND_FM:
|
||||||
if (specialstepOIRT) {
|
if (frequency % 10 != 0) {
|
||||||
if (frequency >= (FREQ_FM_OIRT_START) && frequency <= (FREQ_FM_OIRT_END)) {
|
if (fmdefaultstepsize == 1) Round100K(frequency); else Round50K(frequency);
|
||||||
if (frequency % 3 != 0) {
|
}
|
||||||
Round30K(frequency);
|
break;
|
||||||
}
|
case BAND_OIRT:
|
||||||
}
|
if (frequency % FREQ_OIRT_STEP_30K != 0) {
|
||||||
} else {
|
Round30K(frequency_OIRT);
|
||||||
if (frequency % 10 != 0) {
|
|
||||||
if (fmdefaultstepsize == 1) Round100K(frequency); else Round50K(frequency);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default: break;
|
default: break;
|
||||||
@@ -641,7 +650,7 @@ void loop() {
|
|||||||
|
|
||||||
if (seek == true) Seek(direction);
|
if (seek == true) Seek(direction);
|
||||||
|
|
||||||
if ((SStatus / 10 > LowLevelSet) && LowLevelInit == false && menu == false && band == BAND_FM) {
|
if ((SStatus / 10 > LowLevelSet) && LowLevelInit == false && menu == false && band < BAND_GAP) {
|
||||||
if (screenmute == false && !advancedRDS && !afscreen) {
|
if (screenmute == false && !advancedRDS && !afscreen) {
|
||||||
if (showmodulation) {
|
if (showmodulation) {
|
||||||
tftPrint(-1, "10", 27, 144, ActiveColor, ActiveColorSmooth, FONT16);
|
tftPrint(-1, "10", 27, 144, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
@@ -668,7 +677,7 @@ void loop() {
|
|||||||
LowLevelInit = true;
|
LowLevelInit = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((SStatus / 10 <= LowLevelSet) && band == BAND_FM) {
|
if ((SStatus / 10 <= LowLevelSet) && band < BAND_GAP) {
|
||||||
if (LowLevelInit == true && menu == false) {
|
if (LowLevelInit == true && menu == false) {
|
||||||
if (screenmute == false && !afscreen && !advancedRDS) {
|
if (screenmute == false && !afscreen && !advancedRDS) {
|
||||||
for (byte segments = 0; segments < 94; segments++) {
|
for (byte segments = 0; segments < 94; segments++) {
|
||||||
@@ -700,7 +709,7 @@ void loop() {
|
|||||||
|
|
||||||
if (millis() >= lowsignaltimer + 300) {
|
if (millis() >= lowsignaltimer + 300) {
|
||||||
lowsignaltimer = millis();
|
lowsignaltimer = millis();
|
||||||
if (band == BAND_FM) radio.getStatus(SStatus, USN, WAM, OStatus, BW, MStatus, SNR); else radio.getStatusAM(SStatus, USN, WAM, OStatus, BW, MStatus, SNR);
|
if (band < BAND_GAP) radio.getStatus(SStatus, USN, WAM, OStatus, BW, MStatus, SNR); else radio.getStatusAM(SStatus, USN, WAM, OStatus, BW, MStatus, SNR);
|
||||||
if (screenmute == true) readRds();
|
if (screenmute == true) readRds();
|
||||||
if (menu == false) {
|
if (menu == false) {
|
||||||
doSquelch();
|
doSquelch();
|
||||||
@@ -709,7 +718,7 @@ void loop() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (band == BAND_FM) radio.getStatus(SStatus, USN, WAM, OStatus, BW, MStatus, SNR); else radio.getStatusAM(SStatus, USN, WAM, OStatus, BW, MStatus, SNR);
|
if (band < BAND_GAP) radio.getStatus(SStatus, USN, WAM, OStatus, BW, MStatus, SNR); else radio.getStatusAM(SStatus, USN, WAM, OStatus, BW, MStatus, SNR);
|
||||||
if (menu == false) {
|
if (menu == false) {
|
||||||
doSquelch();
|
doSquelch();
|
||||||
readRds();
|
readRds();
|
||||||
@@ -719,7 +728,7 @@ void loop() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (menu == true && menuopen == true && menupage == 1 && menuoption == 110) {
|
if (menu == true && menuopen == true && menupage == 1 && menuoption == 110) {
|
||||||
if (band == BAND_FM) radio.getStatus(SStatus, USN, WAM, OStatus, BW, MStatus, SNR); else radio.getStatusAM(SStatus, USN, WAM, OStatus, BW, MStatus, SNR);
|
if (band < BAND_GAP) radio.getStatus(SStatus, USN, WAM, OStatus, BW, MStatus, SNR); else radio.getStatusAM(SStatus, USN, WAM, OStatus, BW, MStatus, SNR);
|
||||||
if (millis() >= lowsignaltimer + 500 || change2 == true) {
|
if (millis() >= lowsignaltimer + 500 || change2 == true) {
|
||||||
lowsignaltimer = millis();
|
lowsignaltimer = millis();
|
||||||
change2 = false;
|
change2 = false;
|
||||||
@@ -760,6 +769,7 @@ void loop() {
|
|||||||
detachInterrupt(digitalPinToInterrupt(ROTARY_PIN_A));
|
detachInterrupt(digitalPinToInterrupt(ROTARY_PIN_A));
|
||||||
detachInterrupt(digitalPinToInterrupt(ROTARY_PIN_B));
|
detachInterrupt(digitalPinToInterrupt(ROTARY_PIN_B));
|
||||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_FM, frequency);
|
EEPROM.writeUInt(EE_UINT16_FREQUENCY_FM, frequency);
|
||||||
|
EEPROM.writeUInt(EE_UINT16_FREQUENCY_OIRT, frequency_OIRT);
|
||||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_AM, frequency_AM);
|
EEPROM.writeUInt(EE_UINT16_FREQUENCY_AM, frequency_AM);
|
||||||
EEPROM.writeByte(EE_BYTE_BAND, band);
|
EEPROM.writeByte(EE_BYTE_BAND, band);
|
||||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_LW, frequency_LW);
|
EEPROM.writeUInt(EE_UINT16_FREQUENCY_LW, frequency_LW);
|
||||||
@@ -789,9 +799,9 @@ void loop() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void GetData() {
|
void GetData() {
|
||||||
if (band == BAND_FM) ShowStereoStatus();
|
if (band < BAND_GAP) ShowStereoStatus();
|
||||||
if (screenmute == false) {
|
if (screenmute == false) {
|
||||||
if (band == BAND_FM) {
|
if (band < BAND_GAP) {
|
||||||
if (advancedRDS && !afscreen) ShowAdvancedRDS();
|
if (advancedRDS && !afscreen) ShowAdvancedRDS();
|
||||||
if (afscreen) ShowAFEON();
|
if (afscreen) ShowAFEON();
|
||||||
if (!afscreen)
|
if (!afscreen)
|
||||||
@@ -912,6 +922,257 @@ void ScreensaverInterrupt()
|
|||||||
screensaver_IRQ = ON;
|
screensaver_IRQ = ON;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CheckBandForbiddenFM () {
|
||||||
|
switch (band) {
|
||||||
|
case BAND_FM:
|
||||||
|
if (bandFM == FM_BAND_OIRT) bandforbidden = 1;
|
||||||
|
else bandforbidden = 0;
|
||||||
|
break;
|
||||||
|
case BAND_OIRT:
|
||||||
|
if (bandFM == FM_BAND_FM) bandforbidden = 1;
|
||||||
|
else bandforbidden = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void doBandSelectionFM() {
|
||||||
|
if (band > BAND_GAP) return;
|
||||||
|
|
||||||
|
switch (bandFM) {
|
||||||
|
case FM_BAND_ALL:
|
||||||
|
break;
|
||||||
|
case FM_BAND_OIRT:
|
||||||
|
if (band == BAND_FM) {
|
||||||
|
band = BAND_OIRT;
|
||||||
|
if (frequency_OIRT > FREQ_FM_OIRT_END) {
|
||||||
|
frequency_OIRT = FREQ_FM_OIRT_START;
|
||||||
|
if (edgebeep) EdgeBeeper();
|
||||||
|
}
|
||||||
|
else if (frequency_OIRT < FREQ_FM_OIRT_START) {
|
||||||
|
frequency_OIRT = FREQ_FM_OIRT_END;
|
||||||
|
if (edgebeep) EdgeBeeper();
|
||||||
|
}
|
||||||
|
SelectBand();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case FM_BAND_FM:
|
||||||
|
if (band == BAND_OIRT) {
|
||||||
|
band = BAND_FM;
|
||||||
|
if (frequency > HighEdgeSet * 10) {
|
||||||
|
frequency = LowEdgeSet * 10;
|
||||||
|
if (edgebeep) EdgeBeeper();
|
||||||
|
} else if (frequency < LowEdgeSet * 10) {
|
||||||
|
frequency = HighEdgeSet * 10;
|
||||||
|
if (edgebeep) EdgeBeeper();
|
||||||
|
}
|
||||||
|
SelectBand();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ShowBandSelectionFM(bool notglanceview, bool normaldisplay) {
|
||||||
|
|
||||||
|
uint16_t bandFMx, bandFMy;
|
||||||
|
int color, colorSmooth;
|
||||||
|
|
||||||
|
if (notglanceview) {
|
||||||
|
bandFMx = 155;
|
||||||
|
bandFMy = 118;
|
||||||
|
} else {
|
||||||
|
bandFMx = 305;
|
||||||
|
bandFMy = 196;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (normaldisplay) {
|
||||||
|
color = PrimaryColor;
|
||||||
|
colorSmooth = PrimaryColorSmooth;
|
||||||
|
} else {
|
||||||
|
color = BackgroundColor;
|
||||||
|
colorSmooth = BackgroundColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (bandFM) {
|
||||||
|
case FM_BAND_ALL:
|
||||||
|
if (notglanceview) tftPrint(0, myLanguage[language][105] + String(",") + myLanguage[language][106], bandFMx, bandFMy, color, colorSmooth, FONT28);
|
||||||
|
else tftPrint(1, myLanguage[language][105] + String(",") + myLanguage[language][106], bandFMx, bandFMy, color, colorSmooth, FONT16);
|
||||||
|
break;
|
||||||
|
case FM_BAND_OIRT:
|
||||||
|
if (notglanceview) tftPrint(0, myLanguage[language][106], bandFMx, bandFMy, color, colorSmooth, FONT28);
|
||||||
|
else tftPrint(1, myLanguage[language][106], bandFMx, bandFMy, color, colorSmooth, FONT16);
|
||||||
|
break;
|
||||||
|
case FM_BAND_FM:
|
||||||
|
if (notglanceview) tftPrint(0, myLanguage[language][105], bandFMx, bandFMy, color, colorSmooth, FONT28);
|
||||||
|
else tftPrint(1, myLanguage[language][105], bandFMx, bandFMy, color, colorSmooth, FONT16);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CheckBandForbiddenAM () {
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void doBandSelectionAM() {
|
||||||
|
if (band < BAND_GAP) return;
|
||||||
|
|
||||||
|
switch (bandAM) {
|
||||||
|
case AM_BAND_ALL:
|
||||||
|
break;
|
||||||
|
case AM_BAND_LW_MW:
|
||||||
|
if (band == BAND_SW) {
|
||||||
|
band = BAND_LW;
|
||||||
|
SelectBand();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case AM_BAND_LW_SW:
|
||||||
|
if (band == BAND_MW) {
|
||||||
|
band = BAND_LW;
|
||||||
|
SelectBand();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case AM_BAND_MW_SW:
|
||||||
|
if (band == BAND_LW) {
|
||||||
|
band = BAND_MW;
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ShowBandSelectionAM(bool notglanceview, bool normaldisplay) {
|
||||||
|
|
||||||
|
uint16_t bandAMx, bandAMy;
|
||||||
|
int color, colorSmooth;
|
||||||
|
|
||||||
|
if (notglanceview) {
|
||||||
|
bandAMx = 155;
|
||||||
|
bandAMy = 118;
|
||||||
|
} else {
|
||||||
|
bandAMx = 305;
|
||||||
|
bandAMy = 216;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (normaldisplay) {
|
||||||
|
color = PrimaryColor;
|
||||||
|
colorSmooth = PrimaryColorSmooth;
|
||||||
|
} else {
|
||||||
|
color = BackgroundColor;
|
||||||
|
colorSmooth = BackgroundColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (bandAM) {
|
||||||
|
case AM_BAND_ALL:
|
||||||
|
if (notglanceview) tftPrint(0, myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104], bandAMx, bandAMy, color, colorSmooth, FONT28);
|
||||||
|
else tftPrint(1, myLanguage[language][102] + String(",") + myLanguage[language][103] + String(",") + myLanguage[language][104], bandAMx, bandAMy, color, colorSmooth, FONT16);
|
||||||
|
break;
|
||||||
|
case AM_BAND_LW_MW:
|
||||||
|
if (notglanceview) tftPrint(0, myLanguage[language][102] + String(",") + myLanguage[language][103], bandAMx, bandAMy, color, colorSmooth, FONT28);
|
||||||
|
else tftPrint(1, myLanguage[language][102] + String(",") + myLanguage[language][103], bandAMx, bandAMy, color, colorSmooth, FONT16);
|
||||||
|
break;
|
||||||
|
case AM_BAND_LW_SW:
|
||||||
|
if (notglanceview) tftPrint(0, myLanguage[language][102] + String(",") + myLanguage[language][104], bandAMx, bandAMy, color, colorSmooth, FONT28);
|
||||||
|
else tftPrint(1, myLanguage[language][102] + String(",") + myLanguage[language][104], bandAMx, bandAMy, color, colorSmooth, FONT16);
|
||||||
|
break;
|
||||||
|
case AM_BAND_MW_SW:
|
||||||
|
if (notglanceview) tftPrint(0, myLanguage[language][103] + String(",") + myLanguage[language][104], bandAMx, bandAMy, color, colorSmooth, FONT28);
|
||||||
|
else tftPrint(1, myLanguage[language][103] + String(",") + myLanguage[language][104], bandAMx, bandAMy, color, colorSmooth, FONT16);
|
||||||
|
break;
|
||||||
|
case AM_BAND_LW:
|
||||||
|
if (notglanceview) tftPrint(0, myLanguage[language][102], bandAMx, bandAMy, color, colorSmooth, FONT28);
|
||||||
|
else tftPrint(1, myLanguage[language][102], bandAMx, bandAMy, color, colorSmooth, FONT16);
|
||||||
|
break;
|
||||||
|
case AM_BAND_MW:
|
||||||
|
if (notglanceview) tftPrint(0, myLanguage[language][103], bandAMx, bandAMy, color, colorSmooth, FONT28);
|
||||||
|
else tftPrint(1, myLanguage[language][103], bandAMx, bandAMy, color, colorSmooth, FONT16);
|
||||||
|
break;
|
||||||
|
case AM_BAND_SW:
|
||||||
|
if (notglanceview) tftPrint(0, myLanguage[language][104], bandAMx, bandAMy, color, colorSmooth, FONT28);
|
||||||
|
else tftPrint(1, myLanguage[language][104], bandAMx, bandAMy, color, colorSmooth, FONT16);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ToggleBand(byte nowBand) {
|
||||||
|
switch (nowBand) {
|
||||||
|
case BAND_LW:
|
||||||
|
if (bandAM == AM_BAND_LW_MW || bandAM == AM_BAND_ALL) band = BAND_MW;
|
||||||
|
else if (bandAM == AM_BAND_LW_SW) band = BAND_SW;
|
||||||
|
else if (bandAM == AM_BAND_LW) {
|
||||||
|
if (bandFM == FM_BAND_FM) band = BAND_FM;
|
||||||
|
else band = BAND_OIRT;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case BAND_MW:
|
||||||
|
if (bandAM == AM_BAND_MW_SW || bandAM == AM_BAND_ALL) band = BAND_SW;
|
||||||
|
else if (bandAM == AM_BAND_LW_MW || bandAM == AM_BAND_MW) {
|
||||||
|
if (bandFM == FM_BAND_FM) band = BAND_FM;
|
||||||
|
else band = BAND_OIRT;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case BAND_SW:
|
||||||
|
if (bandFM == FM_BAND_FM) band = BAND_FM;
|
||||||
|
else band = BAND_OIRT;
|
||||||
|
break;
|
||||||
|
case BAND_OIRT:
|
||||||
|
if (bandFM == FM_BAND_ALL) band = BAND_FM;
|
||||||
|
else if (bandFM == FM_BAND_OIRT) {
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
else if (bandAM == AM_BAND_MW_SW || bandAM == AM_BAND_MW) band = BAND_MW;
|
||||||
|
else if (bandAM == AM_BAND_SW) band = BAND_SW;
|
||||||
|
} else if (bandFM == FM_BAND_FM) {
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
else if (bandAM == AM_BAND_MW_SW || bandAM == AM_BAND_MW) band = BAND_MW;
|
||||||
|
else if (bandAM == AM_BAND_SW) band = BAND_SW;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case BAND_FM:
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
else if (bandAM == AM_BAND_MW_SW || bandAM == AM_BAND_MW) band = BAND_MW;
|
||||||
|
else if (bandAM == AM_BAND_SW) band = BAND_SW;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void BANDBUTTONPress() {
|
void BANDBUTTONPress() {
|
||||||
if (!power) {
|
if (!power) {
|
||||||
if (screensavertriggered) WakeToSleep(REVERSE);
|
if (screensavertriggered) WakeToSleep(REVERSE);
|
||||||
@@ -935,13 +1196,7 @@ void BANDBUTTONPress() {
|
|||||||
ScreensaverTimerReopen();
|
ScreensaverTimerReopen();
|
||||||
} else {
|
} else {
|
||||||
if (tunemode != TUNE_MEM) {
|
if (tunemode != TUNE_MEM) {
|
||||||
if (band == BAND_FM) {
|
ToggleBand(band);
|
||||||
band = BAND_LW;
|
|
||||||
if (stepsize > 3) stepsize = 3;
|
|
||||||
}
|
|
||||||
else if (band == BAND_LW) band = BAND_MW;
|
|
||||||
else if (band == BAND_MW) band = BAND_SW;
|
|
||||||
else if (band == BAND_SW) band = BAND_FM;
|
|
||||||
StoreFrequency();
|
StoreFrequency();
|
||||||
SelectBand();
|
SelectBand();
|
||||||
}
|
}
|
||||||
@@ -953,7 +1208,7 @@ void BANDBUTTONPress() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (band == BAND_FM) {
|
if (band < BAND_GAP) {
|
||||||
if (advancedRDS && !seek) BuildAFScreen(); else BuildAdvancedRDS();
|
if (advancedRDS && !seek) BuildAFScreen(); else BuildAdvancedRDS();
|
||||||
} else {
|
} else {
|
||||||
WakeToSleep(true);
|
WakeToSleep(true);
|
||||||
@@ -968,6 +1223,7 @@ void BANDBUTTONPress() {
|
|||||||
|
|
||||||
void StoreFrequency() {
|
void StoreFrequency() {
|
||||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_FM, frequency);
|
EEPROM.writeUInt(EE_UINT16_FREQUENCY_FM, frequency);
|
||||||
|
EEPROM.writeUInt(EE_UINT16_FREQUENCY_OIRT, frequency_OIRT);
|
||||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_AM, frequency_AM);
|
EEPROM.writeUInt(EE_UINT16_FREQUENCY_AM, frequency_AM);
|
||||||
EEPROM.writeByte(EE_BYTE_BAND, band);
|
EEPROM.writeByte(EE_BYTE_BAND, band);
|
||||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_LW, frequency_LW);
|
EEPROM.writeUInt(EE_UINT16_FREQUENCY_LW, frequency_LW);
|
||||||
@@ -1067,6 +1323,7 @@ void DivdeSWMIBand() {
|
|||||||
}
|
}
|
||||||
SWMIBandPos = SW_MI_BAND_GAP;
|
SWMIBandPos = SW_MI_BAND_GAP;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ToggleSWMIBand(bool frequencyup) {
|
void ToggleSWMIBand(bool frequencyup) {
|
||||||
@@ -1343,7 +1600,7 @@ void ToggleSWMIBand(bool frequencyup) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void SelectBand() {
|
void SelectBand() {
|
||||||
if (band != BAND_FM) {
|
if (band > BAND_GAP) {
|
||||||
seek = false;
|
seek = false;
|
||||||
if (tunemode == TUNE_AUTO) tunemode = TUNE_MAN;
|
if (tunemode == TUNE_AUTO) tunemode = TUNE_MAN;
|
||||||
if (tunemode == TUNE_MI_BAND && band != BAND_SW) tunemode = TUNE_MAN;
|
if (tunemode == TUNE_MI_BAND && band != BAND_SW) tunemode = TUNE_MAN;
|
||||||
@@ -1351,6 +1608,7 @@ void SelectBand() {
|
|||||||
BWset = 2;
|
BWset = 2;
|
||||||
freqold = frequency_AM;
|
freqold = frequency_AM;
|
||||||
LimitAMFrequency();
|
LimitAMFrequency();
|
||||||
|
CheckBandForbiddenAM();
|
||||||
radio.SetFreqAM(frequency_AM);
|
radio.SetFreqAM(frequency_AM);
|
||||||
doBW();
|
doBW();
|
||||||
radio.getStatusAM(SStatus, USN, WAM, OStatus, BW, MStatus, SNR);
|
radio.getStatusAM(SStatus, USN, WAM, OStatus, BW, MStatus, SNR);
|
||||||
@@ -1372,8 +1630,10 @@ void SelectBand() {
|
|||||||
if (tunemode == TUNE_MI_BAND) tunemode = TUNE_MAN;
|
if (tunemode == TUNE_MI_BAND) tunemode = TUNE_MAN;
|
||||||
radio.power(0);
|
radio.power(0);
|
||||||
delay(50);
|
delay(50);
|
||||||
radio.SetFreq(frequency);
|
if (band == BAND_FM) radio.SetFreq(frequency);
|
||||||
|
else if (band == BAND_OIRT) radio.SetFreq(frequency_OIRT);
|
||||||
freqold = frequency_AM;
|
freqold = frequency_AM;
|
||||||
|
CheckBandForbiddenFM();
|
||||||
doBW();
|
doBW();
|
||||||
radio.getStatus(SStatus, USN, WAM, OStatus, BW, MStatus, SNR);
|
radio.getStatus(SStatus, USN, WAM, OStatus, BW, MStatus, SNR);
|
||||||
if (screenmute == false) radio.clearRDS(fullsearchrds); BuildDisplay();
|
if (screenmute == false) radio.clearRDS(fullsearchrds); BuildDisplay();
|
||||||
@@ -1468,20 +1728,9 @@ void ModeButtonPress() {
|
|||||||
BWOld = 0;
|
BWOld = 0;
|
||||||
radio.clearRDS(fullsearchrds);
|
radio.clearRDS(fullsearchrds);
|
||||||
RDSstatus = false;
|
RDSstatus = false;
|
||||||
if (specialstepOIRT) {
|
if (frequency % 10 != 0) {
|
||||||
if (frequency >= (FREQ_FM_OIRT_START) && frequency <= (FREQ_FM_OIRT_END)) {
|
if (fmdefaultstepsize == 1) Round100K(frequency); else Round50K(frequency);
|
||||||
if (frequency % 3 != 0) {
|
EEPROM.writeUInt(EE_UINT16_FREQUENCY_FM, frequency);
|
||||||
Round30K(frequency);
|
|
||||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_FM, frequency);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (fmdefaultstepsize == 1) Round100K(frequency); else Round50K(frequency);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (frequency % 10 != 0) {
|
|
||||||
if (fmdefaultstepsize == 1) Round100K(frequency); else Round50K(frequency);
|
|
||||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_FM, frequency);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
radio.clearRDS(fullsearchrds);
|
radio.clearRDS(fullsearchrds);
|
||||||
BuildDisplay();
|
BuildDisplay();
|
||||||
@@ -1496,6 +1745,8 @@ void ModeButtonPress() {
|
|||||||
EEPROM.writeUInt(EE_UINT16_FMHIGHEDGESET, HighEdgeSet);
|
EEPROM.writeUInt(EE_UINT16_FMHIGHEDGESET, HighEdgeSet);
|
||||||
EEPROM.writeByte(EE_BYTE_CONTRASTSET, ContrastSet);
|
EEPROM.writeByte(EE_BYTE_CONTRASTSET, ContrastSet);
|
||||||
EEPROM.writeByte(EE_BYTE_STEREOLEVEL, StereoLevel);
|
EEPROM.writeByte(EE_BYTE_STEREOLEVEL, StereoLevel);
|
||||||
|
EEPROM.writeByte(EE_BYTE_BANDFM, bandFM);
|
||||||
|
EEPROM.writeByte(EE_BYTE_BANDAM, bandAM);
|
||||||
EEPROM.writeByte(EE_BYTE_HIGHCUTLEVEL, HighCutLevel);
|
EEPROM.writeByte(EE_BYTE_HIGHCUTLEVEL, HighCutLevel);
|
||||||
EEPROM.writeByte(EE_BYTE_HIGHCUTOFFSET, HighCutOffset);
|
EEPROM.writeByte(EE_BYTE_HIGHCUTOFFSET, HighCutOffset);
|
||||||
EEPROM.writeInt(EE_BYTE_LEVELOFFSET, LevelOffset);
|
EEPROM.writeInt(EE_BYTE_LEVELOFFSET, LevelOffset);
|
||||||
@@ -1536,6 +1787,8 @@ void ModeButtonPress() {
|
|||||||
if (USBmode) Serial.begin(19200); else Serial.begin(115200);
|
if (USBmode) Serial.begin(19200); else Serial.begin(115200);
|
||||||
ScreensaverTimerSet(screensaverOptions[screensaverset]);
|
ScreensaverTimerSet(screensaverOptions[screensaverset]);
|
||||||
if (screensaverset) ScreensaverTimerRestart();
|
if (screensaverset) ScreensaverTimerRestart();
|
||||||
|
doBandSelectionFM();
|
||||||
|
doBandSelectionAM();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while (digitalRead(MODEBUTTON) == LOW) delay(50);
|
while (digitalRead(MODEBUTTON) == LOW) delay(50);
|
||||||
@@ -1546,22 +1799,22 @@ void ShowStepSize() {
|
|||||||
if (!advancedRDS) {
|
if (!advancedRDS) {
|
||||||
tft.fillRect(224, 38, 15, 4, GreyoutColor);
|
tft.fillRect(224, 38, 15, 4, GreyoutColor);
|
||||||
tft.fillRect(193, 38, 15, 4, GreyoutColor);
|
tft.fillRect(193, 38, 15, 4, GreyoutColor);
|
||||||
if (band == BAND_FM) tft.fillRect(148, 38, 15, 4, GreyoutColor); else tft.fillRect(162, 38, 15, 4, GreyoutColor);
|
if (band < BAND_GAP) tft.fillRect(148, 38, 15, 4, GreyoutColor); else tft.fillRect(162, 38, 15, 4, GreyoutColor);
|
||||||
if (band == BAND_FM) tft.fillRect(116, 38, 15, 4, GreyoutColor); else tft.fillRect(128, 38, 15, 4, GreyoutColor);
|
if (band < BAND_GAP) tft.fillRect(116, 38, 15, 4, GreyoutColor); else tft.fillRect(128, 38, 15, 4, GreyoutColor);
|
||||||
if (stepsize == 1) tft.fillRect(224, 38, 15, 4, InsignificantColor);
|
if (stepsize == 1) tft.fillRect(224, 38, 15, 4, InsignificantColor);
|
||||||
if (stepsize == 2) tft.fillRect(193, 38, 15, 4, InsignificantColor);
|
if (stepsize == 2) tft.fillRect(193, 38, 15, 4, InsignificantColor);
|
||||||
if (stepsize == 3) {
|
if (stepsize == 3) {
|
||||||
if (band == BAND_FM) tft.fillRect(148, 38, 15, 4, InsignificantColor); else tft.fillRect(162, 38, 15, 4, InsignificantColor);
|
if (band < BAND_GAP) tft.fillRect(148, 38, 15, 4, InsignificantColor); else tft.fillRect(162, 38, 15, 4, InsignificantColor);
|
||||||
}
|
}
|
||||||
if (stepsize == 4) {
|
if (stepsize == 4) {
|
||||||
if (band == BAND_FM) tft.fillRect(116, 38, 15, 4, InsignificantColor); else tft.fillRect(128, 38, 15, 4, InsignificantColor);
|
if (band < BAND_GAP) tft.fillRect(116, 38, 15, 4, InsignificantColor); else tft.fillRect(128, 38, 15, 4, InsignificantColor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FindhighStopOIRT() {
|
void FindhighStopOIRT() {
|
||||||
if (HighEdgeSet >= (FREQ_FM_OIRT_START / 10) && HighEdgeSet <= (FREQ_FM_OIRT_END / 10)) {
|
if (HighEdgeSet >= (FREQ_FM_OIRT_START / 10) && HighEdgeSet <= (FREQ_FM_OIRT_END / 10)) {
|
||||||
HighEdgeOIRTSet = (HighEdgeSet * 10 - (HighEdgeSet * 10) % 3);
|
HighEdgeOIRTSet = (HighEdgeSet * 10 - (HighEdgeSet * 10) % FREQ_OIRT_STEP_30K);
|
||||||
} else {
|
} else {
|
||||||
HighEdgeOIRTSet = 0;
|
HighEdgeOIRTSet = 0;
|
||||||
}
|
}
|
||||||
@@ -1569,15 +1822,15 @@ void FindhighStopOIRT() {
|
|||||||
|
|
||||||
void FindlowStopOIRT() {
|
void FindlowStopOIRT() {
|
||||||
if (LowEdgeSet >= (FREQ_FM_OIRT_START / 10) && LowEdgeSet <= (FREQ_FM_OIRT_END / 10)) {
|
if (LowEdgeSet >= (FREQ_FM_OIRT_START / 10) && LowEdgeSet <= (FREQ_FM_OIRT_END / 10)) {
|
||||||
LowEdgeOIRTSet = (LowEdgeSet * 10 - (LowEdgeSet * 10) % 3);
|
LowEdgeOIRTSet = (LowEdgeSet * 10 - (LowEdgeSet * 10) % FREQ_OIRT_STEP_30K);
|
||||||
} else {
|
} else {
|
||||||
LowEdgeOIRTSet = 0;
|
LowEdgeOIRTSet = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Round30K(unsigned int freq) {
|
void Round30K(unsigned int freq) {
|
||||||
if (freq % 3 < 3) {
|
if (freq % FREQ_OIRT_STEP_30K < FREQ_OIRT_STEP_30K) {
|
||||||
frequency = (freq - freq % 3);
|
frequency_OIRT = (freq - freq % FREQ_OIRT_STEP_30K);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1616,16 +1869,11 @@ void Round5K(unsigned int freqAM) {
|
|||||||
void RoundStep() {
|
void RoundStep() {
|
||||||
if (band == BAND_FM) {
|
if (band == BAND_FM) {
|
||||||
unsigned int freq = frequency;
|
unsigned int freq = frequency;
|
||||||
if (specialstepOIRT) {
|
if (fmdefaultstepsize == 1) Round100K(freq); else Round50K(freq);
|
||||||
if (frequency >= FREQ_FM_OIRT_START && frequency <= FREQ_FM_OIRT_END) {
|
|
||||||
Round30K(freq);
|
|
||||||
} else {
|
|
||||||
if (fmdefaultstepsize == 1) Round100K(freq); else Round50K(freq);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (fmdefaultstepsize == 1) Round100K(freq); else Round50K(freq);
|
|
||||||
}
|
|
||||||
radio.SetFreq(frequency);
|
radio.SetFreq(frequency);
|
||||||
|
} else if (band == BAND_OIRT) {
|
||||||
|
Round30K(frequency_OIRT);
|
||||||
|
radio.SetFreq(frequency_OIRT);
|
||||||
} else {
|
} else {
|
||||||
if (band == BAND_MW) {
|
if (band == BAND_MW) {
|
||||||
unsigned int freq = frequency_AM / (region == 0 ? FREQ_MW_STEP_9K : FREQ_MW_STEP_10K);
|
unsigned int freq = frequency_AM / (region == 0 ? FREQ_MW_STEP_9K : FREQ_MW_STEP_10K);
|
||||||
@@ -1639,7 +1887,9 @@ void RoundStep() {
|
|||||||
|
|
||||||
while (digitalRead(ROTARY_BUTTON) == LOW) delay(50);
|
while (digitalRead(ROTARY_BUTTON) == LOW) delay(50);
|
||||||
|
|
||||||
if (band == BAND_FM) EEPROM.writeUInt(EE_UINT16_FREQUENCY_FM, frequency); else EEPROM.writeUInt(EE_UINT16_FREQUENCY_AM, frequency_AM);
|
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();
|
EEPROM.commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1668,7 +1918,7 @@ void ButtonPress() {
|
|||||||
if (counter - counterold < 1000) {
|
if (counter - counterold < 1000) {
|
||||||
if (tunemode == TUNE_MAN) {
|
if (tunemode == TUNE_MAN) {
|
||||||
stepsize++;
|
stepsize++;
|
||||||
if (band == BAND_SW || band == BAND_FM) {
|
if (band == BAND_SW || band < BAND_GAP) {
|
||||||
if (stepsize > 4) stepsize = 0;
|
if (stepsize > 4) stepsize = 0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -1983,6 +2233,14 @@ void ButtonPress() {
|
|||||||
tftPrint(0, myLanguage[language][99], 155, 78, ActiveColor, ActiveColorSmooth, FONT28);
|
tftPrint(0, myLanguage[language][99], 155, 78, ActiveColor, ActiveColorSmooth, FONT28);
|
||||||
if (af) tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, FONT28); else tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, FONT28);
|
if (af) tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, FONT28); else tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, FONT28);
|
||||||
break;
|
break;
|
||||||
|
case 190:
|
||||||
|
tftPrint(0, myLanguage[language][100], 155, 78, ActiveColor, ActiveColorSmooth, FONT28);
|
||||||
|
ShowBandSelectionFM(true, true);
|
||||||
|
break;
|
||||||
|
case 210:
|
||||||
|
tftPrint(0, myLanguage[language][101], 155, 78, ActiveColor, ActiveColorSmooth, FONT28);
|
||||||
|
ShowBandSelectionAM(true, true);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -2376,6 +2634,21 @@ void KeyUp() {
|
|||||||
if (af) af = false; else af = true;
|
if (af) af = false; else af = true;
|
||||||
if (af) tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, FONT28); else tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, FONT28);
|
if (af) tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, FONT28); else tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, FONT28);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 190:
|
||||||
|
ShowBandSelectionFM(true, REVERSE);
|
||||||
|
bandFM++;
|
||||||
|
if (bandFM > FM_BAND_CNT - 1) bandFM = FM_BAND_ALL;
|
||||||
|
ShowBandSelectionFM(true, true);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 210:
|
||||||
|
ShowBandSelectionAM(true, REVERSE);
|
||||||
|
bandAM++;
|
||||||
|
if (bandAM > AM_BAND_CNT - 1) bandAM = AM_BAND_ALL;
|
||||||
|
ShowBandSelectionAM(true, true);
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -2467,10 +2740,6 @@ void KeyDown() {
|
|||||||
tftPrint(1, String(LowEdgeSet / 10 + ConverterSet, DEC) + "." + String(LowEdgeSet % 10 + ConverterSet, DEC), 155, 118, BackgroundColor, BackgroundColor, FONT28);
|
tftPrint(1, String(LowEdgeSet / 10 + ConverterSet, DEC) + "." + String(LowEdgeSet % 10 + ConverterSet, DEC), 155, 118, BackgroundColor, BackgroundColor, FONT28);
|
||||||
LowEdgeSet -= 10;
|
LowEdgeSet -= 10;
|
||||||
if (LowEdgeSet < 650) LowEdgeSet = 1079;
|
if (LowEdgeSet < 650) LowEdgeSet = 1079;
|
||||||
if (specialstepOIRT) {
|
|
||||||
FindlowStopOIRT();
|
|
||||||
FindhighStopOIRT();
|
|
||||||
}
|
|
||||||
tftPrint(1, String(LowEdgeSet / 10 + ConverterSet, DEC) + "." + String(LowEdgeSet % 10 + ConverterSet, DEC), 155, 118, PrimaryColor, PrimaryColorSmooth, FONT28);
|
tftPrint(1, String(LowEdgeSet / 10 + ConverterSet, DEC) + "." + String(LowEdgeSet % 10 + ConverterSet, DEC), 155, 118, PrimaryColor, PrimaryColorSmooth, FONT28);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -2478,10 +2747,6 @@ void KeyDown() {
|
|||||||
tftPrint(1, String(HighEdgeSet / 10 + ConverterSet, DEC) + "." + String(HighEdgeSet % 10 + ConverterSet, DEC), 155, 118, BackgroundColor, BackgroundColor, FONT28);
|
tftPrint(1, String(HighEdgeSet / 10 + ConverterSet, DEC) + "." + String(HighEdgeSet % 10 + ConverterSet, DEC), 155, 118, BackgroundColor, BackgroundColor, FONT28);
|
||||||
HighEdgeSet -= 10;
|
HighEdgeSet -= 10;
|
||||||
if (HighEdgeSet < 660) HighEdgeSet = 1080;
|
if (HighEdgeSet < 660) HighEdgeSet = 1080;
|
||||||
if (specialstepOIRT) {
|
|
||||||
FindlowStopOIRT();
|
|
||||||
FindhighStopOIRT();
|
|
||||||
}
|
|
||||||
tftPrint(1, String(HighEdgeSet / 10 + ConverterSet, DEC) + "." + String(HighEdgeSet % 10 + ConverterSet, DEC), 155, 118, PrimaryColor, PrimaryColorSmooth, FONT28); break;
|
tftPrint(1, String(HighEdgeSet / 10 + ConverterSet, DEC) + "." + String(HighEdgeSet % 10 + ConverterSet, DEC), 155, 118, PrimaryColor, PrimaryColorSmooth, FONT28); break;
|
||||||
|
|
||||||
case 110:
|
case 110:
|
||||||
@@ -2760,6 +3025,21 @@ void KeyDown() {
|
|||||||
if (af) af = false; else af = true;
|
if (af) af = false; else af = true;
|
||||||
if (af) tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, FONT28); else tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, FONT28);
|
if (af) tftPrint(0, myLanguage[language][42], 155, 118, PrimaryColor, PrimaryColorSmooth, FONT28); else tftPrint(0, myLanguage[language][30], 155, 118, PrimaryColor, PrimaryColorSmooth, FONT28);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 190:
|
||||||
|
ShowBandSelectionFM(true, REVERSE);
|
||||||
|
bandFM--;
|
||||||
|
if (bandFM > FM_BAND_CNT) bandFM = FM_BAND_FM;
|
||||||
|
ShowBandSelectionFM(true, true);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 210:
|
||||||
|
ShowBandSelectionAM(true, REVERSE);
|
||||||
|
bandAM--;
|
||||||
|
if (bandAM > AM_BAND_CNT) bandAM = AM_BAND_SW;
|
||||||
|
ShowBandSelectionAM(true, true);
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -2797,7 +3077,7 @@ void DoMemoryPosTune() {
|
|||||||
|
|
||||||
void readRds() {
|
void readRds() {
|
||||||
radio.readRDS(showrdserrors);
|
radio.readRDS(showrdserrors);
|
||||||
if (band == BAND_FM) {
|
if (band < BAND_GAP) {
|
||||||
RDSstatus = radio.rds.hasRDS;
|
RDSstatus = radio.rds.hasRDS;
|
||||||
ShowRDSLogo(RDSstatus);
|
ShowRDSLogo(RDSstatus);
|
||||||
if (!afscreen) {
|
if (!afscreen) {
|
||||||
@@ -3487,6 +3767,8 @@ void BuildMenu() {
|
|||||||
tftPrint(-1, myLanguage[language][97], 14, 136, ActiveColor, ActiveColorSmooth, FONT16);
|
tftPrint(-1, myLanguage[language][97], 14, 136, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
tftPrint(-1, myLanguage[language][98], 14, 156, ActiveColor, ActiveColorSmooth, FONT16);
|
tftPrint(-1, myLanguage[language][98], 14, 156, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
tftPrint(-1, myLanguage[language][99], 14, 176, ActiveColor, ActiveColorSmooth, FONT16);
|
tftPrint(-1, myLanguage[language][99], 14, 176, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
|
tftPrint(-1, myLanguage[language][100], 14, 196, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
|
tftPrint(-1, myLanguage[language][101], 14, 216, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
|
|
||||||
tftPrint(1, "KHz", 305, 96, ActiveColor, ActiveColorSmooth, FONT16);
|
tftPrint(1, "KHz", 305, 96, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
tftPrint(1, "dB", 305, 136, ActiveColor, ActiveColorSmooth, FONT16);
|
tftPrint(1, "dB", 305, 136, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
@@ -3506,6 +3788,8 @@ void BuildMenu() {
|
|||||||
if (AMLevelOffset > 0) tftPrint(1, "+" + String(AMLevelOffset, DEC), 265, 136, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(1, String(AMLevelOffset, DEC), 265, 136, PrimaryColor, PrimaryColorSmooth, FONT16);
|
if (AMLevelOffset > 0) tftPrint(1, "+" + String(AMLevelOffset, DEC), 265, 136, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(1, String(AMLevelOffset, DEC), 265, 136, PrimaryColor, PrimaryColorSmooth, FONT16);
|
||||||
if (af) tftPrint(1, myLanguage[language][42], 305, 176, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(1, myLanguage[language][30], 305, 176, PrimaryColor, PrimaryColorSmooth, FONT16);
|
if (af) tftPrint(1, myLanguage[language][42], 305, 176, PrimaryColor, PrimaryColorSmooth, FONT16); else tftPrint(1, myLanguage[language][30], 305, 176, PrimaryColor, PrimaryColorSmooth, FONT16);
|
||||||
tftPrint(1, unitString[unit], 305, 156, PrimaryColor, PrimaryColorSmooth, FONT16);
|
tftPrint(1, unitString[unit], 305, 156, PrimaryColor, PrimaryColorSmooth, FONT16);
|
||||||
|
ShowBandSelectionFM(false, true);
|
||||||
|
ShowBandSelectionAM(false, true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
analogWrite(SMETERPIN, 0);
|
analogWrite(SMETERPIN, 0);
|
||||||
@@ -3763,6 +4047,7 @@ void BuildAdvancedRDS() {
|
|||||||
void BuildDisplay() {
|
void BuildDisplay() {
|
||||||
afscreen = false;
|
afscreen = false;
|
||||||
advancedRDS = false;
|
advancedRDS = false;
|
||||||
|
int bandColor;
|
||||||
if (theme == 0) {
|
if (theme == 0) {
|
||||||
tft.invertDisplay(colorinvert);
|
tft.invertDisplay(colorinvert);
|
||||||
tft.fillScreen(BackgroundColor);
|
tft.fillScreen(BackgroundColor);
|
||||||
@@ -3830,7 +4115,7 @@ void BuildDisplay() {
|
|||||||
tftPrint(-1, "kHz", 222, 4, ActiveColor, ActiveColorSmooth, FONT28);
|
tftPrint(-1, "kHz", 222, 4, ActiveColor, ActiveColorSmooth, FONT28);
|
||||||
tftPrint(-1, unitString[unit], 282, 145, ActiveColor, ActiveColorSmooth, FONT16);
|
tftPrint(-1, unitString[unit], 282, 145, ActiveColor, ActiveColorSmooth, FONT16);
|
||||||
|
|
||||||
if (band == BAND_FM) tftPrint(-1, "MHz", 258, 76, ActiveColor, ActiveColorSmooth, FONT28); else tftPrint(-1, "kHz", 258, 76, ActiveColor, ActiveColorSmooth, FONT28);
|
if (band < BAND_GAP) tftPrint(-1, "MHz", 258, 76, ActiveColor, ActiveColorSmooth, FONT28); else tftPrint(-1, "kHz", 258, 76, ActiveColor, ActiveColorSmooth, FONT28);
|
||||||
|
|
||||||
tft.drawRoundRect(249, 56, 30, 20, 5, GreyoutColor);
|
tft.drawRoundRect(249, 56, 30, 20, 5, GreyoutColor);
|
||||||
tft.drawRoundRect(287, 56, 30, 20, 5, GreyoutColor);
|
tft.drawRoundRect(287, 56, 30, 20, 5, GreyoutColor);
|
||||||
@@ -3844,11 +4129,13 @@ void BuildDisplay() {
|
|||||||
tft.drawCircle(86, 15, 9, SecondaryColor);
|
tft.drawCircle(86, 15, 9, SecondaryColor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (bandforbidden) bandColor = GreyoutColor; else bandColor = SecondaryColor;
|
||||||
switch (band) {
|
switch (band) {
|
||||||
case BAND_LW: tftPrint(-1, "LW", 50, 32, SecondaryColor, SecondaryColorSmooth, FONT16); break;
|
case BAND_LW: tftPrint(-1, myLanguage[language][102], 50, 32, bandColor, SecondaryColorSmooth, FONT16); break;
|
||||||
case BAND_MW: tftPrint(-1, "MW", 50, 32, SecondaryColor, SecondaryColorSmooth, FONT16); break;
|
case BAND_MW: tftPrint(-1, myLanguage[language][103], 50, 32, bandColor, SecondaryColorSmooth, FONT16); break;
|
||||||
case BAND_SW: tftPrint(-1, "SW", 50, 32, SecondaryColor, SecondaryColorSmooth, FONT16); break;
|
case BAND_SW: tftPrint(-1, myLanguage[language][104], 50, 32, bandColor, SecondaryColorSmooth, FONT16); break;
|
||||||
case BAND_FM: tftPrint(-1, "FM", 50, 32, SecondaryColor, SecondaryColorSmooth, FONT16); break;
|
case BAND_FM: tftPrint(-1, myLanguage[language][105], 50, 32, bandColor, SecondaryColorSmooth, FONT16); break;
|
||||||
|
case BAND_OIRT: tftPrint(-1, myLanguage[language][106], 50, 32, bandColor, SecondaryColorSmooth, FONT16); break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
RDSstatusold = false;
|
RDSstatusold = false;
|
||||||
@@ -3879,7 +4166,7 @@ void ShowFreq(int mode) {
|
|||||||
tft.unloadFont();
|
tft.unloadFont();
|
||||||
if (screenmute == false) {
|
if (screenmute == false) {
|
||||||
if (setupmode == false) {
|
if (setupmode == false) {
|
||||||
if (band != BAND_FM) { // Fix Me :take care of 9K/10K Step
|
if (band != BAND_FM && band != BAND_OIRT) { // Fix Me :take care of 9K/10K Step
|
||||||
if (freqold < 2000 && frequency_AM >= 2000 && stepsize == 0) if (frequency_AM != 27000 && freqold != 144) radio.SetFreqAM(2000);
|
if (freqold < 2000 && frequency_AM >= 2000 && stepsize == 0) if (frequency_AM != 27000 && freqold != 144) radio.SetFreqAM(2000);
|
||||||
if (freqold >= 2000 && frequency_AM < 2000 && stepsize == 0) if (frequency_AM != 144 && freqold != 27000) radio.SetFreqAM(1998);
|
if (freqold >= 2000 && frequency_AM < 2000 && stepsize == 0) if (frequency_AM != 144 && freqold != 27000) radio.SetFreqAM(1998);
|
||||||
}
|
}
|
||||||
@@ -3888,7 +4175,7 @@ void ShowFreq(int mode) {
|
|||||||
if (screenmute == false) {
|
if (screenmute == false) {
|
||||||
detachInterrupt(digitalPinToInterrupt(ROTARY_PIN_A));
|
detachInterrupt(digitalPinToInterrupt(ROTARY_PIN_A));
|
||||||
detachInterrupt(digitalPinToInterrupt(ROTARY_PIN_B));
|
detachInterrupt(digitalPinToInterrupt(ROTARY_PIN_B));
|
||||||
if (band != BAND_FM ) {
|
if (band > BAND_GAP ) {
|
||||||
unsigned int freq = frequency_AM;
|
unsigned int freq = frequency_AM;
|
||||||
String count = String(freq, DEC);
|
String count = String(freq, DEC);
|
||||||
if ((setupmode == false && count.length() != freqoldcount) || mode != 0) {
|
if ((setupmode == false && count.length() != freqoldcount) || mode != 0) {
|
||||||
@@ -3906,7 +4193,10 @@ void ShowFreq(int mode) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
unsigned int freq = frequency + ConverterSet * 100;
|
unsigned int freq;
|
||||||
|
if (band == BAND_FM) freq = frequency + ConverterSet * 100;
|
||||||
|
else if (band == BAND_OIRT) freq = frequency_OIRT + ConverterSet * 100;
|
||||||
|
|
||||||
if (advancedRDS) {
|
if (advancedRDS) {
|
||||||
for (int i = 0; i < 33; i++) tft.fillCircle((6 * i) + 10, 133, 2, GreyoutColor);
|
for (int i = 0; i < 33; i++) tft.fillCircle((6 * i) + 10, 133, 2, GreyoutColor);
|
||||||
tftReplace(1, String(freqold / 100) + "." + (freqold % 100 < 10 ? "0" : "") + String(freqold % 100) + " MHz", String(freq / 100) + "." + (freq % 100 < 10 ? "0" : "") + String(freq % 100) + " MHz", 310, 35, PrimaryColor, PrimaryColorSmooth, FONT16);
|
tftReplace(1, String(freqold / 100) + "." + (freqold % 100 < 10 ? "0" : "") + String(freqold % 100) + " MHz", String(freq / 100) + "." + (freq % 100 < 10 ? "0" : "") + String(freq % 100) + " MHz", 310, 35, PrimaryColor, PrimaryColorSmooth, FONT16);
|
||||||
@@ -3923,7 +4213,7 @@ void ShowFreq(int mode) {
|
|||||||
if (freqoldcount >= 4) tft.setCursor (44, 45);
|
if (freqoldcount >= 4) tft.setCursor (44, 45);
|
||||||
tft.setTextFont(7);
|
tft.setTextFont(7);
|
||||||
tft.print(freqold / 100);
|
tft.print(freqold / 100);
|
||||||
if (band == BAND_FM) {
|
if (band < BAND_GAP) {
|
||||||
tft.print(".");
|
tft.print(".");
|
||||||
if (freqold % 100 < 10) tft.print("0");
|
if (freqold % 100 < 10) tft.print("0");
|
||||||
tft.print(freqold % 100);
|
tft.print(freqold % 100);
|
||||||
@@ -3969,7 +4259,8 @@ void ShowFreq(int mode) {
|
|||||||
if (wifi) {
|
if (wifi) {
|
||||||
Udp.beginPacket(remoteip, 9030);
|
Udp.beginPacket(remoteip, 9030);
|
||||||
Udp.print("from=TEF tuner;freq=");
|
Udp.print("from=TEF tuner;freq=");
|
||||||
if (band != BAND_FM) Udp.print(String(frequency_AM) + "000;ClearRDS=1"); else Udp.print(String(frequency) + "0000;ClearRDS=1");
|
if (band > BAND_GAP) Udp.print(String(frequency_AM) + "000;ClearRDS=1");
|
||||||
|
else Udp.print(String(band == BAND_FM ? frequency: frequency_OIRT) + "0000;ClearRDS=1");
|
||||||
Udp.endPacket();
|
Udp.endPacket();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4026,7 +4317,7 @@ void ShowSignalLevel() {
|
|||||||
if (SStatusold / 10 != SStatusprint / 10) tftReplace(1, String(SStatusold / 10), String(SStatusprint / 10), 288, 105, PrimaryColor, PrimaryColorSmooth, FONT48);
|
if (SStatusold / 10 != SStatusprint / 10) tftReplace(1, String(SStatusold / 10), String(SStatusprint / 10), 288, 105, PrimaryColor, PrimaryColorSmooth, FONT48);
|
||||||
tftReplace(1, "." + String(abs(SStatusold % 10)), "." + String(abs(SStatusprint % 10)), 310, 105, PrimaryColor, PrimaryColorSmooth, FONT28);
|
tftReplace(1, "." + String(abs(SStatusold % 10)), "." + String(abs(SStatusprint % 10)), 310, 105, PrimaryColor, PrimaryColorSmooth, FONT28);
|
||||||
|
|
||||||
if (band == BAND_FM) segments = (SStatus + 200) / 10; else segments = (SStatus + 200) / 10;
|
if (band < BAND_GAP) segments = (SStatus + 200) / 10; else segments = (SStatus + 200) / 10;
|
||||||
|
|
||||||
tft.fillRect(16, 105, 2 * constrain(segments, 0, 54), 6, InsignificantColor);
|
tft.fillRect(16, 105, 2 * constrain(segments, 0, 54), 6, InsignificantColor);
|
||||||
tft.fillRect(16 + 2 * 54, 105, 2 * (constrain(segments, 54, 94) - 54), 6, SignificantColor);
|
tft.fillRect(16 + 2 * 54, 105, 2 * (constrain(segments, 54, 94) - 54), 6, SignificantColor);
|
||||||
@@ -4055,7 +4346,7 @@ void ShowRDSLogo(bool RDSstatus) {
|
|||||||
|
|
||||||
void ShowStereoStatus() {
|
void ShowStereoStatus() {
|
||||||
if (StereoToggle == true) {
|
if (StereoToggle == true) {
|
||||||
if (band == BAND_FM) Stereostatus = radio.getStereoStatus(); else Stereostatus = 0;
|
if (band < BAND_GAP) Stereostatus = radio.getStereoStatus(); else Stereostatus = 0;
|
||||||
if (Stereostatus != Stereostatusold) {
|
if (Stereostatus != Stereostatusold) {
|
||||||
if (Stereostatus == true && screenmute == false) {
|
if (Stereostatus == true && screenmute == false) {
|
||||||
tft.drawSmoothCircle(81, 15, 10, SignificantColor, SignificantColorSmooth);
|
tft.drawSmoothCircle(81, 15, 10, SignificantColor, SignificantColorSmooth);
|
||||||
@@ -4083,7 +4374,7 @@ void ShowOffset() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (band == BAND_FM) {
|
if (band < BAND_GAP) {
|
||||||
if (OStatus < -500) {
|
if (OStatus < -500) {
|
||||||
tft.fillTriangle(6, 8, 6, 22, 14, 14, GreyoutColor);
|
tft.fillTriangle(6, 8, 6, 22, 14, 14, GreyoutColor);
|
||||||
tft.fillTriangle(18, 8, 18, 22, 26, 14, GreyoutColor);
|
tft.fillTriangle(18, 8, 18, 22, 26, 14, GreyoutColor);
|
||||||
@@ -4334,7 +4625,7 @@ void updateBW() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void updateiMS() {
|
void updateiMS() {
|
||||||
if (band == BAND_FM) {
|
if (band < BAND_GAP) {
|
||||||
if (iMSset == 0) {
|
if (iMSset == 0) {
|
||||||
if (screenmute == false) {
|
if (screenmute == false) {
|
||||||
tft.drawRoundRect(248, 56, 32, 20, 5, ActiveColor);
|
tft.drawRoundRect(248, 56, 32, 20, 5, ActiveColor);
|
||||||
@@ -4352,7 +4643,7 @@ void updateiMS() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void updateEQ() {
|
void updateEQ() {
|
||||||
if (band == BAND_FM) {
|
if (band < BAND_GAP) {
|
||||||
if (EQset == 0) {
|
if (EQset == 0) {
|
||||||
if (screenmute == false) {
|
if (screenmute == false) {
|
||||||
tft.drawRoundRect(286, 56, 32, 20, 5, ActiveColor);
|
tft.drawRoundRect(286, 56, 32, 20, 5, ActiveColor);
|
||||||
@@ -4397,7 +4688,7 @@ void updateSWMIBand() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void doBW() {
|
void doBW() {
|
||||||
if (band == BAND_FM) {
|
if (band < BAND_GAP) {
|
||||||
if (BWset > 16) BWset = 0;
|
if (BWset > 16) BWset = 0;
|
||||||
|
|
||||||
switch (BWset) {
|
switch (BWset) {
|
||||||
@@ -4493,7 +4784,7 @@ void doBW() {
|
|||||||
void doTuneMode() {
|
void doTuneMode() {
|
||||||
switch (tunemode) {
|
switch (tunemode) {
|
||||||
case TUNE_MAN:
|
case TUNE_MAN:
|
||||||
if (band == BAND_FM) {
|
if (band < BAND_GAP) {
|
||||||
tunemode = TUNE_AUTO;
|
tunemode = TUNE_AUTO;
|
||||||
if (stepsize != 0) {
|
if (stepsize != 0) {
|
||||||
stepsize = 0;
|
stepsize = 0;
|
||||||
@@ -4512,7 +4803,7 @@ void doTuneMode() {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case TUNE_MEM:
|
case TUNE_MEM:
|
||||||
tunemode = TUNE_MAN;
|
if (!bandforbidden) tunemode = TUNE_MAN;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
ShowTuneMode();
|
ShowTuneMode();
|
||||||
@@ -4789,7 +5080,6 @@ void Communication() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DataPrint(String string) {
|
void DataPrint(String string) {
|
||||||
if (XDRGTKUSB) Serial.print(string);
|
if (XDRGTKUSB) Serial.print(string);
|
||||||
if (XDRGTKTCP) RemoteClient.print(string);
|
if (XDRGTKTCP) RemoteClient.print(string);
|
||||||
@@ -5070,7 +5360,7 @@ void XDRGTKRoutine() {
|
|||||||
for (freq_scan = scanner_start; freq_scan <= scanner_end; freq_scan += scanner_step) {
|
for (freq_scan = scanner_start; freq_scan <= scanner_end; freq_scan += scanner_step) {
|
||||||
DataPrint(String(freq_scan * 10, DEC));
|
DataPrint(String(freq_scan * 10, DEC));
|
||||||
DataPrint(" = ");
|
DataPrint(" = ");
|
||||||
if (band == BAND_FM) radio.getStatus(SStatus, USN, WAM, OStatus, BW, MStatus, SNR); else radio.getStatusAM(SStatus, USN, WAM, OStatus, BW, MStatus, SNR);
|
if (band < BAND_GAP) radio.getStatus(SStatus, USN, WAM, OStatus, BW, MStatus, SNR); else radio.getStatusAM(SStatus, USN, WAM, OStatus, BW, MStatus, SNR);
|
||||||
DataPrint(String((radio.CheckSignal(freq_scan) / 10) + 10, DEC));
|
DataPrint(String((radio.CheckSignal(freq_scan) / 10) + 10, DEC));
|
||||||
DataPrint(", ");
|
DataPrint(", ");
|
||||||
}
|
}
|
||||||
@@ -5156,7 +5446,7 @@ void XDRGTKRoutine() {
|
|||||||
XDRGTKdata = false;
|
XDRGTKdata = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (band != BAND_FM) {
|
if (band > BAND_GAP) {
|
||||||
DataPrint("Sm");
|
DataPrint("Sm");
|
||||||
} else {
|
} else {
|
||||||
if (StereoToggle == false) {
|
if (StereoToggle == false) {
|
||||||
@@ -5175,7 +5465,7 @@ void TuneUp() {
|
|||||||
aftimer = millis();
|
aftimer = millis();
|
||||||
unsigned int temp = 0;
|
unsigned int temp = 0;
|
||||||
if (stepsize == 0) {
|
if (stepsize == 0) {
|
||||||
if (band != BAND_FM) {
|
if (band > BAND_GAP) {
|
||||||
if (frequency_AM < MWHighEdgeSet) {
|
if (frequency_AM < MWHighEdgeSet) {
|
||||||
if (region == 0) {
|
if (region == 0) {
|
||||||
temp = FREQ_MW_STEP_9K;
|
temp = FREQ_MW_STEP_9K;
|
||||||
@@ -5189,12 +5479,8 @@ void TuneUp() {
|
|||||||
frequency_AM = (frequency_AM / FREQ_SW_STEP_5K) * FREQ_SW_STEP_5K;
|
frequency_AM = (frequency_AM / FREQ_SW_STEP_5K) * FREQ_SW_STEP_5K;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (frequency >= (FREQ_FM_OIRT_START) && frequency <= (FREQ_FM_OIRT_END - FREQ_FM_STEP_30K)) {
|
if (band == BAND_OIRT) {
|
||||||
if (specialstepOIRT) {
|
temp = FREQ_OIRT_STEP_30K;
|
||||||
temp = FREQ_FM_STEP_30K;
|
|
||||||
} else {
|
|
||||||
if (fmdefaultstepsize == 1) temp = FREQ_FM_STEP_100K; else temp = FREQ_FM_STEP_50K;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (fmdefaultstepsize == 1) temp = FREQ_FM_STEP_100K; else temp = FREQ_FM_STEP_50K;
|
if (fmdefaultstepsize == 1) temp = FREQ_FM_STEP_100K; else temp = FREQ_FM_STEP_50K;
|
||||||
}
|
}
|
||||||
@@ -5207,21 +5493,19 @@ void TuneUp() {
|
|||||||
|
|
||||||
if (band == BAND_FM) {
|
if (band == BAND_FM) {
|
||||||
frequency += temp;
|
frequency += temp;
|
||||||
if (specialstepOIRT) {
|
if (frequency >= (HighEdgeSet * 10) + 1) {
|
||||||
if (frequency >= (HighEdgeOIRTSet == 0 ? ((HighEdgeSet * 10) + 1) : (HighEdgeOIRTSet + 1))) {
|
frequency = LowEdgeSet * 10;
|
||||||
frequency = (LowEdgeOIRTSet == 0 ? (LowEdgeSet * 10) : LowEdgeOIRTSet);
|
if (edgebeep) EdgeBeeper();
|
||||||
if (edgebeep) EdgeBeeper();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (frequency >= (HighEdgeSet * 10) + 1) {
|
|
||||||
frequency = LowEdgeSet * 10;
|
|
||||||
if (edgebeep) EdgeBeeper();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
radio.SetFreq(frequency);
|
radio.SetFreq(frequency);
|
||||||
}
|
} else if (band == BAND_OIRT) {
|
||||||
|
frequency_OIRT += temp;
|
||||||
if (band == BAND_LW) {
|
if (frequency_OIRT > HighEdgeOIRTSet) {
|
||||||
|
frequency_OIRT = LowEdgeOIRTSet;
|
||||||
|
if (edgebeep) EdgeBeeper();
|
||||||
|
}
|
||||||
|
radio.SetFreq(frequency_OIRT);
|
||||||
|
} else if (band == BAND_LW) {
|
||||||
frequency_AM += temp;
|
frequency_AM += temp;
|
||||||
if (frequency_AM > LWHighEdgeSet) {
|
if (frequency_AM > LWHighEdgeSet) {
|
||||||
frequency_AM = LWLowEdgeSet;
|
frequency_AM = LWLowEdgeSet;
|
||||||
@@ -5256,7 +5540,7 @@ void TuneDown() {
|
|||||||
aftimer = millis();
|
aftimer = millis();
|
||||||
unsigned int temp = 0;
|
unsigned int temp = 0;
|
||||||
if (stepsize == 0) {
|
if (stepsize == 0) {
|
||||||
if (band != BAND_FM) {
|
if (band > BAND_GAP) {
|
||||||
if (frequency_AM <= MWHighEdgeSet) {
|
if (frequency_AM <= MWHighEdgeSet) {
|
||||||
if (frequency_AM == 2000) { // Fix Me :take care of 9K/10K Step
|
if (frequency_AM == 2000) { // Fix Me :take care of 9K/10K Step
|
||||||
frequency_AM = 1998;
|
frequency_AM = 1998;
|
||||||
@@ -5270,12 +5554,8 @@ void TuneDown() {
|
|||||||
frequency_AM = (frequency_AM / temp) * temp;
|
frequency_AM = (frequency_AM / temp) * temp;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (frequency >= (FREQ_FM_OIRT_START + FREQ_FM_STEP_30K) && frequency <= (FREQ_FM_OIRT_END)) {
|
if (band == BAND_OIRT) {
|
||||||
if (specialstepOIRT) {
|
temp = FREQ_OIRT_STEP_30K;
|
||||||
temp = FREQ_FM_STEP_30K;
|
|
||||||
} else {
|
|
||||||
if (fmdefaultstepsize == 1) temp = FREQ_FM_STEP_100K; else temp = FREQ_FM_STEP_50K;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (fmdefaultstepsize == 1) temp = FREQ_FM_STEP_100K; else temp = FREQ_FM_STEP_50K;
|
if (fmdefaultstepsize == 1) temp = FREQ_FM_STEP_100K; else temp = FREQ_FM_STEP_50K;
|
||||||
}
|
}
|
||||||
@@ -5288,21 +5568,19 @@ void TuneDown() {
|
|||||||
|
|
||||||
if (band == BAND_FM) {
|
if (band == BAND_FM) {
|
||||||
frequency -= temp;
|
frequency -= temp;
|
||||||
if (specialstepOIRT) {
|
if (frequency < LowEdgeSet * 10) {
|
||||||
if (frequency < (LowEdgeOIRTSet == 0 ? (LowEdgeSet * 10) : LowEdgeOIRTSet) ) {
|
frequency = HighEdgeSet * 10;
|
||||||
frequency = (HighEdgeOIRTSet == 0 ? (HighEdgeSet * 10) : HighEdgeOIRTSet);
|
if (edgebeep) EdgeBeeper();
|
||||||
if (edgebeep) EdgeBeeper();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (frequency < LowEdgeSet * 10) {
|
|
||||||
frequency = HighEdgeSet * 10;
|
|
||||||
if (edgebeep) EdgeBeeper();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
radio.SetFreq(frequency);
|
radio.SetFreq(frequency);
|
||||||
}
|
} else if (band == BAND_OIRT) {
|
||||||
|
frequency_OIRT -= temp;
|
||||||
if (band == BAND_LW) {
|
if (frequency_OIRT < LowEdgeOIRTSet) {
|
||||||
|
frequency_OIRT = HighEdgeOIRTSet;
|
||||||
|
if (edgebeep) EdgeBeeper();
|
||||||
|
}
|
||||||
|
radio.SetFreq(frequency_OIRT);
|
||||||
|
} else if (band == BAND_LW) {
|
||||||
frequency_AM -= temp;
|
frequency_AM -= temp;
|
||||||
if (frequency_AM < LWLowEdgeSet) {
|
if (frequency_AM < LWLowEdgeSet) {
|
||||||
frequency_AM = LWHighEdgeSet;
|
frequency_AM = LWHighEdgeSet;
|
||||||
@@ -5345,7 +5623,7 @@ void EdgeBeeper() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Seek(bool mode) {
|
void Seek(bool mode) {
|
||||||
if (band == BAND_FM) {
|
if (band < BAND_GAP) {
|
||||||
radio.setMute();
|
radio.setMute();
|
||||||
if (screenmute == false) tft.drawBitmap(110, 5, Speaker, 26, 22, PrimaryColor);
|
if (screenmute == false) tft.drawBitmap(110, 5, Speaker, 26, 22, PrimaryColor);
|
||||||
if (mode == false) TuneDown(); else TuneUp();
|
if (mode == false) TuneDown(); else TuneUp();
|
||||||
@@ -5597,12 +5875,15 @@ void passwordcrypt() {
|
|||||||
void DefaultSettings() {
|
void DefaultSettings() {
|
||||||
EEPROM.writeByte(EE_BYTE_CHECKBYTE, EE_CHECKBYTE_VALUE);
|
EEPROM.writeByte(EE_BYTE_CHECKBYTE, EE_CHECKBYTE_VALUE);
|
||||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_FM, 10000);
|
EEPROM.writeUInt(EE_UINT16_FREQUENCY_FM, 10000);
|
||||||
|
EEPROM.writeUInt(EE_UINT16_FREQUENCY_OIRT, FREQ_FM_OIRT_START);
|
||||||
EEPROM.writeInt(EE_BYTE_VOLSET, 0);
|
EEPROM.writeInt(EE_BYTE_VOLSET, 0);
|
||||||
EEPROM.writeUInt(EE_UINT16_CONVERTERSET, 0);
|
EEPROM.writeUInt(EE_UINT16_CONVERTERSET, 0);
|
||||||
EEPROM.writeUInt(EE_UINT16_FMLOWEDGESET, 875);
|
EEPROM.writeUInt(EE_UINT16_FMLOWEDGESET, 875);
|
||||||
EEPROM.writeUInt(EE_UINT16_FMHIGHEDGESET, 1080);
|
EEPROM.writeUInt(EE_UINT16_FMHIGHEDGESET, 1080);
|
||||||
EEPROM.writeByte(EE_BYTE_CONTRASTSET, 50);
|
EEPROM.writeByte(EE_BYTE_CONTRASTSET, 50);
|
||||||
EEPROM.writeByte(EE_BYTE_STEREOLEVEL, 0);
|
EEPROM.writeByte(EE_BYTE_STEREOLEVEL, 0);
|
||||||
|
EEPROM.writeByte(EE_BYTE_BANDFM, FM_BAND_ALL);
|
||||||
|
EEPROM.writeByte(EE_BYTE_BANDAM, AM_BAND_ALL);
|
||||||
EEPROM.writeByte(EE_BYTE_HIGHCUTLEVEL, 70);
|
EEPROM.writeByte(EE_BYTE_HIGHCUTLEVEL, 70);
|
||||||
EEPROM.writeByte(EE_BYTE_HIGHCUTOFFSET, 0);
|
EEPROM.writeByte(EE_BYTE_HIGHCUTOFFSET, 0);
|
||||||
EEPROM.writeInt(EE_BYTE_LEVELOFFSET, 0);
|
EEPROM.writeInt(EE_BYTE_LEVELOFFSET, 0);
|
||||||
@@ -5620,7 +5901,7 @@ void DefaultSettings() {
|
|||||||
EEPROM.writeByte(EE_BYTE_OPTENC, 0);
|
EEPROM.writeByte(EE_BYTE_OPTENC, 0);
|
||||||
EEPROM.writeByte(EE_BYTE_IMSSET, 1);
|
EEPROM.writeByte(EE_BYTE_IMSSET, 1);
|
||||||
EEPROM.writeByte(EE_BYTE_EQSET, 1);
|
EEPROM.writeByte(EE_BYTE_EQSET, 1);
|
||||||
EEPROM.writeByte(EE_BYTE_BAND, 0);
|
EEPROM.writeByte(EE_BYTE_BAND, BAND_FM);
|
||||||
EEPROM.writeInt(EE_BYTE_LOWLEVELSET, -10);
|
EEPROM.writeInt(EE_BYTE_LOWLEVELSET, -10);
|
||||||
EEPROM.writeByte(EE_BYTE_MEMORYPOS, 0);
|
EEPROM.writeByte(EE_BYTE_MEMORYPOS, 0);
|
||||||
EEPROM.writeByte(EE_BYTE_REGION, 0);
|
EEPROM.writeByte(EE_BYTE_REGION, 0);
|
||||||
|
|||||||
+15
-1
@@ -11,8 +11,22 @@ enum RDS_GROUPS {
|
|||||||
RDS_GROUP_12A, RDS_GROUP_12B, RDS_GROUP_13A, RDS_GROUP_13B, RDS_GROUP_14A, RDS_GROUP_14B, RDS_GROUP_15A, RDS_GROUP_15B
|
RDS_GROUP_12A, RDS_GROUP_12B, RDS_GROUP_13A, RDS_GROUP_13B, RDS_GROUP_14A, RDS_GROUP_14B, RDS_GROUP_15A, RDS_GROUP_15B
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// FM band: before BAND_GAP; AM band: after BAND_GAP
|
||||||
enum RADIO_BAND {
|
enum RADIO_BAND {
|
||||||
BAND_FM, BAND_LW, BAND_MW, BAND_SW
|
BAND_OIRT = 0, BAND_FM, BAND_GAP, BAND_LW, BAND_MW, BAND_SW
|
||||||
|
};
|
||||||
|
|
||||||
|
// 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_CNT
|
||||||
|
};
|
||||||
|
|
||||||
|
// Toggle: OIRT -> FM
|
||||||
|
enum RADIO_FM_BAND_SELECTION {
|
||||||
|
FM_BAND_ALL = 0, FM_BAND_OIRT, FM_BAND_FM,
|
||||||
|
FM_BAND_CNT
|
||||||
};
|
};
|
||||||
|
|
||||||
enum RADIO_TUNE_MODE {
|
enum RADIO_TUNE_MODE {
|
||||||
|
|||||||
+9
-6
@@ -23,7 +23,7 @@
|
|||||||
#define FREQ_MW_STEP_9K 9
|
#define FREQ_MW_STEP_9K 9
|
||||||
#define FREQ_MW_STEP_10K 10
|
#define FREQ_MW_STEP_10K 10
|
||||||
#define FREQ_SW_STEP_5K 5
|
#define FREQ_SW_STEP_5K 5
|
||||||
#define FREQ_FM_STEP_30K 3
|
#define FREQ_OIRT_STEP_30K 3
|
||||||
#define FREQ_FM_STEP_50K 5
|
#define FREQ_FM_STEP_50K 5
|
||||||
#define FREQ_FM_STEP_100K 10
|
#define FREQ_FM_STEP_100K 10
|
||||||
|
|
||||||
@@ -39,8 +39,8 @@
|
|||||||
#define FREQ_SW_HIGH_EDGE_MAX (FREQ_SW_END)
|
#define FREQ_SW_HIGH_EDGE_MAX (FREQ_SW_END)
|
||||||
#define FREQ_FM_START 65000
|
#define FREQ_FM_START 65000
|
||||||
#define FREQ_FM_END 108000
|
#define FREQ_FM_END 108000
|
||||||
#define FREQ_FM_OIRT_START 6575 // use values of 1/10 * kHz
|
#define FREQ_FM_OIRT_START 6402 // use values of 1/10 * kHz
|
||||||
#define FREQ_FM_OIRT_END 7400 // use values of 1/10 * kHz
|
#define FREQ_FM_OIRT_END 7398 // use values of 1/10 * kHz
|
||||||
|
|
||||||
// according to https://www.short-wave.info/index.php?feature=frequencies
|
// according to https://www.short-wave.info/index.php?feature=frequencies
|
||||||
#define FREQ_SW_START 1800
|
#define FREQ_SW_START 1800
|
||||||
@@ -95,12 +95,14 @@
|
|||||||
|
|
||||||
// EEPROM index defines
|
// EEPROM index defines
|
||||||
#define EE_PRESETS_CNT 30
|
#define EE_PRESETS_CNT 30
|
||||||
#define EE_CHECKBYTE_VALUE 36 // 0 ~ 255,add new entry, change for new value
|
#define EE_CHECKBYTE_VALUE 32 // 0 ~ 255,add new entry, change for new value
|
||||||
|
|
||||||
#define EE_TOTAL_CNT 269
|
#define EE_TOTAL_CNT 273
|
||||||
#define EE_UINT16_FREQUENCY_FM 0
|
#define EE_UINT16_FREQUENCY_FM 0
|
||||||
#define EE_BYTE_VOLSET 4
|
#define EE_BYTE_VOLSET 4
|
||||||
#define EE_BYTE_STEREO 5
|
#define EE_BYTE_STEREO 5
|
||||||
|
#define EE_BYTE_BANDFM 6
|
||||||
|
#define EE_BYTE_BANDAM 7
|
||||||
#define EE_UINT16_CONVERTERSET 8
|
#define EE_UINT16_CONVERTERSET 8
|
||||||
#define EE_UINT16_FMLOWEDGESET 12
|
#define EE_UINT16_FMLOWEDGESET 12
|
||||||
#define EE_UINT16_FMHIGHEDGESET 16
|
#define EE_UINT16_FMHIGHEDGESET 16
|
||||||
@@ -158,7 +160,8 @@
|
|||||||
#define EE_BYTE_SCREENSAVERSET 262
|
#define EE_BYTE_SCREENSAVERSET 262
|
||||||
#define EE_INT16_AMLEVELOFFSET 263
|
#define EE_INT16_AMLEVELOFFSET 263
|
||||||
#define EE_BYTE_UNIT 267
|
#define EE_BYTE_UNIT 267
|
||||||
#define EE_BYTE_AF 268
|
#define EE_BYTE_AF 268
|
||||||
|
#define EE_UINT16_FREQUENCY_OIRT 269
|
||||||
// End of EEPROM index defines
|
// End of EEPROM index defines
|
||||||
|
|
||||||
static const char* const unitString[] = {"dBμV", "dBf", "dBm"};
|
static const char* const unitString[] = {"dBμV", "dBf", "dBm"};
|
||||||
|
|||||||
+121
-16
@@ -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[15][100] = {
|
static const char* const myLanguage[15][107] = {
|
||||||
{ "English", // English
|
{ "English", // English
|
||||||
"Rotary direction changed", // 1
|
"Rotary direction changed", // 1
|
||||||
"Please release button", // 2
|
"Please release button", // 2
|
||||||
@@ -100,7 +100,14 @@ static const char* const myLanguage[15][100] = {
|
|||||||
"50% brightness", // 96
|
"50% brightness", // 96
|
||||||
"AM RF Level offset:", // 97
|
"AM RF Level offset:", // 97
|
||||||
"Signalmeter unit:", // 98
|
"Signalmeter unit:", // 98
|
||||||
"Use AF:" // 99
|
"Use AF:", // 99
|
||||||
|
"Select FM Band:", // 100
|
||||||
|
"Select AM Band:", // 101
|
||||||
|
"LW", // 102
|
||||||
|
"MW", // 103
|
||||||
|
"SW", // 104
|
||||||
|
"FM", // 105
|
||||||
|
"OIRT" // 106
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Nederlands", // Dutch
|
{ "Nederlands", // Dutch
|
||||||
@@ -202,7 +209,14 @@ static const char* const myLanguage[15][100] = {
|
|||||||
"50% helderheid", // 96
|
"50% helderheid", // 96
|
||||||
"AM RF Level afwijking:", // 97
|
"AM RF Level afwijking:", // 97
|
||||||
"Signaalmeter eenheid:", // 98
|
"Signaalmeter eenheid:", // 98
|
||||||
"Gebruik AF:" // 99
|
"Gebruik AF:", // 99
|
||||||
|
"Select FM Band:", // 100
|
||||||
|
"Select AM Band:", // 101
|
||||||
|
"LW", // 102
|
||||||
|
"MW", // 103
|
||||||
|
"SW", // 104
|
||||||
|
"FM", // 105
|
||||||
|
"OIRT" // 106
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Polski", // Polish
|
{ "Polski", // Polish
|
||||||
@@ -304,7 +318,14 @@ static const char* const myLanguage[15][100] = {
|
|||||||
"50% jasnosci", // 96
|
"50% jasnosci", // 96
|
||||||
"Odchylenie poziomu RF AM:", // 97
|
"Odchylenie poziomu RF AM:", // 97
|
||||||
"Jednostka sygnalu:", // 98
|
"Jednostka sygnalu:", // 98
|
||||||
"Uzywaj AF:" // 99
|
"Uzywaj AF:", // 99
|
||||||
|
"Select FM Band:", // 100
|
||||||
|
"Select AM Band:", // 101
|
||||||
|
"LW", // 102
|
||||||
|
"MW", // 103
|
||||||
|
"SW", // 104
|
||||||
|
"FM", // 105
|
||||||
|
"OIRT" // 106
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Hrvatski", // Croatian
|
{ "Hrvatski", // Croatian
|
||||||
@@ -406,7 +427,14 @@ static const char* const myLanguage[15][100] = {
|
|||||||
"50% svjetlina", // 96
|
"50% svjetlina", // 96
|
||||||
"AM pomak RF razine:", // 97
|
"AM pomak RF razine:", // 97
|
||||||
"Jedinica mjerača signala:", // 98
|
"Jedinica mjerača signala:", // 98
|
||||||
"Use AF:" // 99
|
"Use AF:", // 99
|
||||||
|
"Select FM Band:", // 100
|
||||||
|
"Select AM Band:", // 101
|
||||||
|
"LW", // 102
|
||||||
|
"MW", // 103
|
||||||
|
"SW", // 104
|
||||||
|
"FM", // 105
|
||||||
|
"OIRT" // 106
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Ελληνικά", // Greek
|
{ "Ελληνικά", // Greek
|
||||||
@@ -508,7 +536,14 @@ static const char* const myLanguage[15][100] = {
|
|||||||
"50% φωτεινότητα", // 96
|
"50% φωτεινότητα", // 96
|
||||||
"AM Ολίσθηση επιπέδου RF:", // 97
|
"AM Ολίσθηση επιπέδου RF:", // 97
|
||||||
"Μονάδα μέτρησης σήματος:", // 98
|
"Μονάδα μέτρησης σήματος:", // 98
|
||||||
"Χρήση AF:" // 99
|
"Χρήση AF:", // 99
|
||||||
|
"Select FM Band:", // 100
|
||||||
|
"Select AM Band:", // 101
|
||||||
|
"LW", // 102
|
||||||
|
"MW", // 103
|
||||||
|
"SW", // 104
|
||||||
|
"FM", // 105
|
||||||
|
"OIRT" // 106
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Romana", // Romanian
|
{ "Romana", // Romanian
|
||||||
@@ -610,7 +645,14 @@ static const char* const myLanguage[15][100] = {
|
|||||||
"50% brightness", // 96
|
"50% brightness", // 96
|
||||||
"AM RF Level offset:", // 97
|
"AM RF Level offset:", // 97
|
||||||
"Signalmeter unit:", // 98
|
"Signalmeter unit:", // 98
|
||||||
"Use AF:" // 99
|
"Use AF:", // 99
|
||||||
|
"Select FM Band:", // 100
|
||||||
|
"Select AM Band:", // 101
|
||||||
|
"LW", // 102
|
||||||
|
"MW", // 103
|
||||||
|
"SW", // 104
|
||||||
|
"FM", // 105
|
||||||
|
"OIRT" // 106
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Deutsch", // German
|
{ "Deutsch", // German
|
||||||
@@ -712,7 +754,14 @@ static const char* const myLanguage[15][100] = {
|
|||||||
"50% Helligkeit", // 96
|
"50% Helligkeit", // 96
|
||||||
"AM RF Level offset:", // 97
|
"AM RF Level offset:", // 97
|
||||||
"Signalmeter unit:", // 98
|
"Signalmeter unit:", // 98
|
||||||
"Use AF:" // 99
|
"Use AF:", // 99
|
||||||
|
"Select FM Band:", // 100
|
||||||
|
"Select AM Band:", // 101
|
||||||
|
"LW", // 102
|
||||||
|
"MW", // 103
|
||||||
|
"SW", // 104
|
||||||
|
"FM", // 105
|
||||||
|
"OIRT" // 106
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Czech", // Czech
|
{ "Czech", // Czech
|
||||||
@@ -814,7 +863,14 @@ static const char* const myLanguage[15][100] = {
|
|||||||
"50% brightness", // 96
|
"50% brightness", // 96
|
||||||
"AM RF Level offset:", // 97
|
"AM RF Level offset:", // 97
|
||||||
"Signalmeter unit:", // 98
|
"Signalmeter unit:", // 98
|
||||||
"Use AF:" // 99
|
"Use AF:", // 99
|
||||||
|
"Select FM Band:", // 100
|
||||||
|
"Select AM Band:", // 101
|
||||||
|
"LW", // 102
|
||||||
|
"MW", // 103
|
||||||
|
"SW", // 104
|
||||||
|
"FM", // 105
|
||||||
|
"OIRT" // 106
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Slovak", // Slovak
|
{ "Slovak", // Slovak
|
||||||
@@ -916,7 +972,14 @@ static const char* const myLanguage[15][100] = {
|
|||||||
"50% brightness", // 96
|
"50% brightness", // 96
|
||||||
"AM RF Level offset:", // 97
|
"AM RF Level offset:", // 97
|
||||||
"Signalmeter unit:", // 98
|
"Signalmeter unit:", // 98
|
||||||
"Use AF:" // 99
|
"Use AF:", // 99
|
||||||
|
"Select FM Band:", // 100
|
||||||
|
"Select AM Band:", // 101
|
||||||
|
"LW", // 102
|
||||||
|
"MW", // 103
|
||||||
|
"SW", // 104
|
||||||
|
"FM", // 105
|
||||||
|
"OIRT" // 106
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Français", // French
|
{ "Français", // French
|
||||||
@@ -1018,7 +1081,14 @@ static const char* const myLanguage[15][100] = {
|
|||||||
"50% brightness", // 96
|
"50% brightness", // 96
|
||||||
"AM RF Level offset:", // 97
|
"AM RF Level offset:", // 97
|
||||||
"Signalmeter unit:", // 98
|
"Signalmeter unit:", // 98
|
||||||
"Use AF:" // 99
|
"Use AF:", // 99
|
||||||
|
"Select FM Band:", // 100
|
||||||
|
"Select AM Band:", // 101
|
||||||
|
"LW", // 102
|
||||||
|
"MW", // 103
|
||||||
|
"SW", // 104
|
||||||
|
"FM", // 105
|
||||||
|
"OIRT" // 106
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Български", // Bulgarian
|
{ "Български", // Bulgarian
|
||||||
@@ -1120,7 +1190,14 @@ static const char* const myLanguage[15][100] = {
|
|||||||
"50% brightness", // 96
|
"50% brightness", // 96
|
||||||
"AM RF Level offset:", // 97
|
"AM RF Level offset:", // 97
|
||||||
"Signalmeter unit:", // 98
|
"Signalmeter unit:", // 98
|
||||||
"Use AF:" // 99
|
"Use AF:", // 99
|
||||||
|
"Select FM Band:", // 100
|
||||||
|
"Select AM Band:", // 101
|
||||||
|
"LW", // 102
|
||||||
|
"MW", // 103
|
||||||
|
"SW", // 104
|
||||||
|
"FM", // 105
|
||||||
|
"OIRT" // 106
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Русский", // Russian
|
{ "Русский", // Russian
|
||||||
@@ -1222,7 +1299,14 @@ static const char* const myLanguage[15][100] = {
|
|||||||
"50% яркости", // 96
|
"50% яркости", // 96
|
||||||
"Смещение уровня AM RF:", // 97
|
"Смещение уровня AM RF:", // 97
|
||||||
"Измеритель сигнала:", // 98
|
"Измеритель сигнала:", // 98
|
||||||
"Режим AF:" // 99
|
"Режим AF:", // 99
|
||||||
|
"Select FM Band:", // 100
|
||||||
|
"Select AM Band:", // 101
|
||||||
|
"LW", // 102
|
||||||
|
"MW", // 103
|
||||||
|
"SW", // 104
|
||||||
|
"FM", // 105
|
||||||
|
"OIRT" // 106
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Українська", // Ukranian
|
{ "Українська", // Ukranian
|
||||||
@@ -1324,7 +1408,14 @@ static const char* const myLanguage[15][100] = {
|
|||||||
"50% яскравості", // 96
|
"50% яскравості", // 96
|
||||||
"Зміщення рівня AM RF:", // 97
|
"Зміщення рівня AM RF:", // 97
|
||||||
"Вимірник сигналу:", // 98
|
"Вимірник сигналу:", // 98
|
||||||
"Режим AF:" // 99
|
"Режим AF:", // 99
|
||||||
|
"Select FM Band:", // 100
|
||||||
|
"Select AM Band:", // 101
|
||||||
|
"LW", // 102
|
||||||
|
"MW", // 103
|
||||||
|
"SW", // 104
|
||||||
|
"FM", // 105
|
||||||
|
"OIRT" // 106
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Italiano", // Italian
|
{ "Italiano", // Italian
|
||||||
@@ -1426,7 +1517,14 @@ static const char* const myLanguage[15][100] = {
|
|||||||
"50 % di luminosità", // 96
|
"50 % di luminosità", // 96
|
||||||
"Offset livello RF AM: ", // 97
|
"Offset livello RF AM: ", // 97
|
||||||
"Unità S - meter: ", // 98
|
"Unità S - meter: ", // 98
|
||||||
"Use AF:" // 99
|
"Use AF:", // 99
|
||||||
|
"Select FM Band:", // 100
|
||||||
|
"Select AM Band:", // 101
|
||||||
|
"LW", // 102
|
||||||
|
"MW", // 103
|
||||||
|
"SW", // 104
|
||||||
|
"FM", // 105
|
||||||
|
"OIRT" // 106
|
||||||
},
|
},
|
||||||
|
|
||||||
{ "Simplified Chinese", // Simplified Chinese
|
{ "Simplified Chinese", // Simplified Chinese
|
||||||
@@ -1528,7 +1626,14 @@ static const char* const myLanguage[15][100] = {
|
|||||||
"屏幕50% 亮度", // 96
|
"屏幕50% 亮度", // 96
|
||||||
"AM 高频信号偏移:", // 97
|
"AM 高频信号偏移:", // 97
|
||||||
"信号单位:", // 98
|
"信号单位:", // 98
|
||||||
"Use AF:" // 99
|
"使用 AF:", // 99
|
||||||
|
"选择FM波段:", // 100
|
||||||
|
"选择FM波段:", // 101
|
||||||
|
"LW", // 102
|
||||||
|
"MW", // 103
|
||||||
|
"SW", // 104
|
||||||
|
"FM", // 105
|
||||||
|
"OIRT" // 106
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user