If 47-buffer call takes too long, start the 50-buffer call late.

This commit is contained in:
Joe Taylor 2020-03-11 16:03:51 -04:00
parent d69cb49e9a
commit 4d9c9e08e2
2 changed files with 26 additions and 2 deletions

View File

@ -1415,8 +1415,27 @@ void MainWindow::dataSink(qint64 frames)
to_jt9(m_ihsym); //Allow jt9 to bail out early, if necessary
}
/*
if(m_ihsym==m_hsymStop or (m_mode=="FT8" and m_ihsym==m_earlyDecode and !m_diskData) or
(m_mode=="FT8" and m_ihsym==m_earlyDecode2 and !m_diskData)) {
*/
bool bCallDecoder=false;
if(m_ihsym==m_hsymStop) bCallDecoder=true;
if(m_mode=="FT8" and !m_diskData) {
if(m_ihsym==m_earlyDecode) bCallDecoder=true;
if(m_ihsym==m_earlyDecode2) bCallDecoder=true;
if(m_ihsym>m_hsymStop and !m_bStart3) {
auto now = QDateTime::currentDateTimeUtc();
double tseq = fmod(double(now.toMSecsSinceEpoch() ),1000.0*m_TRperiod)/1000.0;
if(tseq < 0.5*m_TRperiod) tseq+= m_TRperiod;
if(m_ihsym==m_earlyDecode) qDebug() << "";
qDebug() << "cc" << QDateTime::currentDateTimeUtc().toString("hh:mm:ss.zzz")
<< tseq << m_ihsym << m_ndepth << from_jt9();
bCallDecoder=true;
}
}
if(bCallDecoder) {
if(m_mode=="Echo") {
float snr=0;
int nfrit=0;
@ -2997,13 +3016,16 @@ void MainWindow::decode() //decode()
dec_data.params.mycall,dec_data.params.hiscall,8000,12,12)));
} else {
memcpy(to, from, qMin(mem_jt9->size(), size));
if(m_mode=="FT8") to_jt9(m_ihsym); //Send m_ihsym to jt9[.exe]
if(m_mode=="FT8") {
to_jt9(m_ihsym); //Send m_ihsym to jt9[.exe]
if(m_ihsym>=m_hsymStop) m_bStart3=true;
}
QFile {m_config.temp_dir ().absoluteFilePath (".lock")}.remove (); // Allow jt9 to start
auto now = QDateTime::currentDateTimeUtc();
double tseq = fmod(double(now.toMSecsSinceEpoch() ),1000.0*m_TRperiod)/1000.0;
if(tseq < 0.5*m_TRperiod) tseq+= m_TRperiod;
if(m_ihsym==41) qDebug() << "";
if(m_ihsym==m_earlyDecode) qDebug() << "";
qDebug() << "aa" << QDateTime::currentDateTimeUtc().toString("hh:mm:ss.zzz")
<< tseq << m_ihsym << m_ndepth << from_jt9();
decodeBusy(true);
@ -3078,6 +3100,7 @@ void MainWindow::decodeDone ()
m_blankLine=true;
if(m_mode=="FT8" and dec_data.params.nzhsym==m_earlyDecode) m_blankLine=false;
if(m_mode=="FT8" and dec_data.params.nzhsym==m_earlyDecode2) m_blankLine=false;
if(m_mode=="FT8" and m_bStart3) m_bStart3=false;
if(SpecOp::FOX == m_config.special_op_id()) houndCallers();
auto now = QDateTime::currentDateTimeUtc();

View File

@ -675,6 +675,7 @@ private:
bool m_PwrBandSetOK;
bool m_bVHFwarned;
bool m_bDisplayedOnce;
bool m_bStart3=false;
Frequency m_lastMonitoredFrequency;
double m_toneSpacing;
int m_firstDecode;