Fixed tune down not working in FM

This commit is contained in:
Sjef Verhoeven PE5PVB
2023-06-25 22:27:06 +02:00
parent cbac85c094
commit 0c4395264a
+24 -19
View File
@@ -314,10 +314,14 @@ void setup() {
case BAND_FM: case BAND_FM:
if (specialstepOIRT) { if (specialstepOIRT) {
if (frequency >= (FREQ_FM_OIRT_START) && frequency <= (FREQ_FM_OIRT_END)) { if (frequency >= (FREQ_FM_OIRT_START) && frequency <= (FREQ_FM_OIRT_END)) {
if (frequency % 3 != 0) { Round30K(frequency); } if (frequency % 3 != 0) {
Round30K(frequency);
}
}
} else {
if (frequency % 10 != 0) {
Round50K(frequency);
} }
}else {
if (frequency % 10 != 0) { Round50K(frequency); }
} }
break; break;
default: break; default: break;
@@ -1202,13 +1206,13 @@ void ModeButtonPress() {
if (frequency >= (FREQ_FM_OIRT_START) && frequency <= (FREQ_FM_OIRT_END)) { if (frequency >= (FREQ_FM_OIRT_START) && frequency <= (FREQ_FM_OIRT_END)) {
if (frequency % 3 != 0) { if (frequency % 3 != 0) {
Round30K(frequency); Round30K(frequency);
EEPROM.writeUInt(0,frequency); EEPROM.writeUInt(0, frequency);
} }
} }
}else { } else {
if (frequency % 10 != 0) { if (frequency % 10 != 0) {
Round50K(frequency); Round50K(frequency);
EEPROM.writeUInt(0,frequency); EEPROM.writeUInt(0, frequency);
} }
} }
BuildDisplay(); BuildDisplay();
@@ -1275,7 +1279,7 @@ void ShowStepSize() {
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) % 3);
}else { } else {
HighEdgeOIRTSet = 0; HighEdgeOIRTSet = 0;
} }
} }
@@ -1283,7 +1287,7 @@ 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) % 3);
}else { } else {
LowEdgeOIRTSet = 0; LowEdgeOIRTSet = 0;
} }
} }
@@ -1312,10 +1316,10 @@ void RoundStep() {
if (specialstepOIRT) { if (specialstepOIRT) {
if (frequency >= FREQ_FM_OIRT_START && frequency <= FREQ_FM_OIRT_END) { if (frequency >= FREQ_FM_OIRT_START && frequency <= FREQ_FM_OIRT_END) {
Round30K(freq); Round30K(freq);
}else { } else {
Round50K(freq); Round50K(freq);
} }
}else { } else {
Round50K(freq); Round50K(freq);
} }
radio.SetFreq(frequency); radio.SetFreq(frequency);
@@ -4370,10 +4374,10 @@ void TuneUp() {
if (frequency >= (FREQ_FM_OIRT_START) && frequency <= (FREQ_FM_OIRT_END - FREQ_FM_STEP_30K)) { if (frequency >= (FREQ_FM_OIRT_START) && frequency <= (FREQ_FM_OIRT_END - FREQ_FM_STEP_30K)) {
if (specialstepOIRT) { if (specialstepOIRT) {
temp = FREQ_FM_STEP_30K; temp = FREQ_FM_STEP_30K;
}else { } else {
temp = FREQ_FM_STEP_50K; temp = FREQ_FM_STEP_50K;
} }
}else { } else {
temp = FREQ_FM_STEP_50K; temp = FREQ_FM_STEP_50K;
} }
} }
@@ -4386,7 +4390,7 @@ void TuneUp() {
if (band == BAND_FM) { if (band == BAND_FM) {
frequency += temp; frequency += temp;
if (specialstepOIRT) { if (specialstepOIRT) {
if (frequency >= (HighEdgeOIRTSet == 0 ? ((HighEdgeSet * 10) + 1) : (HighEdgeOIRTSet + 1))){ if (frequency >= (HighEdgeOIRTSet == 0 ? ((HighEdgeSet * 10) + 1) : (HighEdgeOIRTSet + 1))) {
frequency = (LowEdgeOIRTSet == 0 ? (LowEdgeSet * 10) : LowEdgeOIRTSet); frequency = (LowEdgeOIRTSet == 0 ? (LowEdgeSet * 10) : LowEdgeOIRTSet);
if (edgebeep) EdgeBeeper(); if (edgebeep) EdgeBeeper();
} }
@@ -4449,10 +4453,10 @@ void TuneDown() {
if (frequency >= (FREQ_FM_OIRT_START + FREQ_FM_STEP_30K) && frequency <= (FREQ_FM_OIRT_END)) { if (frequency >= (FREQ_FM_OIRT_START + FREQ_FM_STEP_30K) && frequency <= (FREQ_FM_OIRT_END)) {
if (specialstepOIRT) { if (specialstepOIRT) {
temp = FREQ_FM_STEP_30K; temp = FREQ_FM_STEP_30K;
}else { } else {
temp = FREQ_FM_STEP_50K; temp = FREQ_FM_STEP_50K;
} }
}else { } else {
temp = FREQ_FM_STEP_50K; temp = FREQ_FM_STEP_50K;
} }
} }
@@ -4465,7 +4469,7 @@ void TuneDown() {
if (band == BAND_FM) { if (band == BAND_FM) {
frequency -= temp; frequency -= temp;
if (specialstepOIRT) { if (specialstepOIRT) {
if (frequency < (LowEdgeOIRTSet == 0 ? (LowEdgeSet * 10) : LowEdgeOIRTSet) ){ if (frequency < (LowEdgeOIRTSet == 0 ? (LowEdgeSet * 10) : LowEdgeOIRTSet) ) {
frequency = (HighEdgeOIRTSet == 0 ? (HighEdgeSet * 10) : HighEdgeOIRTSet); frequency = (HighEdgeOIRTSet == 0 ? (HighEdgeSet * 10) : HighEdgeOIRTSet);
if (edgebeep) EdgeBeeper(); if (edgebeep) EdgeBeeper();
} }
@@ -4475,6 +4479,7 @@ void TuneDown() {
if (edgebeep) EdgeBeeper(); if (edgebeep) EdgeBeeper();
} }
} }
radio.SetFreq(frequency);
} }
if (band == BAND_LW) { if (band == BAND_LW) {
@@ -4672,9 +4677,9 @@ void DefaultSettings() {
EEPROM.writeByte(246, 0); EEPROM.writeByte(246, 0);
EEPROM.writeByte(247, 0); EEPROM.writeByte(247, 0);
EEPROM.writeByte(248, 0); EEPROM.writeByte(248, 0);
EEPROM.writeByte(249,0); EEPROM.writeByte(249, 0);
EEPROM.writeUInt(250,0); EEPROM.writeUInt(250, 0);
EEPROM.writeUInt(254,0); EEPROM.writeUInt(254, 0);
EEPROM.commit(); EEPROM.commit();
} }