You've already forked TEF6686_ESP32
Updated behaviour on 200kHz FM stepsize
This commit is contained in:
@@ -1979,13 +1979,14 @@ void Round100K(unsigned int freq) {
|
||||
}
|
||||
|
||||
void Round200K(unsigned int freq) {
|
||||
if (freq % 10 < 5) {
|
||||
frequency = (freq - freq % 10);
|
||||
} else {
|
||||
frequency = (freq - (freq % 10) + 10);
|
||||
if ((freq % 10) % 2 != 0) frequency += 10;
|
||||
}
|
||||
frequency = (freq / 10) * 10;
|
||||
|
||||
if (freq % 10 >= 5) frequency += 10;
|
||||
if ((frequency / 100) % 2 == 0) frequency += 10;
|
||||
if (frequency > 10800) frequency = 10790;
|
||||
if (frequency % 20 == 0 && (frequency / 10) % 2 == 0) frequency -= 10;
|
||||
}
|
||||
|
||||
void Round5K(unsigned int freqAM) {
|
||||
if (freqAM % 10 < 3) {
|
||||
frequency_AM = (freqAM - freqAM % 10);
|
||||
@@ -3109,8 +3110,10 @@ void TuneUp() {
|
||||
|
||||
if (band == BAND_FM) {
|
||||
frequency += temp;
|
||||
if (fmdefaultstepsize == 2 && stepsize == 0 && frequency == 8795) frequency = 8790;
|
||||
if (frequency >= (HighEdgeSet * 10) + 1) {
|
||||
frequency = LowEdgeSet * 10;
|
||||
if (fmdefaultstepsize == 2 && stepsize == 0 && frequency == 8750) frequency = 8775;
|
||||
if (edgebeep) EdgeBeeper();
|
||||
}
|
||||
radio.SetFreq(frequency);
|
||||
@@ -3191,8 +3194,12 @@ void TuneDown() {
|
||||
|
||||
if (band == BAND_FM) {
|
||||
frequency -= temp;
|
||||
if (fmdefaultstepsize == 2 && stepsize == 0 && frequency == 8770) frequency = 8775;
|
||||
if (fmdefaultstepsize == 2 && stepsize == 0 && frequency == 8755) frequency = 10790;
|
||||
|
||||
if (frequency < LowEdgeSet * 10) {
|
||||
frequency = HighEdgeSet * 10;
|
||||
if (fmdefaultstepsize == 2 && stepsize == 0 && frequency == 10800) frequency = 10790;
|
||||
if (edgebeep) EdgeBeeper();
|
||||
}
|
||||
radio.SetFreq(frequency);
|
||||
|
||||
@@ -149,6 +149,7 @@ void TEF6686::power(bool mode) {
|
||||
void TEF6686::SetFreq(uint16_t frequency) {
|
||||
devTEF_Radio_Tune_To(frequency);
|
||||
currentfreq = ((frequency + 5) / 10) * 10;
|
||||
currentfreq2 = frequency;
|
||||
}
|
||||
|
||||
void TEF6686::SetFreqAM(uint16_t frequency) {
|
||||
@@ -452,25 +453,25 @@ void TEF6686::readRDS(byte showrdserrors)
|
||||
|
||||
if (SPIFFS.begin(true)) {
|
||||
delay(5);
|
||||
if (currentfreq < 9000) {
|
||||
if (currentfreq2 < 9000) {
|
||||
file = SPIFFS.open("/USA_87-90.csv");
|
||||
} else if (currentfreq > 9000 && currentfreq < 9200) {
|
||||
} else if (currentfreq2 > 9000 && currentfreq2 < 9200) {
|
||||
file = SPIFFS.open("/USA_90-92.csv");
|
||||
} else if (currentfreq > 9200 && currentfreq < 9400) {
|
||||
} else if (currentfreq2 > 9200 && currentfreq2 < 9400) {
|
||||
file = SPIFFS.open("/USA_92-94.csv");
|
||||
} else if (currentfreq > 9400 && currentfreq < 9600) {
|
||||
} else if (currentfreq2 > 9400 && currentfreq2 < 9600) {
|
||||
file = SPIFFS.open("/USA_94-96.csv");
|
||||
} else if (currentfreq > 9600 && currentfreq < 9800) {
|
||||
} else if (currentfreq2 > 9600 && currentfreq2 < 9800) {
|
||||
file = SPIFFS.open("/USA_96-98.csv");
|
||||
} else if (currentfreq > 9800 && currentfreq < 10000) {
|
||||
} else if (currentfreq2 > 9800 && currentfreq2 < 10000) {
|
||||
file = SPIFFS.open("/USA_98-100.csv");
|
||||
} else if (currentfreq > 10000 && currentfreq < 10200) {
|
||||
} else if (currentfreq2 > 10000 && currentfreq2 < 10200) {
|
||||
file = SPIFFS.open("/USA_100-102.csv");
|
||||
} else if (currentfreq > 10200 && currentfreq < 10400) {
|
||||
} else if (currentfreq2 > 10200 && currentfreq2 < 10400) {
|
||||
file = SPIFFS.open("/USA_102-104.csv");
|
||||
} else if (currentfreq > 10400 && currentfreq < 10600) {
|
||||
} else if (currentfreq2 > 10400 && currentfreq2 < 10600) {
|
||||
file = SPIFFS.open("/USA_104-106.csv");
|
||||
} else if (currentfreq > 10600) {
|
||||
} else if (currentfreq2 > 10600) {
|
||||
file = SPIFFS.open("/USA_106-108.csv");
|
||||
}
|
||||
|
||||
@@ -506,7 +507,7 @@ void TEF6686::readRDS(byte showrdserrors)
|
||||
stationState[sizeof(stationState) - 1] = '\0';
|
||||
}
|
||||
|
||||
if (frequencyValue == currentfreq && static_cast<uint16_t>(firstColumnValue) == rds.correctPI) {
|
||||
if (frequencyValue == currentfreq2 && static_cast<uint16_t>(firstColumnValue) == rds.correctPI) {
|
||||
strncpy(rds.stationID, stationID, 7);
|
||||
strncpy(rds.stationState, stationState, 2);
|
||||
foundMatch = true;
|
||||
|
||||
@@ -731,6 +731,7 @@ class TEF6686 {
|
||||
char RDSplus1[45];
|
||||
char RDSplus2[45];
|
||||
uint16_t currentfreq;
|
||||
uint16_t currentfreq2;
|
||||
bool togglebit;
|
||||
bool runningbit;
|
||||
bool initrt;
|
||||
|
||||
Reference in New Issue
Block a user