Improve F+4 frequency copy scan UI

This commit is contained in:
Armel FAUVEAU committed 2026-05-17 02:15:22 +02:00
1 parent 546cd35681
commit a65a4f601a
3 files changed
+37 -46

No files matched your search

+3 -3
View File
@@ -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);
}
}
+33 -42
View File
@@ -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();
}
+1 -1
View File
@@ -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,