diff --git a/App/app/main.c b/App/app/main.c index ddacafbb..69f0e4c9 100644 --- a/App/app/main.c +++ b/App/app/main.c @@ -75,9 +75,10 @@ static void toggle_chan_scanlist(void) if(att->exclude == true) { att->exclude = false; - return; + MR_SaveChannelAttributesToFlash(gTxVfo->CHANNEL_SAVE, att); } - + else + { uint8_t scanlist = gTxVfo->SCANLIST_PARTICIPATION; scanlist++; @@ -88,6 +89,7 @@ static void toggle_chan_scanlist(void) gTxVfo->SCANLIST_PARTICIPATION = scanlist; SETTINGS_UpdateChannel(gTxVfo->CHANNEL_SAVE, gTxVfo, true, true, true); + } gVfoConfigureMode = VFO_CONFIGURE; gFlagResetVfos = true; @@ -483,27 +485,21 @@ static void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) /* 01 .. MR_CHANNELS_LIST */ if (value <= MR_CHANNELS_LIST) { - if (RADIO_CheckValidList(value)) + gEeprom.SCAN_LIST_DEFAULT = value; + + if (!RADIO_CheckValidList(value)) { - /* Requested scan list is valid */ - gEeprom.SCAN_LIST_DEFAULT = value; + /* Requested scan list is empty or invalid: + jump to the next valid scan list */ + gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; + RADIO_NextValidList(1); } - else - { - /* Requested scan list is empty or invalid: - jump to the next valid scan list */ - gEeprom.SCAN_LIST_DEFAULT = value; - RADIO_NextValidList(1); - } #ifdef ENABLE_FEAT_F4HWN_RESUME_STATE SETTINGS_WriteCurrentState(); #endif } - gInputBoxIndex = 0; - - gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; return; } @@ -763,6 +759,7 @@ static void MAIN_Key_EXIT(bool bKeyPressed, bool bKeyHeld) } else { gScanKeepResult = false; + gInputBoxIndex = 0; CHFRSCANNER_Stop(); #ifdef ENABLE_VOICE diff --git a/App/misc.c b/App/misc.c index b2490baf..b923617e 100644 --- a/App/misc.c +++ b/App/misc.c @@ -293,7 +293,7 @@ uint8_t gFSKWriteIndex; #ifdef ENABLE_NOAA bool gIsNoaaMode; - uint16_t gNoaaChannel; + uint8_t gNoaaChannel; #endif bool gUpdateDisplay; diff --git a/App/ui/main.c b/App/ui/main.c index 931387af..008ee431 100644 --- a/App/ui/main.c +++ b/App/ui/main.c @@ -768,22 +768,23 @@ void UI_DisplayMain(void) { // receiving .. show the RX symbol mode = VFO_MODE_RX; //if (FUNCTION_IsRx() && gEeprom.RX_VFO == vfo_num) { - if (FUNCTION_IsRx() && gEeprom.RX_VFO == vfo_num && VfoState[vfo_num] == VFO_STATE_NORMAL) { + if (FUNCTION_IsRx()) { + if (gEeprom.RX_VFO == vfo_num && VfoState[vfo_num] == VFO_STATE_NORMAL) { #ifdef ENABLE_FEAT_F4HWN RxBlinkLed = 1; RxBlinkLedCounter = 0; RxLine = line; RxOnVfofrequency = frequency; - // if(!isMainVFO) - // { - // RxBlink = 1; - // } - // else - // { - // RxBlink = 0; - // } + // if(!isMainVFO) + // { + // RxBlink = 1; + // } + // else + // { + // RxBlink = 0; + // } - // if (RxBlink == 0 || RxBlink == 1) { + // if (RxBlink == 0 || RxBlink == 1) { if(gRxVfo->Modulation == MODULATION_AM) GUI_DisplaySmallest("AIR", 10, RxLine == 0 ? 1 : 33, false, true); else { @@ -796,16 +797,19 @@ void UI_DisplayMain(void) } //UI_PrintStringSmallBold("RX", 8, 0, RxLine); - // } + // } #else UI_PrintStringSmallBold("RX", 8, 0, line); #endif } #ifdef ENABLE_FEAT_F4HWN - else - { - if(RxOnVfofrequency == frequency && !isMainOnly()) - { + else { + if(RxBlinkLed == 1) + RxBlinkLed = 2; + } + } + else { + if(RxOnVfofrequency == frequency && !isMainOnly()) { //UI_PrintStringSmallNormal(">>", 8, 0, line); //memcpy(p_line0 + 14, BITMAP_VFO_Default, sizeof(BITMAP_VFO_Default)); GUI_DisplaySmallest(">>", 8, RxLine == 0 ? 1 : 33, false, true);