Added decoder threshold extension for slow mode to prevent decode thrashing after tx

This commit is contained in:
Jordan Sherer 2019-12-23 22:40:11 -05:00
parent ef8c2a5725
commit da1e684eda

View File

@ -4089,13 +4089,13 @@ bool MainWindow::decode(qint32 k){
// TODO: what follows can likely be pulled out to an async process // TODO: what follows can likely be pulled out to an async process
// //
if(m_transmitting || !m_txFrameQueue.isEmpty()){ if(m_transmitting || !m_txFrameQueue.isEmpty() || m_txFrameCount > 0){
// we used to use isMessageQueuedForTransmit, but it checks total frames, not queued frames // we used to use isMessageQueuedForTransmit, but it checks total frames, not queued frames
if(JS8_DEBUG_DECODE) qDebug() << "--> decoder paused during transmit"; if(JS8_DEBUG_DECODE) qDebug() << "--> decoder paused during transmit";
return false; return false;
} }
int threshold = 2000; // two seconds int threshold = m_nSubMode == Varicode::JS8CallSlow ? 4000 : 2000; // two seconds
if(isInDecodeDelayThreshold(threshold)){ if(isInDecodeDelayThreshold(threshold)){
if(JS8_DEBUG_DECODE) qDebug() << "--> decoder paused for" << threshold << "ms after transmit stop"; if(JS8_DEBUG_DECODE) qDebug() << "--> decoder paused for" << threshold << "ms after transmit stop";
return false; return false;