From be6ac1948cc99996e8ed9d34085fce559e40936a Mon Sep 17 00:00:00 2001 From: kevin Date: Thu, 15 Jun 2023 23:34:49 +0800 Subject: [PATCH] Add bands bandage settings --- TEF6686_ESP32.ino | 59 +++++++++++++++++++++++++++++------------------ src/TEF6686.h | 22 ++++++++++-------- 2 files changed, 49 insertions(+), 32 deletions(-) diff --git a/TEF6686_ESP32.ino b/TEF6686_ESP32.ino index 44d7d0b..5685f1a 100644 --- a/TEF6686_ESP32.ino +++ b/TEF6686_ESP32.ino @@ -111,6 +111,12 @@ unsigned int HighEdgeSet; int LevelOffset; unsigned int LowEdgeSet; int LowLevelSet; +unsigned int LWHighEdgeSet; +unsigned int LWLowEdgeSet; +unsigned int MWHighEdgeSet; +unsigned int MWLowEdgeSet; +unsigned int SWHighEdgeSet; +unsigned int SWLowEdgeSet; int lowsignaltimer; int menuoption = 30; int MStatusold; @@ -246,6 +252,13 @@ void setup() { frequency_MW = EEPROM.readUInt(225); frequency_SW = EEPROM.readUInt(229); + LWLowEdgeSet = FREQ_LW_LOW_EDGE_MIN; // later will read from flash + LWHighEdgeSet = FREQ_LW_HIGH_EDGE_MAX; // later will read from flash + MWLowEdgeSet = region == 0 ? FREQ_MW_LOW_EDGE_MIN_9K : FREQ_MW_LOW_EDGE_MIN_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; + SWHighEdgeSet = FREQ_SW_HIGH_EDGE_MAX; + for (int i = 0; i < 30; i++) memoryband[i] = EEPROM.readByte(i + 60); for (int i = 0; i < 30; i++) memory[i] = EEPROM.readUInt((i * 4) + 100); btStop(); @@ -646,20 +659,20 @@ void LimitAMFrequency() { switch (band) { case BAND_LW: frequency_AM = frequency_LW; - if (frequency_AM > FREQ_LW_END || frequency_AM < FREQ_LW_START) { - frequency_AM = FREQ_LW_START; + if (frequency_AM > LWHighEdgeSet || frequency_AM < LWLowEdgeSet) { + frequency_AM = LWLowEdgeSet; } break; case BAND_MW: frequency_AM = frequency_MW; - if (frequency_AM > (region == 0 ? FREQ_MW_END_EU : FREQ_MW_END_US) || frequency_AM < (region == 0 ? FREQ_MW_START_EU : FREQ_MW_START_US)) { - frequency_AM = region == 0 ? FREQ_MW_START_EU : FREQ_MW_START_US; + if (frequency_AM > MWHighEdgeSet || frequency_AM < MWLowEdgeSet) { + frequency_AM = MWLowEdgeSet; // take care of 9K/10K step } break; case BAND_SW: frequency_AM = frequency_SW; - if (frequency_AM > FREQ_SW_END || frequency_AM < FREQ_SW_START) { - frequency_AM = FREQ_SW_START; + if (frequency_AM > SWHighEdgeSet || frequency_AM < SWLowEdgeSet) { + frequency_AM = SWLowEdgeSet; } break; } @@ -2887,7 +2900,7 @@ void XDRGTKRoutine() { unsigned int freqtemp; freqtemp = atoi(buff + 1); if (seek == true) seek = false; - if (freqtemp >= FREQ_LW_START && freqtemp <= FREQ_LW_END) { + if (freqtemp >= LWLowEdgeSet && freqtemp <= LWHighEdgeSet) { frequency_AM = freqtemp; if (band != BAND_LW) { band = BAND_LW; @@ -2896,7 +2909,7 @@ void XDRGTKRoutine() { radio.SetFreqAM(frequency_AM); } Serial.print("M1\n"); - } else if (freqtemp >= (region == 0 ? FREQ_MW_START_EU : FREQ_MW_START_US) && freqtemp <= (region == 0 ? FREQ_MW_END_EU : FREQ_MW_END_US)) { + } else if (freqtemp >= MWLowEdgeSet && freqtemp <= MWHighEdgeSet) { frequency_AM = freqtemp; if (band != BAND_MW) { band = BAND_MW; @@ -2905,7 +2918,7 @@ void XDRGTKRoutine() { radio.SetFreqAM(frequency_AM); } Serial.print("M2\n"); - } else if (freqtemp >= FREQ_SW_START && freqtemp <= FREQ_SW_END) { + } else if (freqtemp >= SWLowEdgeSet && freqtemp <= SWHighEdgeSet) { frequency_AM = freqtemp; if (band != BAND_SW) { band = BAND_SW; @@ -3079,7 +3092,7 @@ void TuneUp() { unsigned int temp; if (stepsize == 0) { if (band != BAND_FM) { - if (frequency_AM < FREQ_SW_START) { + if (frequency_AM < MWHighEdgeSet) { if (region == 0) { temp = FREQ_MW_STEP_9K; frequency_AM = (frequency_AM / FREQ_MW_STEP_9K) * FREQ_MW_STEP_9K; @@ -3111,24 +3124,24 @@ void TuneUp() { if (band == BAND_LW) { frequency_AM += temp; - if (frequency_AM > FREQ_LW_END) { - frequency_AM = FREQ_LW_START; + if (frequency_AM > LWHighEdgeSet) { + frequency_AM = LWLowEdgeSet; if (edgebeep) EdgeBeeper(); } radio.SetFreqAM(frequency_AM); frequency_LW = frequency_AM; } else if (band == BAND_MW) { frequency_AM += temp; - if (frequency_AM > (region == 0 ? FREQ_MW_END_EU : FREQ_MW_END_US)) { - frequency_AM = (region == 0 ? FREQ_MW_START_EU : FREQ_MW_START_US); + if (frequency_AM > MWHighEdgeSet) { + frequency_AM = MWLowEdgeSet; if (edgebeep) EdgeBeeper(); } radio.SetFreqAM(frequency_AM); frequency_MW = frequency_AM; } else if (band == BAND_SW) { frequency_AM += temp; - if (frequency_AM > FREQ_SW_END) { - frequency_AM = FREQ_SW_START; + if (frequency_AM > SWHighEdgeSet) { + frequency_AM = SWLowEdgeSet; if (edgebeep) EdgeBeeper(); } radio.SetFreqAM(frequency_AM); @@ -3142,7 +3155,7 @@ void TuneDown() { unsigned int temp; if (stepsize == 0) { if (band != BAND_FM) { - if (frequency_AM <= FREQ_SW_START) { + if (frequency_AM <= MWHighEdgeSet) { if (frequency_AM == 2000) { // Fix Me :take care of 9K/10K Step frequency_AM = 1998; temp = 0; @@ -3174,24 +3187,24 @@ void TuneDown() { if (band == BAND_LW) { frequency_AM -= temp; - if (frequency_AM < FREQ_LW_START) { - frequency_AM = FREQ_LW_END; + if (frequency_AM < LWLowEdgeSet) { + frequency_AM = LWHighEdgeSet; if (edgebeep) EdgeBeeper(); } radio.SetFreqAM(frequency_AM); frequency_LW = frequency_AM; } else if (band == BAND_MW) { frequency_AM -= temp; - if (frequency_AM < (region == 0 ? FREQ_MW_START_EU : FREQ_MW_START_US)) { - frequency_AM = region == 0 ? FREQ_MW_END_EU : FREQ_MW_END_US; + if (frequency_AM < MWLowEdgeSet) { + frequency_AM = MWHighEdgeSet; if (edgebeep) EdgeBeeper(); } radio.SetFreqAM(frequency_AM); frequency_MW = frequency_AM; } else if (band == BAND_SW) { frequency_AM -= temp; - if (frequency_AM < FREQ_SW_START) { - frequency_AM = FREQ_SW_END; + if (frequency_AM < SWLowEdgeSet) { + frequency_AM = SWHighEdgeSet; if (edgebeep) EdgeBeeper(); } radio.SetFreqAM(frequency_AM); diff --git a/src/TEF6686.h b/src/TEF6686.h index 9e49db7..0501780 100644 --- a/src/TEF6686.h +++ b/src/TEF6686.h @@ -19,14 +19,18 @@ enum RADIO_BAND { #define FREQ_MW_STEP_10K 10 #define FREQ_SW_STEP_5K 5 -#define FREQ_LW_START 144 // you can adjust here -#define FREQ_LW_END 513 // you can adjust here -#define FREQ_MW_START_EU 522 -#define FREQ_MW_END_EU 1620 -#define FREQ_MW_START_US 520 -#define FREQ_MW_END_US 1710 -#define FREQ_FM_START 65000 -#define FREQ_FM_END 108000 +#define FREQ_LW_LOW_EDGE_MIN 100 +#define FREQ_LW_HIGH_EDGE_MAX 519 +#define FREQ_MW_LOW_EDGE_MIN_9K 522 +#define FREQ_MW_LOW_EDGE_MIN_10K 520 +#define FREQ_MW_HIGH_EDGE_MAX_9K 1791 +#define FREQ_MW_HIGH_EDGE_MAX_10K 1700 +#define FREQ_SW_LOW_EDGE_MIN 1700 +#define FREQ_SW_LOW_EDGE_MAX (FREQ_SW_160M_START) +#define FREQ_SW_HIGH_EDGE_MIN (FREQ_SW_11M_END) +#define FREQ_SW_HIGH_EDGE_MAX (FREQ_SW_END) +#define FREQ_FM_START 65000 +#define FREQ_FM_END 108000 // according to https://www.short-wave.info/index.php?feature=frequencies #define FREQ_SW_START 1800 @@ -60,7 +64,7 @@ enum RADIO_BAND { #define FREQ_SW_13M_START 21450 #define FREQ_SW_13M_END 21850 #define FREQ_SW_11M_START 25670 -#define FREQ_SW_11M_END 26100 +#define FREQ_SW_11M_END 26100 const char* const PTY_EU[] { "None",