BW for AM and FM is now stored in flash

This commit is contained in:
Sjef Verhoeven PE5PVB
2023-10-03 17:00:07 +02:00
parent 7aedffeae6
commit 0997590b97
2 changed files with 16 additions and 3 deletions
+13 -2
View File
@@ -119,6 +119,8 @@ byte batteryold;
byte batteryoptions; byte batteryoptions;
byte batteryoptionsold; byte batteryoptionsold;
byte BWset; byte BWset;
byte BWsetAM;
byte BWsetFM;
#ifdef CHINA_PORTABLE #ifdef CHINA_PORTABLE
byte hardwaremodel = PORTABLE_ILI9341; byte hardwaremodel = PORTABLE_ILI9341;
#else #else
@@ -416,6 +418,8 @@ void setup() {
radio.rds.sortaf = EEPROM.readByte(EE_BYTE_SORTAF); radio.rds.sortaf = EEPROM.readByte(EE_BYTE_SORTAF);
stationlistid = EEPROM.readByte(EE_BYTE_STATIONLISTID); stationlistid = EEPROM.readByte(EE_BYTE_STATIONLISTID);
fmdeemphasis = EEPROM.readByte(EE_BYTE_FM_DEEMPHASIS); fmdeemphasis = EEPROM.readByte(EE_BYTE_FM_DEEMPHASIS);
BWsetFM = EEPROM.readByte(EE_BYTE_BWSET_FM);
BWsetAM = EEPROM.readByte(EE_BYTE_BWSET_AM);
LWLowEdgeSet = FREQ_LW_LOW_EDGE_MIN; // later will read from flash LWLowEdgeSet = FREQ_LW_LOW_EDGE_MIN; // later will read from flash
LWHighEdgeSet = FREQ_LW_HIGH_EDGE_MAX; // later will read from flash LWHighEdgeSet = FREQ_LW_HIGH_EDGE_MAX; // later will read from flash
@@ -1617,7 +1621,7 @@ void SelectBand() {
seek = false; seek = false;
if (tunemode == TUNE_MI_BAND && band != BAND_SW) tunemode = TUNE_MAN; if (tunemode == TUNE_MI_BAND && band != BAND_SW) tunemode = TUNE_MAN;
BWreset = true; BWreset = true;
BWset = 2; BWset = BWsetAM;
if (band == BAND_LW) freqold = frequency_LW; if (band == BAND_LW) freqold = frequency_LW;
if (band == BAND_MW) freqold = frequency_MW; if (band == BAND_MW) freqold = frequency_MW;
if (band == BAND_SW) freqold = frequency_SW; if (band == BAND_SW) freqold = frequency_SW;
@@ -1651,7 +1655,7 @@ void SelectBand() {
PTYold = ""; PTYold = "";
RTold = ""; RTold = "";
BWreset = true; BWreset = true;
BWset = 0; BWset = BWsetFM;
radio.clearRDS(fullsearchrds); radio.clearRDS(fullsearchrds);
freqold = frequency_AM; freqold = frequency_AM;
CheckBandForbiddenFM(); CheckBandForbiddenFM();
@@ -2695,6 +2699,8 @@ void doBW() {
case 15: radio.setFMBandw(287); break; case 15: radio.setFMBandw(287); break;
case 16: radio.setFMBandw(311); break; case 16: radio.setFMBandw(311); break;
} }
BWsetFM = BWset;
EEPROM.writeByte(EE_BYTE_BWSET_FM, BWsetFM);
} else { } else {
if (BWset > 4) BWset = 1; if (BWset > 4) BWset = 1;
@@ -2704,9 +2710,12 @@ void doBW() {
case 3: radio.setAMBandw(6); break; case 3: radio.setAMBandw(6); break;
case 4: radio.setAMBandw(8); break; case 4: radio.setAMBandw(8); break;
} }
BWsetAM = BWset;
EEPROM.writeByte(EE_BYTE_BWSET_AM, BWsetAM);
} }
updateBW(); updateBW();
BWreset = true; BWreset = true;
EEPROM.commit();
} }
void doTuneMode() { void doTuneMode() {
@@ -3215,6 +3224,8 @@ void DefaultSettings(byte userhardwaremodel) {
EEPROM.writeByte(EE_BYTE_SORTAF, 1); EEPROM.writeByte(EE_BYTE_SORTAF, 1);
EEPROM.writeByte(EE_BYTE_STATIONLISTID, 1); EEPROM.writeByte(EE_BYTE_STATIONLISTID, 1);
EEPROM.writeByte(EE_BYTE_FM_DEEMPHASIS, DEEMPHASIS_50); EEPROM.writeByte(EE_BYTE_FM_DEEMPHASIS, DEEMPHASIS_50);
EEPROM.writeByte(EE_BYTE_BWSET_FM, 0);
EEPROM.writeByte(EE_BYTE_BWSET_AM, 2);
EEPROM.commit(); EEPROM.commit();
} }
+3 -1
View File
@@ -106,7 +106,7 @@
// EEPROM index defines // EEPROM index defines
#define EE_PRESETS_CNT 30 #define EE_PRESETS_CNT 30
#define EE_CHECKBYTE_VALUE 32 // 0 ~ 255,add new entry, change for new value #define EE_CHECKBYTE_VALUE 33 // 0 ~ 255,add new entry, change for new value
#define EE_TOTAL_CNT 278 #define EE_TOTAL_CNT 278
#define EE_UINT16_FREQUENCY_FM 0 #define EE_UINT16_FREQUENCY_FM 0
@@ -142,6 +142,8 @@
#define EE_BYTE_EQSET 45 #define EE_BYTE_EQSET 45
#define EE_BYTE_BAND 46 #define EE_BYTE_BAND 46
#define EE_BYTE_LOWLEVELSET 47 #define EE_BYTE_LOWLEVELSET 47
#define EE_BYTE_BWSET_FM 48
#define EE_BYTE_BWSET_AM 49
#define EE_BYTE_MEMORYPOS 51 #define EE_BYTE_MEMORYPOS 51
#define EE_BYTE_REGION 52 #define EE_BYTE_REGION 52
#define EE_BYTE_RDS_UNDERSCORE 53 #define EE_BYTE_RDS_UNDERSCORE 53