From a44c307f54dc56acd03c8b61eb4432bca1fbc086 Mon Sep 17 00:00:00 2001 From: Adam Wisher <37659188+mrwish7@users.noreply.github.com> Date: Sun, 27 Aug 2023 13:12:39 +0100 Subject: [PATCH] Fix OIRT step rounding Frequency modulo 3 should always equal 2 for the correct OIRT 30kHz steps with plus 20kHz offset. --- TEF6686_ESP32.ino | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/TEF6686_ESP32.ino b/TEF6686_ESP32.ino index 6ddb358..d8e9979 100644 --- a/TEF6686_ESP32.ino +++ b/TEF6686_ESP32.ino @@ -454,7 +454,7 @@ void setup() { } break; case BAND_OIRT: - if (frequency % FREQ_OIRT_STEP_30K != 0) { + if (frequency % FREQ_OIRT_STEP_30K != 2) { Round30K(frequency_OIRT); } break; @@ -1853,8 +1853,11 @@ void ShowStepSize() { } void Round30K(unsigned int freq) { - if (freq % FREQ_OIRT_STEP_30K < FREQ_OIRT_STEP_30K) { - frequency_OIRT = (freq - freq % FREQ_OIRT_STEP_30K); + if (freq % FREQ_OIRT_STEP_30K == 1) { + frequency_OIRT = (freq + 1); + } + else if (freq % FREQ_OIRT_STEP_30K == 0) { + frequency_OIRT = (freq - 1); } }