From 5ae3c2d2a5230e2f2be18e854c45035e48dc2e0f Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Tue, 18 Feb 2025 03:39:58 +0100 Subject: [PATCH] Add Spectrum resume --- app/spectrum.c | 17 ++++++++++++++++- main.c | 25 ++++++++++++++----------- 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/app/spectrum.c b/app/spectrum.c index 8a7dea5..418b73c 100644 --- a/app/spectrum.c +++ b/app/spectrum.c @@ -1163,6 +1163,10 @@ static void OnKeyDown(uint8_t key) } #ifdef ENABLE_FEAT_F4HWN_SPECTRUM SaveSettings(); +#endif +#ifdef ENABLE_FEAT_F4HWN_RESUME_STATE + gEeprom.CURRENT_STATE = 0; + SETTINGS_WriteCurrentState(); #endif DeInitSpectrum(); break; @@ -1639,11 +1643,22 @@ void APP_RunSpectrum() } } settings.stepsCount = STEPS_128; + #ifdef ENABLE_FEAT_F4HWN_RESUME_STATE + gEeprom.CURRENT_STATE = 5; + #endif } - else + else { #endif currentFreq = initialFreq = gTxVfo->pRX->Frequency - ((GetStepsCount() / 2) * GetScanStep()); + #ifdef ENABLE_FEAT_F4HWN_RESUME_STATE + gEeprom.CURRENT_STATE = 4; + #endif + } + + #ifdef ENABLE_FEAT_F4HWN_RESUME_STATE + SETTINGS_WriteCurrentState(); + #endif BackupRegisters(); diff --git a/main.c b/main.c index e11233b..463f7c7 100644 --- a/main.c +++ b/main.c @@ -292,22 +292,22 @@ void Main(void) } #ifdef ENABLE_FEAT_F4HWN_RESUME_STATE - switch (gEeprom.CURRENT_STATE) { - case 1: - //gScanRangeStart = 0; - //ACTION_Scan(false); - gEeprom.SCAN_LIST_DEFAULT = gEeprom.CURRENT_LIST; - CHFRSCANNER_Start(true, SCAN_FWD); - break; - - case 2: + if(gEeprom.CURRENT_STATE == 2 || gEeprom.CURRENT_STATE == 5) + { gScanRangeStart = gScanRangeStart ? 0 : gTxVfo->pRX->Frequency; gScanRangeStop = gEeprom.VfoInfo[!gEeprom.TX_VFO].freq_config_RX.Frequency; if(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); break; @@ -320,7 +320,10 @@ void Main(void) #ifdef ENABLE_SPECTRUM case 4: - APP_RunSpectrum(); // For compiler alignments and paddings... + APP_RunSpectrum(); + break; + case 5: + APP_RunSpectrum(); break; #endif