From 51c883de0f03052062685c9bf314a68f171731e6 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Fri, 10 Nov 2023 08:22:03 +0000 Subject: [PATCH] . --- app/fm.c | 2 +- app/main.c | 3 +- firmware.bin | Bin 61104 -> 61092 bytes firmware.packed.bin | Bin 61122 -> 61110 bytes freq_ignore.c | 84 +++++++++++++++++++++++++++++++------------- freq_ignore.h | 3 +- settings.c | 4 +-- 7 files changed, 66 insertions(+), 30 deletions(-) diff --git a/app/fm.c b/app/fm.c index 32ffe82..8968719 100644 --- a/app/fm.c +++ b/app/fm.c @@ -190,7 +190,7 @@ int FM_check_frequency_lock(const uint16_t frequency, const uint16_t lower_limit if (afc_railed || snr < 2 || rssi < 10 || abs(freq_offset) > 250) goto Bail; - if (frequency >= lower_limit && abs(((int)BK1080_freq_base - frequency)) == 1) + if (frequency >= lower_limit && abs(((int)BK1080_freq_base - (int)frequency)) == 1) if (abs(BK1080_freq_offset) < 20) goto Bail; diff --git a/app/main.c b/app/main.c index 3516987..da1d74f 100644 --- a/app/main.c +++ b/app/main.c @@ -873,7 +873,8 @@ void MAIN_Key_STAR(bool key_pressed, bool key_held) #ifdef ENABLE_SCAN_IGNORE_LIST if (scanning_paused()) { - FI_add_freq_ignored(g_rx_vfo->freq_config_rx.frequency); + if (!FI_add_freq_ignored(g_rx_vfo->freq_config_rx.frequency)) + g_beep_to_play = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; // not added for some reason // immediately continue the scan g_scan_tick_10ms = 0; diff --git a/firmware.bin b/firmware.bin index d068956faeb4a5352f85943a06e98c4907a008e0..184cad42b8f93a93889d60a867cb399368519085 100644 GIT binary patch delta 7095 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 delta 7000 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 bf3+$1cu+iPO2x7FFIi&#Q!l~I52ODJ{)Nzt diff --git a/firmware.packed.bin b/firmware.packed.bin index 00435f7b0674d2b12932b9eaa4f60e9d72052740..a31370c3493a586062f3f9c6eb531415bb508077 100644 GIT binary patch delta 38570 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 delta 38582 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 XOq~a3ffo3U2sZQ-{9`h2b(8(SNo=11 diff --git a/freq_ignore.c b/freq_ignore.c index 3e82c78..174da2d 100644 --- a/freq_ignore.c +++ b/freq_ignore.c @@ -1,10 +1,14 @@ +#include // abs() + #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) #include "driver/uart.h" #endif #include "freq_ignore.h" #include "misc.h" +//#define FI_CLOSE_ENOUGH_HZ 300 + // a list of frequencies to ignore/skip when scanning uint32_t ignore_frequencies[64]; int ignore_frequencies_count = 0; @@ -21,53 +25,70 @@ void FI_clear_freq_ignored(void) int FI_freq_ignored(const uint32_t frequency) { // return index of the ignored frequency - if (frequency == 0 || frequency == 0xffffffff || ignore_frequencies_count <= 0) - return -1; + #ifdef FI_CLOSE_ENOUGH_HZ + if (frequency <= FI_CLOSE_ENOUGH_HZ || frequency >= (0xffffffff - FI_CLOSE_ENOUGH_HZ) || ignore_frequencies_count <= 0) + return -1; // invalid frequency + #else + if (frequency == 0 || frequency == 0xffffffff || ignore_frequencies_count <= 0) + return -1; // invalid frequency + #endif - if (ignore_frequencies_count >= 8) - { // binary search .. becomes much faster than sequencial search when the list is bigger + if (ignore_frequencies_count >= 20) + { // binary search becomes faster than sequencial as the list grows beyound a certain size int low = 0; int high = ignore_frequencies_count; + while (low < high) { register int mid = (low + high) / 2; register uint32_t freq = ignore_frequencies[mid]; - if (freq > frequency) - high = mid; - else - if (freq < frequency) - low = mid + 1; - else - { + + #ifdef FI_CLOSE_ENOUGH_HZ + if (abs((int32_t)frequency - (int32_t)freq) <= FI_CLOSE_ENOUGH_HZ) + #else + if (frequency == freq) + #endif + { // found it #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) UART_printf("ignored bin %u %u\r\n", frequency, mid); #endif return mid; } + + if (freq > frequency) + high = mid; + else + low = mid + 1; } } else { // sequencial search - int i; + register int i; for (i = 0; i < ignore_frequencies_count; i++) { register uint32_t freq = ignore_frequencies[i]; - if (frequency == freq) + + #ifdef FI_CLOSE_ENOUGH_HZ + if (abs((int32_t)frequency - (int32_t)freq) <= FI_CLOSE_ENOUGH_HZ) + #else + if (frequency == freq) + #endif { // found it #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) UART_printf("ignored seq %u %u\r\n", frequency, i); #endif return i; } + if (frequency < freq) - return -1; // can exit loop early as the list is sorted by frequency + return -1; // exit loop early as the list is sorted by frequency } } return -1; // not found } -void FI_add_freq_ignored(const uint32_t frequency) +bool FI_add_freq_ignored(const uint32_t frequency) { // add a new frequency to the ignore list int i; @@ -76,31 +97,45 @@ void FI_add_freq_ignored(const uint32_t frequency) UART_printf("ignore add %u\r\n", frequency); #endif - if (frequency == 0 || frequency == 0xffffffff) - return; + #ifdef FI_CLOSE_ENOUGH_HZ + if (frequency <= FI_CLOSE_ENOUGH_HZ || frequency >= (0xffffffff - FI_CLOSE_ENOUGH_HZ)) + return false; // invalid frequency + #else + if (frequency == 0 || frequency == 0xffffffff) + return false; // invalid frequency + #endif if (ignore_frequencies_count >= (int)ARRAY_SIZE(ignore_frequencies)) { // the list is full #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) UART_SendText("ignore add full\r\n"); #endif - return; + return false; // failed } for (i = 0; i < ignore_frequencies_count; i++) { register uint32_t freq = ignore_frequencies[i]; - if (frequency == freq) + #ifdef FI_CLOSE_ENOUGH_HZ + if (abs((int32_t)frequency - (int32_t)freq) <= FI_CLOSE_ENOUGH_HZ) + #else + if (frequency == freq) + #endif { // already in the list #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) UART_SendText("ignore add already\r\n"); #endif - return; + return true; } - if (frequency < freq) - break; + #ifdef FI_CLOSE_ENOUGH_HZ + if (frequency < (freq + FI_CLOSE_ENOUGH_HZ)) + break; // exit loop early as the list is sorted by frequency + #else + if (frequency < freq) + break; // exit loop early as the list is sorted by frequency + #endif } // found the location to store the new frequency - the list is kept sorted by frequency @@ -117,6 +152,8 @@ void FI_add_freq_ignored(const uint32_t frequency) for (i = 0; i < ignore_frequencies_count; i++) UART_printf("%2u %10u\r\n", i, ignore_frequencies[i]); #endif + + return true; } void FI_sub_freq_ignored(const uint32_t frequency) @@ -126,9 +163,6 @@ void FI_sub_freq_ignored(const uint32_t frequency) UART_printf("ignore sub %u\r\n", frequency); #endif - if (frequency == 0 || frequency == 0xffffffff) - return; - int index = FI_freq_ignored(frequency); if (index < 0) return; diff --git a/freq_ignore.h b/freq_ignore.h index 88daa2e..6827449 100644 --- a/freq_ignore.h +++ b/freq_ignore.h @@ -18,11 +18,12 @@ #define FREQ_IGNORE_H #include +#include #ifdef ENABLE_SCAN_IGNORE_LIST void FI_clear_freq_ignored(void); int FI_freq_ignored(const uint32_t frequency); - void FI_add_freq_ignored(const uint32_t frequency); + bool FI_add_freq_ignored(const uint32_t frequency); void FI_sub_freq_ignored(const uint32_t frequency); #endif diff --git a/settings.c b/settings.c index 669924e..0a2bfbf 100644 --- a/settings.c +++ b/settings.c @@ -562,8 +562,8 @@ unsigned int SETTINGS_find_channel(const uint32_t frequency) continue; if (freq == frequency) return chan; // found it -// if (abs((int32_t)freq - frequency) < 5) -// return chan; // found a very close match +// if (abs((int32_t)freq - (int32_t)frequency) < 300) +// return chan; // found a close match } return 0xffffffff;