From 0c0cbb232c995deac5cf734a1fda2909100dc76d Mon Sep 17 00:00:00 2001 From: Krzysiek Egzmont Date: Tue, 17 Oct 2023 01:31:08 +0200 Subject: [PATCH] Refactoring --- app/action.h | 2 +- app/app.c | 200 +++++++++++++++++++++++++-------------------------- app/main.c | 50 ++++++------- main.c | 37 +++++----- radio.c | 24 +++---- 5 files changed, 156 insertions(+), 157 deletions(-) diff --git a/app/action.h b/app/action.h index 3008d4e..2ba6432 100644 --- a/app/action.h +++ b/app/action.h @@ -22,7 +22,7 @@ //static void ACTION_FlashLight(void) void ACTION_Power(void); void ACTION_Monitor(void); -void ACTION_Scan(bool bFlag); +void ACTION_Scan(bool bRestart); #ifdef ENABLE_VOX void ACTION_Vox(void); #endif diff --git a/app/app.c b/app/app.c index b18e73d..4c862dd 100644 --- a/app/app.c +++ b/app/app.c @@ -943,38 +943,38 @@ void APP_Update(void) if (gCurrentFunction != FUNCTION_TRANSMIT) APP_HandleFunction(); - #ifdef ENABLE_FMRADIO -// if (gFmRadioCountdown_500ms > 0) - if (gFmRadioMode && gFmRadioCountdown_500ms > 0) // 1of11 - return; - #endif +#ifdef ENABLE_FMRADIO +// if (gFmRadioCountdown_500ms > 0) + if (gFmRadioMode && gFmRadioCountdown_500ms > 0) // 1of11 + return; +#endif - #ifdef ENABLE_VOICE - if (gScreenToDisplay != DISPLAY_SCANNER && gScanStateDir != SCAN_OFF && gScheduleScanListen && !gPttIsPressed && gVoiceWriteIndex == 0) - #else - if (gScreenToDisplay != DISPLAY_SCANNER && gScanStateDir != SCAN_OFF && gScheduleScanListen && !gPttIsPressed) - #endif +#ifdef ENABLE_VOICE + if (gScreenToDisplay != DISPLAY_SCANNER && gScanStateDir != SCAN_OFF && gScheduleScanListen && !gPttIsPressed && gVoiceWriteIndex == 0) +#else + if (gScreenToDisplay != DISPLAY_SCANNER && gScanStateDir != SCAN_OFF && gScheduleScanListen && !gPttIsPressed) +#endif { // scanning SCANNER_ContinueScanning(); } - #ifdef ENABLE_VOICE - if (gCssScanMode == CSS_SCAN_MODE_SCANNING && gScheduleScanListen && gVoiceWriteIndex == 0) - #else - if (gCssScanMode == CSS_SCAN_MODE_SCANNING && gScheduleScanListen) - #endif +#ifdef ENABLE_VOICE + if (gCssScanMode == CSS_SCAN_MODE_SCANNING && gScheduleScanListen && gVoiceWriteIndex == 0) +#else + if (gCssScanMode == CSS_SCAN_MODE_SCANNING && gScheduleScanListen) +#endif { MENU_SelectNextCode(); gScheduleScanListen = false; } - #ifdef ENABLE_NOAA - #ifdef ENABLE_VOICE - if (gEeprom.DUAL_WATCH == DUAL_WATCH_OFF && gIsNoaaMode && gScheduleNOAA && gVoiceWriteIndex == 0) - #else - if (gEeprom.DUAL_WATCH == DUAL_WATCH_OFF && gIsNoaaMode && gScheduleNOAA) - #endif +#ifdef ENABLE_NOAA +#ifdef ENABLE_VOICE + if (gEeprom.DUAL_WATCH == DUAL_WATCH_OFF && gIsNoaaMode && gScheduleNOAA && gVoiceWriteIndex == 0) +#else + if (gEeprom.DUAL_WATCH == DUAL_WATCH_OFF && gIsNoaaMode && gScheduleNOAA) +#endif { NOAA_IncreaseChannel(); RADIO_SetupRegisters(false); @@ -982,23 +982,23 @@ void APP_Update(void) gNOAA_Countdown_10ms = 7; // 70ms gScheduleNOAA = false; } - #endif +#endif // toggle between the VFO's if dual watch is enabled if (gScreenToDisplay != DISPLAY_SCANNER && gEeprom.DUAL_WATCH != DUAL_WATCH_OFF) { - #ifdef ENABLE_VOICE - if (gScheduleDualWatch && gVoiceWriteIndex == 0) - #else - if (gScheduleDualWatch) - #endif +#ifdef ENABLE_VOICE + if (gScheduleDualWatch && gVoiceWriteIndex == 0) +#else + if (gScheduleDualWatch) +#endif { if (gScanStateDir == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF) { if (!gPttIsPressed && - #ifdef ENABLE_FMRADIO - !gFmRadioMode && - #endif +#ifdef ENABLE_FMRADIO + !gFmRadioMode && +#endif gDTMF_CallState == DTMF_CALL_STATE_NONE && gCurrentFunction != FUNCTION_POWER_SAVE) { @@ -1016,89 +1016,89 @@ void APP_Update(void) } } - #ifdef ENABLE_FMRADIO - if (gScheduleFM && - gFM_ScanState != FM_SCAN_OFF && - gCurrentFunction != FUNCTION_MONITOR && - gCurrentFunction != FUNCTION_RECEIVE && - gCurrentFunction != FUNCTION_TRANSMIT) - { // switch to FM radio mode - FM_Play(); - gScheduleFM = false; - } - #endif +#ifdef ENABLE_FMRADIO + if (gScheduleFM && + gFM_ScanState != FM_SCAN_OFF && + gCurrentFunction != FUNCTION_MONITOR && + gCurrentFunction != FUNCTION_RECEIVE && + gCurrentFunction != FUNCTION_TRANSMIT) + { // switch to FM radio mode + FM_Play(); + gScheduleFM = false; + } +#endif - #ifdef ENABLE_VOX - if (gEeprom.VOX_SWITCH) - APP_HandleVox(); - #endif +#ifdef ENABLE_VOX + if (gEeprom.VOX_SWITCH) + APP_HandleVox(); +#endif if (gSchedulePowerSave) { - #ifdef ENABLE_NOAA - if ( - #ifdef ENABLE_FMRADIO - gFmRadioMode || - #endif - gPttIsPressed || - gKeyBeingHeld || - gEeprom.BATTERY_SAVE == 0 || - gScanStateDir != SCAN_OFF || - gCssScanMode != CSS_SCAN_MODE_OFF || - gScreenToDisplay != DISPLAY_MAIN || - gDTMF_CallState != DTMF_CALL_STATE_NONE) - { - gBatterySaveCountdown_10ms = battery_save_count_10ms; - } - else if ((IS_NOT_NOAA_CHANNEL(gEeprom.ScreenChannel[0]) && IS_NOT_NOAA_CHANNEL(gEeprom.ScreenChannel[1])) || !gIsNoaaMode) - { - //if (gCurrentFunction != FUNCTION_POWER_SAVE) - FUNCTION_Select(FUNCTION_POWER_SAVE); - } - else - { - gBatterySaveCountdown_10ms = battery_save_count_10ms; - } - #else - if ( - #ifdef ENABLE_FMRADIO - gFmRadioMode || - #endif - gPttIsPressed || - gKeyBeingHeld || - gEeprom.BATTERY_SAVE == 0 || - gScanStateDir != SCAN_OFF || - gCssScanMode != CSS_SCAN_MODE_OFF || - gScreenToDisplay != DISPLAY_MAIN || - gDTMF_CallState != DTMF_CALL_STATE_NONE) - { - gBatterySaveCountdown_10ms = battery_save_count_10ms; - } - else - { - //if (gCurrentFunction != FUNCTION_POWER_SAVE) - FUNCTION_Select(FUNCTION_POWER_SAVE); - } +#ifdef ENABLE_NOAA + if ( +#ifdef ENABLE_FMRADIO + gFmRadioMode || +#endif + gPttIsPressed || + gKeyBeingHeld || + gEeprom.BATTERY_SAVE == 0 || + gScanStateDir != SCAN_OFF || + gCssScanMode != CSS_SCAN_MODE_OFF || + gScreenToDisplay != DISPLAY_MAIN || + gDTMF_CallState != DTMF_CALL_STATE_NONE) + { + gBatterySaveCountdown_10ms = battery_save_count_10ms; + } + else if ((IS_NOT_NOAA_CHANNEL(gEeprom.ScreenChannel[0]) && IS_NOT_NOAA_CHANNEL(gEeprom.ScreenChannel[1])) || !gIsNoaaMode) + { + //if (gCurrentFunction != FUNCTION_POWER_SAVE) + FUNCTION_Select(FUNCTION_POWER_SAVE); + } + else + { + gBatterySaveCountdown_10ms = battery_save_count_10ms; + } +#else + if ( +#ifdef ENABLE_FMRADIO + gFmRadioMode || +#endif + gPttIsPressed || + gKeyBeingHeld || + gEeprom.BATTERY_SAVE == 0 || + gScanStateDir != SCAN_OFF || + gCssScanMode != CSS_SCAN_MODE_OFF || + gScreenToDisplay != DISPLAY_MAIN || + gDTMF_CallState != DTMF_CALL_STATE_NONE) + { + gBatterySaveCountdown_10ms = battery_save_count_10ms; + } + else + { + //if (gCurrentFunction != FUNCTION_POWER_SAVE) + FUNCTION_Select(FUNCTION_POWER_SAVE); + } - gSchedulePowerSave = false; - #endif + gSchedulePowerSave = false; +#endif } - #ifdef ENABLE_VOICE - if (gPowerSaveCountdownExpired && gCurrentFunction == FUNCTION_POWER_SAVE && gVoiceWriteIndex == 0) - #else - if (gPowerSaveCountdownExpired && gCurrentFunction == FUNCTION_POWER_SAVE) - #endif +#ifdef ENABLE_VOICE + if (gPowerSaveCountdownExpired && gCurrentFunction == FUNCTION_POWER_SAVE && gVoiceWriteIndex == 0) +#else + if (gPowerSaveCountdownExpired && gCurrentFunction == FUNCTION_POWER_SAVE) +#endif { // wake up, enable RX then go back to sleep if (gRxIdleMode) { BK4819_Conditional_RX_TurnOn_and_GPIO6_Enable(); - #ifdef ENABLE_VOX - if (gEeprom.VOX_SWITCH) - BK4819_EnableVox(gEeprom.VOX1_THRESHOLD, gEeprom.VOX0_THRESHOLD); - #endif +#ifdef ENABLE_VOX + if (gEeprom.VOX_SWITCH) + BK4819_EnableVox(gEeprom.VOX1_THRESHOLD, gEeprom.VOX0_THRESHOLD); +#endif if (gEeprom.DUAL_WATCH != DUAL_WATCH_OFF && gScanStateDir == SCAN_OFF && diff --git a/app/main.c b/app/main.c index f442a0b..c848269 100644 --- a/app/main.c +++ b/app/main.c @@ -202,7 +202,7 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep) case KEY_5: if(beep) { - #ifdef ENABLE_NOAA +#ifdef ENABLE_NOAA if (IS_NOT_NOAA_CHANNEL(gTxVfo->CHANNEL_SAVE)) { @@ -211,9 +211,9 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep) else { gEeprom.ScreenChannel[Vfo] = gEeprom.FreqChannel[gEeprom.TX_VFO]; - #ifdef ENABLE_VOICE +#ifdef ENABLE_VOICE gAnotherVoiceID = VOICE_ID_FREQUENCY_MODE; - #endif +#endif } gRequestSaveVFO = true; gVfoConfigureMode = VFO_CONFIGURE_RELOAD; @@ -223,9 +223,9 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep) #endif } else { - #ifdef ENABLE_VOX +#ifdef ENABLE_VOX toggle_chan_scanlist(); - #endif +#endif } break; @@ -235,11 +235,11 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep) break; case KEY_7: - #ifdef ENABLE_VOX - ACTION_Vox(); - #else - toggle_chan_scanlist(); - #endif +#ifdef ENABLE_VOX + ACTION_Vox(); +#else + toggle_chan_scanlist(); +#endif break; case KEY_8: @@ -252,11 +252,11 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep) { gEeprom.MrChannel[Vfo] = gEeprom.CHAN_1_CALL; gEeprom.ScreenChannel[Vfo] = gEeprom.CHAN_1_CALL; - #ifdef ENABLE_VOICE - AUDIO_SetVoiceID(0, VOICE_ID_CHANNEL_MODE); - AUDIO_SetDigitVoice(1, gEeprom.CHAN_1_CALL + 1); - gAnotherVoiceID = (VOICE_ID_t)0xFE; - #endif +#ifdef ENABLE_VOICE + AUDIO_SetVoiceID(0, VOICE_ID_CHANNEL_MODE); + AUDIO_SetDigitVoice(1, gEeprom.CHAN_1_CALL + 1); + gAnotherVoiceID = (VOICE_ID_t)0xFE; +#endif gRequestSaveVFO = true; gVfoConfigureMode = VFO_CONFIGURE_RELOAD; break; @@ -647,28 +647,28 @@ static void MAIN_Key_STAR(bool bKeyPressed, bool bKeyHeld) return; } - if (bKeyHeld && !gWasFKeyPressed) - { // long press .. toggle scanning - if (!bKeyPressed) - return; // released + if (bKeyHeld && !gWasFKeyPressed) // long press + { + if (!bKeyPressed) // released + return; - ACTION_Scan(false); + ACTION_Scan(false);// toggle scanning gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; return; } - if (bKeyPressed) - { // just pressed -// gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; + if (bKeyPressed) // just pressed + { + // gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; gBeepToPlay = BEEP_880HZ_40MS_OPTIONAL; return; } // just released - if (!gWasFKeyPressed) - { // pressed without the F-key + if (!gWasFKeyPressed) // pressed without the F-key + { #ifdef ENABLE_NOAA if (gScanStateDir == SCAN_OFF && IS_NOT_NOAA_CHANNEL(gTxVfo->CHANNEL_SAVE)) diff --git a/main.c b/main.c index e772288..4993c1a 100644 --- a/main.c +++ b/main.c @@ -167,21 +167,21 @@ void Main(void) boot_counter_10ms = 0; break; } - #ifdef ENABLE_BOOT_BEEPS - if ((boot_counter_10ms % 25) == 0) - AUDIO_PlayBeep(BEEP_880HZ_40MS_OPTIONAL); - #endif +#ifdef ENABLE_BOOT_BEEPS + if ((boot_counter_10ms % 25) == 0) + AUDIO_PlayBeep(BEEP_880HZ_40MS_OPTIONAL); +#endif } } - #ifdef ENABLE_PWRON_PASSWORD - if (gEeprom.POWER_ON_PASSWORD < 1000000) - { - bIsInLockScreen = true; - UI_DisplayLock(); - bIsInLockScreen = false; - } - #endif +#ifdef ENABLE_PWRON_PASSWORD + if (gEeprom.POWER_ON_PASSWORD < 1000000) + { + bIsInLockScreen = true; + UI_DisplayLock(); + bIsInLockScreen = false; + } +#endif BOOT_ProcessMode(BootMode); @@ -189,7 +189,7 @@ void Main(void) gUpdateStatus = true; - #ifdef ENABLE_VOICE +#ifdef ENABLE_VOICE { uint8_t Channel; @@ -201,17 +201,16 @@ void Main(void) AUDIO_SetVoiceID(1, VOICE_ID_CHANNEL_MODE); AUDIO_SetDigitVoice(2, Channel + 1); } - else - if (IS_FREQ_CHANNEL(Channel)) + else if (IS_FREQ_CHANNEL(Channel)) AUDIO_SetVoiceID(1, VOICE_ID_FREQUENCY_MODE); AUDIO_PlaySingleVoice(0); } - #endif +#endif - #ifdef ENABLE_NOAA - RADIO_ConfigureNOAA(); - #endif +#ifdef ENABLE_NOAA + RADIO_ConfigureNOAA(); +#endif // ****************** } diff --git a/radio.c b/radio.c index 56ea1a1..842d0c0 100644 --- a/radio.c +++ b/radio.c @@ -161,20 +161,20 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure if (IS_VALID_CHANNEL(Channel)) { - #ifdef ENABLE_NOAA - if (Channel >= NOAA_CHANNEL_FIRST) - { - RADIO_InitInfo(pRadio, gEeprom.ScreenChannel[VFO], NoaaFrequencyTable[Channel - NOAA_CHANNEL_FIRST]); +#ifdef ENABLE_NOAA + if (Channel >= NOAA_CHANNEL_FIRST) + { + RADIO_InitInfo(pRadio, gEeprom.ScreenChannel[VFO], NoaaFrequencyTable[Channel - NOAA_CHANNEL_FIRST]); - if (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) - return; - - gEeprom.CROSS_BAND_RX_TX = CROSS_BAND_OFF; - - gUpdateStatus = true; + if (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) return; - } - #endif + + gEeprom.CROSS_BAND_RX_TX = CROSS_BAND_OFF; + + gUpdateStatus = true; + return; + } +#endif if (Channel <= MR_CHANNEL_LAST) {