Finish FM DX mode
This commit is contained in:
+195
-94
@@ -68,6 +68,7 @@ bool dropout;
|
||||
bool dynamicPTYold;
|
||||
bool edgebeep;
|
||||
bool externaltune;
|
||||
bool flashing;
|
||||
bool fmsi;
|
||||
bool fullsearchrds;
|
||||
bool hasafold;
|
||||
@@ -356,6 +357,7 @@ unsigned long aftickerhold;
|
||||
unsigned long aftimer;
|
||||
unsigned long eonticker;
|
||||
unsigned long eontickerhold;
|
||||
unsigned long flashingtimer;
|
||||
unsigned long lowsignaltimer;
|
||||
unsigned long peakholdmillis;
|
||||
unsigned long rtplusticker;
|
||||
@@ -799,7 +801,35 @@ void loop() {
|
||||
}
|
||||
if (digitalRead(BANDBUTTON) == LOW ) BANDBUTTONPress();
|
||||
|
||||
if (scandxmode) {
|
||||
switch (scancancel) {
|
||||
case CORRECTPI: if (radio.rds.correctPI != 0) cancelDXScan(); break;
|
||||
case SIGNAL: if (tuned) cancelDXScan(); break;
|
||||
}
|
||||
|
||||
if (millis() >= flashingtimer + 500) {
|
||||
flashing = !flashing;
|
||||
if (flashing) {
|
||||
if (CurrentSkin == 1) {
|
||||
tft.pushImage (12, 76, 33, 15, skin1_memon);
|
||||
} else {
|
||||
tft.drawRoundRect(1, 79, 42, 20, 5, ActiveColor);
|
||||
tftPrint(0, "MEM", 22, 82, ActiveColor, ActiveColorSmooth, 16);
|
||||
}
|
||||
} else {
|
||||
if (CurrentSkin == 1) {
|
||||
tft.pushImage (12, 76, 33, 15, skin1_memoff);
|
||||
} else {
|
||||
tft.drawRoundRect(1, 79, 42, 20, 5, GreyoutColor);
|
||||
tftPrint(0, "MEM", 22, 82, GreyoutColor, BackgroundColor, 16);
|
||||
}
|
||||
}
|
||||
flashingtimer = millis();
|
||||
}
|
||||
}
|
||||
|
||||
if (scandxmode && millis() >= scantimer + (scanhold * 1000)) {
|
||||
if (scanmem) {
|
||||
memorypos++;
|
||||
if (memorypos > scanstop) memorypos = scanstart;
|
||||
while (IsStationEmpty()) {
|
||||
@@ -811,6 +841,10 @@ void loop() {
|
||||
}
|
||||
DoMemoryPosTune();
|
||||
ShowMemoryPos();
|
||||
} else {
|
||||
TuneUp();
|
||||
ShowFreq(0);
|
||||
}
|
||||
scantimer = millis();
|
||||
}
|
||||
|
||||
@@ -1380,7 +1414,9 @@ void ToggleBand(byte nowBand) {
|
||||
}
|
||||
|
||||
void BANDBUTTONPress() {
|
||||
if (scandxmode) cancelDXScan();
|
||||
if (scandxmode) {
|
||||
cancelDXScan();
|
||||
} else {
|
||||
if (memorystore) {
|
||||
EEPROM.writeUInt((memorypos * 4) + EE_PRESETS_FREQUENCY_START, EE_PRESETS_FREQUENCY);
|
||||
EEPROM.commit();
|
||||
@@ -1418,6 +1454,9 @@ void BANDBUTTONPress() {
|
||||
if (XDRGTKUSB || XDRGTKTCP) {
|
||||
if (band == BAND_FM) DataPrint("M0\nT" + String(frequency * 10) + "\n"); else if (band == BAND_OIRT) DataPrint("M0\nT" + String(frequency_OIRT * 10) + "\n"); else DataPrint("M1\nT" + String(frequency_AM) + "\n");
|
||||
}
|
||||
} else {
|
||||
startFMDXScan();
|
||||
return;
|
||||
}
|
||||
ScreensaverTimerRestart();
|
||||
}
|
||||
@@ -1436,6 +1475,7 @@ void BANDBUTTONPress() {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
while (digitalRead(BANDBUTTON) == LOW) delay(50);
|
||||
delay(100);
|
||||
}
|
||||
@@ -1886,7 +1926,9 @@ void SelectBand() {
|
||||
}
|
||||
|
||||
void BWButtonPress() {
|
||||
if (scandxmode) cancelDXScan();
|
||||
if (scandxmode) {
|
||||
cancelDXScan();
|
||||
} else {
|
||||
if (!usesquelch) radio.setUnMute();
|
||||
if (!menu) {
|
||||
seek = false;
|
||||
@@ -1920,6 +1962,7 @@ void BWButtonPress() {
|
||||
delay(100);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void doStereoToggle() {
|
||||
if (StereoToggle) {
|
||||
@@ -1959,7 +2002,9 @@ void doStereoToggle() {
|
||||
}
|
||||
|
||||
void ModeButtonPress() {
|
||||
if (scandxmode) cancelDXScan();
|
||||
if (scandxmode) {
|
||||
cancelDXScan();
|
||||
} else {
|
||||
if (!usesquelch) radio.setUnMute();
|
||||
if (advancedRDS) {
|
||||
BuildDisplay();
|
||||
@@ -2012,99 +2057,16 @@ void ModeButtonPress() {
|
||||
if (fmdefaultstepsize == 1) Round100K(frequency); else Round50K(frequency);
|
||||
EEPROM.writeUInt(EE_UINT16_FREQUENCY_FM, frequency);
|
||||
}
|
||||
radio.clearRDS(fullsearchrds);
|
||||
CheckBandForbiddenFM();
|
||||
CheckBandForbiddenAM();
|
||||
menu = false;
|
||||
menuopen = false;
|
||||
LowLevelInit = true;
|
||||
EEPROM.writeByte(EE_BYTE_VOLSET, VolSet);
|
||||
EEPROM.writeUInt(EE_UINT16_CONVERTERSET, ConverterSet);
|
||||
EEPROM.writeUInt(EE_UINT16_FMLOWEDGESET, LowEdgeSet);
|
||||
EEPROM.writeUInt(EE_UINT16_FMHIGHEDGESET, HighEdgeSet);
|
||||
EEPROM.writeByte(EE_BYTE_CONTRASTSET, ContrastSet);
|
||||
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_HIGHCUTOFFSET, HighCutOffset);
|
||||
EEPROM.writeByte(EE_BYTE_LEVELOFFSET, LevelOffset);
|
||||
EEPROM.writeByte(EE_BYTE_RTBUFFER, radio.rds.rtbuffer);
|
||||
EEPROM.writeByte(EE_BYTE_EDGEBEEP, edgebeep);
|
||||
EEPROM.writeByte(EE_BYTE_SOFTMUTEAM, softmuteam);
|
||||
EEPROM.writeByte(EE_BYTE_SOFTMUTEFM, softmutefm);
|
||||
EEPROM.writeByte(EE_BYTE_LANGUAGE, language);
|
||||
EEPROM.writeByte(EE_BYTE_SHOWRDSERRORS, showrdserrors);
|
||||
EEPROM.writeByte(EE_BYTE_LOWLEVELSET, LowLevelSet);
|
||||
EEPROM.writeByte(EE_BYTE_REGION, region);
|
||||
EEPROM.writeByte(EE_BYTE_RDS_UNDERSCORE, radio.underscore);
|
||||
EEPROM.writeByte(EE_BYTE_USBMODE, USBmode);
|
||||
EEPROM.writeByte(EE_BYTE_WIFI, wifi);
|
||||
EEPROM.writeByte(EE_BYTE_SUBNETCLIENT, subnetclient);
|
||||
EEPROM.writeByte(EE_BYTE_SHOWSWMIBAND, showSWMIBand);
|
||||
EEPROM.writeByte(EE_BYTE_RDS_FILTER, radio.rds.filter);
|
||||
EEPROM.writeByte(EE_BYTE_RDS_PIERRORS, radio.rds.pierrors);
|
||||
EEPROM.writeByte(EE_BYTE_USESQUELCH, usesquelch);
|
||||
EEPROM.writeByte(EE_BYTE_SHOWMODULATION, showmodulation);
|
||||
EEPROM.writeByte(EE_BYTE_AM_NB, amnb);
|
||||
EEPROM.writeByte(EE_BYTE_FM_NB, fmnb);
|
||||
EEPROM.writeByte(EE_BYTE_AUDIOMODE, audiomode);
|
||||
EEPROM.writeByte(EE_BYTE_TOUCH_ROTATING, touchrotating);
|
||||
EEPROM.writeUInt(EE_UINT16_LOWEDGEOIRTSET, LowEdgeOIRTSet);
|
||||
EEPROM.writeUInt(EE_UINT16_HIGHEDGEOIRTSET, HighEdgeOIRTSet);
|
||||
EEPROM.writeByte(EE_BYTE_HARDWARE_MODEL, hardwaremodel);
|
||||
EEPROM.writeByte(EE_BYTE_POWEROPTIONS, poweroptions);
|
||||
EEPROM.writeByte(EE_BYTE_CURRENTTHEME, CurrentTheme);
|
||||
EEPROM.writeByte(EE_BYTE_FMDEFAULTSTEPSIZE, fmdefaultstepsize);
|
||||
EEPROM.writeByte(EE_BYTE_SCREENSAVERSET, screensaverset);
|
||||
EEPROM.writeInt(EE_INT16_AMLEVELOFFSET, AMLevelOffset);
|
||||
EEPROM.writeByte(EE_BYTE_UNIT, unit);
|
||||
EEPROM.writeByte(EE_BYTE_AF, af);
|
||||
EEPROM.writeByte(EE_BYTE_STEREO, StereoToggle);
|
||||
EEPROM.writeByte(EE_BYTE_BATTERY_OPTIONS, batteryoptions);
|
||||
EEPROM.writeByte(EE_BYTE_AM_CO_DECT, amcodect);
|
||||
EEPROM.writeByte(EE_BYTE_AM_CO_DECT_COUNT, amcodectcount);
|
||||
EEPROM.writeByte(EE_BYTE_AM_RF_GAIN, amgain);
|
||||
EEPROM.writeByte(EE_BYTE_SORTAF, radio.rds.sortaf);
|
||||
EEPROM.writeByte(EE_BYTE_STATIONLISTID, stationlistid);
|
||||
EEPROM.writeByte(EE_BYTE_FM_DEEMPHASIS, fmdeemphasis);
|
||||
EEPROM.writeByte(EE_BYTE_FASTPS, radio.rds.fastps);
|
||||
EEPROM.writeByte(EE_BYTE_TOT, tot);
|
||||
EEPROM.writeByte(EE_BYTE_MWREGION, mwstepsize);
|
||||
EEPROM.writeByte(EE_BYTE_SPISPEED, spispeed);
|
||||
EEPROM.writeByte(EE_BYTE_AMSCANSENS, amscansens);
|
||||
EEPROM.writeByte(EE_BYTE_FMSCANSENS, fmscansens);
|
||||
EEPROM.writeByte(EE_BYTE_FREQFONT, freqfont);
|
||||
EEPROM.writeByte(EE_BYTE_SKIN, CurrentSkin);
|
||||
EEPROM.writeByte(EE_BYTE_XDRGTKMUTE, XDRGTKMuteScreen);
|
||||
EEPROM.writeByte(EE_BYTE_FMAGC, fmagc);
|
||||
EEPROM.writeByte(EE_BYTE_AMAGC, amagc);
|
||||
EEPROM.writeByte(EE_BYTE_FMSI, fmsi);
|
||||
EEPROM.writeByte(EE_BYTE_SCANSTART, scanstart);
|
||||
EEPROM.writeByte(EE_BYTE_SCANSTOP, scanstop);
|
||||
EEPROM.writeByte(EE_BYTE_SCANHOLD, scanhold);
|
||||
EEPROM.writeByte(EE_BYTE_SCANMEM, scanmem);
|
||||
EEPROM.writeByte(EE_BYTE_SCANCANCEL, scancancel);
|
||||
EEPROM.writeByte(EE_BYTE_SCANMUTE, scanmute);
|
||||
EEPROM.commit();
|
||||
if (af == 2) radio.rds.afreg = true; else radio.rds.afreg = false;
|
||||
if (!usesquelch) radio.setUnMute();
|
||||
Serial.end();
|
||||
if (wifi) remoteip = IPAddress (WiFi.localIP()[0], WiFi.localIP()[1], WiFi.localIP()[2], subnetclient);
|
||||
if (USBmode) Serial.begin(19200); else Serial.begin(115200);
|
||||
|
||||
UpdateFonts(0);
|
||||
FullLineSprite.unloadFont();
|
||||
OneBigLineSprite.unloadFont();
|
||||
BuildDisplay();
|
||||
ShowSignalLevel();
|
||||
ShowBW();
|
||||
MWLowEdgeSet = mwstepsize == false ? FREQ_MW_LOW_EDGE_MIN_9K : FREQ_MW_LOW_EDGE_MIN_10K;
|
||||
MWHighEdgeSet = mwstepsize == false ? FREQ_MW_HIGH_EDGE_MAX_9K : FREQ_MW_HIGH_EDGE_MAX_10K;
|
||||
doBandSelectionFM();
|
||||
doBandSelectionAM();
|
||||
ScreensaverTimerSet(screensaverOptions[screensaverset]);
|
||||
if (screensaverset) ScreensaverTimerRestart();
|
||||
endMenu();
|
||||
} else {
|
||||
if (submenu) {
|
||||
if (menuopen) {
|
||||
@@ -2126,6 +2088,7 @@ void ModeButtonPress() {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
while (digitalRead(MODEBUTTON) == LOW) delay(50);
|
||||
delay(100);
|
||||
}
|
||||
@@ -2243,7 +2206,9 @@ void RoundStep() {
|
||||
}
|
||||
|
||||
void ButtonPress() {
|
||||
if (scandxmode) cancelDXScan();
|
||||
if (scandxmode) {
|
||||
cancelDXScan();
|
||||
} else {
|
||||
if (!usesquelch) radio.setUnMute();
|
||||
if (advancedRDS) BuildDisplay();
|
||||
if (!menu) {
|
||||
@@ -2400,12 +2365,15 @@ void ButtonPress() {
|
||||
} else {
|
||||
DoMenu();
|
||||
}
|
||||
}
|
||||
while (digitalRead(ROTARY_BUTTON) == LOW) delay(50);
|
||||
}
|
||||
|
||||
void KeyUp() {
|
||||
if (scandxmode) cancelDXScan();
|
||||
rotary = 0;
|
||||
if (scandxmode) {
|
||||
cancelDXScan();
|
||||
} else {
|
||||
if (!afscreen) {
|
||||
if (!menu) {
|
||||
switch (tunemode) {
|
||||
@@ -2466,10 +2434,13 @@ void KeyUp() {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void KeyDown() {
|
||||
if (scandxmode) cancelDXScan();
|
||||
rotary = 0;
|
||||
if (scandxmode) {
|
||||
cancelDXScan();
|
||||
} else {
|
||||
if (!afscreen) {
|
||||
if (!menu) {
|
||||
switch (tunemode) {
|
||||
@@ -2529,6 +2500,7 @@ void KeyDown() {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IsStationEmpty() {
|
||||
if (presets[memorypos].band == BAND_FM && presets[memorypos].frequency == EE_PRESETS_FREQUENCY) {
|
||||
@@ -2540,7 +2512,7 @@ bool IsStationEmpty() {
|
||||
bool IsFrequencyUsed(unsigned int freq) {
|
||||
bool result = false;
|
||||
for (byte x = scanstart; x <= scanstop; x++) {
|
||||
if (presets[x].frequency == freq) {
|
||||
if (presets[x].band == BAND_FM && presets[x].frequency == freq) {
|
||||
result = true;
|
||||
break;
|
||||
}
|
||||
@@ -2647,6 +2619,8 @@ void DoMemoryPosTune() {
|
||||
}
|
||||
|
||||
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");
|
||||
|
||||
String stationText = "";
|
||||
if (presets[memorypos].RDSPS[0] != '\0') {
|
||||
@@ -3210,7 +3184,7 @@ void doSquelch() {
|
||||
|
||||
if (language == LANGUAGE_CHS) SquelchSprite.loadFont(FONT16_CHS); else SquelchSprite.loadFont(FONT16);
|
||||
|
||||
if (!XDRGTKUSB && !XDRGTKTCP && usesquelch) {
|
||||
if (!XDRGTKUSB && !XDRGTKTCP && usesquelch && (!scandxmode || (scandxmode && !scanmute))) {
|
||||
if (!screenmute && usesquelch && !advancedRDS && !afscreen) {
|
||||
if (!menu && (Squelch > Squelchold + 2 || Squelch < Squelchold - 2)) {
|
||||
SquelchSprite.setTextColor(PrimaryColor, PrimaryColorSmooth, false);
|
||||
@@ -3238,7 +3212,7 @@ void doSquelch() {
|
||||
}
|
||||
}
|
||||
|
||||
if ((XDRGTKUSB || XDRGTKTCP)) {
|
||||
if ((XDRGTKUSB || XDRGTKTCP) && (!scandxmode || (scandxmode && !scanmute))) {
|
||||
if (!XDRMute) {
|
||||
if (Squelch != -1) {
|
||||
if (Squelch < SStatus || Squelch == -100 || Squelch == 0) {
|
||||
@@ -3312,7 +3286,7 @@ void doSquelch() {
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (usesquelch) {
|
||||
} else if (usesquelch && (!scandxmode || (scandxmode && !scanmute))) {
|
||||
if (Squelch != 920) {
|
||||
if (Squelch < SStatus || Squelch == -100 || Squelch == 0) {
|
||||
if (!seek) radio.setUnMute();
|
||||
@@ -3835,6 +3809,12 @@ void TuneUp() {
|
||||
|
||||
if (band == BAND_FM) {
|
||||
frequency += temp;
|
||||
if (scandxmode) {
|
||||
while (IsFrequencyUsed(frequency)) {
|
||||
frequency += temp;
|
||||
}
|
||||
}
|
||||
|
||||
if (fmdefaultstepsize == 2 && stepsize == 0 && frequency == 8795) frequency = 8790;
|
||||
if (frequency >= (HighEdgeSet * 10) + 1) {
|
||||
frequency = LowEdgeSet * 10;
|
||||
@@ -4333,3 +4313,124 @@ void cancelDXScan() {
|
||||
ShowTuneMode();
|
||||
ShowMemoryPos();
|
||||
}
|
||||
|
||||
void endMenu() {
|
||||
radio.clearRDS(fullsearchrds);
|
||||
menu = false;
|
||||
menuopen = false;
|
||||
LowLevelInit = true;
|
||||
EEPROM.writeByte(EE_BYTE_VOLSET, VolSet);
|
||||
EEPROM.writeUInt(EE_UINT16_CONVERTERSET, ConverterSet);
|
||||
EEPROM.writeUInt(EE_UINT16_FMLOWEDGESET, LowEdgeSet);
|
||||
EEPROM.writeUInt(EE_UINT16_FMHIGHEDGESET, HighEdgeSet);
|
||||
EEPROM.writeByte(EE_BYTE_CONTRASTSET, ContrastSet);
|
||||
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_HIGHCUTOFFSET, HighCutOffset);
|
||||
EEPROM.writeByte(EE_BYTE_LEVELOFFSET, LevelOffset);
|
||||
EEPROM.writeByte(EE_BYTE_RTBUFFER, radio.rds.rtbuffer);
|
||||
EEPROM.writeByte(EE_BYTE_EDGEBEEP, edgebeep);
|
||||
EEPROM.writeByte(EE_BYTE_SOFTMUTEAM, softmuteam);
|
||||
EEPROM.writeByte(EE_BYTE_SOFTMUTEFM, softmutefm);
|
||||
EEPROM.writeByte(EE_BYTE_LANGUAGE, language);
|
||||
EEPROM.writeByte(EE_BYTE_SHOWRDSERRORS, showrdserrors);
|
||||
EEPROM.writeByte(EE_BYTE_LOWLEVELSET, LowLevelSet);
|
||||
EEPROM.writeByte(EE_BYTE_REGION, region);
|
||||
EEPROM.writeByte(EE_BYTE_RDS_UNDERSCORE, radio.underscore);
|
||||
EEPROM.writeByte(EE_BYTE_USBMODE, USBmode);
|
||||
EEPROM.writeByte(EE_BYTE_WIFI, wifi);
|
||||
EEPROM.writeByte(EE_BYTE_SUBNETCLIENT, subnetclient);
|
||||
EEPROM.writeByte(EE_BYTE_SHOWSWMIBAND, showSWMIBand);
|
||||
EEPROM.writeByte(EE_BYTE_RDS_FILTER, radio.rds.filter);
|
||||
EEPROM.writeByte(EE_BYTE_RDS_PIERRORS, radio.rds.pierrors);
|
||||
EEPROM.writeByte(EE_BYTE_USESQUELCH, usesquelch);
|
||||
EEPROM.writeByte(EE_BYTE_SHOWMODULATION, showmodulation);
|
||||
EEPROM.writeByte(EE_BYTE_AM_NB, amnb);
|
||||
EEPROM.writeByte(EE_BYTE_FM_NB, fmnb);
|
||||
EEPROM.writeByte(EE_BYTE_AUDIOMODE, audiomode);
|
||||
EEPROM.writeByte(EE_BYTE_TOUCH_ROTATING, touchrotating);
|
||||
EEPROM.writeUInt(EE_UINT16_LOWEDGEOIRTSET, LowEdgeOIRTSet);
|
||||
EEPROM.writeUInt(EE_UINT16_HIGHEDGEOIRTSET, HighEdgeOIRTSet);
|
||||
EEPROM.writeByte(EE_BYTE_HARDWARE_MODEL, hardwaremodel);
|
||||
EEPROM.writeByte(EE_BYTE_POWEROPTIONS, poweroptions);
|
||||
EEPROM.writeByte(EE_BYTE_CURRENTTHEME, CurrentTheme);
|
||||
EEPROM.writeByte(EE_BYTE_FMDEFAULTSTEPSIZE, fmdefaultstepsize);
|
||||
EEPROM.writeByte(EE_BYTE_SCREENSAVERSET, screensaverset);
|
||||
EEPROM.writeInt(EE_INT16_AMLEVELOFFSET, AMLevelOffset);
|
||||
EEPROM.writeByte(EE_BYTE_UNIT, unit);
|
||||
EEPROM.writeByte(EE_BYTE_AF, af);
|
||||
EEPROM.writeByte(EE_BYTE_STEREO, StereoToggle);
|
||||
EEPROM.writeByte(EE_BYTE_BATTERY_OPTIONS, batteryoptions);
|
||||
EEPROM.writeByte(EE_BYTE_AM_CO_DECT, amcodect);
|
||||
EEPROM.writeByte(EE_BYTE_AM_CO_DECT_COUNT, amcodectcount);
|
||||
EEPROM.writeByte(EE_BYTE_AM_RF_GAIN, amgain);
|
||||
EEPROM.writeByte(EE_BYTE_SORTAF, radio.rds.sortaf);
|
||||
EEPROM.writeByte(EE_BYTE_STATIONLISTID, stationlistid);
|
||||
EEPROM.writeByte(EE_BYTE_FM_DEEMPHASIS, fmdeemphasis);
|
||||
EEPROM.writeByte(EE_BYTE_FASTPS, radio.rds.fastps);
|
||||
EEPROM.writeByte(EE_BYTE_TOT, tot);
|
||||
EEPROM.writeByte(EE_BYTE_MWREGION, mwstepsize);
|
||||
EEPROM.writeByte(EE_BYTE_SPISPEED, spispeed);
|
||||
EEPROM.writeByte(EE_BYTE_AMSCANSENS, amscansens);
|
||||
EEPROM.writeByte(EE_BYTE_FMSCANSENS, fmscansens);
|
||||
EEPROM.writeByte(EE_BYTE_FREQFONT, freqfont);
|
||||
EEPROM.writeByte(EE_BYTE_SKIN, CurrentSkin);
|
||||
EEPROM.writeByte(EE_BYTE_XDRGTKMUTE, XDRGTKMuteScreen);
|
||||
EEPROM.writeByte(EE_BYTE_FMAGC, fmagc);
|
||||
EEPROM.writeByte(EE_BYTE_AMAGC, amagc);
|
||||
EEPROM.writeByte(EE_BYTE_FMSI, fmsi);
|
||||
EEPROM.writeByte(EE_BYTE_SCANSTART, scanstart);
|
||||
EEPROM.writeByte(EE_BYTE_SCANSTOP, scanstop);
|
||||
EEPROM.writeByte(EE_BYTE_SCANHOLD, scanhold);
|
||||
EEPROM.writeByte(EE_BYTE_SCANMEM, scanmem);
|
||||
EEPROM.writeByte(EE_BYTE_SCANCANCEL, scancancel);
|
||||
EEPROM.writeByte(EE_BYTE_SCANMUTE, scanmute);
|
||||
EEPROM.commit();
|
||||
if (af == 2) radio.rds.afreg = true; else radio.rds.afreg = false;
|
||||
Serial.end();
|
||||
if (wifi) remoteip = IPAddress (WiFi.localIP()[0], WiFi.localIP()[1], WiFi.localIP()[2], subnetclient);
|
||||
if (USBmode) Serial.begin(19200); else Serial.begin(115200);
|
||||
|
||||
UpdateFonts(0);
|
||||
FullLineSprite.unloadFont();
|
||||
OneBigLineSprite.unloadFont();
|
||||
BuildDisplay();
|
||||
}
|
||||
|
||||
void startFMDXScan() {
|
||||
memorypos = scanstart;
|
||||
scanmodeold = tunemode;
|
||||
if (scanmem) {
|
||||
tunemode = TUNE_MEM;
|
||||
if (band != BAND_FM) {
|
||||
band = BAND_FM;
|
||||
SelectBand();
|
||||
}
|
||||
endMenu();
|
||||
DoMemoryPosTune();
|
||||
} else {
|
||||
tunemode = TUNE_MAN;
|
||||
if (band != BAND_FM) {
|
||||
band = BAND_FM;
|
||||
SelectBand();
|
||||
endMenu();
|
||||
}
|
||||
endMenu();
|
||||
TuneUp();
|
||||
ShowFreq(0);
|
||||
}
|
||||
if (scanmute) {
|
||||
radio.setMute();
|
||||
if (CurrentSkin == 1) {
|
||||
tft.pushImage (106, 3, 27, 23, skin1_muteon);
|
||||
} else {
|
||||
tft.drawBitmap(92, 4, Speaker, 26, 22, PrimaryColor);
|
||||
}
|
||||
SQ = true;
|
||||
Squelchold = -2;
|
||||
}
|
||||
scantimer = millis();
|
||||
scandxmode = true;
|
||||
}
|
||||
|
||||
+1
-9
@@ -4185,15 +4185,7 @@ void DoMenu() {
|
||||
Infoboxprint(myLanguage[language][214]);
|
||||
OneBigLineSprite.pushSprite(24, 118);
|
||||
} else {
|
||||
menuopen = false;
|
||||
menu = false;
|
||||
memorypos = scanstart;
|
||||
scanmodeold = tunemode;
|
||||
tunemode = TUNE_MEM;
|
||||
BuildDisplay();
|
||||
DoMemoryPosTune();
|
||||
scantimer = millis();
|
||||
scandxmode = true;
|
||||
startFMDXScan();
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
@@ -224,6 +224,9 @@ extern void updateiMS();
|
||||
extern void updateEQ();
|
||||
extern void doTheme();
|
||||
extern void tryWiFi();
|
||||
extern void TuneUp();
|
||||
extern void endMenu();
|
||||
extern void startFMDXScan();
|
||||
extern void DoMemoryPosTune();
|
||||
extern void UpdateFonts(bool mode);
|
||||
extern void tftPrint(int8_t offset, const String & text, int16_t x, int16_t y, int color, int smoothcolor, uint8_t fontsize);
|
||||
|
||||
Reference in New Issue
Block a user