From 4397931cfba9a02d8df721ea3a86285959143094 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 26 Oct 2023 10:48:32 +0100 Subject: [PATCH] Fix F+* and F+4 search bug - wiping out radios sram :( --- app/search.c | 8 ++++---- firmware.bin | Bin 59384 -> 59404 bytes firmware.packed.bin | Bin 59402 -> 59422 bytes mdc1200.c | 2 +- ui/helper.c | 32 ++++++++++++++++++++------------ ui/helper.h | 2 +- ui/main.c | 22 ---------------------- ui/search.c | 6 +++--- ui/status.c | 35 ++++++++++++++++++++--------------- 9 files changed, 49 insertions(+), 58 deletions(-) diff --git a/app/search.c b/app/search.c index 263b2dc..5bb3d47 100644 --- a/app/search.c +++ b/app/search.c @@ -217,7 +217,7 @@ static void SEARCH_Key_MENU(bool key_pressed, bool key_held) case SEARCH_EDIT_STATE_SAVE_CHAN: #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) - UART_SendText("edit save chan\r\n"); +// UART_SendText("edit save chan\r\n"); #endif if (g_input_box_index > 0) @@ -235,7 +235,7 @@ static void SEARCH_Key_MENU(bool key_pressed, bool key_held) case SEARCH_EDIT_STATE_SAVE_CONFIRM: #if defined(ENABLE_UART) && defined(ENABLE_UART_DEBUG) - UART_SendText("edit save confirm\r\n"); +// UART_SendText("edit save confirm\r\n"); #endif if (!g_search_single_frequency) @@ -428,9 +428,9 @@ void SEARCH_Start(void) #if 1 // this is why it needs such a strong signal - BK4819_set_rf_filter_path(0xFFFFFFFF); // disable the LNA filter paths + BK4819_set_rf_filter_path(0xFFFFFFFF); // disable the LNA filter paths - why it needs a strong signal #else - BK4819_set_rf_filter_path(g_rx_vfo->p_rx->frequency); // lets have a play ;) + BK4819_set_rf_filter_path(g_rx_vfo->p_rx->frequency); // lets have a play ! #endif BK4819_EnableFrequencyScan(); diff --git a/firmware.bin b/firmware.bin index a75afef9099cea22df5c97094c19aae59473b571..12f57d0db4d9c3ae4a07b75096b1967e5f4e396c 100644 GIT binary patch delta 10359 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 GbN>f#2otFQ diff --git a/firmware.packed.bin b/firmware.packed.bin index 4f6a11886640d116cde0bed45271127bd8412f5f..2a6ade575c8a30a9e985b695585368a1f5936554 100644 GIT binary patch delta 31244 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 diff --git a/mdc1200.c b/mdc1200.c index efd90f8..39d4fc1 100644 --- a/mdc1200.c +++ b/mdc1200.c @@ -16,7 +16,7 @@ // >= 24-bit pre-amble // 40-bit sync // -//static const uint8_t pre_amble[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xCC}; +//static const uint8_t pre_amble[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xCC}; / add some bit reversals just before the sync pattern static const uint8_t pre_amble[] = {0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t sync[] = {0x07, 0x09, 0x2a, 0x44, 0x6f}; diff --git a/ui/helper.c b/ui/helper.c index 5fe950d..b368d92 100644 --- a/ui/helper.c +++ b/ui/helper.c @@ -70,22 +70,26 @@ void UI_GenerateChannelStringEx(char *pString, const char *prefix, const uint8_t sprintf(pString + strlen(prefix), "%03u", ChannelNumber + 1); } -void UI_PrintString(const char *pString, uint8_t Start, uint8_t End, uint8_t Line, uint8_t Width) +void UI_PrintString(const char *str, unsigned int start, const unsigned int end, const unsigned int line, const unsigned int width) { + const size_t length = strlen(str); size_t i; - size_t Length = strlen(pString); - if (End > Start) - Start += ((End - Start) - (Length * Width) - 1) / 2; - - for (i = 0; i < Length; i++) + if (end > start) { - if (pString[i] >= ' ' && pString[i] < 127) + const int ofs = ((int)(end - start) - (length * width) - 1) / 2; + if (ofs > 0 && (start + ofs) <= end) + start += ofs; + } + + for (i = 0; i < length; i++) + { + if (str[i] >= ' ' && str[i] < 127) { - const unsigned int index = pString[i] - ' '; - const unsigned int ofs = (unsigned int)Start + (i * Width); - memcpy(g_frame_buffer[Line + 0] + ofs, &g_font_big[index][0], 8); - memcpy(g_frame_buffer[Line + 1] + ofs, &g_font_big[index][8], 7); + const unsigned int index = str[i] - ' '; + const unsigned int ofs = start + (i * width); + memcpy(g_frame_buffer[line + 0] + ofs, &g_font_big[index][0], 8); + memcpy(g_frame_buffer[line + 1] + ofs, &g_font_big[index][8], 7); } } } @@ -105,7 +109,11 @@ void UI_print_string( uint8_t *f_buf; if (end > start) - start += ((end - start) - (length * char_pitch)) / 2; + { + const int ofs = ((int)(end - start) - (length * char_pitch) - 1) / 2; + if (ofs > 0 && (start + ofs) <= end) + start += ofs; + } f_buf = g_frame_buffer[line] + start; diff --git a/ui/helper.h b/ui/helper.h index 536e26d..5b1639f 100644 --- a/ui/helper.h +++ b/ui/helper.h @@ -22,7 +22,7 @@ void UI_GenerateChannelString(char *pString, const uint8_t Channel, const char separating_char); void UI_GenerateChannelStringEx(char *pString, const char *prefix, const uint8_t ChannelNumber); -void UI_PrintString(const char *pString, uint8_t Start, uint8_t End, uint8_t Line, uint8_t Width); +void UI_PrintString(const char *str, unsigned int start, const unsigned int end, const unsigned int line, const unsigned int width); void UI_PrintStringSmall(const char *str, const unsigned int start, const unsigned int end, const unsigned int line); #ifdef ENABLE_SMALL_BOLD void UI_PrintStringSmallBold(const char *str, const unsigned int start, const unsigned int end, const unsigned int line); diff --git a/ui/main.c b/ui/main.c index 1dab67f..60e2bdb 100644 --- a/ui/main.c +++ b/ui/main.c @@ -749,28 +749,6 @@ void UI_DisplayMain(void) { // frequency mode #ifdef ENABLE_BIG_FREQ big_freq(frequency, x, line); -/* - NUMBER_ToDigits(frequency, str); // 8 digits - - // show the main large frequency digits - UI_DisplayFrequency(str, x, line, false, false); - - // show the remaining 2 small frequency digits - #ifdef ENABLE_TRIM_TRAILING_ZEROS - { - unsigned int small_num = 2; - if (str[7] == 0) - { - small_num--; - if (str[6] == 0) - small_num--; - } - UI_Displaysmall_digits(small_num, str + 6, x + 81, line + 1, true); - } - #else - UI_Displaysmall_digits(2, str + 6, x + 81, line + 1, true); - #endif -*/ #else // show the frequency in the main font diff --git a/ui/search.c b/ui/search.c index 9307136..9166471 100644 --- a/ui/search.c +++ b/ui/search.c @@ -143,14 +143,14 @@ void UI_DisplaySearch(void) break; case SEARCH_CSS_STATE_FOUND: - strcpy(String, "* repeat M save"); + strcpy(String, "* repeat M save"); text_centered = true; break; case SEARCH_CSS_STATE_FAILED: if (!g_search_single_frequency) { - strcpy(String, "* repeat M save"); + strcpy(String, "* repeat M save"); text_centered = true; break; } @@ -176,7 +176,7 @@ void UI_DisplaySearch(void) break; case SEARCH_EDIT_STATE_SAVE_CONFIRM: - strcpy(String, "* repeat Save ?"); + strcpy(String, "* repeat Save ?"); text_centered = true; break; } diff --git a/ui/status.c b/ui/status.c index 3c6b6ea..776d05f 100644 --- a/ui/status.c +++ b/ui/status.c @@ -99,24 +99,29 @@ void UI_DisplayStatus(const bool test_display) else #endif // SCAN indicator - if (g_scan_state_dir != SCAN_STATE_DIR_OFF || g_screen_to_display == DISPLAY_SEARCH || test_display) + if (g_scan_state_dir != SCAN_STATE_DIR_OFF || + g_screen_to_display == DISPLAY_SEARCH || + test_display) { - if (g_scan_next_channel <= USER_CHANNEL_LAST) - { // channel mode - if (g_eeprom.scan_list_default == 0) - UI_PrintStringSmallBuffer("1", line + x); + if (g_search_css_state == SEARCH_CSS_STATE_OFF) // don't display this if in search mode + { + if (g_scan_next_channel <= USER_CHANNEL_LAST) + { // channel mode + if (g_eeprom.scan_list_default == 0) + UI_PrintStringSmallBuffer("1", line + x); + else + if (g_eeprom.scan_list_default == 1) + UI_PrintStringSmallBuffer("2", line + x); + else + if (g_eeprom.scan_list_default == 2) + UI_PrintStringSmallBuffer("*", line + x); + } else - if (g_eeprom.scan_list_default == 1) - UI_PrintStringSmallBuffer("2", line + x); - else - if (g_eeprom.scan_list_default == 2) - UI_PrintStringSmallBuffer("*", line + x); + { // frequency mode + UI_PrintStringSmallBuffer("S", line + x); + } + x1 = x + 7; } - else - { // frequency mode - UI_PrintStringSmallBuffer("S", line + x); - } - x1 = x + 7; } } x += 7; // font character width