From 3c1a70a11f5e55791d0ead0b383b30b90c0f9576 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Sat, 16 Sep 2023 22:29:02 +0100 Subject: [PATCH] Live DTMF decoder option + possibly fixed AM demodulation --- Makefile | 4 + README.md | 1 + app/app.c | 28 ++-- app/dtmf.c | 33 +---- app/dtmf.h | 44 +++--- app/menu.c | 2 +- firmware | Bin 164528 -> 164552 bytes firmware.bin | Bin 48472 -> 48532 bytes firmware.packed.bin | Bin 48490 -> 48550 bytes functions.c | 10 +- misc.c | 6 +- misc.h | 10 +- radio.c | 1 + ui/main.c | 321 +++++++++++++++++++------------------------- 14 files changed, 207 insertions(+), 253 deletions(-) diff --git a/Makefile b/Makefile index d022d7d..4935f5e 100644 --- a/Makefile +++ b/Makefile @@ -18,6 +18,7 @@ ENABLE_CTCSS_TAIL_PHASE_SHIFT := 1 ENABLE_MAIN_KEY_HOLD := 1 ENABLE_BOOT_BEEPS := 1 ENABLE_COMPANDER := 1 +ENABLE_DTMF_DECODER := 1 #ENABLE_SINGLE_VFO_CHAN := 1 #ENABLE_BAND_SCOPE := 1 @@ -188,6 +189,9 @@ endif ifeq ($(ENABLE_COMPANDER),1) CFLAGS += -DENABLE_COMPANDER endif +ifeq ($(ENABLE_DTMF_DECODER),1) + CFLAGS += -DENABLE_DTMF_DECODER +endif ifeq ($(ENABLE_SINGLE_VFO_CHAN),1) CFLAGS += -DENABLE_SINGLE_VFO_CHAN endif diff --git a/README.md b/README.md index 7da9519..67be230 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ ENABLE_CTCSS_TAIL_PHASE_SHIFT := 1 standard CTCSS tail phase shift rather ENABLE_MAIN_KEY_HOLD := 1 initial F-key press not needed, instead hold down keys 0-9 ENABLE_BOOT_BEEPS := 1 give user audio feedback on volume knob position at boot-up ENABLE_COMPANDER := 1 compander option - setting not yet saved +ENABLE_DTMF_DECODER := 1 enable real time on-screen DTMF decoder #ENABLE_SINGLE_VFO_CHAN := 1 not yet implemented - single VFO on display when possible #ENABLE_BAND_SCOPE := 1 not yet implemented - spectrum/pan-adapter ``` diff --git a/app/app.c b/app/app.c index 104fb9c..bda133e 100644 --- a/app/app.c +++ b/app/app.c @@ -441,7 +441,6 @@ void APP_StartListening(FUNCTION_Type_t Function) if (gScanState == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF && gEeprom.DUAL_WATCH != DUAL_WATCH_OFF) { gRxVfoIsActive = true; - gDualWatchCountdown = dual_watch_count_after_2_10ms; gScheduleDualWatch = false; } @@ -449,11 +448,20 @@ void APP_StartListening(FUNCTION_Type_t Function) if (gRxVfo->IsAM) { BK4819_WriteRegister(BK4819_REG_48, 0xB3A8); + + // PGA + MIXER + LNA + LNA_SHORT + BK4819_WriteRegister(BK4819_REG_13, 3u | (3u << 3) | (2u << 5) | (3u << 8)); + gNeverUsed = 0; } else + { BK4819_WriteRegister(BK4819_REG_48, 0xB000 | (gEeprom.VOLUME_GAIN << 4) | (gEeprom.DAC_GAIN << 0)); - + + // PGA + MIXER + LNA + LNA_SHORT + BK4819_WriteRegister(BK4819_REG_13, 0x03BE); + } + #ifdef ENABLE_VOICE if (gVoiceWriteIndex == 0) #endif @@ -640,20 +648,24 @@ void APP_CheckRadioInterrupts(void) if (interrupt_status_bits & BK4819_REG_02_DTMF_5TONE_FOUND) { gDTMF_RequestPending = true; - gDTMF_RecvTimeout = 5; + gDTMF_RecvTimeout = DTMF_RX_timeout_500ms; - if (gDTMF_WriteIndex > 15) - { + if (gDTMF_WriteIndex >= ARRAY_SIZE(gDTMF_Received)) + { // shift the RX buffer down one unsigned int i; - for (i = 0; i < (sizeof(gDTMF_Received) - 1); i++) + for (i = 0; i < (ARRAY_SIZE(gDTMF_Received) - 1); i++) gDTMF_Received[i] = gDTMF_Received[i + 1]; - gDTMF_WriteIndex = 15; + gDTMF_WriteIndex--; } + // save new RX'ed character gDTMF_Received[gDTMF_WriteIndex++] = DTMF_GetCharacter(BK4819_GetDTMF_5TONE_Code()); if (gCurrentFunction == FUNCTION_RECEIVE) + { DTMF_HandleRequest(); + gUpdateDisplay = true; + } } if (interrupt_status_bits & BK4819_REG_02_CxCSS_TAIL) @@ -1792,7 +1804,7 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) else { if (Key != KEY_PTT) - gVoltageMenuCountdown = menu_timeout_10ms; + gVoltageMenuCountdown = menu_timeout_500ms; BACKLIGHT_TurnOn(); diff --git a/app/dtmf.c b/app/dtmf.c index 8aba4f4..0008d76 100644 --- a/app/dtmf.c +++ b/app/dtmf.c @@ -115,35 +115,10 @@ bool DTMF_FindContact(const char *pContact, char *pResult) return false; } -char DTMF_GetCharacter(uint8_t Code) +char DTMF_GetCharacter(const uint8_t code) { - switch (Code) - { - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - return '0' + (char)Code; - case 10: - return 'A'; - case 11: - return 'B'; - case 12: - return 'C'; - case 13: - return 'D'; - case 14: - return '*'; - case 15: - return '#'; - } - return 0xFF; + const char list[] = "0123456789ABCD*#"; + return (code < ARRAY_SIZE(list)) ? list[code] : 0xFF; } bool DTMF_CompareMessage(const char *pMsg, const char *pTemplate, uint8_t Size, bool bCheckGroup) @@ -190,7 +165,7 @@ void DTMF_Append(char Code) void DTMF_HandleRequest(void) { - char String[20]; + char String[20]; uint8_t Offset; if (!gDTMF_RequestPending) diff --git a/app/dtmf.h b/app/dtmf.h index 02c1a6c..4b2f6a2 100644 --- a/app/dtmf.h +++ b/app/dtmf.h @@ -53,33 +53,33 @@ enum DTMF_CallMode_t { typedef enum DTMF_CallMode_t DTMF_CallMode_t; -extern char gDTMF_String[15]; -extern char gDTMF_InputBox[15]; -extern char gDTMF_Received[16]; -extern bool gIsDtmfContactValid; -extern char gDTMF_ID[4]; -extern char gDTMF_Caller[4]; -extern char gDTMF_Callee[4]; -extern DTMF_State_t gDTMF_State; -extern bool gDTMF_DecodeRing; -extern uint8_t gDTMF_DecodeRingCountdown; -extern uint8_t gDTMFChosenContact; -extern uint8_t gDTMF_WriteIndex; -extern uint8_t gDTMF_PreviousIndex; -extern uint8_t gDTMF_AUTO_RESET_TIME; -extern uint8_t gDTMF_InputIndex; -extern bool gDTMF_InputMode; -extern uint8_t gDTMF_RecvTimeout; -extern DTMF_CallState_t gDTMF_CallState; +extern char gDTMF_String[15]; +extern char gDTMF_InputBox[15]; +extern char gDTMF_Received[16]; +extern bool gIsDtmfContactValid; +extern char gDTMF_ID[4]; +extern char gDTMF_Caller[4]; +extern char gDTMF_Callee[4]; +extern DTMF_State_t gDTMF_State; +extern bool gDTMF_DecodeRing; +extern uint8_t gDTMF_DecodeRingCountdown; +extern uint8_t gDTMFChosenContact; +extern uint8_t gDTMF_WriteIndex; +extern uint8_t gDTMF_PreviousIndex; +extern uint8_t gDTMF_AUTO_RESET_TIME; +extern uint8_t gDTMF_InputIndex; +extern bool gDTMF_InputMode; +extern uint8_t gDTMF_RecvTimeout; +extern DTMF_CallState_t gDTMF_CallState; extern DTMF_ReplyState_t gDTMF_ReplyState; -extern DTMF_CallMode_t gDTMF_CallMode; -extern bool gDTMF_IsTx; -extern uint8_t gDTMF_TxStopCountdown; +extern DTMF_CallMode_t gDTMF_CallMode; +extern bool gDTMF_IsTx; +extern uint8_t gDTMF_TxStopCountdown; bool DTMF_ValidateCodes(char *pCode, uint8_t Size); bool DTMF_GetContact(const int Index, char *pContact); bool DTMF_FindContact(const char *pContact, char *pResult); -char DTMF_GetCharacter(uint8_t Code); +char DTMF_GetCharacter(const uint8_t code); bool DTMF_CompareMessage(const char *pDTMF, const char *pTemplate, uint8_t Size, bool bFlag); bool DTMF_CheckGroupCall(const char *pDTMF, uint32_t Size); void DTMF_Append(char Code); diff --git a/app/menu.c b/app/menu.c index ee53fd3..08febd9 100644 --- a/app/menu.c +++ b/app/menu.c @@ -1444,5 +1444,5 @@ void MENU_ProcessKeys(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) } if (gScreenToDisplay == DISPLAY_MENU && gMenuCursor == MENU_VOL) - gVoltageMenuCountdown = menu_timeout_10ms; + gVoltageMenuCountdown = menu_timeout_500ms; } diff --git a/firmware b/firmware index 8f81a49bf26dd9d8d06835c66c7bd4a8e81dc2a7..84b14a161292554c2f129c71d9e0cef6fb428a5d 100644 GIT binary patch delta 19250 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 Av;Y7A diff --git a/firmware.bin b/firmware.bin index 0b7228f906e7a054e101db31e784135d68913c54..fbf2673f31b2c9a6189698a04dad0f2100203d95 100644 GIT binary patch delta 9186 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 C3LWwQ delta 38555 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 Kv43sfw*mmCIE?WC diff --git a/functions.c b/functions.c index 64ae626..bb0a77d 100644 --- a/functions.c +++ b/functions.c @@ -53,23 +53,25 @@ void FUNCTION_Init(void) gCurrentCodeType = CODE_TYPE_CONTINUOUS_TONE; #endif - gDTMF_RequestPending = false; - gDTMF_WriteIndex = 0; - + gDTMF_RequestPending = false; + gDTMF_WriteIndex = 0; memset(gDTMF_Received, 0, sizeof(gDTMF_Received)); g_CxCSS_TAIL_Found = false; g_CDCSS_Lost = false; g_CTCSS_Lost = false; + g_VOX_Lost = false; g_SquelchLost = false; - gTailNoteEliminationCountdown = 0; gFlagTteComplete = false; + + gTailNoteEliminationCountdown = 0; gFoundCTCSS = false; gFoundCDCSS = false; gFoundCTCSSCountdown = 0; gFoundCDCSSCountdown = 0; gEndOfRxDetectedMaybe = false; + gSystickCountdown2 = 0; } diff --git a/misc.c b/misc.c index a7bacb9..1816943 100644 --- a/misc.c +++ b/misc.c @@ -18,9 +18,11 @@ #include "misc.h" -const uint8_t menu_timeout_10ms = 20 * 2; // 20 seconds +const uint8_t menu_timeout_500ms = 20000 / 500; // 20 seconds -const uint8_t key_input_timeout_500ms = 8 * 2; // 8 seconds +const uint8_t DTMF_RX_timeout_500ms = 2500 / 500; // 2.5 seconds + +const uint8_t key_input_timeout_500ms = 8000 / 500; // 8 seconds const uint16_t key_repeat_delay_10ms = 400 / 10; // 400ms const uint16_t key_repeat_10ms = 80 / 10; // 80ms .. MUST be less than 'key_repeat_delay' diff --git a/misc.h b/misc.h index 2ab92ee..be7081e 100644 --- a/misc.h +++ b/misc.h @@ -27,6 +27,10 @@ #define IS_NOAA_CHANNEL(x) ((x) >= NOAA_CHANNEL_FIRST && (x) <= NOAA_CHANNEL_LAST) #define IS_NOT_NOAA_CHANNEL(x) ((x) >= MR_CHANNEL_FIRST && (x) <= FREQ_CHANNEL_LAST) +#ifndef ARRAY_SIZE + #define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0])) +#endif + enum { MR_CHANNEL_FIRST = 0, MR_CHANNEL_LAST = 199u, @@ -74,6 +78,10 @@ enum CssScanMode_t typedef enum CssScanMode_t CssScanMode_t; +extern const uint8_t menu_timeout_500ms; + +extern const uint8_t DTMF_RX_timeout_500ms; + extern const uint8_t key_input_timeout_500ms; extern const uint16_t key_repeat_delay_10ms; @@ -82,8 +90,6 @@ extern const uint16_t key_debounce_10ms; extern const uint8_t scan_delay_10ms; -extern const uint8_t menu_timeout_10ms; - extern const uint16_t battery_save_count_10ms; extern const uint16_t dual_watch_count_after_tx_10ms; diff --git a/radio.c b/radio.c index 3104f91..3118a3a 100644 --- a/radio.c +++ b/radio.c @@ -931,6 +931,7 @@ void RADIO_EnableCxCSS(void) { switch (gCurrentVfo->pTX->CodeType) { + default: case CODE_TYPE_OFF: break; diff --git a/ui/main.c b/ui/main.c index 272c016..1889d59 100644 --- a/ui/main.c +++ b/ui/main.c @@ -28,9 +28,9 @@ #include "ui/inputbox.h" #include "ui/main.h" -//#ifndef ARRAY_SIZE -// #define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0])) -//#endif +#ifndef ARRAY_SIZE + #define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0])) +#endif void UI_DisplayMain(void) { @@ -53,7 +53,7 @@ void UI_DisplayMain(void) // #else const bool single_vfo = false; // #endif - + for (vfo_num = 0; vfo_num < 2; vfo_num++) { uint8_t Channel = gEeprom.TX_CHANNEL; @@ -61,7 +61,7 @@ void UI_DisplayMain(void) uint8_t Line = (vfo_num == 0) ? 0 : 4; uint8_t *pLine0 = gFrameBuffer[Line + 0]; uint8_t *pLine1 = gFrameBuffer[Line + 1]; - + if (single_vfo) { // we're in single VFO mode - screen is dedicated to just one VFO @@ -70,7 +70,7 @@ void UI_DisplayMain(void) } - + if (gEeprom.DUAL_WATCH != DUAL_WATCH_OFF && gRxVfoIsActive) Channel = gEeprom.RX_CHANNEL; @@ -78,7 +78,7 @@ void UI_DisplayMain(void) { if (gDTMF_CallState != DTMF_CALL_STATE_NONE || gDTMF_IsTx || gDTMF_InputMode) { // show DTMF stuff - + char Contact[16]; if (!gDTMF_InputMode) @@ -136,7 +136,7 @@ void UI_DisplayMain(void) if (gCurrentFunction == FUNCTION_TRANSMIT) { // transmitting - + #ifdef ENABLE_ALARM if (gAlarmState == ALARM_STATE_ALARM) { @@ -162,45 +162,40 @@ void UI_DisplayMain(void) if (IS_MR_CHANNEL(gEeprom.ScreenChannel[vfo_num])) { // channel mode - const unsigned int x = 2; - - // show the memory channel symbol - UI_PrintStringSmall("M", x, 0, Line + 1); - - if (gInputBoxIndex == 0 || gEeprom.TX_CHANNEL != vfo_num) + const bool inputting = (gInputBoxIndex == 0 || gEeprom.TX_CHANNEL != vfo_num) ? false : true; + if (!inputting) NUMBER_ToDigits(gEeprom.ScreenChannel[vfo_num] + 1, String); // show the memory channel number else memcpy(String + 5, gInputBox, 3); // show the input text - UI_DisplaySmallDigits(3, String + 5, x + 7, Line + 1, false); + UI_PrintStringSmall("M", x, 0, Line + 1); + UI_DisplaySmallDigits(3, String + 5, x + 7, Line + 1, inputting); } else if (IS_FREQ_CHANNEL(gEeprom.ScreenChannel[vfo_num])) - { - const unsigned int x = 2; // was 14 + { // frequency mode // show the frequency band number + const unsigned int x = 2; // was 14 sprintf(String, "FB%u", 1 + gEeprom.ScreenChannel[vfo_num] - FREQ_CHANNEL_FIRST); UI_PrintStringSmall(String, x, 0, Line + 1); } - else - { - // show the 'N' narrow band symbol - why do we do that here ? - //memcpy(pLine1 + 7, BITMAP_NarrowBand, sizeof(BITMAP_NarrowBand)); - - if (gInputBoxIndex == 0 || gEeprom.TX_CHANNEL != vfo_num) - { - NUMBER_ToDigits((gEeprom.ScreenChannel[vfo_num] - NOAA_CHANNEL_FIRST) + 1, String); - } + #ifdef ENABLE_NOAA else { - String[6] = gInputBox[0]; - String[7] = gInputBox[1]; + if (gInputBoxIndex == 0 || gEeprom.TX_CHANNEL != vfo_num) + { // channel number + sprintf(String, "N%u", 1 + gEeprom.ScreenChannel[vfo_num] - NOAA_CHANNEL_FIRST); + } + else + { // user entering channel number + sprintf(String, "N%u%u", '0' + gInputBox[0], '0' + gInputBox[1]); + } + UI_PrintStringSmall(String, 7, 0, Line + 1); } - UI_DisplaySmallDigits(2, String + 6, 15, Line + 1, true); - } + #endif // ************ - + uint8_t State = VfoState[vfo_num]; #ifdef ENABLE_ALARM @@ -214,163 +209,120 @@ void UI_DisplayMain(void) if (State != VFO_STATE_NORMAL) { - //uint8_t Width = 10; - - memset(String, 0, sizeof(String)); - - switch (State) - { - //case VFO_STATE_NORMAL: - // break; - case VFO_STATE_BUSY: - strcpy(String, "BUSY"); - //Width = 15; - break; - case VFO_STATE_BAT_LOW: - strcpy(String, "BAT LOW"); - break; - case VFO_STATE_TX_DISABLE: - strcpy(String, "TX DISABLE"); - break; - case VFO_STATE_TIMEOUT: - strcpy(String, "TIMEOUT"); - break; - case VFO_STATE_ALARM: - strcpy(String, "ALARM"); - break; - case VFO_STATE_VOLTAGE_HIGH: - strcpy(String, "VOLT HIGH"); - //Width = 8; - break; - } - - #if 0 - UI_PrintString(String, 31, 111, Line, Width); // centered text - #else - UI_PrintString(String, 34, 0, Line, 8); // left aligned text - #endif + const char *state_list[] = {"", "BUSY", "BAT LOW", "TX DISABLE", "TIMEOUT", "ALARM", "VOLT HIGH"}; + if (State >= 0 && State < ARRAY_SIZE(state_list)) + UI_PrintString(state_list[State], 31, 0, Line, 8); } else - { // normal state - - if (gInputBoxIndex > 0 && IS_FREQ_CHANNEL(gEeprom.ScreenChannel[vfo_num]) && gEeprom.TX_CHANNEL == vfo_num) - { // user is entering a new frequency - UI_DisplayFrequency(gInputBox, 31, Line, true, false); + if (gInputBoxIndex > 0 && IS_FREQ_CHANNEL(gEeprom.ScreenChannel[vfo_num]) && gEeprom.TX_CHANNEL == vfo_num) + { // user entering a frequency + UI_DisplayFrequency(gInputBox, 31, Line, true, false); + } + else + { + uint32_t frequency_Hz = gEeprom.VfoInfo[vfo_num].pRX->Frequency; + if (gCurrentFunction == FUNCTION_TRANSMIT) + { // transmitting + Channel = (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) ? gEeprom.RX_CHANNEL : gEeprom.TX_CHANNEL; + if (Channel == vfo_num) + frequency_Hz = gEeprom.VfoInfo[vfo_num].pTX->Frequency; } - else - { - uint32_t frequency_Hz = gEeprom.VfoInfo[vfo_num].pRX->Frequency; - if (gCurrentFunction == FUNCTION_TRANSMIT) - { // transmitting - Channel = (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) ? gEeprom.RX_CHANNEL : gEeprom.TX_CHANNEL; - if (Channel == vfo_num) - frequency_Hz = gEeprom.VfoInfo[vfo_num].pTX->Frequency; + + if (IS_MR_CHANNEL(gEeprom.ScreenChannel[vfo_num])) + { // channel mode + + { // show the scanlist symbols + const uint8_t Attributes = gMR_ChannelAttributes[gEeprom.ScreenChannel[vfo_num]]; + if (Attributes & MR_CH_SCANLIST1) + memcpy(pLine0 + 113, BITMAP_ScanList, sizeof(BITMAP_ScanList)); + if (Attributes & MR_CH_SCANLIST2) + memcpy(pLine0 + 120, BITMAP_ScanList, sizeof(BITMAP_ScanList)); } - if (IS_MR_CHANNEL(gEeprom.ScreenChannel[vfo_num])) - { // channel mode - - { // show the scanlist symbols - const uint8_t Attributes = gMR_ChannelAttributes[gEeprom.ScreenChannel[vfo_num]]; - if (Attributes & MR_CH_SCANLIST1) - memcpy(pLine0 + 113, BITMAP_ScanList, sizeof(BITMAP_ScanList)); - if (Attributes & MR_CH_SCANLIST2) - memcpy(pLine0 + 120, BITMAP_ScanList, sizeof(BITMAP_ScanList)); - } - - switch (gEeprom.CHANNEL_DISPLAY_MODE) - { - case MDF_FREQUENCY: // show the channel frequency - #ifdef ENABLE_BIG_FREQ - NUMBER_ToDigits(frequency_Hz, String); - // show the main large frequency digits - UI_DisplayFrequency(String, 31, Line, false, false); - // show the remaining 2 small frequency digits - UI_DisplaySmallDigits(2, String + 6, 112, Line + 1, true); - #else - // show the frequency in the main font - sprintf(String, "%03u.%05u", frequency_Hz / 100000, frequency_Hz % 100000); - UI_PrintString(String, 31, 112, Line, 8); - #endif - break; - - case MDF_CHANNEL: // show the channel number - sprintf(String, "CH-%03u", gEeprom.ScreenChannel[vfo_num] + 1); + switch (gEeprom.CHANNEL_DISPLAY_MODE) + { + case MDF_FREQUENCY: // show the channel frequency + #ifdef ENABLE_BIG_FREQ + NUMBER_ToDigits(frequency_Hz, String); + // show the main large frequency digits + UI_DisplayFrequency(String, 31, Line, false, false); + // show the remaining 2 small frequency digits + UI_DisplaySmallDigits(2, String + 6, 112, Line + 1, true); + #else + // show the frequency in the main font + sprintf(String, "%03u.%05u", frequency_Hz / 100000, frequency_Hz % 100000); UI_PrintString(String, 31, 112, Line, 8); - frequency_Hz = 0; - break; + #endif + break; - case MDF_NAME: // show the channel name + case MDF_CHANNEL: // show the channel number + sprintf(String, "CH-%03u", gEeprom.ScreenChannel[vfo_num] + 1); + UI_PrintString(String, 31, 112, Line, 8); + frequency_Hz = 0; + break; + + case MDF_NAME: // show the channel name + if (gEeprom.VfoInfo[vfo_num].Name[0] == 0 || gEeprom.VfoInfo[vfo_num].Name[0] == 0xFF) + { // no channel name, show the channel number instead + sprintf(String, "CH-%03u", gEeprom.ScreenChannel[vfo_num] + 1); + } + else + { // channel name + strcpy(String, gEeprom.VfoInfo[vfo_num].Name); + } + UI_PrintString(String, 31, 112, Line, 8); + break; + + #ifdef ENABLE_CHAN_NAME_FREQ + case MDF_NAME_FREQ: // show the channel name and frequency if (gEeprom.VfoInfo[vfo_num].Name[0] == 0 || gEeprom.VfoInfo[vfo_num].Name[0] == 0xFF) - { // no channel name, show the channel number instead + { // no channel name, show channel number instead sprintf(String, "CH-%03u", gEeprom.ScreenChannel[vfo_num] + 1); - UI_PrintString(String, 31, 112, Line, 8); + UI_PrintStringSmall(gEeprom.VfoInfo[vfo_num].Name, 31 + 8, 0, Line); } else { // channel name - UI_PrintString(gEeprom.VfoInfo[vfo_num].Name, 31, 112, Line, 8); + memset(String, 0, sizeof(String)); + memcpy(String, gEeprom.VfoInfo[vfo_num].Name, 8); + UI_PrintStringSmall(gEeprom.VfoInfo[vfo_num].Name, 31 + 8, 0, Line); } + + // show the channel frequency below the channel number/name + sprintf(String, "%03u.%05u", frequency_Hz / 100000, frequency_Hz % 100000); + UI_PrintStringSmall(String, 31 + 8, 0, Line + 1); + break; - - #ifdef ENABLE_CHAN_NAME_FREQ - case MDF_NAME_FREQ: // show the channel name and frequency - if (gEeprom.VfoInfo[vfo_num].Name[0] == 0 || gEeprom.VfoInfo[vfo_num].Name[0] == 0xFF) - { // no channel name, show channel number instead - sprintf(String, "CH-%03u", gEeprom.ScreenChannel[vfo_num] + 1); - UI_PrintStringSmall(gEeprom.VfoInfo[vfo_num].Name, 31 + 8, 0, Line); - } - else - { // channel name - memset(String, 0, sizeof(String)); - memcpy(String, gEeprom.VfoInfo[vfo_num].Name, 8); - UI_PrintStringSmall(gEeprom.VfoInfo[vfo_num].Name, 31 + 8, 0, Line); - } - - // show the channel frequency below the channel number/name - sprintf(String, "%03u.%05u", frequency_Hz / 100000, frequency_Hz % 100000); - UI_PrintStringSmall(String, 31 + 8, 0, Line + 1); - - break; - #endif - } - } - else - { // frequency mode - - #ifdef ENABLE_BIG_FREQ - NUMBER_ToDigits(frequency_Hz, String); // 8 digits - // show the main large frequency digits - UI_DisplayFrequency(String, 31, Line, false, false); - // show the remaining 2 small frequency digits - UI_DisplaySmallDigits(2, String + 6, 112, Line + 1, true); - #else - // show the frequency in the main font - sprintf(String, "%03u.%05u", frequency_Hz / 100000, frequency_Hz % 100000); - UI_PrintString(String, 38, 112, Line, 8); #endif } } + else + { // frequency mode + #ifdef ENABLE_BIG_FREQ + NUMBER_ToDigits(frequency_Hz, String); // 8 digits + // show the main large frequency digits + UI_DisplayFrequency(String, 31, Line, false, false); + // show the remaining 2 small frequency digits + UI_DisplaySmallDigits(2, String + 6, 112, Line + 1, true); + #else + // show the frequency in the main font + sprintf(String, "%03u.%05u", frequency_Hz / 100000, frequency_Hz % 100000); + UI_PrintString(String, 38, 112, Line, 8); + #endif + } } // ************ { // show the TX/RX level - uint8_t Level = 0; if (SomeValue == 1) { // TX power level switch (gRxVfo->OUTPUT_POWER) { - case OUTPUT_POWER_LOW: - Level = 2; - break; - case OUTPUT_POWER_MID: - Level = 4; - break; - case OUTPUT_POWER_HIGH: - Level = 6; - break; + case OUTPUT_POWER_LOW: Level = 2; break; + case OUTPUT_POWER_MID: Level = 4; break; + case OUTPUT_POWER_HIGH: Level = 6; break; } } else @@ -379,7 +331,7 @@ void UI_DisplayMain(void) if (gVFO_RSSI_Level[vfo_num]) Level = gVFO_RSSI_Level[vfo_num]; } - + if (Level >= 1) { memcpy(pLine1 + display_width + 0, BITMAP_Antenna, sizeof(BITMAP_Antenna)); @@ -396,7 +348,7 @@ void UI_DisplayMain(void) memcpy(pLine1 + display_width + 20, BITMAP_AntennaLevel6, sizeof(BITMAP_AntennaLevel6)); } } - + // ************ if (gEeprom.VfoInfo[vfo_num].IsAM) @@ -404,32 +356,21 @@ void UI_DisplayMain(void) UI_PrintStringSmall("AM", display_width + 27, 0, Line + 1); } else - { // show the CTCSS or DCS symbol + { // show the CTCSS/DCS symbol const FREQ_Config_t *pConfig = (SomeValue == 1) ? gEeprom.VfoInfo[vfo_num].pTX : gEeprom.VfoInfo[vfo_num].pRX; - switch (pConfig->CodeType) - { - default: - case CODE_TYPE_OFF: - break; - case CODE_TYPE_CONTINUOUS_TONE: // CTCSS - UI_PrintStringSmall("CT", display_width + 24, 0, Line + 1); - break; - case CODE_TYPE_DIGITAL: - case CODE_TYPE_REVERSE_DIGITAL: // DCS - UI_PrintStringSmall("DCS", display_width + 24, 0, Line + 1); - break; - } + const unsigned int code_type = pConfig->CodeType; + const char *code_list[] = {"", "CT", "DCS", "DCR"}; + if (code_type >= 0 && code_type < ARRAY_SIZE(code_list)) + UI_PrintStringSmall(code_list[code_type], display_width + 24, 0, Line + 1); } - String[0] = '?'; - switch (gEeprom.VfoInfo[vfo_num].OUTPUT_POWER) - { // show the TX power level symbol - case OUTPUT_POWER_LOW: String[0] = 'L'; break; - case OUTPUT_POWER_MID: String[0] = 'M'; break; - case OUTPUT_POWER_HIGH: String[0] = 'H'; break; + { // show the TX power + const char pwr_list[] = "LMH"; + const unsigned int i = gEeprom.VfoInfo[vfo_num].OUTPUT_POWER; + String[0] = (i >= 0 && i < ARRAY_SIZE(pwr_list)) ? pwr_list[i] : '\0'; + String[1] = '\0'; + UI_PrintStringSmall(String, display_width + 46, 0, Line + 1); } - String[1] = '\0'; - UI_PrintStringSmall(String, display_width + 46, 0, Line + 1); if (gEeprom.VfoInfo[vfo_num].ConfigRX.Frequency != gEeprom.VfoInfo[vfo_num].ConfigTX.Frequency) { // show the TX offset symbol @@ -460,6 +401,16 @@ void UI_DisplayMain(void) UI_PrintStringSmall("SCR", display_width + 106, 0, Line + 1); } + #ifdef ENABLE_DTMF_DECODER + if (gCurrentFunction == FUNCTION_RECEIVE && gDTMF_WriteIndex > 0) + { // show the incoming DTMF live on-screen + const unsigned int len = (gDTMF_WriteIndex < (ARRAY_SIZE(String) - 1)) ? gDTMF_WriteIndex : ARRAY_SIZE(String) - 1; + memset(String, 0, sizeof(String)); + memcpy(String, gDTMF_Received, len); + UI_PrintStringSmall("D:", 2, 0, 3); + UI_PrintStringSmall(String, 2 + (7 * 2), 0, 3); + } + #endif + ST7565_BlitFullScreen(); } -