From c9b847673391ca036467905f2adf2c500c3eba6f Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Tue, 30 Jan 2024 22:23:02 +0100 Subject: [PATCH] Don't send tail tone when STE is off --- app/app.c | 3 ++- driver/bk4819.c | 10 ++++------ driver/bk4819.h | 4 ++-- radio.c | 12 +++++++----- radio.h | 2 +- 5 files changed, 16 insertions(+), 15 deletions(-) diff --git a/app/app.c b/app/app.c index e74e6e9..1df8b04 100644 --- a/app/app.c +++ b/app/app.c @@ -1309,7 +1309,8 @@ void APP_TimeSlice10ms(void) if (gAlarmState == ALARM_STATE_TXALARM) { gAlarmState = ALARM_STATE_SITE_ALARM; - RADIO_EnableCxCSS(); + if(gEeprom.TAIL_TONE_ELIMINATION) + RADIO_SendCssTail(); BK4819_SetupPowerAmplifier(0, 0); BK4819_ToggleGpioOut(BK4819_GPIO1_PIN29_PA_ENABLE, false); BK4819_Enable_AfDac_DiscMode_TxDsp(); diff --git a/driver/bk4819.c b/driver/bk4819.c index 860911d..d6390a1 100644 --- a/driver/bk4819.c +++ b/driver/bk4819.c @@ -1395,18 +1395,16 @@ void BK4819_GenTail(uint8_t Tail) } } -void BK4819_EnableCDCSS(void) +void BK4819_PlayCDCSSTail(void) { BK4819_GenTail(0); // CTC134 - BK4819_WriteRegister(BK4819_REG_51, 0x804A); + BK4819_WriteRegister(BK4819_REG_51, 0x804A); // 1 0 0 0 0 0 0 0 0 1001010 } -void BK4819_EnableCTCSS(void) +void BK4819_PlayCTCSSTail(void) { #ifdef ENABLE_CTCSS_TAIL_PHASE_SHIFT - //BK4819_GenTail(1); // 120° phase shift BK4819_GenTail(2); // 180° phase shift - //BK4819_GenTail(3); // 240° phase shift #else BK4819_GenTail(4); // 55Hz tone freq #endif @@ -1448,7 +1446,7 @@ void BK4819_EnableCTCSS(void) // 0 = min // 127 = max - BK4819_WriteRegister(BK4819_REG_51, 0x904A); // 1 0 0 1 0 0 0 0 0 1001010 + BK4819_WriteRegister(BK4819_REG_51, 0x904A); // 1 0 0 1 0 0 0 0 0 1001010 } uint16_t BK4819_GetRSSI(void) diff --git a/driver/bk4819.h b/driver/bk4819.h index c5d3a47..1a6d06e 100644 --- a/driver/bk4819.h +++ b/driver/bk4819.h @@ -132,8 +132,8 @@ void BK4819_PlayDTMFString(const char *pString, bool bDelayFirst, uint16_t F void BK4819_TransmitTone(bool bLocalLoopback, uint32_t Frequency); void BK4819_GenTail(uint8_t Tail); -void BK4819_EnableCDCSS(void); -void BK4819_EnableCTCSS(void); +void BK4819_PlayCDCSSTail(void); +void BK4819_PlayCTCSSTail(void); uint16_t BK4819_GetRSSI(void); int8_t BK4819_GetRxGain_dB(void); diff --git a/radio.c b/radio.c index 27cf03b..e1b2314 100644 --- a/radio.c +++ b/radio.c @@ -1067,15 +1067,15 @@ void RADIO_PrepareTX(void) #endif } -void RADIO_EnableCxCSS(void) +void RADIO_SendCssTail(void) { switch (gCurrentVfo->pTX->CodeType) { case CODE_TYPE_DIGITAL: case CODE_TYPE_REVERSE_DIGITAL: - BK4819_EnableCDCSS(); + BK4819_PlayCDCSSTail(); break; default: - BK4819_EnableCTCSS(); + BK4819_PlayCTCSSTail(); break; } @@ -1088,7 +1088,8 @@ void RADIO_SendEndOfTransmission(void) DTMF_SendEndOfTransmission(); // send the CTCSS/DCS tail tone - allows the receivers to mute the usual FM squelch tail/crash - RADIO_EnableCxCSS(); + if(gEeprom.TAIL_TONE_ELIMINATION) + RADIO_SendCssTail(); RADIO_SetupRegisters(false); } @@ -1098,6 +1099,7 @@ void RADIO_PrepareCssTX(void) SYSTEM_DelayMs(200); - RADIO_EnableCxCSS(); + if(gEeprom.TAIL_TONE_ELIMINATION) + RADIO_SendCssTail(); RADIO_SetupRegisters(true); } diff --git a/radio.h b/radio.h index c20098d..1e1d94e 100644 --- a/radio.h +++ b/radio.h @@ -164,7 +164,7 @@ void RADIO_SetupAGC(bool listeningAM, bool disable); void RADIO_SetModulation(ModulationMode_t modulation); void RADIO_SetVfoState(VfoState_t State); void RADIO_PrepareTX(void); -void RADIO_EnableCxCSS(void); +void RADIO_SendCssTail(void); void RADIO_PrepareCssTX(void); void RADIO_SendEndOfTransmission(void);