diff --git a/App/app/scanner.c b/App/app/scanner.c index 617291a2..8970f527 100644 --- a/App/app/scanner.c +++ b/App/app/scanner.c @@ -506,8 +506,8 @@ void SCANNER_TimeSlice500ms(void) if (SCANNER_IsScanning() && gScannerSaveState == SCAN_SAVE_NO_PROMPT && gScanCssState < SCAN_CSS_STATE_FOUND) { gScanProgressIndicator++; #ifndef ENABLE_NO_CODE_SCAN_TIMEOUT - if (gScanProgressIndicator > 32) { - if (gScanCssState == SCAN_CSS_STATE_SCANNING && !gScanSingleFrequency) + if (gScanCssState == SCAN_CSS_STATE_SCANNING && gScanProgressIndicator > 32) { + if (!gScanSingleFrequency) gScanCssState = SCAN_CSS_STATE_FOUND; else gScanCssState = SCAN_CSS_STATE_FAILED; @@ -525,4 +525,4 @@ void SCANNER_TimeSlice500ms(void) bool SCANNER_IsScanning(void) { return gCssBackgroundScan || (gScreenToDisplay == DISPLAY_SCANNER); -} \ No newline at end of file +} diff --git a/App/ui/scanner.c b/App/ui/scanner.c index 977a42b9..3cf1a3c5 100644 --- a/App/ui/scanner.c +++ b/App/ui/scanner.c @@ -26,59 +26,50 @@ void UI_DisplayScanner(void) { - char String[16]; - char *pPrintStr = String; - bool bCentered; - uint8_t Start; + char Line1[16]; + char Line2[16]; + char Line3[16]; + const bool searching = (gScanCssState < SCAN_CSS_STATE_FOUND); + const bool blinkOff = searching && ((gScanProgressIndicator & 1u) != 0); UI_DisplayClear(); if (gScanSingleFrequency || (gScanCssState != SCAN_CSS_STATE_OFF && gScanCssState != SCAN_CSS_STATE_FAILED)) { - sprintf(String, "FREQ:%u.%05u", gScanFrequency / 100000, gScanFrequency % 100000); - pPrintStr = String; + sprintf(Line2, "Freq:%u.%05u", gScanFrequency / 100000, gScanFrequency % 100000); } else { - pPrintStr = "FREQ:**.*****"; + strcpy(Line2, "Freq:---.-----"); } - UI_PrintString(pPrintStr, 2, 0, 1, 8); - - if (gScanCssState < SCAN_CSS_STATE_FOUND || !gScanUseCssResult) { - pPrintStr = "CTC:******"; - } else if (gScanCssResultType == CODE_TYPE_CONTINUOUS_TONE) { - sprintf(String, "CTC:%u.%uHz", CTCSS_Options[gScanCssResultCode] / 10, CTCSS_Options[gScanCssResultCode] % 10); - pPrintStr = String; - } else { - sprintf(String, "DCS:D%03oN", DCS_Options[gScanCssResultCode]); - pPrintStr = String; - } - - UI_PrintString(pPrintStr, 2, 0, 3, 8); if (gScannerSaveState == SCAN_SAVE_CHANNEL) { - pPrintStr = "SAVE?"; - Start = 0; - bCentered = 1; + strcpy(Line1, "Save?"); + } else if (gScannerSaveState == SCAN_SAVE_CHAN_SEL) { + strcpy(Line1, "Save:"); + UI_GenerateChannelStringEx(Line1 + 5, gShowChPrefix, gScanChannel); + } else if (blinkOff) { + Line1[0] = '\0'; + } else if (gScanCssState == SCAN_CSS_STATE_OFF) { + strcpy(Line1, "Search Freq"); + } else if (gScanCssState == SCAN_CSS_STATE_SCANNING) { + strcpy(Line1, "Search Tone"); + } else if (gScanCssState == SCAN_CSS_STATE_FOUND) { + strcpy(Line1, "Scan Complete"); } else { - Start = 2; - bCentered = 0; - - if (gScannerSaveState == SCAN_SAVE_CHAN_SEL) { - strcpy(String, "SAVE:"); - UI_GenerateChannelStringEx(String + 5, gShowChPrefix, gScanChannel); - pPrintStr = String; - } else if (gScanCssState < SCAN_CSS_STATE_FOUND) { - strcpy(String, "SCAN"); - uint8_t dotCount = (gScanProgressIndicator & 7) + 1; - memset(String + 4, '.', dotCount); - String[4 + dotCount] = '\0'; - pPrintStr = String; - } else if (gScanCssState == SCAN_CSS_STATE_FOUND) { - pPrintStr = "SCAN CMP."; - } else { - pPrintStr = "SCAN FAIL."; - } + strcpy(Line1, "Scan Failed"); } - UI_PrintString(pPrintStr, Start, bCentered ? 127 : 0, 5, 8); + if (gScanCssState < SCAN_CSS_STATE_FOUND) { + strcpy(Line3, "Tone:---"); + } else if (!gScanUseCssResult) { + strcpy(Line3, "Tone:None"); + } else if (gScanCssResultType == CODE_TYPE_CONTINUOUS_TONE) { + sprintf(Line3, "CTCSS:%u.%uHz", CTCSS_Options[gScanCssResultCode] / 10, CTCSS_Options[gScanCssResultCode] % 10); + } else { + sprintf(Line3, "DCS:D%03oN", DCS_Options[gScanCssResultCode]); + } + + UI_PrintString(Line1, 2, 0, 1, 8); + UI_PrintString(Line2, 2, 0, 3, 8); + UI_PrintString(Line3, 2, 0, 5, 8); ST7565_BlitFullScreen(); } diff --git a/CMakePresets.json b/CMakePresets.json index f9d70c9c..b8b116b5 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -34,7 +34,7 @@ "ENABLE_BOOT_BEEPS": false, "ENABLE_SHOW_CHARGE_LEVEL": false, "ENABLE_REVERSE_BAT_SYMBOL": false, - "ENABLE_NO_CODE_SCAN_TIMEOUT": true, + "ENABLE_NO_CODE_SCAN_TIMEOUT": false, "ENABLE_SQUELCH_MORE_SENSITIVE": true, "ENABLE_FASTER_CHANNEL_SCAN": true, "ENABLE_RSSI_BAR": true,