// // Created by bruno on 3/30/25. // #include "messages.h" void UI_DisplayMessages(void) { char String[19] = {0}; char *pPrintStr = String; sprintf("FRM:%d %d/%d", ) bool bCentered; uint8_t Start; 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; } else { pPrintStr = "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 */); memset(String, 0, sizeof(String)); if (gScannerSaveState == SCAN_SAVE_CHANNEL) { pPrintStr = "SAV?"; Start = 0; bCentered = 1; } else { Start = 2; bCentered = 0; if (gScannerSaveState == SCAN_SAVE_CHAN_SEL) { strcpy(String, "SAV:"); UI_GenerateChannelStringEx(String + 5, gShowChPrefix, gScanChannel); pPrintStr = String; } else if (gScanCssState < SCAN_CSS_STATE_FOUND) { strcpy(String, "SCN"); memset(String + 4, '.', (gScanProgressIndicator & 7) + 1); pPrintStr = String; } else if (gScanCssState == SCAN_CSS_STATE_FOUND) { pPrintStr = "SCN CMP."; } else { pPrintStr = "SCN FAIL."; } } UI_PrintString(pPrintStr, Start, bCentered ? 127 : 0, 5 /*, 8 */); ST7565_BlitFullScreen(); }