Re: RX CTCSS does not work...
Posted: Fri Apr 03, 2020 11:32 am
Colin already did a fix for it
Its part of the pre-release I posted earlier today
Its part of the pre-release I posted earlier today
Amateur radio firmware for the GD-77, GD-77S, DM-1801, DM-1801A, RD-5R, MD-9600/RT-90, MD-UV380/RT-3S, DM-1701/RT-84 and MD2017/RT-82 radios
https://www.opengd77.com/
It seems you're hacking some already modified and fixed code:EB3AM wrote: ↑Fri Apr 03, 2020 11:27 amsome success
I add this and works...Code: Select all
void trx_check_analog_squelch(void) { trx_measure_count++; if (trx_measure_count==25) { uint8_t squelch;//=45; trxReadRSSIAndNoise(); // check for variable squelch control if (currentChannelData->sql!=0) { squelch = TRX_SQUELCH_MAX - (((currentChannelData->sql-1)*11)>>2); } else { squelch = TRX_SQUELCH_MAX - (((nonVolatileSettings.squelchDefaults[trxCurrentBand[TRX_RX_FREQ_BAND]])*11)>>2); } if (trxRxNoise < squelch) { if (!analogSignalReceived ) { analogSignalReceived = true; displayLightTrigger(); GPIO_PinWrite(GPIO_LEDgreen, Pin_LEDgreen, 1); /* * On the DM-1801 there is a problem with unsquelched hiss being heard after the beep function ends * The work-around / solution is not leave the input of the amp connected to the C6000 at the end of the beep * unless there is a RF signal. * However this means that the mux may not be set to the AT-1846 when a signal is received * Although the state of the mux could be checked, its quicker just to always set it to the correct state. * * On the GD-77 in FM mode, changing the mux input to the RF chip (AT1846) while the amp is still enabled also causes a slight click, so * This code change has been applied to all platforms */ GPIO_PinWrite(GPIO_RX_audio_mux, Pin_RX_audio_mux, 1);// Set the audio path to AT1846 -> audio amp. } if(!rxCTCSSactive || (rxCTCSSactive & trxCheckCTCSSFlag())) { enableAudioAmp(AUDIO_AMP_MODE_RF); } /*eb3am*/ else { disableAudioAmp(AUDIO_AMP_MODE_RF); } /*eb3am*/ } else { analogSignalReceived = false; if (trxIsTransmittingTone == false) /*eb3am*/ { disableAudioAmp(AUDIO_AMP_MODE_RF); GPIO_PinWrite(GPIO_LEDgreen, Pin_LEDgreen, 0); } } trx_measure_count=0; } }
Code: Select all
else { disableAudioAmp(AUDIO_AMP_MODE_RF); }
Code: Select all
if (trxIsTransmittingTone == false)
{
trx_ctcc_measure_count++;
if (trx_ctcc_measure_count==50){ // add squelch close delay when using ctcss to avoid breaking ups
disableAudioAmp(AUDIO_AMP_MODE_RF);
trx_ctcc_measure_count=0;
}
if (!rxCTCSSactive){
disableAudioAmp(AUDIO_AMP_MODE_RF);
}
Well Colin fix or something else broke the rx ctcss, it is not usable anymore. our repeater needs rx ctcss (it is hybrid FM/DMR)If I merge this fix, I'd get complains from anyone using CTCSS on FM if it adds a squelch noise at the end of each over.
Any fix should not introduce new problems.
Colin fixed his own bug as soon as it was reported.Riku wrote: ↑Sun Apr 26, 2020 6:15 amWell Colin fix or something else broke the rx ctcss, it is not usable anymore. our repeater needs rx ctcss (it is hybrid FM/DMR)If I merge this fix, I'd get complains from anyone using CTCSS on FM if it adds a squelch noise at the end of each over.
Any fix should not introduce new problems.
Do you want me take a video demostrating using our repeater will be just breaking up the squelch all the time ?
Yes you are right! most radios can handle this, but gd77 factory firmware cant, opengd77 was able to handle this before, but now it is not anymore because something has changed. this can reproduced easy use 2xgd77 and just yell on the other.
Code: Select all
if (trxIsTransmittingTone == false)
{
trx_ctcc_measure_count++;
if (trx_ctcc_measure_count==100){ // add squelch close delay when using ctcss to avoid breaking ups on high deviation
disableAudioAmp(AUDIO_AMP_MODE_RF);
trx_ctcc_measure_count=0;
}
if (!rxCTCSSactive){ // when not using rx ctcss will close faster squelch
disableAudioAmp(AUDIO_AMP_MODE_RF);
trx_ctcc_measure_count=0;
}
if(trxRxNoise > squelch){ // last resort squelch closing, when there no signal. this fixes above squelch tail when use ctcss
disableAudioAmp(AUDIO_AMP_MODE_RF);
trx_ctcc_measure_count=0;
}
}