This commit is contained in:
62
ui/fmradio.c
62
ui/fmradio.c
@@ -29,15 +29,63 @@
|
||||
#include "ui/inputbox.h"
|
||||
#include "ui/ui.h"
|
||||
|
||||
const char gBlendStrings[][4] = {
|
||||
"DEF",
|
||||
"+6 ",
|
||||
"-12",
|
||||
"-6 "
|
||||
};
|
||||
|
||||
const char gDeemphasisStrings[][3] = {
|
||||
"NO",
|
||||
"US",
|
||||
"EU"
|
||||
};
|
||||
|
||||
bool wasStereo;
|
||||
uint8_t oldRssi;
|
||||
|
||||
void UI_UpdateFMThings(bool force) {
|
||||
force = force;
|
||||
char String[16] = {0};
|
||||
const uint16_t Status = BK1080_ReadRegister(BK1080_REG_10_RSSI_STATUS);
|
||||
|
||||
bool isStereo = Status & (1 << 9);
|
||||
uint8_t rssi = Status & 0xFF;
|
||||
|
||||
if (!force && isStereo == wasStereo && rssi == oldRssi) {
|
||||
return;
|
||||
}
|
||||
oldRssi = rssi;
|
||||
wasStereo = isStereo;
|
||||
|
||||
sprintf(String, "%s RSSI%d/255",
|
||||
isStereo ? "STER" : "MONO", rssi);
|
||||
|
||||
UI_PrintStringSmallNormal(String, 1, 0, 4);
|
||||
ST7565_BlitLine(4);
|
||||
|
||||
}
|
||||
|
||||
void UI_DisplayFM(void)
|
||||
{
|
||||
char String[16] = {0};
|
||||
char *pPrintStr = String;
|
||||
UI_DisplayClear();
|
||||
|
||||
UI_PrintString("FM", 2, 0, 0, 8);
|
||||
UI_UpdateFMThings(true);
|
||||
|
||||
sprintf(String, "%d%s-%dM",
|
||||
UI_PrintString("FM", 2, 0, 0 /*, 8 */);
|
||||
|
||||
|
||||
sprintf(String, "%s D%s B%s",
|
||||
gEeprom.BK1080_AGC_ENABLED ? " AGC" : "NAGC",
|
||||
gDeemphasisStrings[gEeprom.BK1080_DEEMPHASIS_CONFIG],
|
||||
gBlendStrings[gEeprom.BK1080_BLEND_CONFIG]);
|
||||
|
||||
UI_PrintStringSmallNormal(String, 1, 0, 5);
|
||||
|
||||
sprintf(String, "%d%s-%dM",
|
||||
BK1080_GetFreqLoLimit(gEeprom.FM_Band)/10,
|
||||
gEeprom.FM_Band == 0 ? ".5" : "",
|
||||
BK1080_GetFreqHiLimit(gEeprom.FM_Band)/10
|
||||
@@ -55,13 +103,13 @@ void UI_DisplayFM(void)
|
||||
pPrintStr = "DEL?";
|
||||
} else if (gFM_ScanState == FM_SCAN_OFF) {
|
||||
if (gEeprom.FM_IsMrMode) {
|
||||
sprintf(String, "MR(CH%02u)", gEeprom.FM_SelectedChannel + 1);
|
||||
sprintf(String, "CH%02u", gEeprom.FM_SelectedChannel + 1);
|
||||
pPrintStr = String;
|
||||
} else {
|
||||
pPrintStr = "VFO";
|
||||
for (unsigned int i = 0; i < 20; i++) {
|
||||
if (gEeprom.FM_FrequencyPlaying == gFM_Channels[i]) {
|
||||
sprintf(String, "VF(C%02u)", i + 1);
|
||||
sprintf(String, "C%02u MHz", i + 1);
|
||||
pPrintStr = String;
|
||||
break;
|
||||
}
|
||||
@@ -74,7 +122,7 @@ void UI_DisplayFM(void)
|
||||
pPrintStr = "M-SCN";
|
||||
}
|
||||
|
||||
UI_PrintString(pPrintStr, 0, 127, 3, 12); // memory, vfo, scan
|
||||
UI_PrintString(pPrintStr, 0, 127, 3 /*, 12 */); // memory, vfo, scan
|
||||
|
||||
memset(String, 0, sizeof(String));
|
||||
if (gAskToSave || (gEeprom.FM_IsMrMode && gInputBoxIndex > 0)) {
|
||||
@@ -89,12 +137,12 @@ void UI_DisplayFM(void)
|
||||
sprintf(String, "%.3s.%.1s",ascii, ascii + 3);
|
||||
}
|
||||
|
||||
UI_PrintString(String, 0, 20, 1, 10); // frequency
|
||||
UI_PrintString(String, 0, 20, 1 /*, 10 */); // frequency
|
||||
ST7565_BlitFullScreen();
|
||||
return;
|
||||
}
|
||||
|
||||
UI_PrintString(String, 0, 127, 1, 10);
|
||||
UI_PrintString(String, 0, 127, 1 /*, 10 */);
|
||||
|
||||
ST7565_BlitFullScreen();
|
||||
}
|
||||
|
Reference in New Issue
Block a user