Simplify logic in radio.c

This commit is contained in:
Juan Antonio
2023-12-14 01:52:57 +01:00
committed by egzumer
parent 687b63abb6
commit 1a53586922

64
radio.c
View File

@@ -723,32 +723,28 @@ void RADIO_SetupRegisters(bool switchToForeground)
} }
#endif #endif
#ifdef ENABLE_VOX #ifdef ENABLE_VOX
#ifdef ENABLE_NOAA if (gEeprom.VOX_SWITCH && gCurrentVfo->Modulation == MODULATION_FM
#ifdef ENABLE_FMRADIO #ifdef ENABLE_NOAA
if (gEeprom.VOX_SWITCH && !gFmRadioMode && !IS_NOAA_CHANNEL(gCurrentVfo->CHANNEL_SAVE) && gCurrentVfo->Modulation == MODULATION_FM) && !IS_NOAA_CHANNEL(gCurrentVfo->CHANNEL_SAVE)
#else #endif
if (gEeprom.VOX_SWITCH && !IS_NOAA_CHANNEL(gCurrentVfo->CHANNEL_SAVE) && gCurrentVfo->Modulation == MODULATION_FM) #ifdef ENABLE_FMRADIO
#endif && !gFmRadioMode
#else #endif
#ifdef ENABLE_FMRADIO ){
if (gEeprom.VOX_SWITCH && !gFmRadioMode && gCurrentVfo->Modulation == MODULATION_FM)
#else
if (gEeprom.VOX_SWITCH && gCurrentVfo->Modulation == MODULATION_FM)
#endif
#endif
{
BK4819_EnableVox(gEeprom.VOX1_THRESHOLD, gEeprom.VOX0_THRESHOLD); BK4819_EnableVox(gEeprom.VOX1_THRESHOLD, gEeprom.VOX0_THRESHOLD);
InterruptMask |= BK4819_REG_3F_VOX_FOUND | BK4819_REG_3F_VOX_LOST; InterruptMask |= BK4819_REG_3F_VOX_FOUND | BK4819_REG_3F_VOX_LOST;
} }
else else
#endif #endif
{
BK4819_DisableVox(); BK4819_DisableVox();
}
// RX expander // RX expander
BK4819_SetCompander((gRxVfo->Modulation == MODULATION_FM && gRxVfo->Compander >= 2) ? gRxVfo->Compander : 0); BK4819_SetCompander((gRxVfo->Modulation == MODULATION_FM && gRxVfo->Compander >= 2) ? gRxVfo->Compander : 0);
#if 0 #if 0
if (!gRxVfo->DTMF_DECODING_ENABLE && !gSetting_KILLED) if (!gRxVfo->DTMF_DECODING_ENABLE && !gSetting_KILLED)
{ {
BK4819_DisableDTMF(); BK4819_DisableDTMF();
@@ -758,18 +754,14 @@ void RADIO_SetupRegisters(bool switchToForeground)
BK4819_EnableDTMF(); BK4819_EnableDTMF();
InterruptMask |= BK4819_REG_3F_DTMF_5TONE_FOUND; InterruptMask |= BK4819_REG_3F_DTMF_5TONE_FOUND;
} }
#else #else
if (gCurrentFunction != FUNCTION_TRANSMIT)
{
BK4819_DisableDTMF(); BK4819_DisableDTMF();
if (gCurrentFunction != FUNCTION_TRANSMIT) {
BK4819_EnableDTMF(); BK4819_EnableDTMF();
InterruptMask |= BK4819_REG_3F_DTMF_5TONE_FOUND; InterruptMask |= BK4819_REG_3F_DTMF_5TONE_FOUND;
} }
else #endif
{
BK4819_DisableDTMF();
}
#endif
RADIO_SetupAGC(gRxVfo->Modulation == MODULATION_AM, false); RADIO_SetupAGC(gRxVfo->Modulation == MODULATION_AM, false);
@@ -1042,15 +1034,12 @@ void RADIO_PrepareTX(void)
#ifdef ENABLE_DTMF_CALLING #ifdef ENABLE_DTMF_CALLING
if (gDTMF_ReplyState == DTMF_REPLY_ANI) if (gDTMF_ReplyState == DTMF_REPLY_ANI)
{ {
if (gDTMF_CallMode == DTMF_CALL_MODE_DTMF) gDTMF_IsTx = gDTMF_CallMode == DTMF_CALL_MODE_DTMF;
{
gDTMF_IsTx = true; if (gDTMF_IsTx) {
gDTMF_CallState = DTMF_CALL_STATE_NONE; gDTMF_CallState = DTMF_CALL_STATE_NONE;
gDTMF_TxStopCountdown_500ms = DTMF_txstop_countdown_500ms; gDTMF_TxStopCountdown_500ms = DTMF_txstop_countdown_500ms;
} } else {
else
{
gDTMF_IsTx = false;
gDTMF_CallState = DTMF_CALL_STATE_CALL_OUT; gDTMF_CallState = DTMF_CALL_STATE_CALL_OUT;
} }
} }
@@ -1110,20 +1099,17 @@ void RADIO_SendEndOfTransmission(void)
{ {
if (gEeprom.ROGER == ROGER_MODE_ROGER) if (gEeprom.ROGER == ROGER_MODE_ROGER)
BK4819_PlayRoger(); BK4819_PlayRoger();
else else if (gEeprom.ROGER == ROGER_MODE_MDC)
if (gEeprom.ROGER == ROGER_MODE_MDC)
BK4819_PlayRogerMDC(); BK4819_PlayRogerMDC();
if (gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_APOLLO) if (gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_APOLLO)
BK4819_PlaySingleTone(2475, 250, 28, gEeprom.DTMF_SIDE_TONE); BK4819_PlaySingleTone(2475, 250, 28, gEeprom.DTMF_SIDE_TONE);
if ( if ((gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_TX_DOWN || gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_BOTH)
#ifdef ENABLE_DTMF_CALLING #ifdef ENABLE_DTMF_CALLING
gDTMF_CallState == DTMF_CALL_STATE_NONE && && gDTMF_CallState == DTMF_CALL_STATE_NONE
#endif #endif
(gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_TX_DOWN || ) { // end-of-tx
gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_BOTH))
{ // end-of-tx
if (gEeprom.DTMF_SIDE_TONE) if (gEeprom.DTMF_SIDE_TONE)
{ {
AUDIO_AudioPathOn(); AUDIO_AudioPathOn();