Improve ScnRev - scan resume mode

This commit is contained in:
Armel FAUVEAU
2024-09-22 05:07:04 +02:00
parent 62677f8c73
commit 5bfe710bb9
6 changed files with 54 additions and 3 deletions

View File

@@ -380,6 +380,8 @@ Skip:
if (gScanStateDir != SCAN_OFF)
{
/*
switch (gEeprom.SCAN_RESUME_MODE)
{
case SCAN_RESUME_TO:
@@ -394,6 +396,23 @@ Skip:
CHFRSCANNER_Stop();
break;
}
*/
switch (gEeprom.SCAN_RESUME_MODE)
{
case 0:
gScanPauseDelayIn_10ms = scan_pause_delay_in_6_10ms;
gScheduleScanListen = false;
break;
case 62:
CHFRSCANNER_Stop();
break;
default:
gScanPauseDelayIn_10ms = scan_pause_delay_in_1_10ms * gEeprom.SCAN_RESUME_MODE;
break;
}
}
break;

View File

@@ -102,6 +102,22 @@ void CHFRSCANNER_ContinueScanning(void)
void CHFRSCANNER_Found(void)
{
if(gEeprom.SCAN_RESUME_MODE > 0 && gEeprom.SCAN_RESUME_MODE < 61)
{
if (!gScanPauseMode)
{
gScanPauseDelayIn_10ms = scan_pause_delay_in_1_10ms * gEeprom.SCAN_RESUME_MODE;
gScheduleScanListen = false;
gScanPauseMode = true;
}
}
else
{
gScanPauseDelayIn_10ms = 0;
gScheduleScanListen = false;
}
/*
switch (gEeprom.SCAN_RESUME_MODE)
{
case SCAN_RESUME_TO:
@@ -119,6 +135,7 @@ void CHFRSCANNER_Found(void)
gScheduleScanListen = false;
break;
}
*/
#ifdef ENABLE_FEAT_F4HWN
lastFoundFrqOrChanOld = lastFoundFrqOrChan;

View File

@@ -176,7 +176,7 @@ int MENU_GetLimits(uint8_t menu_id, int32_t *pMin, int32_t *pMax)
case MENU_SC_REV:
//*pMin = 0;
*pMax = ARRAY_SIZE(gSubMenu_SC_REV) - 1;
*pMax = 61;
break;
case MENU_ROGER:

View File

@@ -119,7 +119,7 @@ void SETTINGS_InitEEPROM(void)
gEeprom.KEY_1_LONG_PRESS_ACTION = (Data[2] < ACTION_OPT_LEN) ? Data[2] : ACTION_OPT_NONE;
gEeprom.KEY_2_SHORT_PRESS_ACTION = (Data[3] < ACTION_OPT_LEN) ? Data[3] : ACTION_OPT_SCAN;
gEeprom.KEY_2_LONG_PRESS_ACTION = (Data[4] < ACTION_OPT_LEN) ? Data[4] : ACTION_OPT_NONE;
gEeprom.SCAN_RESUME_MODE = (Data[5] < 3) ? Data[5] : SCAN_RESUME_CO;
gEeprom.SCAN_RESUME_MODE = (Data[5] < 62) ? Data[5] : 1;
gEeprom.AUTO_KEYPAD_LOCK = (Data[6] < 2) ? Data[6] : false;
#ifdef ENABLE_FEAT_F4HWN
gEeprom.POWER_ON_DISPLAY_MODE = (Data[7] < 6) ? Data[7] : POWER_ON_DISPLAY_MODE_VOLTAGE;

View File

@@ -59,11 +59,13 @@ enum TxLockModes_t {
F_LOCK_LEN
};
/*
enum {
SCAN_RESUME_TO = 0,
SCAN_RESUME_CO,
SCAN_RESUME_SE
};
*/
enum {
CROSS_BAND_OFF = 0,

View File

@@ -227,12 +227,14 @@ const char* const gSubMenu_RXMode[] =
};
#endif
/*
const char gSubMenu_SC_REV[][8] =
{
"TIMEOUT",
"CARRIER",
"STOP"
};
*/
const char* const gSubMenu_MDF[] =
{
@@ -826,7 +828,18 @@ void UI_DisplayMenu(void)
#endif
case MENU_SC_REV:
strcpy(String, gSubMenu_SC_REV[gSubMenuSelection]);
if(gSubMenuSelection == 0)
{
sprintf(String, "%s", "CARRIER");
}
else if(gSubMenuSelection < 61)
{
sprintf(String, "%02dm:%02ds", (((gSubMenuSelection) * 5) / 60), (((gSubMenuSelection) * 5) % 60));
}
else
{
sprintf(String, "%s", "STOP");
}
break;
case MENU_MDF: