Add Spectrum resume

This commit is contained in:
Armel FAUVEAU
2025-02-18 03:39:58 +01:00
parent 7af6b8dfce
commit 5ae3c2d2a5
2 changed files with 30 additions and 12 deletions

View File

@@ -1163,6 +1163,10 @@ static void OnKeyDown(uint8_t key)
} }
#ifdef ENABLE_FEAT_F4HWN_SPECTRUM #ifdef ENABLE_FEAT_F4HWN_SPECTRUM
SaveSettings(); SaveSettings();
#endif
#ifdef ENABLE_FEAT_F4HWN_RESUME_STATE
gEeprom.CURRENT_STATE = 0;
SETTINGS_WriteCurrentState();
#endif #endif
DeInitSpectrum(); DeInitSpectrum();
break; break;
@@ -1639,11 +1643,22 @@ void APP_RunSpectrum()
} }
} }
settings.stepsCount = STEPS_128; settings.stepsCount = STEPS_128;
#ifdef ENABLE_FEAT_F4HWN_RESUME_STATE
gEeprom.CURRENT_STATE = 5;
#endif
} }
else else {
#endif #endif
currentFreq = initialFreq = gTxVfo->pRX->Frequency - currentFreq = initialFreq = gTxVfo->pRX->Frequency -
((GetStepsCount() / 2) * GetScanStep()); ((GetStepsCount() / 2) * GetScanStep());
#ifdef ENABLE_FEAT_F4HWN_RESUME_STATE
gEeprom.CURRENT_STATE = 4;
#endif
}
#ifdef ENABLE_FEAT_F4HWN_RESUME_STATE
SETTINGS_WriteCurrentState();
#endif
BackupRegisters(); BackupRegisters();

25
main.c
View File

@@ -292,22 +292,22 @@ void Main(void)
} }
#ifdef ENABLE_FEAT_F4HWN_RESUME_STATE #ifdef ENABLE_FEAT_F4HWN_RESUME_STATE
switch (gEeprom.CURRENT_STATE) { if(gEeprom.CURRENT_STATE == 2 || gEeprom.CURRENT_STATE == 5)
case 1: {
//gScanRangeStart = 0;
//ACTION_Scan(false);
gEeprom.SCAN_LIST_DEFAULT = gEeprom.CURRENT_LIST;
CHFRSCANNER_Start(true, SCAN_FWD);
break;
case 2:
gScanRangeStart = gScanRangeStart ? 0 : gTxVfo->pRX->Frequency; gScanRangeStart = gScanRangeStart ? 0 : gTxVfo->pRX->Frequency;
gScanRangeStop = gEeprom.VfoInfo[!gEeprom.TX_VFO].freq_config_RX.Frequency; gScanRangeStop = gEeprom.VfoInfo[!gEeprom.TX_VFO].freq_config_RX.Frequency;
if(gScanRangeStart > gScanRangeStop) if(gScanRangeStart > gScanRangeStop)
{ {
SWAP(gScanRangeStart, gScanRangeStop); SWAP(gScanRangeStart, gScanRangeStop);
} }
//ACTION_Scan(false); }
switch (gEeprom.CURRENT_STATE) {
case 1:
gEeprom.SCAN_LIST_DEFAULT = gEeprom.CURRENT_LIST;
CHFRSCANNER_Start(true, SCAN_FWD);
break;
case 2:
CHFRSCANNER_Start(true, SCAN_FWD); CHFRSCANNER_Start(true, SCAN_FWD);
break; break;
@@ -320,7 +320,10 @@ void Main(void)
#ifdef ENABLE_SPECTRUM #ifdef ENABLE_SPECTRUM
case 4: case 4:
APP_RunSpectrum(); // For compiler alignments and paddings... APP_RunSpectrum();
break;
case 5:
APP_RunSpectrum();
break; break;
#endif #endif