Bug fixes: Receiving the same channel in Dual Watch mode, disabling channel exclusion, changing the scan list, compilation error

This commit is contained in:
mrkusypl committed 2026-03-05 15:19:20 +01:00
1 parent 6e232131b9
commit 5b638e298e
3 files changed
+32 -31

No files matched your search

+12 -15
View File
@@ -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
+1 -1
View File
@@ -293,7 +293,7 @@ uint8_t gFSKWriteIndex;
#ifdef ENABLE_NOAA
bool gIsNoaaMode;
uint16_t gNoaaChannel;
uint8_t gNoaaChannel;
#endif
bool gUpdateDisplay;
+19 -15
View File
@@ -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);