From b385b53af0b09ce1bf4928f46fede255e99b2dbf Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Fri, 6 Oct 2023 19:31:29 +0100 Subject: [PATCH] Stop TX transmitting out of allowed frequency range when alarm is activated --- Makefile | 6 +- README.md | 21 ++- app/action.c | 6 +- app/app.c | 337 +++++++++++++++++++++----------------------- app/dtmf.c | 43 ++++-- app/dtmf.h | 3 +- app/generic.c | 101 ++++++------- app/main.c | 101 ++++++------- app/menu.c | 2 +- driver/keyboard.c | 4 +- driver/keyboard.h | 45 +++--- driver/st7565.c | 4 +- driver/st7565.h | 2 +- firmware.bin | Bin 53560 -> 53392 bytes firmware.packed.bin | Bin 53578 -> 53410 bytes misc.c | 3 +- misc.h | 8 ++ radio.c | 57 +++----- ui/inputbox.c | 1 + ui/main.c | 8 +- ui/menu.c | 4 +- ui/menu.h | 10 +- ui/ui.c | 45 +++--- 23 files changed, 423 insertions(+), 388 deletions(-) diff --git a/Makefile b/Makefile index 9e878a2..33133a5 100644 --- a/Makefile +++ b/Makefile @@ -35,7 +35,7 @@ ENABLE_RSSI_BAR := 1 ENABLE_AUDIO_BAR := 0 ENABLE_COPY_CHAN_TO_VFO := 1 #ENABLE_SINGLE_VFO_CHAN := 1 -#ENABLE_BAND_SCOPE := 1 +#ENABLE_PANADAPTER := 1 ############################################################# @@ -305,8 +305,8 @@ endif ifeq ($(ENABLE_SINGLE_VFO_CHAN),1) CFLAGS += -DENABLE_SINGLE_VFO_CHAN endif -ifeq ($(ENABLE_BAND_SCOPE),1) - CFLAGS += -DENABLE_BAND_SCOPE +ifeq ($(ENABLE_PANADAPTER),1) + CFLAGS += -DENABLE_PANADAPTER endif LDFLAGS = diff --git a/README.md b/README.md index 36212d0..c3b7a1a 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ ENABLE_REVERSE_BAT_SYMBOL := 1 mirror the battery symbol on the status ENABLE_CODE_SCAN_TIMEOUT := 0 enable/disable 32-sec CTCSS/DCS scan timeout (press exit butt instead of time-out to end scan) ENABLE_AM_FIX := 1 dynamically adjust the front end gains when in AM mode to helo prevent AM demodulator saturation, ignore the on-screen RSSI level (for now) ENABLE_AM_FIX_SHOW_DATA := 1 show debug data for the AM fix (still tweaking it) -ENABLE_SQUELCH_MORE_SENSITIVE := 0 make squelch levels a little bit more sensitive - I plan to let user adjust the values themselves +ENABLE_SQUELCH_MORE_SENSITIVE := 1 make squelch levels a little bit more sensitive - I plan to let user adjust the values themselves ENABLE_FASTER_CHANNEL_SCAN := 0 increases the channel scan speed, but the squelch is also made more twitchy ENABLE_RSSI_BAR := 1 enable a dBm/Sn RSSI bar graph level inplace of the little antenna symbols ENABLE_AUDIO_BAR := 0 experimental, display an audo bar level when TX'ing @@ -75,6 +75,25 @@ ENABLE_COPY_CHAN_TO_VFO := 1 copy current channel into the other VFO * * Long-press '*' .. Start scanning, then toggles the scanning between scanlists 1, 2 or ALL channels +# Edit channel/memory name + +1. Press Menu button +2. Scroll to "CH NAM" (around number 17) +3. Press the Menu button to enter +4. Use up/down keys to choose the desired channel to edit +5. Press the Menu button again to enter edit name mode +6. Use the up/down keys to cycle through the letters etc +7. Press the Menu button again to move to the next character position +8. Repeat steps 6 and/or 7 till you reach the end +9. When it pops up the "Sure?" text, press Menu button to save, or Exit to cancel + +Press the Exit button at any time to cancel the edit and return to the main menu. + +Sounds a lot/complicated but once you done it a couple of times you'll be fine (hopefully). + +When you're editing the name, you can enter digits (0 ~ 9) directly without having to use the up/down +buttons to find them. + # Some changes made from the Quansheng firmware * Various Quansheng firmware bugs fixed diff --git a/app/action.c b/app/action.c index fe07b1d..36b61f6 100644 --- a/app/action.c +++ b/app/action.c @@ -334,10 +334,10 @@ void ACTION_Handle(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) { gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; - if (gDTMF_InputIndex > 0) + if (gDTMF_InputBox_Index > 0) { - gDTMF_InputBox[--gDTMF_InputIndex] = '-'; - if (gDTMF_InputIndex > 0) + gDTMF_InputBox[--gDTMF_InputBox_Index] = '-'; + if (gDTMF_InputBox_Index > 0) { gPttWasReleased = true; gRequestDisplayScreen = DISPLAY_MAIN; diff --git a/app/app.c b/app/app.c index e1006ab..c72784a 100644 --- a/app/app.c +++ b/app/app.c @@ -1367,27 +1367,20 @@ void APP_CheckKeys(void) return; } + if (gDebounceCounter < key_repeat_delay_10ms) + return; + // key is being held pressed if (gDebounceCounter == key_repeat_delay_10ms) - { // initial delay after pressed - if (Key == KEY_STAR || - Key == KEY_F || - Key == KEY_SIDE2 || - Key == KEY_SIDE1 || - Key == KEY_UP || - Key == KEY_DOWN || - Key == KEY_EXIT || - Key == KEY_MENU || - (Key >= KEY_0 && Key <= KEY_9)) // keys 0-9 can be held down to bypass pressing the F-Key + { // initial key repeat delay after pressed + if (Key != KEY_PTT) { gKeyBeingHeld = true; APP_ProcessKey(Key, true, true); } - return; } - - if (gDebounceCounter > key_repeat_delay_10ms) + else { // key repeat if (Key == KEY_UP || Key == KEY_DOWN) { @@ -1400,7 +1393,6 @@ void APP_CheckKeys(void) return; gDebounceCounter = key_repeat_delay_10ms; - return; } } @@ -1433,34 +1425,23 @@ void APP_TimeSlice10ms(void) if (gCurrentFunction != FUNCTION_POWER_SAVE || !gRxIdleMode) APP_CheckRadioInterrupts(); - if (gCurrentFunction != FUNCTION_TRANSMIT) - { // receiving - if (gUpdateStatus) - UI_DisplayStatus(false); - - if (gUpdateDisplay) - { - gUpdateDisplay = false; - GUI_DisplayScreen(); - } - } - else + if (gCurrentFunction == FUNCTION_TRANSMIT) { // transmitting #ifdef ENABLE_AUDIO_BAR if (gSetting_mic_bar && (gFlashLightBlinkCounter % (150 / 10)) == 0) // once every 150ms UI_DisplayAudioBar(); #endif - - if (gUpdateDisplay) - { - gUpdateDisplay = false; - GUI_DisplayScreen(); - } - - if (gUpdateStatus) - UI_DisplayStatus(false); } + if (gUpdateDisplay) + { + gUpdateDisplay = false; + GUI_DisplayScreen(); + } + + if (gUpdateStatus) + UI_DisplayStatus(false); + // Skipping authentic device checks #ifdef ENABLE_FMRADIO @@ -1699,22 +1680,31 @@ void APP_TimeSlice10ms(void) void cancelUserInputModes(void) { gKeyInputCountdown = 0; - if (gDTMF_InputMode || gInputBoxIndex > 0) + + if (gDTMF_InputMode || gDTMF_InputBox_Index > 0) +// if (gDTMF_InputMode || gInputBoxIndex > 0) { - memset(gDTMF_String, 0, sizeof(gDTMF_String)); - gDTMF_InputMode = false; - gDTMF_InputIndex = 0; + DTMF_clear_input_box(); + gDTMF_PreviousIndex = 0; gInputBoxIndex = 0; - + gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; gRequestDisplayScreen = DISPLAY_MAIN; + gUpdateDisplay = true; + } - gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; + if (gWasFKeyPressed) + { + gWasFKeyPressed = false; + gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; + gUpdateStatus = true; } } // this is called once every 500ms void APP_TimeSlice500ms(void) { + bool exit_menu = false; + // Skipped authentic device check if (gKeypadLocked > 0) @@ -1722,9 +1712,19 @@ void APP_TimeSlice500ms(void) gUpdateDisplay = true; if (gKeyInputCountdown > 0) + { if (--gKeyInputCountdown == 0) + { cancelUserInputModes(); + if (gBeepToPlay != BEEP_NONE) + { + AUDIO_PlayBeep(gBeepToPlay); + gBeepToPlay = BEEP_NONE; + } + } + } + if (gDTMF_RX_live_timeout > 0) { #ifdef ENABLE_RSSI_BAR @@ -1743,15 +1743,14 @@ void APP_TimeSlice500ms(void) } } + if (gMenuCountdown > 0) + if (--gMenuCountdown == 0) + exit_menu = (gScreenToDisplay == DISPLAY_MENU); // exit menu mode + if (gDTMF_RX_timeout > 0) if (--gDTMF_RX_timeout == 0) DTMF_clear_RX(); - if (gSerialConfigCountDown_500ms > 0) - { -// gReducedService = true; // a serial config upload/download is in progress - } - // Skipped authentic device check #ifdef ENABLE_FMRADIO @@ -1763,6 +1762,16 @@ void APP_TimeSlice500ms(void) } #endif + if (gBacklightCountdown > 0 && !gAskToSave && gCssScanMode == CSS_SCAN_MODE_OFF) + if (gScreenToDisplay != DISPLAY_MENU || gMenuCursor != MENU_ABR) // don't turn off backlight if user is in backlight menu option + if (--gBacklightCountdown == 0) + if (gEeprom.BACKLIGHT < (ARRAY_SIZE(gSubMenu_BACKLIGHT) - 1)) + GPIO_ClearBit(&GPIOB->DATA, GPIOB_PIN_BACKLIGHT); // turn backlight off + + if (gSerialConfigCountDown_500ms > 0) + { + } + if (gReducedService) { BOARD_ADC_GetBatteryInfo(&gBatteryCurrentVoltage, &gBatteryCurrent); @@ -1802,94 +1811,90 @@ void APP_TimeSlice500ms(void) #endif } - if (gCurrentFunction != FUNCTION_TRANSMIT) + #ifdef ENABLE_FMRADIO + if ((gFM_ScanState == FM_SCAN_OFF || gAskToSave) && gCssScanMode == CSS_SCAN_MODE_OFF) + #else + if (gCssScanMode == CSS_SCAN_MODE_OFF) + #endif { - if (gCurrentFunction != FUNCTION_POWER_SAVE) - updateRSSI(gEeprom.RX_VFO); - - #ifdef ENABLE_FMRADIO - if ((gFM_ScanState == FM_SCAN_OFF || gAskToSave) && gCssScanMode == CSS_SCAN_MODE_OFF) + #ifdef ENABLE_AIRCOPY + if (gScanStateDir == SCAN_OFF && gScreenToDisplay != DISPLAY_AIRCOPY && (gScreenToDisplay != DISPLAY_SCANNER || gScanCssState >= SCAN_CSS_STATE_FOUND)) #else - if (gCssScanMode == CSS_SCAN_MODE_OFF) + if (gScanStateDir == SCAN_OFF && (gScreenToDisplay != DISPLAY_SCANNER || gScanCssState >= SCAN_CSS_STATE_FOUND)) #endif { - if (gBacklightCountdown > 0) - if (gScreenToDisplay != DISPLAY_MENU || gMenuCursor != MENU_ABR) // don't turn off backlight if user is in backlight menu option - if (--gBacklightCountdown == 0) - if (gEeprom.BACKLIGHT < (ARRAY_SIZE(gSubMenu_BACKLIGHT) - 1)) - GPIO_ClearBit(&GPIOB->DATA, GPIOB_PIN_BACKLIGHT); // turn backlight off - - #ifdef ENABLE_AIRCOPY - if (gScanStateDir == SCAN_OFF && gScreenToDisplay != DISPLAY_AIRCOPY && (gScreenToDisplay != DISPLAY_SCANNER || gScanCssState >= SCAN_CSS_STATE_FOUND)) - #else - if (gScanStateDir == SCAN_OFF && (gScreenToDisplay != DISPLAY_SCANNER || gScanCssState >= SCAN_CSS_STATE_FOUND)) - #endif + if (gEeprom.AUTO_KEYPAD_LOCK && gKeyLockCountdown > 0 && !gDTMF_InputMode) { - bool exit_menu = false; + if (--gKeyLockCountdown == 0) + gEeprom.KEY_LOCK = true; // lock the keyboard + gUpdateStatus = true; // lock symbol needs showing + } - if (gEeprom.AUTO_KEYPAD_LOCK && gKeyLockCountdown > 0 && !gDTMF_InputMode) + if (exit_menu) + { + gMenuCountdown = 0; + + if (gEeprom.BACKLIGHT == 0) { - if (--gKeyLockCountdown == 0) - gEeprom.KEY_LOCK = true; // lock the keyboard - - gUpdateStatus = true; // lock symbol needs showing + gBacklightCountdown = 0; + GPIO_ClearBit(&GPIOB->DATA, GPIOB_PIN_BACKLIGHT); // turn the backlight OFF } - if (gMenuCountdown > 0) - if (--gMenuCountdown == 0) - exit_menu = true; // exit menu mode - - if (exit_menu) + if (gInputBoxIndex > 0 || gDTMF_InputMode) + AUDIO_PlayBeep(BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL); +/* + if (gScreenToDisplay == DISPLAY_SCANNER) { - gMenuCountdown = 0; + BK4819_StopScan(); - if (gEeprom.BACKLIGHT == 0 && gScreenToDisplay == DISPLAY_MENU) - { - gBacklightCountdown = 0; - GPIO_ClearBit(&GPIOB->DATA, GPIOB_PIN_BACKLIGHT); // turn the backlight OFF - } + RADIO_ConfigureChannel(0, VFO_CONFIGURE_RELOAD); + RADIO_ConfigureChannel(1, VFO_CONFIGURE_RELOAD); - if (gInputBoxIndex > 0 || gDTMF_InputMode || gScreenToDisplay == DISPLAY_MENU) - AUDIO_PlayBeep(BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL); + RADIO_SetupRegisters(true); + } +*/ + DTMF_clear_input_box(); - if (gScreenToDisplay == DISPLAY_SCANNER) - { - BK4819_StopScan(); + gWasFKeyPressed = false; + gInputBoxIndex = 0; - RADIO_ConfigureChannel(0, VFO_CONFIGURE_RELOAD); - RADIO_ConfigureChannel(1, VFO_CONFIGURE_RELOAD); + gAskToSave = false; + gAskToDelete = false; - RADIO_SetupRegisters(true); - } - - gWasFKeyPressed = false; - gUpdateStatus = true; - gInputBoxIndex = 0; - gDTMF_InputMode = false; - gDTMF_InputIndex = 0; - gAskToSave = false; - gAskToDelete = false; + gUpdateStatus = true; + gUpdateDisplay = true; + { + GUI_DisplayType_t disp = DISPLAY_INVALID; + #ifdef ENABLE_FMRADIO if (gFmRadioMode && - gCurrentFunction != FUNCTION_RECEIVE && + gCurrentFunction != FUNCTION_RECEIVE && gCurrentFunction != FUNCTION_MONITOR && gCurrentFunction != FUNCTION_TRANSMIT) { - GUI_SelectNextDisplay(DISPLAY_FM); + disp = DISPLAY_FM; } - else #endif - #ifndef ENABLE_CODE_SCAN_TIMEOUT - if (gScreenToDisplay != DISPLAY_SCANNER) - #endif - GUI_SelectNextDisplay(DISPLAY_MAIN); + + if (disp == DISPLAY_INVALID) + { + #ifndef ENABLE_CODE_SCAN_TIMEOUT + if (gScreenToDisplay != DISPLAY_SCANNER) + #endif + disp = DISPLAY_MAIN; + } + + if (disp != DISPLAY_INVALID) + GUI_SelectNextDisplay(disp); } } } - } + if (gCurrentFunction != FUNCTION_POWER_SAVE && gCurrentFunction != FUNCTION_TRANSMIT) + updateRSSI(gEeprom.RX_VFO); + #ifdef ENABLE_FMRADIO if (!gPttIsPressed && gFM_ResumeCountdown_500ms > 0) { @@ -1947,7 +1952,7 @@ void APP_TimeSlice500ms(void) //if (gCurrentFunction != FUNCTION_POWER_SAVE) FUNCTION_Select(FUNCTION_POWER_SAVE); - ST7565_Configure_GPIO_B11(); + ST7565_HardwareReset(); if (gEeprom.BACKLIGHT < (ARRAY_SIZE(gSubMenu_BACKLIGHT) - 1)) GPIO_ClearBit(&GPIOB->DATA, GPIOB_PIN_BACKLIGHT); // turn the backlight off @@ -1985,6 +1990,7 @@ void APP_TimeSlice500ms(void) if (gDTMF_DecodeRingCountdown_500ms > 0) { // make "ring-ring" sound gDTMF_DecodeRingCountdown_500ms--; + AUDIO_PlayBeep(BEEP_880HZ_200MS); } } @@ -2074,6 +2080,9 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) { bool bFlag = false; + if (Key == KEY_INVALID) + return; + const bool backlight_was_on = GPIO_CheckBit(&GPIOB->DATA, GPIOB_PIN_BACKLIGHT); if (Key == KEY_EXIT && !backlight_was_on && gEeprom.BACKLIGHT > 0) @@ -2189,14 +2198,7 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) } } - if (Key != KEY_PTT && - Key != KEY_UP && - Key != KEY_DOWN && - Key != KEY_EXIT && - Key != KEY_SIDE1 && - Key != KEY_SIDE2 && - Key != KEY_STAR && - Key != KEY_MENU) + if ((Key >= KEY_0 && Key <= KEY_9) || Key == KEY_F) { if (gScanStateDir != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF) { // FREQ/CTCSS/DCS scanning @@ -2231,9 +2233,8 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) } } - if (gWasFKeyPressed && Key > KEY_9 && Key != KEY_F && Key != KEY_STAR) -// if (gWasFKeyPressed && Key > KEY_9 && Key != KEY_F && Key != KEY_STAR && Key != KEY_MENU) - { + if (gWasFKeyPressed && (Key == KEY_PTT || Key == KEY_EXIT || Key == KEY_SIDE1 || Key == KEY_SIDE2)) + { // cancel the F-key gWasFKeyPressed = false; gUpdateStatus = true; } @@ -2247,59 +2248,58 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) if (gAlarmState == ALARM_STATE_OFF) #endif { + char Code; + if (Key == KEY_PTT) { GENERIC_Key_PTT(bKeyPressed); + goto Skip; + } + + if (Key == KEY_SIDE2) + { // transmit 1750Hz tone + Code = 0xFE; } else { - char Code; - - if (Key == KEY_SIDE2) - { // transmit 1750Hz tone - Code = 0xFE; - } - else + Code = DTMF_GetCharacter(Key - KEY_0); + if (Code == 0xFF) + goto Skip; + + // transmit DTMF keys + } + + if (!bKeyPressed || bKeyHeld) + { + if (!bKeyPressed) { - Code = DTMF_GetCharacter(Key - KEY_0); - if (Code == 0xFF) - goto Skip; - - // transmit DTMF keys - } - - if (!bKeyPressed || bKeyHeld) - { - if (!bKeyPressed) - { - GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); - - gEnableSpeaker = false; - - BK4819_ExitDTMF_TX(false); - - if (gCurrentVfo->SCRAMBLING_TYPE == 0 || !gSetting_ScrambleEnable) - BK4819_DisableScramble(); - else - BK4819_EnableScramble(gCurrentVfo->SCRAMBLING_TYPE - 1); - } - } - else - { - if (gEeprom.DTMF_SIDE_TONE) - { // user will here the DTMF tones in speaker - GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); - gEnableSpeaker = true; - } - - BK4819_DisableScramble(); - - if (Code == 0xFE) - BK4819_TransmitTone(gEeprom.DTMF_SIDE_TONE, 1750); + GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); + + gEnableSpeaker = false; + + BK4819_ExitDTMF_TX(false); + + if (gCurrentVfo->SCRAMBLING_TYPE == 0 || !gSetting_ScrambleEnable) + BK4819_DisableScramble(); else - BK4819_PlayDTMFEx(gEeprom.DTMF_SIDE_TONE, Code); + BK4819_EnableScramble(gCurrentVfo->SCRAMBLING_TYPE - 1); } } + else + { + if (gEeprom.DTMF_SIDE_TONE) + { // user will here the DTMF tones in speaker + GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); + gEnableSpeaker = true; + } + + BK4819_DisableScramble(); + + if (Code == 0xFE) + BK4819_TransmitTone(gEeprom.DTMF_SIDE_TONE, 1750); + else + BK4819_PlayDTMFEx(gEeprom.DTMF_SIDE_TONE, Code); + } } #if defined(ENABLE_ALARM) || defined(ENABLE_TX1750) else @@ -2307,13 +2307,8 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) { ALARM_Off(); - // TODO: fix side key 1750, you have to press it twice to restart the tone :( - if (gEeprom.REPEATER_TAIL_TONE_ELIMINATION == 0) - { - //if (gCurrentFunction != FUNCTION_FOREGROUND) - FUNCTION_Select(FUNCTION_FOREGROUND); - } + FUNCTION_Select(FUNCTION_FOREGROUND); else gRTTECountdown = gEeprom.REPEATER_TAIL_TONE_ELIMINATION * 10; @@ -2332,9 +2327,7 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) { case DISPLAY_MAIN: MAIN_ProcessKeys(Key, bKeyPressed, bKeyHeld); - bKeyHeld = false; // allow the channel setting to be saved - break; #ifdef ENABLE_FMRADIO @@ -2376,10 +2369,8 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; } else - { - if (Key == KEY_EXIT && bKeyHeld) - cancelUserInputModes(); - } + if (Key == KEY_EXIT && bKeyHeld) + cancelUserInputModes(); Skip: if (gBeepToPlay != BEEP_NONE) diff --git a/app/dtmf.c b/app/dtmf.c index b5135ff..68b23eb 100644 --- a/app/dtmf.c +++ b/app/dtmf.c @@ -36,9 +36,9 @@ char gDTMF_String[15]; char gDTMF_InputBox[15]; -uint8_t gDTMF_InputIndex = 0; -bool gDTMF_InputMode = false; -uint8_t gDTMF_PreviousIndex = 0; +uint8_t gDTMF_InputBox_Index = 0; +bool gDTMF_InputMode = false; +uint8_t gDTMF_PreviousIndex = 0; char gDTMF_RX[17]; uint8_t gDTMF_RX_index = 0; @@ -133,8 +133,26 @@ bool DTMF_FindContact(const char *pContact, char *pResult) char DTMF_GetCharacter(const unsigned int code) { - const char list[] = "0123456789ABCD*#"; - return (code < ARRAY_SIZE(list)) ? list[code] : 0xFF; + switch (code) + { + case KEY_0: return '0'; + case KEY_1: return '1'; + case KEY_2: return '2'; + case KEY_3: return '3'; + case KEY_4: return '4'; + case KEY_5: return '5'; + case KEY_6: return '6'; + case KEY_7: return '7'; + case KEY_8: return '8'; + case KEY_9: return '9'; + case KEY_MENU: return 'A'; + case KEY_UP: return 'B'; + case KEY_DOWN: return 'C'; + case KEY_EXIT: return 'D'; + case KEY_STAR: return '*'; + case KEY_F: return '#'; + default: return 0xff; + } } bool DTMF_CompareMessage(const char *pMsg, const char *pTemplate, const unsigned int size, const bool bCheckGroup) @@ -163,16 +181,23 @@ DTMF_CallMode_t DTMF_CheckGroupCall(const char *pMsg, const unsigned int size) return (i < size) ? DTMF_CALL_MODE_GROUP : DTMF_CALL_MODE_NOT_GROUP; } +void DTMF_clear_input_box(void) +{ + memset(gDTMF_InputBox, 0, sizeof(gDTMF_InputBox)); + gDTMF_InputBox_Index = 0; + gDTMF_InputMode = false; +} + void DTMF_Append(const char code) { - if (gDTMF_InputIndex == 0) + if (gDTMF_InputBox_Index == 0) { - memset(gDTMF_InputBox, '-', sizeof(gDTMF_InputBox)); + memset(gDTMF_InputBox, '-', sizeof(gDTMF_InputBox) - 1); gDTMF_InputBox[sizeof(gDTMF_InputBox) - 1] = 0; } - if (gDTMF_InputIndex < sizeof(gDTMF_InputBox)) - gDTMF_InputBox[gDTMF_InputIndex++] = code; + if (gDTMF_InputBox_Index < (sizeof(gDTMF_InputBox) - 1)) + gDTMF_InputBox[gDTMF_InputBox_Index++] = code; } void DTMF_HandleRequest(void) diff --git a/app/dtmf.h b/app/dtmf.h index 0042ff0..8fc70a0 100644 --- a/app/dtmf.h +++ b/app/dtmf.h @@ -65,7 +65,7 @@ typedef enum DTMF_CallMode_t DTMF_CallMode_t; extern char gDTMF_String[15]; extern char gDTMF_InputBox[15]; -extern uint8_t gDTMF_InputIndex; +extern uint8_t gDTMF_InputBox_Index; extern bool gDTMF_InputMode; extern uint8_t gDTMF_PreviousIndex; @@ -98,6 +98,7 @@ bool DTMF_FindContact(const char *pContact, char *pResult); char DTMF_GetCharacter(const unsigned int code); bool DTMF_CompareMessage(const char *pDTMF, const char *pTemplate, const unsigned int size, const bool bFlag); DTMF_CallMode_t DTMF_CheckGroupCall(const char *pDTMF, const unsigned int size); +void DTMF_clear_input_box(void); void DTMF_Append(const char vode); void DTMF_HandleRequest(void); void DTMF_Reply(void); diff --git a/app/generic.c b/app/generic.c index 82e8f10..0bfa0d8 100644 --- a/app/generic.c +++ b/app/generic.c @@ -59,13 +59,13 @@ void GENERIC_Key_F(bool bKeyPressed, bool bKeyHeld) #endif gCurrentFunction != FUNCTION_TRANSMIT) { // toggle the keyboad lock - + #ifdef ENABLE_VOICE gAnotherVoiceID = gEeprom.KEY_LOCK ? VOICE_ID_UNLOCK : VOICE_ID_LOCK; #endif - + gEeprom.KEY_LOCK = !gEeprom.KEY_LOCK; - + gRequestSaveSettings = true; } } @@ -81,6 +81,9 @@ void GENERIC_Key_F(bool bKeyPressed, bool bKeyHeld) gWasFKeyPressed = !gWasFKeyPressed; + if (gWasFKeyPressed) + gKeyInputCountdown = key_input_timeout_500ms; + #ifdef ENABLE_VOICE if (!gWasFKeyPressed) gAnotherVoiceID = VOICE_ID_CANCEL; @@ -106,6 +109,7 @@ void GENERIC_Key_F(bool bKeyPressed, bool bKeyHeld) #endif gBeepToPlay = BEEP_440HZ_500MS; + gPttWasReleased = true; } } @@ -192,64 +196,61 @@ void GENERIC_Key_PTT(bool bKeyPressed) return; } - gFlagPrepareTX = true; - - if (gDTMF_InputMode) - { - if (gDTMF_InputIndex > 0 || gDTMF_PreviousIndex > 0) - { - if (gDTMF_InputIndex == 0) - gDTMF_InputIndex = gDTMF_PreviousIndex; - - gDTMF_InputBox[gDTMF_InputIndex] = 0; - - #if 0 - // append our DTMF ID to the inputted DTMF code - - // IF the user inputted code is exactly 3 digits long - if (gDTMF_InputIndex == 3) - gDTMF_CallMode = DTMF_CheckGroupCall(gDTMF_InputBox, 3); - else - #else - // append our DTMF ID to the inputted DTMF code - - // IF the user inputted code is exactly 3 digits long and D-DCD is enabled - if (gDTMF_InputIndex == 3 && gTxVfo->DTMF_DECODING_ENABLE > 0) - gDTMF_CallMode = DTMF_CheckGroupCall(gDTMF_InputBox, 3); - else - #endif - gDTMF_CallMode = DTMF_CALL_MODE_DTMF; - - strcpy(gDTMF_String, gDTMF_InputBox); - - gDTMF_PreviousIndex = gDTMF_InputIndex; - gDTMF_ReplyState = DTMF_REPLY_ANI; - gDTMF_State = DTMF_STATE_0; - } - - if (gScreenToDisplay != DISPLAY_MENU) // 1of11 .. don't close the menu - gRequestDisplayScreen = DISPLAY_MAIN; - - gDTMF_InputMode = false; - gDTMF_InputIndex = 0; - return; - } - if (gScreenToDisplay != DISPLAY_MENU) // 1of11 .. don't close the menu gRequestDisplayScreen = DISPLAY_MAIN; - gFlagPrepareTX = true; - gInputBoxIndex = 0; + if (!gDTMF_InputMode) + { + gFlagPrepareTX = true; + gInputBoxIndex = 0; + return; + } + + gDTMF_InputMode = false; +// gUpdateDisplay = true; + + if (gDTMF_InputBox_Index > 0 || gDTMF_PreviousIndex > 0) + { + if (gDTMF_InputBox_Index == 0) + gDTMF_InputBox_Index = gDTMF_PreviousIndex; + + if (gDTMF_InputBox_Index < sizeof(gDTMF_InputBox)) + gDTMF_InputBox[gDTMF_InputBox_Index] = 0; + + #if 0 + // append our DTMF ID to the inputted DTMF code - + // IF the user inputted code is exactly 3 digits long + if (gDTMF_InputBox_Index == 3) + gDTMF_CallMode = DTMF_CheckGroupCall(gDTMF_InputBox, 3); + else + #else + // append our DTMF ID to the inputted DTMF code - + // IF the user inputted code is exactly 3 digits long and D-DCD is enabled + if (gDTMF_InputBox_Index == 3 && gTxVfo->DTMF_DECODING_ENABLE > 0) + gDTMF_CallMode = DTMF_CheckGroupCall(gDTMF_InputBox, 3); + else + #endif + gDTMF_CallMode = DTMF_CALL_MODE_DTMF; + + strcpy(gDTMF_String, gDTMF_InputBox); + gDTMF_PreviousIndex = gDTMF_InputBox_Index; + DTMF_clear_input_box(); + + gDTMF_ReplyState = DTMF_REPLY_ANI; + gDTMF_State = DTMF_STATE_0; + + gFlagPrepareTX = true; + } return; } - if (gScreenToDisplay != DISPLAY_MENU) // 1of11 .. don't close the menu - gRequestDisplayScreen = DISPLAY_MAIN; - gEeprom.CROSS_BAND_RX_TX = gBackupCROSS_BAND_RX_TX; - gUpdateStatus = true; gFlagStopScan = true; gVfoConfigureMode = VFO_CONFIGURE_RELOAD; gFlagResetVfos = true; + + gUpdateStatus = true; } else { diff --git a/app/main.c b/app/main.c index b650338..e8db077 100644 --- a/app/main.c +++ b/app/main.c @@ -529,7 +529,7 @@ static void MAIN_Key_EXIT(bool bKeyPressed, bool bKeyHeld) if (gInputBoxIndex > 0) { // cancel key input mode (channel/frequency entry) gDTMF_InputMode = false; - gDTMF_InputIndex = 0; + gDTMF_InputBox_Index = 0; memset(gDTMF_String, 0, sizeof(gDTMF_String)); gInputBoxIndex = 0; gRequestDisplayScreen = DISPLAY_MAIN; @@ -550,6 +550,8 @@ static void MAIN_Key_MENU(const bool bKeyPressed, const bool bKeyHeld) if (bKeyPressed) { // long press MENU key + gWasFKeyPressed = false; + if (gScreenToDisplay == DISPLAY_MAIN) { if (gInputBoxIndex > 0) @@ -634,77 +636,77 @@ static void MAIN_Key_MENU(const bool bKeyPressed, const bool bKeyHeld) static void MAIN_Key_STAR(bool bKeyPressed, bool bKeyHeld) { - if (gInputBoxIndex) - { + if (gCurrentFunction == FUNCTION_TRANSMIT) + return; + + if (gInputBoxIndex > 0) + { // entering a frequency or DTMF string if (!bKeyHeld && bKeyPressed) gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; return; } - if (bKeyHeld || !bKeyPressed) - { // long press + if (bKeyHeld && !gWasFKeyPressed) + { // long press .. toggle scanning + if (!bKeyPressed) + return; // released + gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; + ACTION_Scan(false); + return; + } - if (bKeyHeld || bKeyPressed) - { - if (!bKeyHeld) - return; - - if (!bKeyPressed) - return; - - ACTION_Scan(false); - - return; - } + if (bKeyPressed) + { // just pressed +// gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; + gBeepToPlay = BEEP_880HZ_40MS_OPTIONAL; + return; + } + + // just released + + if (!gWasFKeyPressed) + { // pressed without the F-key #ifdef ENABLE_NOAA if (gScanStateDir == SCAN_OFF && IS_NOT_NOAA_CHANNEL(gTxVfo->CHANNEL_SAVE)) #else if (gScanStateDir == SCAN_OFF) #endif - { - gKeyInputCountdown = key_input_timeout_500ms; + { // start entering a DTMF string + + memmove(gDTMF_InputBox, gDTMF_String, MIN(sizeof(gDTMF_InputBox), sizeof(gDTMF_String) - 1)); + gDTMF_InputBox_Index = 0; gDTMF_InputMode = true; - memmove(gDTMF_InputBox, gDTMF_String, sizeof(gDTMF_InputBox)); - gDTMF_InputIndex = 0; + + gKeyInputCountdown = key_input_timeout_500ms; gRequestDisplayScreen = DISPLAY_MAIN; - return; } } else - { - gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; - if (!gWasFKeyPressed) - { - gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; - return; - } - + { // with the F-key gWasFKeyPressed = false; - gUpdateStatus = true; #ifdef ENABLE_NOAA - if (IS_NOT_NOAA_CHANNEL(gTxVfo->CHANNEL_SAVE)) - { - gFlagStartScan = true; - gScanSingleFrequency = true; - gBackupCROSS_BAND_RX_TX = gEeprom.CROSS_BAND_RX_TX; - gEeprom.CROSS_BAND_RX_TX = CROSS_BAND_OFF; - } - else + if (IS_NOAA_CHANNEL(gTxVfo->CHANNEL_SAVE)) { gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; - } - #else - gFlagStartScan = true; - gScanSingleFrequency = true; - gBackupCROSS_BAND_RX_TX = gEeprom.CROSS_BAND_RX_TX; - gEeprom.CROSS_BAND_RX_TX = CROSS_BAND_OFF; + return; + } #endif - - gPttWasReleased = true; +/* + // scan the CTCSS/DCS code + gFlagStartScan = true; + gScanSingleFrequency = true; + gBackupCROSS_BAND_RX_TX = gEeprom.CROSS_BAND_RX_TX; + gEeprom.CROSS_BAND_RX_TX = CROSS_BAND_OFF; +*/ + ACTION_Scan(false); } + + gPttWasReleased = true; + + gUpdateStatus = true; } static void MAIN_Key_UP_DOWN(bool bKeyPressed, bool bKeyHeld, int8_t Direction) @@ -712,7 +714,8 @@ static void MAIN_Key_UP_DOWN(bool bKeyPressed, bool bKeyHeld, int8_t Direction) uint8_t Channel = gEeprom.ScreenChannel[gEeprom.TX_VFO]; if (bKeyHeld || !bKeyPressed) - { + { // long press + if (gInputBoxIndex > 0) return; @@ -822,7 +825,7 @@ void MAIN_ProcessKeys(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) { if (!bKeyHeld) { - const char Character = DTMF_GetCharacter(Key - KEY_0); + const char Character = DTMF_GetCharacter(Key); if (Character != 0xFF) { // add key to DTMF string DTMF_Append(Character); diff --git a/app/menu.c b/app/menu.c index a94b098..fb38396 100644 --- a/app/menu.c +++ b/app/menu.c @@ -674,7 +674,7 @@ void MENU_AcceptSetting(void) { GUI_SelectNextDisplay(DISPLAY_MAIN); gDTMF_InputMode = true; - gDTMF_InputIndex = 3; + gDTMF_InputBox_Index = 3; memmove(gDTMF_InputBox, gDTMF_ID, 4); gRequestDisplayScreen = DISPLAY_INVALID; } diff --git a/driver/keyboard.c b/driver/keyboard.c index c6af554..0003a81 100644 --- a/driver/keyboard.c +++ b/driver/keyboard.c @@ -36,8 +36,8 @@ static const struct { // We are very fortunate. // The key and pin defines fit together in a single u8, making this very efficient struct { - uint8_t key : 5; // Key 23 is highest - uint8_t pin : 3; // Pin 6 is highest + KEY_Code_t key : 5; + uint8_t pin : 3; // Pin 6 is highest } pins[4]; } keyboard[] = { diff --git a/driver/keyboard.h b/driver/keyboard.h index 78c1a4f..5a7d839 100644 --- a/driver/keyboard.h +++ b/driver/keyboard.h @@ -21,28 +21,29 @@ #include #include -typedef enum { - KEY_INVALID = 0, - KEY_0, - KEY_1, - KEY_2, - KEY_3, - KEY_4, - KEY_5, - KEY_6, - KEY_7, - KEY_8, - KEY_9, - KEY_MENU, - KEY_UP, - KEY_DOWN, - KEY_EXIT, - KEY_STAR, - KEY_F, - KEY_PTT, - KEY_SIDE2, - KEY_SIDE1 -} KEY_Code_t; +enum KEY_Code_e { + KEY_0 = 0, // 0 + KEY_1, // 1 + KEY_2, // 2 + KEY_3, // 3 + KEY_4, // 4 + KEY_5, // 5 + KEY_6, // 6 + KEY_7, // 7 + KEY_8, // 8 + KEY_9, // 9 + KEY_MENU, // A + KEY_UP, // B + KEY_DOWN, // C + KEY_EXIT, // D + KEY_STAR, // * + KEY_F, // # + KEY_PTT, // + KEY_SIDE2, // + KEY_SIDE1, // + KEY_INVALID // +}; +typedef enum KEY_Code_e KEY_Code_t; extern KEY_Code_t gKeyReading0; extern KEY_Code_t gKeyReading1; diff --git a/driver/st7565.c b/driver/st7565.c index c2ccd3f..66ee65d 100644 --- a/driver/st7565.c +++ b/driver/st7565.c @@ -146,7 +146,7 @@ void ST7565_Init(const bool full) { SPI0_Init(); - ST7565_Configure_GPIO_B11(); + ST7565_HardwareReset(); SPI_ToggleMasterMode(&SPI0->CR, false); @@ -199,7 +199,7 @@ void ST7565_Init(const bool full) ST7565_FillScreen(0x00); } -void ST7565_Configure_GPIO_B11(void) +void ST7565_HardwareReset(void) { GPIO_SetBit(&GPIOB->DATA, GPIOB_PIN_ST7565_RES); SYSTEM_DelayMs(1); diff --git a/driver/st7565.h b/driver/st7565.h index 5fc2e8d..ac0ffd9 100644 --- a/driver/st7565.h +++ b/driver/st7565.h @@ -31,7 +31,7 @@ void ST7565_BlitFullScreen(void); void ST7565_BlitStatusLine(void); void ST7565_FillScreen(uint8_t Value); void ST7565_Init(const bool full); -void ST7565_Configure_GPIO_B11(void); +void ST7565_HardwareReset(void); void ST7565_SelectColumnAndLine(uint8_t Column, uint8_t Line); void ST7565_WriteByte(uint8_t Value); diff --git a/firmware.bin b/firmware.bin index 01983d508d701be2601e71e434768475279e7890..61f6a77cf032972463fb96457c7b29594dacfb6d 100644 GIT binary patch delta 32237 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 F{|h*X)e`^! delta 32413 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 z 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 PB6s|=FF)ec5sv*2E0-=L diff --git a/firmware.packed.bin b/firmware.packed.bin index be0723a80c4174880a83d6af14f23ddae3825746..b99f36a85d32c8958e8c0edaf545ca905b33ed07 100644 GIT binary patch literal 53410 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 literal 53578 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%0D8K@kn|$3aZ{ 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 _b ? _a : _b; }) +#endif + +#ifndef MIN + #define MIN(a, b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a < _b ? _a : _b; }) +#endif + #define IS_MR_CHANNEL(x) ((x) >= MR_CHANNEL_FIRST && (x) <= MR_CHANNEL_LAST) #define IS_FREQ_CHANNEL(x) ((x) >= FREQ_CHANNEL_FIRST && (x) <= FREQ_CHANNEL_LAST) #define IS_VALID_CHANNEL(x) ((x) < LAST_CHANNEL) diff --git a/radio.c b/radio.c index 38dd1b5..cc5d9c2 100644 --- a/radio.c +++ b/radio.c @@ -939,6 +939,7 @@ void RADIO_PrepareTX(void) gEeprom.RX_VFO = gEeprom.TX_VFO; gRxVfo = &gEeprom.VfoInfo[gEeprom.TX_VFO]; // gRxVfoIsActive = true; + gRxVfoIsActive = false; } // let the user see that DW is not active @@ -948,47 +949,35 @@ void RADIO_PrepareTX(void) RADIO_SelectCurrentVfo(); - #if defined(ENABLE_ALARM) && defined(ENABLE_TX1750) - if (gAlarmState == ALARM_STATE_OFF || - gAlarmState == ALARM_STATE_TX1750 || - (gAlarmState == ALARM_STATE_ALARM && gEeprom.ALARM_MODE == ALARM_MODE_TONE)) - #elif defined(ENABLE_ALARM) - if (gAlarmState == ALARM_STATE_OFF || - (gAlarmState == ALARM_STATE_ALARM && gEeprom.ALARM_MODE == ALARM_MODE_TONE)) - #elif defined(ENABLE_TX1750) - if (gAlarmState == ALARM_STATE_OFF || - gAlarmState == ALARM_STATE_TX1750) - #endif - { - #ifndef ENABLE_TX_WHEN_AM - if (gCurrentVfo->AM_mode) - { // not allowed to TX if in AM mode - State = VFO_STATE_TX_DISABLE; - } - else - #endif - if (!gSetting_TX_EN || gSerialConfigCountDown_500ms > 0) - { // TX is disabled or config upload/download in progress + #ifndef ENABLE_TX_WHEN_AM + if (gCurrentVfo->AM_mode) + { // not allowed to TX if in AM mode State = VFO_STATE_TX_DISABLE; } else - if (TX_freq_check(gCurrentVfo->pTX->Frequency) == 0) - { // TX frequency is allowed - if (gCurrentVfo->BUSY_CHANNEL_LOCK && gCurrentFunction == FUNCTION_RECEIVE) - State = VFO_STATE_BUSY; // busy RX'ing a station - else - if (gBatteryDisplayLevel == 0) - State = VFO_STATE_BAT_LOW; // charge your battery ! - else - if (gBatteryDisplayLevel >= 6) - State = VFO_STATE_VOLTAGE_HIGH; // over voltage .. this is being a pain - } - else - State = VFO_STATE_TX_DISABLE; // TX frequency not allowed + #endif + if (!gSetting_TX_EN || gSerialConfigCountDown_500ms > 0) + { // TX is disabled or config upload/download in progress + State = VFO_STATE_TX_DISABLE; } + else + if (TX_freq_check(gCurrentVfo->pTX->Frequency) == 0) + { // TX frequency is allowed + if (gCurrentVfo->BUSY_CHANNEL_LOCK && gCurrentFunction == FUNCTION_RECEIVE) + State = VFO_STATE_BUSY; // busy RX'ing a station + else + if (gBatteryDisplayLevel == 0) + State = VFO_STATE_BAT_LOW; // charge your battery ! + else + if (gBatteryDisplayLevel >= 6) + State = VFO_STATE_VOLTAGE_HIGH; // over voltage (no doubt to protect the PA) .. this is being a pain + } + else + State = VFO_STATE_TX_DISABLE; // TX frequency not allowed if (State != VFO_STATE_NORMAL) { // TX not allowed + RADIO_SetVfoState(State); #if defined(ENABLE_ALARM) || defined(ENABLE_TX1750) diff --git a/ui/inputbox.c b/ui/inputbox.c index e352cce..cd6742c 100644 --- a/ui/inputbox.c +++ b/ui/inputbox.c @@ -31,5 +31,6 @@ void INPUTBOX_Append(const KEY_Code_t Digit) if (Digit >= KEY_0 && Digit != KEY_INVALID) gInputBox[gInputBoxIndex++] = (char)(Digit - KEY_0); +// gInputBox[gInputBoxIndex++] = Digit; } diff --git a/ui/main.c b/ui/main.c index c829cf3..35e74a7 100644 --- a/ui/main.c +++ b/ui/main.c @@ -386,10 +386,8 @@ void UI_DisplayMain(void) else { sprintf(String, ">%s", gDTMF_InputBox); - - center_line = CENTER_LINE_IN_USE; } - UI_PrintString(String, 2, 0, vfo_num * 3, 8); + UI_PrintString(String, 2, 0, 0 + (vfo_num * 3), 8); memset(String, 0, sizeof(String)); if (!gDTMF_InputMode) @@ -404,10 +402,6 @@ void UI_DisplayMain(void) if (gDTMF_IsTx) sprintf(String, ">%s", gDTMF_String); } - else - { - center_line = CENTER_LINE_IN_USE; - } UI_PrintString(String, 2, 0, 2 + (vfo_num * 3), 8); center_line = CENTER_LINE_IN_USE; diff --git a/ui/menu.c b/ui/menu.c index 03984b7..d41b849 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -58,8 +58,8 @@ const t_menu_item MenuList[] = {"SCRAM", VOICE_ID_SCRAMBLER_ON, MENU_SCR }, // was "SCR" {"BUSYCL", VOICE_ID_BUSY_LOCKOUT, MENU_BCL }, // was "BCL" {"CH SAV", VOICE_ID_MEMORY_CHANNEL, MENU_MEM_CH }, // was "MEM-CH" - {"CH DEL", VOICE_ID_DELETE_CHANNEL, MENU_DEL_CH }, // was "DEL-CH" {"CH NAM", VOICE_ID_INVALID, MENU_MEM_NAME }, + {"CH DEL", VOICE_ID_DELETE_CHANNEL, MENU_DEL_CH }, // was "DEL-CH" {"CH DIS", VOICE_ID_INVALID, MENU_MDF }, // was "MDF" {"BATSAV", VOICE_ID_SAVE_MODE, MENU_SAVE }, // was "SAVE" #ifdef ENABLE_VOX @@ -88,7 +88,7 @@ const t_menu_item MenuList[] = {"SLIST1", VOICE_ID_INVALID, MENU_SLIST1 }, {"SLIST2", VOICE_ID_INVALID, MENU_SLIST2 }, #ifdef ENABLE_ALARM - {"AL-MOD", VOICE_ID_INVALID, MENU_AL_MOD }, + {"ALMODE", VOICE_ID_INVALID, MENU_AL_MOD }, #endif {"ANI ID", VOICE_ID_ANI_CODE, MENU_ANI_ID }, {"UPCODE", VOICE_ID_INVALID, MENU_UPCODE }, diff --git a/ui/menu.h b/ui/menu.h index 157b3d2..ddb1e48 100644 --- a/ui/menu.h +++ b/ui/menu.h @@ -28,6 +28,14 @@ typedef struct { uint8_t menu_id; } t_menu_item; +// currently this list MUST be in exactly the same order +// as the other menu list "MenuList[]" in "ui/menu.c", otherwise +// you'll have big problems +// +// I'm going to fix that so that you can reorder the menu items +// anyway you like simply by editing this list only (the other list +// you just leave as is, or any which way, it won't matter) +// enum { MENU_SQL = 0, @@ -45,8 +53,8 @@ enum MENU_SCR, MENU_BCL, MENU_MEM_CH, - MENU_DEL_CH, MENU_MEM_NAME, + MENU_DEL_CH, MENU_MDF, MENU_SAVE, #ifdef ENABLE_VOX diff --git a/ui/ui.c b/ui/ui.c index b370182..0ea903a 100644 --- a/ui/ui.c +++ b/ui/ui.c @@ -77,33 +77,28 @@ void GUI_DisplayScreen(void) void GUI_SelectNextDisplay(GUI_DisplayType_t Display) { - if (Display != DISPLAY_INVALID) + if (Display == DISPLAY_INVALID) + return; + + if (gScreenToDisplay != Display) { - if (gScreenToDisplay != Display) - { - gInputBoxIndex = 0; - gIsInSubMenu = false; - gCssScanMode = CSS_SCAN_MODE_OFF; - gScanStateDir = SCAN_OFF; - #ifdef ENABLE_FMRADIO - gFM_ScanState = FM_SCAN_OFF; - #endif - gAskForConfirmation = 0; - gDTMF_InputMode = false; - gDTMF_InputIndex = 0; - gAskToSave = false; - gAskToDelete = false; + DTMF_clear_input_box(); - if (gWasFKeyPressed) - { - gWasFKeyPressed = false; - gUpdateStatus = true; - } + gInputBoxIndex = 0; + gIsInSubMenu = false; + gCssScanMode = CSS_SCAN_MODE_OFF; + gScanStateDir = SCAN_OFF; + #ifdef ENABLE_FMRADIO + gFM_ScanState = FM_SCAN_OFF; + #endif + gAskForConfirmation = 0; + gAskToSave = false; + gAskToDelete = false; + gWasFKeyPressed = false; - gUpdateStatus = true; - } - - gUpdateDisplay = true; - gScreenToDisplay = Display; + gUpdateStatus = true; } + + gScreenToDisplay = Display; + gUpdateDisplay = true; }