From c652a0338f1572c3b56c9d04fe4966ac6bda217e Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Wed, 10 Apr 2013 15:50:40 +0000 Subject: [PATCH] Clean up the transition from JT9 tones to CW ID. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3151 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- WSJT-X_Users_Guide.docx | Bin 291631 -> 291521 bytes mainwindow.cpp | 2 +- soundout.cpp | 25 +++++++++++-------------- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/WSJT-X_Users_Guide.docx b/WSJT-X_Users_Guide.docx index 2669d63bc65eeb49d72fe41c3fa8a54dca5b5768..ee5376d0e32f925fcc908e59d16d0ba29e08c6d4 100644 GIT binary patch delta 15868 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 L63PMaZ{7a`_%c|e diff --git a/mainwindow.cpp b/mainwindow.cpp index 7cf4e8a62..2ae5c051b 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1,4 +1,4 @@ -//------------------------------------------------------------ MainWindow +//------------------------------------------------------------- MainWindow #include "mainwindow.h" #include "ui_mainwindow.h" #include "devsetup.h" diff --git a/soundout.cpp b/soundout.cpp index 759595956..5728c8a65 100644 --- a/soundout.cpp +++ b/soundout.cpp @@ -41,6 +41,7 @@ extern "C" int d2aCallback(const void *inputBuffer, void *outputBuffer, static double freq; static double snr; static double fac; + static double amp; static int ic=0,j=0; static short int i2; int isym,nspd; @@ -50,7 +51,7 @@ extern "C" int d2aCallback(const void *inputBuffer, void *outputBuffer, // Time according to this computer qint64 ms = QDateTime::currentMSecsSinceEpoch() % 86400000; int mstr = ms % (1000*udata->ntrperiod ); - if(mstr<1000) return 0; + if(mstr<1000) return paContinue; ic=(mstr-1000)*48; udata->bRestart=false; srand(mstr); //Initialize random seed @@ -74,7 +75,7 @@ extern "C" int d2aCallback(const void *inputBuffer, void *outputBuffer, phi += dphi; if(phi>twopi) phi -= twopi; i2=32767.0*sin(phi); - j=(ic-ic0)/nspd; + j=(ic-ic0)/nspd + 1; if(icw[j]==0) i2=0; if(udata->txsnrdb < 0.0) { int i4=fac*(gran() + i2*snr/32768.0); @@ -89,24 +90,21 @@ extern "C" int d2aCallback(const void *inputBuffer, void *outputBuffer, #endif ic++; } + if(j>icw[0]) return paComplete; return paContinue; } - if(isym>=85 and icw[0]>=0) { -// qDebug() << "C" << isym << icw[0]; - return paComplete; - } baud=12000.0/udata->nsps; freq=udata->ntxfreq + itone[isym]*baud; dphi=twopi*freq/48000.0; - double amp=32767.0; + amp=32767.0; int i0=84.983*4.0*udata->nsps; + int i1=85*4*udata->nsps; for(uint i=0 ; itwopi) phi -= twopi; - if(ic>i0) { - amp=0.98*amp; - } + if(ic>i0) amp=0.98*amp; + if(ic>i1) amp=0.0; i2=amp*sin(phi); if(udata->txsnrdb < 0.0) { int i4=fac*(gran() + i2*snr/32768.0); @@ -121,9 +119,9 @@ extern "C" int d2aCallback(const void *inputBuffer, void *outputBuffer, #endif ic++; } - if(amp<1.0 and icw[0]==0) { -// qDebug() << "A" << isym << amp << icw[0]; - return paComplete; + if(amp==0.0) { + if(icw[0]==0) return paComplete; + phi=0.0; } return paContinue; } @@ -192,7 +190,6 @@ void SoundOutThread::run() qint64 ms = QDateTime::currentMSecsSinceEpoch(); m_SamFacOut=udata.ncall*FRAMES_PER_BUFFER*1000.0/(48000.0*(ms-ms0-50)); } - //qDebug() << "btxok = " << btxok << "btxMute = " << btxMute; msleep(100); } Pa_StopStream(outStream);