From 3dc6abc0c12fe3c9d1d4eab4eac51d37af5d29ac Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Mon, 8 Jul 2013 13:17:22 +0000 Subject: [PATCH] Merging code for v1.1 back into the main wsjtx branch. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3462 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- WSJT-X_Users_Guide_v1.1.docx | Bin 0 -> 605058 bytes commons.h | 8 +- devsetup.cpp | 65 +- devsetup.h | 8 +- devsetup.ui | 114 +- getfile.cpp | 41 +- getfile.h | 1 - lib/Makefile.MinGW | 38 +- lib/Makefile.linux | 22 +- lib/afc65b.f90 | 59 + lib/ccf2.f90 | 45 + lib/ccf65.f90 | 117 + lib/char.h | 57 + lib/chkhist.f90 | 21 + lib/constants.f90 | 5 + lib/decode24.f90 | 176 -- lib/decode65a.f90 | 95 + lib/decode65b.f90 | 36 + lib/decode9.f90 | 5 +- lib/decode_rs.c | 2 +- lib/decoder.f90 | 116 +- lib/demod64a.f90 | 73 + lib/downsam9.f90 | 62 +- lib/extract.F90 | 102 + lib/fchisq65.f90 | 68 + lib/fil6521.f90 | 44 + lib/filbig.f90 | 127 ++ lib/fillcom.f90 | 12 +- lib/flat2.f90 | 18 + lib/flat65.f90 | 25 + lib/gen65.f90 | 65 + lib/genjt9.f90 | 2 +- lib/graycode65.f90 | 9 + lib/init_rs.c | 2 +- lib/interleave63.f90 | 25 + lib/jt65.f90 | 68 + lib/jt65a.f90 | 91 + lib/jt9.f90 | 24 +- lib/jt9a.f90 | 7 +- lib/jt9b.f90 | 8 +- lib/jt9c.f90 | 12 +- lib/jt9test.f90 | 183 -- lib/move.f90 | 7 + lib/peakdf9.f90 | 32 - lib/peakdt9.f90 | 9 +- lib/ptt_unix.c | 46 +- lib/redsync.f90 | 44 - lib/s3avg.f90 | 60 + lib/setup65.f90 | 96 + lib/smo121.f90 | 13 + lib/softsym.f90 | 9 +- lib/symspec.f90 | 141 +- lib/symspec65.f90 | 47 + lib/sync9.f90 | 3 +- lib/timer.f90 | 8 +- lib/twkfreq.f90 | 4 +- lib/twkfreq65.f90 | 25 + lib/wrapkarn.c | 70 + logqso.cpp | 9 +- mainwindow.cpp | 622 ++--- mainwindow.h | 45 +- mainwindow.ui | 4144 +++++++++++++++++----------------- plotter.cpp | 111 +- plotter.h | 36 +- psk_reporter.cpp | 17 +- rigclass.cpp | 152 +- rigclass.h | 10 +- soundin.cpp | 11 +- soundout.cpp | 52 +- soundout.h | 5 + widegraph.cpp | 109 +- widegraph.h | 34 +- widegraph.ui | 233 +- wsjtx.iss | 39 +- wsjtx.pro | 20 +- 75 files changed, 4807 insertions(+), 3514 deletions(-) create mode 100644 WSJT-X_Users_Guide_v1.1.docx create mode 100644 lib/afc65b.f90 create mode 100644 lib/ccf2.f90 create mode 100644 lib/ccf65.f90 create mode 100644 lib/char.h create mode 100644 lib/chkhist.f90 create mode 100644 lib/constants.f90 delete mode 100644 lib/decode24.f90 create mode 100644 lib/decode65a.f90 create mode 100644 lib/decode65b.f90 create mode 100644 lib/demod64a.f90 create mode 100644 lib/extract.F90 create mode 100644 lib/fchisq65.f90 create mode 100644 lib/fil6521.f90 create mode 100644 lib/filbig.f90 create mode 100644 lib/flat2.f90 create mode 100644 lib/flat65.f90 create mode 100644 lib/gen65.f90 create mode 100644 lib/graycode65.f90 create mode 100644 lib/interleave63.f90 create mode 100644 lib/jt65.f90 create mode 100644 lib/jt65a.f90 delete mode 100644 lib/jt9test.f90 create mode 100644 lib/move.f90 delete mode 100644 lib/peakdf9.f90 delete mode 100644 lib/redsync.f90 create mode 100644 lib/s3avg.f90 create mode 100644 lib/setup65.f90 create mode 100644 lib/smo121.f90 create mode 100644 lib/symspec65.f90 create mode 100644 lib/twkfreq65.f90 create mode 100644 lib/wrapkarn.c diff --git a/WSJT-X_Users_Guide_v1.1.docx b/WSJT-X_Users_Guide_v1.1.docx new file mode 100644 index 0000000000000000000000000000000000000000..a648fe049f80669f554a366765e99088a85bc2b7 GIT binary patch literal 605058 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 sq;Jq>s`meV126I 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

T$?b23XemZuxtAxf&IAnBxxI<>H( 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 <`|*!y=$)e!&r< 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 mt7iz4TE{M{~ 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�kQu4<65SxyNQ?;k$1(Chs{cGB-zVq(F^ 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 z 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 z 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 PmcSkhgbDb=0`NZoj1C>< literal 0 HcmV?d00001 diff --git a/commons.h b/commons.h index 31e8c68e8..e521841ca 100644 --- a/commons.h +++ b/commons.h @@ -1,7 +1,8 @@ #ifndef COMMONS_H #define COMMONS_H -#define NSMAX 1365 +//#define NSMAX 1365 +#define NSMAX 6827 #define NTMAX 120 extern "C" { @@ -9,7 +10,6 @@ extern "C" { extern struct { float ss[184*NSMAX]; //This is "common/jt9com/..." in fortran float savg[NSMAX]; - float c0[2*NTMAX*1500]; short int d2[NTMAX*12000]; int nutc; //UTC as integer, HHMM int ndiskdat; //1 ==> data read from *.wav file @@ -25,8 +25,8 @@ extern struct { int nsave; int nagain; int ndepth; - int nrxlog; - int nfsample; + int ntxmode; + int nmode; char datetime[20]; } jt9com_; diff --git a/devsetup.cpp b/devsetup.cpp index f8cb16dde..57171346f 100644 --- a/devsetup.cpp +++ b/devsetup.cpp @@ -1,10 +1,13 @@ #include "devsetup.h" #include +#include #include #define MAXDEVICES 100 extern double dFreq[16]; +qint32 g2_iptt; +qint32 g2_COMportOpen; //----------------------------------------------------------- DevSetup() DevSetup::DevSetup(QWidget *parent) : QDialog(parent) @@ -13,10 +16,10 @@ DevSetup::DevSetup(QWidget *parent) : QDialog(parent) m_restartSoundIn=false; m_restartSoundOut=false; m_firstCall=true; - m_iptt=0; + g2_iptt=0; m_test=0; m_bRigOpen=false; - m_COMportOpen=0; + g2_COMportOpen=0; } DevSetup::~DevSetup() @@ -25,6 +28,13 @@ DevSetup::~DevSetup() void DevSetup::initDlg() { + QString m_appDir = QApplication::applicationDirPath(); + QString inifile = m_appDir + "/wsjtx.ini"; + QSettings settings(inifile, QSettings::IniFormat); + settings.beginGroup("Common"); + QString catPortDriver = settings.value("CATdriver","None").toString(); + settings.endGroup(); + int k,id; int numDevices=Pa_GetDeviceCount(); @@ -40,6 +50,8 @@ void DevSetup::initDlg() nchin=pdi->maxInputChannels; if(nchin>0) { m_inDevList[k]=id; + if (id == m_paInDevice) + m_nDevIn = k; k++; sprintf((char*)(pa_device_name),"%s",pdi->name); sprintf((char*)(pa_device_hostapi),"%s", @@ -77,6 +89,8 @@ void DevSetup::initDlg() nchout=pdi->maxOutputChannels; if(nchout>0) { m_outDevList[k]=id; + if (id == m_paOutDevice) + m_nDevOut = k; k++; sprintf((char*)(pa_device_name),"%s",pdi->name); sprintf((char*)(pa_device_hostapi),"%s", @@ -115,6 +129,7 @@ void DevSetup::initDlg() this, SLOT(p4Error())); p4.start("rigctl -l"); p4.waitForFinished(1000); + ui.rigComboBox->addItem(" 9998 Commander"); ui.rigComboBox->addItem(" 9999 Ham Radio Deluxe"); QPalette pal(ui.myCallEntry->palette()); @@ -136,8 +151,9 @@ void DevSetup::initDlg() ui.comboBoxSndOut->setCurrentIndex(m_nDevOut); ui.cbID73->setChecked(m_After73); ui.cbPSKReporter->setChecked(m_pskReporter); - m_paInDevice=m_inDevList[m_nDevIn]; - m_paOutDevice=m_outDevList[m_nDevOut]; + ui.cbSplit->setChecked(m_bSplit); + ui.cbXIT->setChecked(m_bXIT); + ui.cbXIT->setVisible(false); enableWidgets(); @@ -176,6 +192,7 @@ void DevSetup::initDlg() ui.catPortComboBox->addItem("/dev/ttyUSB1"); ui.catPortComboBox->addItem("/dev/ttyUSB2"); ui.catPortComboBox->addItem("/dev/ttyUSB3"); + ui.catPortComboBox->addItem(catPortDriver); ui.pttComboBox->addItem("/dev/ttyS0"); ui.pttComboBox->addItem("/dev/ttyS1"); @@ -280,7 +297,7 @@ void DevSetup::accept() if(m_bRigOpen) { rig->close(); - if(m_rig!=9999) delete rig; + if(m_rig<9900) delete rig; m_bRigOpen=false; } @@ -414,18 +431,22 @@ void DevSetup::on_testCATButton_clicked() if(!m_catEnabled) return; if(m_bRigOpen) { rig->close(); - if(m_rig!=9999) delete rig; + if(m_rig<9900) delete rig; m_bRigOpen=false; } rig = new Rig(); - if(m_rig != 9999) { + if(m_rig<9900) { if (!rig->init(m_rig)) { msgBox("Rig init failure"); return; } - rig->setConf("rig_pathname", m_catPort.toLatin1().data()); + QString sCATport=m_catPort; +#ifdef WIN32 + sCATport="\\\\.\\" + m_catPort; //Allow COM ports above 9 +#endif + rig->setConf("rig_pathname", sCATport.toLatin1().data()); char buf[80]; sprintf(buf,"%d",m_serialRate); rig->setConf("serial_speed",buf); @@ -470,7 +491,9 @@ void DevSetup::on_testPTTButton_clicked() { m_test=1-m_test; if(m_pttMethodIndex==1 or m_pttMethodIndex==2) { - ptt(m_pttPort,m_test,&m_iptt,&m_COMportOpen); +// qDebug() << "devsetup line 492:" << m_pttPort << m_test << &g2_iptt << &g2_COMportOpen; + ptt(m_pttPort,m_test,&g2_iptt,&g2_COMportOpen); +// qDebug() << "devsetup line 494:" << m_pttPort << m_test << &g2_iptt << &g2_COMportOpen; } if(m_pttMethodIndex==0 and !m_bRigOpen) { on_testCATButton_clicked(); @@ -522,8 +545,10 @@ void DevSetup::enableWidgets() ui.testCATButton->setEnabled(m_catEnabled); ui.label_4->setEnabled(m_catEnabled); ui.label_47->setEnabled(m_catEnabled); + ui.cbSplit->setEnabled(m_catEnabled); + ui.cbXIT->setEnabled(m_catEnabled); - bool bSerial=m_catEnabled and (m_rig!=9999); + bool bSerial=m_catEnabled and (m_rig<9900); ui.catPortComboBox->setEnabled(bSerial); ui.serialRateComboBox->setEnabled(bSerial); ui.dataBitsComboBox->setEnabled(bSerial); @@ -541,9 +566,21 @@ void DevSetup::enableWidgets() ui.pollSpinBox->setEnabled(m_catEnabled); bool b1=(m_pttMethodIndex==1 or m_pttMethodIndex==2); ui.pttComboBox->setEnabled(b1); - bool b2 = (m_catEnabled and m_pttMethodIndex==1 and m_rig!=9999) or - (m_catEnabled and m_pttMethodIndex==2 and m_rig!=9999); - bool b3 = (m_catEnabled and m_pttMethodIndex==0 and m_rig==9999); + bool b2 = (m_catEnabled and m_pttMethodIndex==1 and m_rig<9900) or + (m_catEnabled and m_pttMethodIndex==2 and m_rig<9900); + bool b3 = (m_catEnabled and m_pttMethodIndex==0 and m_rig>=9900); // ui.testPTTButton->setEnabled(b1 or b2); - ui.testPTTButton->setEnabled(b1 or b2 or b3); //Include PTT via HRD + ui.testPTTButton->setEnabled(b1 or b2 or b3); //Include PTT via HRD or Commander +} + +void DevSetup::on_cbSplit_toggled(bool checked) +{ + m_bSplit=checked; + if(m_bSplit and m_bXIT) ui.cbXIT->setChecked(false); +} + +void DevSetup::on_cbXIT_toggled(bool checked) +{ + m_bXIT=checked; + if(m_bSplit and m_bXIT) ui.cbSplit->setChecked(false); } diff --git a/devsetup.h b/devsetup.h index d5a2649f6..392010498 100644 --- a/devsetup.h +++ b/devsetup.h @@ -35,9 +35,7 @@ public: qint32 m_stopBits; qint32 m_stopBitsIndex; qint32 m_handshakeIndex; - qint32 m_iptt; qint32 m_test; - qint32 m_COMportOpen; qint32 m_poll; qint32 m_tmp; @@ -50,6 +48,8 @@ public: bool m_bRigOpen; bool m_bDTRoff; bool m_pttData; + bool m_bSplit; + bool m_bXIT; QString m_myCall; QString m_myGrid; @@ -93,6 +93,10 @@ private slots: void on_pttComboBox_currentIndexChanged(int index); void on_pttMethodComboBox_currentIndexChanged(int index); + void on_cbSplit_toggled(bool checked); + + void on_cbXIT_toggled(bool checked); + private: Rig* rig; void msgBox(QString t); diff --git a/devsetup.ui b/devsetup.ui index 4f79c3890..930ae83fd 100644 --- a/devsetup.ui +++ b/devsetup.ui @@ -6,7 +6,7 @@ 0 0 - 548 + 569 493 @@ -584,6 +584,32 @@ Qt::Horizontal + + QSizePolicy::Fixed + + + + 40 + 20 + + + + + + + + RTS/DTR OFF + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + 40 @@ -741,6 +767,9 @@ Qt::Horizontal + + QSizePolicy::Fixed + 40 @@ -750,9 +779,25 @@ - + + + Use special Tx command for "data" + - RTS/DTR OFF + Data + + + + + + + Use normal Tx command + + + Mic + + + true @@ -899,7 +944,7 @@ - + Qt::Horizontal @@ -915,25 +960,9 @@ - - - Use special Tx command for "data" - + - Data - - - - - - - Use normal Tx command - - - Mic - - - true + Split Tx @@ -1010,6 +1039,29 @@ + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + + + + + + XIT + + + @@ -1313,6 +1365,9 @@ 16777215 + + 5W DPL 73 GL + @@ -1360,6 +1415,9 @@ 16777215 + + 20W DPL 73 GL + @@ -1554,6 +1612,9 @@ 16777215 + + + @@ -1576,6 +1637,9 @@ 16777215 + + TNX 73 GL + @@ -1598,6 +1662,9 @@ 16777215 + + 10W DPL 73 GL + @@ -2457,11 +2524,8 @@ catPortComboBox dataBitsComboBox serialRateComboBox - cbDTRoff stopBitsComboBox handshakeComboBox - rbData - rbMic testCATButton testPTTButton pollSpinBox diff --git a/getfile.cpp b/getfile.cpp index 79a3de405..9ad871fe8 100644 --- a/getfile.cpp +++ b/getfile.cpp @@ -1,11 +1,19 @@ #include "getfile.h" #include -#include #include #include #ifdef WIN32 #include +#else +#include +#include +#include +#include +#include +#include +#include +#include #endif void getfile(QString fname, int ntrperiod) @@ -123,6 +131,7 @@ float gran() int ptt(int nport, int ntx, int* iptt, int* nopen) { +// qDebug() << "getfile ptt(), line 129:" << nport << ntx << *iptt << *nopen; #ifdef WIN32 static HANDLE hFile; char s[10]; @@ -130,7 +139,7 @@ int ptt(int nport, int ntx, int* iptt, int* nopen) if(nport==0) { *iptt=ntx; - return(0); + return 0; } if(ntx && (!(*nopen))) { @@ -160,6 +169,34 @@ int ptt(int nport, int ntx, int* iptt, int* nopen) *nopen=0; } if((i3+i4+i5+i6+i9+i00)==-999) return 1; //Silence compiler warning +// qDebug() << "getfile ptt(), line 167:" << nport << ntx << *iptt << *nopen; + return 0; +#else +// qDebug() << "getfile ptt(), line 170:" << nport << ntx << *iptt << *nopen; +// ptt_(nport,ntx, iptt, nopen); + +// int control=TIOCM_RTS | TIOCM_DTR; + int control = TIOCM_RTS; + static int fd; + + if(*nopen==0) { + fd=open("/dev/ttyUSB0",O_RDWR | O_NONBLOCK); + if(fd<0) { + return -1; + } + *nopen=1; + } + + if(ntx) { + ioctl(fd, TIOCMBIS, &control); + *iptt=1; + *nopen=1; + } else { + ioctl(fd, TIOCMBIC, &control); + close(fd); + *iptt=0; + *nopen=0; + } return 0; #endif if((nport+ntx+(*iptt)==-99999)) *nopen=0; //Silence compiler warning diff --git a/getfile.h b/getfile.h index 2d4ffed07..39a5c7d1a 100644 --- a/getfile.h +++ b/getfile.h @@ -10,5 +10,4 @@ float gran(); //int ptt(int* nport, int* ntx, int* iptt); int ptt(int nport, int ntx, int* iptt, int* nopen); - #endif // GETFILE_H diff --git a/lib/Makefile.MinGW b/lib/Makefile.MinGW index cfd909493..e09924b6f 100644 --- a/lib/Makefile.MinGW +++ b/lib/Makefile.MinGW @@ -20,7 +20,7 @@ CFLAGS = -I. -fbounds-check -mno-stack-arg-probe %.o: %.F90 ${FC} ${FFLAGS} -c $< -all: libjt9.a jt9sim.exe jt9.exe jt9code.exe test9.exe +all: libjt9.a jt9sim.exe jt9.exe jt9code.exe jt65.exe OBJS1 = pctile.o graycode.o sort.o ssort.o \ unpackmsg.o igray.o unpackcall.o unpackgrid.o \ @@ -30,10 +30,15 @@ OBJS1 = pctile.o graycode.o sort.o ssort.o \ symspec.o analytic.o db.o genjt9.o \ packbits.o unpackbits.o encode232.o interleave9.o \ entail.o fano232.o gran.o sync9.o decode9.o \ - fil3.o redsync.o decoder.o grid2n.o n2grid.o timer.o \ + fil3.o decoder.o grid2n.o n2grid.o timer.o \ softsym.o getlags.o afc9.o fchisq.o twkfreq.o downsam9.o \ peakdt9.o symspec2.o stdmsg.o morse.o azdist.o geodist.o \ - fillcom.o chkss2.o zplot9.o + fillcom.o chkss2.o zplot9.o flat2.o \ + jt65a.o symspec65.o flat65.o ccf65.o decode65a.o \ + filbig.o fil6521.o afc65b.o decode65b.o setup65.o \ + extract.o fchisq65.o demod64a.o chkhist.o interleave63.o ccf2.o \ + move.o indexx.o graycode65.o twkfreq65.o smo121.o \ + wrapkarn.o init_rs.o encode_rs.o decode_rs.o gen65.o libjt9.a: $(OBJS1) ar cr libjt9.a $(OBJS1) @@ -54,15 +59,9 @@ OBJS4 = jt9code.o jt9code.exe: $(OBJS4) libjt9.a $(FC) -o jt9code.exe $(OBJS4) libjt9.a -OBJS5 = test9.o -test9.exe: $(OBJS5) libjt9.a - $(FC) -o test9.exe $(OBJS5) libjt9.a ../libfftw3f_win.a - -OBJS6 = wsjt24d.o wsjt24.o sync24.o decode24.o ps24.o flat1.o \ - xcor24.o slope.o peakup.o interleave24.o getmet24.o smo.o \ - deep24.o encode4.o chkmsg.o avemsg4.o extract4.o -wsjt24d.exe: $(OBJS6) libjt9.a - $(FC) -o wsjt24d.exe $(OBJS6) libjt9.a ../libfftw3f_win.a +OBJS5 = jt65.o +jt65.exe: $(OBJS5) libjt9.a + $(FC) -o jt65.exe $(OBJS5) libjt9.a ../libfftw3f_win.a INCPATH = -I'c:/QtSDK/Desktop/Qt/4.7.4/mingw/include/QtCore' \ -I'c:/QtSDK/Desktop/Qt/4.7.4/mingw/include' \ @@ -75,9 +74,6 @@ sync9.o: sync9.f90 jt9sync.f90 spec9.o: spec9.f90 jt9sync.f90 $(FC) $(FFLAGS) -c spec9.f90 -peakdf9.o: peakdf9.f90 jt9sync.f90 - $(FC) $(FFLAGS) -c peakdf9.f90 - peakdt9.o: peakdt9.f90 jt9sync.f90 $(FC) $(FFLAGS) -c peakdt9.f90 @@ -105,7 +101,17 @@ sec_midn.o: sec_midn.f90 tstrig.o: tstrig.c $(CC) -c -Wall -I..\..\..\hamlib-1.2.15.3\include tstrig.c +init_rs.o: init_rs.c + $(CC) -c -DBIGSYM=1 -o init_rs.o init_rs.c + +encode_rs.o: encode_rs.c + $(CC) -c -DBIGSYM=1 -o encode_rs.o encode_rs.c + +decode_rs.o: decode_rs.c + $(CC) -c -DBIGSYM=1 -o decode_rs.o decode_rs.c + + .PHONY : clean clean: - rm -f *.o libjt9.a wsjtx.exe jt9sim.exe jt9.exe jt9test.exe + rm -f *.o libjt9.a wsjtx.exe jt9sim.exe jt9.exe jt65.exe diff --git a/lib/Makefile.linux b/lib/Makefile.linux index 086d310b0..19e6096e7 100644 --- a/lib/Makefile.linux +++ b/lib/Makefile.linux @@ -23,14 +23,19 @@ OBJS1 = pctile.o graycode.o sort.o ssort.o \ grid2k.o unpacktext.o getpfx2.o packmsg.o deg2grid.o \ packtext.o getpfx1.o packcall.o k2grid.o packgrid.o \ nchar.o four2a.o grid2deg.o pfxdump.o f77_wisdom.o \ - symspec.o analytic.o db.o genjt9.o ptt_unix.o \ + symspec.o analytic.o db.o genjt9.o \ packbits.o unpackbits.o encode232.o interleave9.o \ entail.o fano232.o gran.o sync9.o decode9.o \ - fil3.o redsync.o decoder.o grid2n.o n2grid.o timer.o \ + fil3.o decoder.o grid2n.o n2grid.o timer.o \ softsym.o peakdt9.o getlags.o afc9.o fchisq.o \ twkfreq.o downsam9.o symspec2.o ipcomm.o sleep_msec.o \ stdmsg.o sec_midn.o cutil.o azdist.o geodist.o morse.o \ - fillcom.o chkss2.o + fillcom.o chkss2.o zplot9.o flat2.o \ + jt65a.o symspec65.o flat65.o ccf65.o decode65a.o \ + filbig.o fil6521.o afc65b.o decode65b.o setup65.o \ + extract.o fchisq65.o demod64a.o chkhist.o interleave63.o ccf2.o \ + move.o indexx.o graycode65.o twkfreq65.o smo121.o \ + wrapkarn.o init_rs.o encode_rs.o decode_rs.o gen65.o libjt9.a: $(OBJS1) ar cr libjt9.a $(OBJS1) @@ -38,7 +43,7 @@ libjt9.a: $(OBJS1) OBJS2 = jt9.o jt9a.o jt9b.o jt9c.o -jt9: $(OBJS2) libjt9.a +jt9: $(OBJS2) libjt9.a g++ -o jt9 $(OBJS2) libjt9.a -lfftw3f -lgfortran -lQtCore cp jt9 ../../wsjtx_install @@ -84,6 +89,15 @@ ipcomm.o: ipcomm.cpp sec_midn.o: sec_midn.f90 $(FC) -c -fno-second-underscore sec_midn.f90 +init_rs.o: init_rs.c + $(CC) -c -DBIGSYM=1 -o init_rs.o init_rs.c + +encode_rs.o: encode_rs.c + $(CC) -c -DBIGSYM=1 -o encode_rs.o encode_rs.c + +decode_rs.o: decode_rs.c + $(CC) -c -DBIGSYM=1 -o decode_rs.o decode_rs.c + .PHONY : clean clean: diff --git a/lib/afc65b.f90 b/lib/afc65b.f90 new file mode 100644 index 000000000..f78f27527 --- /dev/null +++ b/lib/afc65b.f90 @@ -0,0 +1,59 @@ +subroutine afc65b(cx,npts,fsample,nflip,a,ccfbest,dtbest) + +! Find delta f, f1, f2 ==> a(1:3) + + complex cx(npts) + real a(5),deltaa(5) + + a(1)=0. + a(2)=0. + a(3)=0. + a(4)=0. + deltaa(1)=2.0 + deltaa(2)=2.0 + deltaa(3)=2.0 + deltaa(4)=0.05 + nterms=3 !Maybe 2 is enough? + +! Start the iteration + chisqr=0. + chisqr0=1.e6 + do iter=1,3 !One iteration is enough? + do j=1,nterms + chisq1=fchisq65(cx,npts,fsample,nflip,a,ccfmax,dtmax) + fn=0. + delta=deltaa(j) +10 a(j)=a(j)+delta + chisq2=fchisq65(cx,npts,fsample,nflip,a,ccfmax,dtmax) + if(chisq2.eq.chisq1) go to 10 + if(chisq2.gt.chisq1) then + delta=-delta !Reverse direction + a(j)=a(j)+delta + tmp=chisq1 + chisq1=chisq2 + chisq2=tmp + endif +20 fn=fn+1.0 + a(j)=a(j)+delta + chisq3=fchisq65(cx,npts,fsample,nflip,a,ccfmax,dtmax) + if(chisq3.lt.chisq2) then + chisq1=chisq2 + chisq2=chisq3 + go to 20 + endif + +! Find minimum of parabola defined by last three points + delta=delta*(1./(1.+(chisq1-chisq2)/(chisq3-chisq2))+0.5) + a(j)=a(j)-delta + deltaa(j)=deltaa(j)*fn/3. + enddo + chisqr=fchisq65(cx,npts,fsample,nflip,a,ccfmax,dtmax) + if(chisqr/chisqr0.gt.0.9999) go to 30 + chisqr0=chisqr + enddo + +30 ccfbest=ccfmax * (1378.125/fsample)**2 + dtbest=dtmax + + return +end subroutine afc65b diff --git a/lib/ccf2.f90 b/lib/ccf2.f90 new file mode 100644 index 000000000..4e74a52ef --- /dev/null +++ b/lib/ccf2.f90 @@ -0,0 +1,45 @@ +subroutine ccf2(ss,nz,nflip,ccfbest,lagpk) + + parameter (LAGMAX=60) +! parameter (LAGMAX=200) + real ss(nz) + real ccf(-LAGMAX:LAGMAX) + integer npr(126) + +! The JT65 pseudo-random sync pattern: + data npr/ & + 1,0,0,1,1,0,0,0,1,1,1,1,1,1,0,1,0,1,0,0, & + 0,1,0,1,1,0,0,1,0,0,0,1,1,1,0,0,1,1,1,1, & + 0,1,1,0,1,1,1,1,0,0,0,1,1,0,1,0,1,0,1,1, & + 0,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,0,0,0,1, & + 1,0,0,0,0,0,0,0,1,1,0,1,0,0,1,0,1,1,0,1, & + 0,1,0,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1, & + 1,1,1,1,1,1/ + save + + ccfbest=0. + lag1=-LAGMAX + lag2=LAGMAX + do lag=lag1,lag2 + s0=0. + s1=0. + do i=1,126 + j=2*(8*i + 43) + lag + if(j.ge.1 .and. j.le.nz-8) then + x=ss(j)+ss(j+8) !Add two half-symbol contributions + if(npr(i).eq.0) then + s0=s0 + x + else + s1=s1 + x + endif + endif + enddo + ccf(lag)=nflip*(s1-s0) + if(ccf(lag).gt.ccfbest) then + ccfbest=ccf(lag) + lagpk=lag + endif + enddo + + return +end subroutine ccf2 diff --git a/lib/ccf65.f90 b/lib/ccf65.f90 new file mode 100644 index 000000000..9e667df87 --- /dev/null +++ b/lib/ccf65.f90 @@ -0,0 +1,117 @@ +subroutine ccf65(ss,nhsym,ssmax,sync1,dt1,flipk,syncshort,snr2,dt2) + + parameter (NFFT=512,NH=NFFT/2) + real ss(322) !Input: half-symbol normalized powers + real s(NFFT) !CCF = ss*pr + complex cs(0:NH) !Complex FT of s + real s2(NFFT) !CCF = ss*pr2 + complex cs2(0:NH) !Complex FT of s2 + real pr(NFFT) !JT65 pseudo-random sync pattern + complex cpr(0:NH) !Complex FT of pr + real pr2(NFFT) !JT65 shorthand pattern + complex cpr2(0:NH) !Complex FT of pr2 + real tmp1(322) + real ccf(-11:54) + logical first + integer npr(126) + data first/.true./ + equivalence (s,cs),(pr,cpr),(s2,cs2),(pr2,cpr2) + save + +! The JT65 pseudo-random sync pattern: + data npr/ & + 1,0,0,1,1,0,0,0,1,1,1,1,1,1,0,1,0,1,0,0, & + 0,1,0,1,1,0,0,1,0,0,0,1,1,1,0,0,1,1,1,1, & + 0,1,1,0,1,1,1,1,0,0,0,1,1,0,1,0,1,0,1,1, & + 0,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,0,0,0,1, & + 1,0,0,0,0,0,0,0,1,1,0,1,0,0,1,0,1,1,0,1, & + 0,1,0,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1, & + 1,1,1,1,1,1/ + + if(first) then +! Initialize pr, pr2; compute cpr, cpr2. + fac=1.0/NFFT + do i=1,NFFT + pr(i)=0. + pr2(i)=0. + k=2*mod((i-1)/8,2)-1 + if(i.le.NH) pr2(i)=fac*k + enddo + do i=1,126 + j=2*i + pr(j)=fac*(2*npr(i)-1) +! Not sure why, but it works significantly better without the following line: +! pr(j-1)=pr(j) + enddo + call four2a(cpr,NFFT,1,-1,0) + call four2a(cpr2,NFFT,1,-1,0) + first=.false. + endif + +! Look for JT65 sync pattern and shorthand square-wave pattern. + ccfbest=0. + ccfbest2=0. + do i=1,nhsym-1 + s(i)=min(ssmax,ss(i)+ss(i+1)) +! s(i)=ss(i)+ss(i+1) + enddo + + call pctile(s,nhsym-1,50,base) + s(1:nhsym-1)=s(1:nhsym-1)-base + s(nhsym:NFFT)=0. + call four2a(cs,NFFT,1,-1,0) !Real-to-complex FFT + do i=0,NH +! cs2(i)=cs(i)*conjg(cpr2(i)) !Mult by complex FFT of pr2 + cs(i)=cs(i)*conjg(cpr(i)) !Mult by complex FFT of pr + enddo + call four2a(cs,NFFT,1,1,-1) !Complex-to-real inv-FFT +! call four2a(cs2,NFFT,1,1,-1) !Complex-to-real inv-FFT + + do lag=-11,54 !Check for best JT65 sync + j=lag + if(j.lt.1) j=j+NFFT + ccf(lag)=s(j) +! if(abs(ccf(lag)).gt.ccfbest) then + if(ccf(lag).gt.ccfbest) then !No inverted sync for use at HF +! ccfbest=abs(ccf(lag)) + ccfbest=ccf(lag) + lagpk=lag + flipk=1.0 +! if(ccf(lag).lt.0.0) flipk=-1.0 + endif + enddo + +! do lag=-11,54 !Check for best shorthand +! ccf2=s2(lag+28) +! if(ccf2.gt.ccfbest2) then +! ccfbest2=ccf2 +! lagpk2=lag +! endif +! enddo + +! Find rms level on baseline of "ccfblue", for normalization. + sum=0. + do lag=-11,54 + if(abs(lag-lagpk).gt.1) sum=sum + ccf(lag) + enddo + base=sum/50.0 + sq=0. + do lag=-11,54 + if(abs(lag-lagpk).gt.1) sq=sq + (ccf(lag)-base)**2 + enddo + rms=sqrt(sq/49.0) + sync1=ccfbest/rms - 4.0 + dt1=lagpk*(2048.0/11025.0) - 2.5 + +! Find base level for normalizing snr2. + do i=1,nhsym + tmp1(i)=ss(i) + enddo + call pctile(tmp1,nhsym,40,base) + snr2=0.398107*ccfbest2/base !### empirical + syncshort=0.5*ccfbest2/rms - 4.0 !### better normalizer than rms? +! dt2=(2.5 + lagpk2*(2048.0/11025.0)) + dt2=0. + + return +end subroutine ccf65 diff --git a/lib/char.h b/lib/char.h new file mode 100644 index 000000000..cc477ec7c --- /dev/null +++ b/lib/char.h @@ -0,0 +1,57 @@ +/* Include file to configure the RS codec for character symbols + * + * Copyright 2002, Phil Karn, KA9Q + * May be used under the terms of the GNU General Public License (GPL) + */ +#define DTYPE unsigned char + +/* Reed-Solomon codec control block */ +struct rs { + int mm; /* Bits per symbol */ + int nn; /* Symbols per block (= (1<= rs->nn) { + x -= rs->nn; + x = (x >> rs->mm) + (x & rs->nn); + } + return x; +} +#define MODNN(x) modnn(rs,x) + +#define MM (rs->mm) +#define NN (rs->nn) +#define ALPHA_TO (rs->alpha_to) +#define INDEX_OF (rs->index_of) +#define GENPOLY (rs->genpoly) +#define NROOTS (rs->nroots) +#define FCR (rs->fcr) +#define PRIM (rs->prim) +#define IPRIM (rs->iprim) +#define PAD (rs->pad) +#define A0 (NN) + +#define ENCODE_RS encode_rs_char +#define DECODE_RS decode_rs_char +#define INIT_RS init_rs_char +#define FREE_RS free_rs_char + +void ENCODE_RS(void *p,DTYPE *data,DTYPE *parity); +int DECODE_RS(void *p,DTYPE *data,int *eras_pos,int no_eras); +void *INIT_RS(int symsize,int gfpoly,int fcr, + int prim,int nroots,int pad); +void FREE_RS(void *p); + + + + + diff --git a/lib/chkhist.f90 b/lib/chkhist.f90 new file mode 100644 index 000000000..6aa4a8072 --- /dev/null +++ b/lib/chkhist.f90 @@ -0,0 +1,21 @@ +subroutine chkhist(mrsym,nmax,ipk) + + integer mrsym(63) + integer hist(0:63) + + hist=0 + do j=1,63 + i=mrsym(j) + hist(i)=hist(i)+1 + enddo + + nmax=0 + do i=0,63 + if(hist(i).gt.nmax) then + nmax=hist(i) + ipk=i+1 + endif + enddo + + return +end subroutine chkhist diff --git a/lib/constants.f90 b/lib/constants.f90 new file mode 100644 index 000000000..2acf6bbdc --- /dev/null +++ b/lib/constants.f90 @@ -0,0 +1,5 @@ + parameter (NTMAX=120) + parameter (NMAX=NTMAX*12000) !Total sample intervals per 30 minutes + parameter (NDMAX=NTMAX*1500) !Sample intervals at 1500 Hz rate + parameter (NSMAX=6827) !Max length of saved spectra + parameter (MAXFFT3=16384) diff --git a/lib/decode24.f90 b/lib/decode24.f90 deleted file mode 100644 index 77ab76475..000000000 --- a/lib/decode24.f90 +++ /dev/null @@ -1,176 +0,0 @@ -subroutine decode24(dat,npts,dtx,dfx,flip,mode,mode4,decoded,ncount, & - deepbest,qbest,submode) - -! Decodes JT65 data, assuming that DT and DF have already been determined. - - parameter (MAXAVE=120) - real dat(npts) !Raw data - character decoded*22,deepmsg*22,deepbest*22 - character*12 mycall,hiscall - character*6 hisgrid - character*72 c72 - character submode*1 - real*8 dt,df,phi,f0,dphi,twopi,phi1,dphi1 - complex*16 cz,cz1,c0,c1 - integer*1 symbol(207) - real*4 rsymbol(207,7) - real*4 sym(207) - integer nsum(7) - integer*1 data1(13) !Decoded data (8-bit bytes) - integer data4a(9) !Decoded data (8-bit bytes) - integer data4(12) !Decoded data (6-bit bytes) - integer amp,delta - integer mettab(0:255,0:1) !Metric table - integer nch(7) - integer npr2(207) - common/ave/ppsave(207,7,MAXAVE),nflag(MAXAVE),nsave,iseg(MAXAVE) - data mode0/-999/ - data nsum/7*0/,rsymbol/1449*0.0/ - data npr2/ & - 0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,1,0,1,0,0,0,0,0,0,0,1,1,0,0, & - 0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,1,1,0,1,0,1,1,1,1,1,0,1,0,0,0, & - 1,0,0,1,0,0,1,1,1,1,1,0,0,0,1,0,1,0,0,0,1,1,1,1,0,1,1,0,0,1, & - 0,0,0,1,1,0,1,0,1,0,1,0,1,0,1,1,1,1,1,0,1,0,1,0,1,1,0,1,0,1, & - 0,1,1,1,0,0,1,0,1,1,0,1,1,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1,1, & - 0,1,1,1,0,1,1,1,0,0,1,0,0,0,1,1,0,1,1,0,0,1,0,0,0,1,1,1,1,1, & - 1,0,0,1,1,0,0,0,0,1,1,0,0,0,1,0,1,1,0,1,1,1,1,0,1,0,1/ - - data nch/1,2,4,9,18,36,72/ - save mettab,mode0,nsum,rsymbol - - if(mode.ne.mode0) call getmet24(mode,mettab) - mode0=mode - twopi=8*atan(1.d0) - dt=2.d0/11025 !Sample interval (2x downsampled data) - df=11025.d0/2520.d0 - nsym=206 - amp=15 - istart=nint(dtx/dt) !Start index for synced FFTs - if(istart.lt.0) istart=0 - nchips=0 - ich=0 - qbest=0. - deepmsg=' ' - ichbest=-1 - -! Should amp be adjusted according to signal strength? - -! Compute soft symbols using differential BPSK demodulation - c0=0. !### C0=amp ??? - k=istart - phi=0.d0 - phi1=0.d0 - -40 ich=ich+1 - nchips=nch(ich) - nspchip=1260/nchips - k=istart - phi=0.d0 - phi1=0.d0 - fac2=1.e-8 * sqrt(float(mode4)) - do j=1,nsym+1 - if(flip.gt.0.0) then - f0=1270.46 + dfx + (npr2(j)-1.5)*mode4*df - f1=1270.46 + dfx + (2+npr2(j)-1.5)*mode4*df - else - f0=1270.46 + dfx + (1-npr2(j)-1.5)*mode4*df - f1=1270.46 + dfx + (3-npr2(j)-1.5)*mode4*df - endif - dphi=twopi*dt*f0 - dphi1=twopi*dt*f1 - sq0=0. - sq1=0. - do nc=1,nchips - phi=0.d0 - phi1=0.d0 - c0=0. - c1=0. - do i=1,nspchip - k=k+1 - phi=phi+dphi - phi1=phi1+dphi1 - cz=dcmplx(cos(phi),-sin(phi)) - cz1=dcmplx(cos(phi1),-sin(phi1)) - if(k.le.npts) then - c0=c0 + dat(k)*cz - c1=c1 + dat(k)*cz1 - endif - enddo - sq0=sq0 + real(c0)**2 + aimag(c0)**2 - sq1=sq1 + real(c1)**2 + aimag(c1)**2 - enddo - sq0=fac2*sq0 - sq1=fac2*sq1 - rsym=amp*(sq1-sq0) - r=rsym+128. - if(r.gt.255.0) r=255.0 - if(r.lt.0.0) r=0.0 - i4=nint(r) - if(i4.gt.127) i4=i4-256 - if(j.ge.1) then - symbol(j)=i4 -! rsymbol(j,ich)=rsymbol(j,ich) + rsym - rsymbol(j,ich)=rsym - sym(j)=rsym - endif - enddo - -!### The following does simple message averaging: -! nsum(ich)=nsum(ich)+1 -! do j=1,207 -! sym(j)=rsymbol(j,ich)/nsum(ich) -! r=sym(j) + 128. -! if(r.gt.255.0) r=255.0 -! if(r.lt.0.0) r=0.0 -! i4=nint(r) -! if(i4.gt.127) i4=i4-256 -! symbol(j)=i4 -! enddo -!### - - call extract4(sym,nadd,ncount,decoded) !Do the KV decode - - qual=0. !Now try deep search - neme=1 - mycall='VK7MO' - hiscall='W5LUA' - hisgrid='EM13' - call deep24(sym(2),neme,flip,mycall,hiscall,hisgrid,deepmsg,qual) - if(qual.gt.qbest) then - qbest=qual - deepbest=deepmsg - ichbest=ich - endif - - if(ncount.ge.0) go to 100 - if(mode.eq.7 .and. nchips.lt.mode4) go to 40 - -100 continue -!100 do i=1,9 -! i4=data1(i) -! if(i4.lt.0) i4=i4+256 -! data4a(i)=i4 -! enddo -! write(c72,1100) (data4a(i),i=1,9) -!1100 format(9b8.8) -! read(c72,1102) data4 -!1102 format(12b6) - -! decoded=' ' -! submode=' ' - - if(ncount.lt.0) then - decoded=deepbest - submode=char(ichar('A')+ichbest-1) - qual=qbest - endif -! if(decoded(1:6).eq.'000AAA') then -! decoded='***WRONG MODE?***' -! ncount=-1 -! endif - -! Save symbol spectra for possible decoding of average. - ppsave(1:207,1:7,nsave)=rsymbol(1:207,1:7) - - return -end subroutine decode24 diff --git a/lib/decode65a.f90 b/lib/decode65a.f90 new file mode 100644 index 000000000..ea61d359f --- /dev/null +++ b/lib/decode65a.f90 @@ -0,0 +1,95 @@ +subroutine decode65a(dd,npts,newdat,f0,nflip,mode65,sync2,a,dt, & + nbmkv,nhist,decoded) + +! Apply AFC corrections to a candidate JT65 signal, then decode it. + + parameter (NMAX=60*12000) !Samples per 60 s + real*4 dd(NMAX) !92 MB: raw data from Linrad timf2 + complex cx(NMAX/8) !Data at 1378.125 samples/s + complex c5x(NMAX/32) !Data at 344.53125 Hz + complex c5a(512) + real s2(66,126) + real a(5) + logical first + character decoded*22 + data first/.true./,jjjmin/1000/,jjjmax/-1000/ + data nhz0/-9999999/ + save + +! Mix sync tone to baseband, low-pass filter, downsample to 1378.125 Hz + dt00=dt + call timer('filbig ',0) + call filbig(dd,npts,f0,newdat,cx,n5,sq0) + call timer('filbig ',1) + +! NB: cx has sample rate 12000*77125/672000 = 1378.125 Hz + +! Find best DF, f1, f2, and DT. Start by downsampling to 344.53125 Hz + call timer('fil6521 ',0) +! Add some zeros at start of c5 arrays -- empirical fix for negative DT's + nadd=1089 + c5x(:nadd)=0. + call fil6521(cx,n5,c5x(nadd+1),n6) + n6=n6+nadd + call timer('fil6521 ',1) + + fsample=1378.125/4. + a(5)=dt00 + i0=nint((a(5)+0.5)*fsample) - 2 + nadd + if(i0.lt.1) then +! write(23,*) 'i0 too small in decode1a:',i0,f0,a(5),fsample,nadd +! flush(23) + i0=1 + endif + nz=n6+1-i0 + +! We're looking only at sync tone here... so why not downsample by another +! factor of 1/8, say? Should be a significant execution speed-up. + call timer('afc65b ',0) +! Best fit for DF, f1, and f2 + call afc65b(c5x(i0),nz,fsample,nflip,a,ccfbest,dtbest) + call timer('afc65b ',1) + + sync2=3.7e-4*ccfbest/sq0 !Constant is empirical + +! Apply AFC corrections to the time-domain signal +! Now we are back to using the 1378.125 Hz sample rate, enough to +! accommodate the full JT65C bandwidth. + + call timer('twkfreq ',0) + call twkfreq65(cx,n5,a) + call timer('twkfreq ',1) + +! Compute spectrum for each half symbol. +! Adding or subtracting a small number (e.g., 5) to j may make it decode.\ +! NB: might want to try computing full-symbol spectra (nfft=512, even for +! submodes B and C). + + nsym=126 + nfft=512 + j=(dt00+dtbest+2.685)*1378.125 + if(j.lt.0) j=0 + + call timer('sh_ffts ',0) + do k=1,nsym + do i=1,nfft + j=j+1 + c5a(i)=cx(j) + enddo + call four2a(c5a,nfft,1,1,1) + do i=1,66 + jj=i + if(mode65.eq.2) jj=2*i-1 + if(mode65.eq.4) jj=4*i-3 + s2(i,k)=real(c5a(jj))**2 + aimag(c5a(jj))**2 + enddo + enddo + call timer('sh_ffts ',1) + + call timer('dec65b ',0) + call decode65b(s2,nflip,mode65,nbmkv,nhist,decoded) + dt=dt00 + dtbest + 1.7 + call timer('dec65b ',1) + + return +end subroutine decode65a diff --git a/lib/decode65b.f90 b/lib/decode65b.f90 new file mode 100644 index 000000000..729a218ec --- /dev/null +++ b/lib/decode65b.f90 @@ -0,0 +1,36 @@ +subroutine decode65b(s2,nflip,mode65,nbmkv,nhist,decoded) + + real s2(66,126) + real s3(64,63) + logical first,ltext + character decoded*22 + common/prcom/pr(126),mdat(126),mref(126,2),mdat2(126),mref2(126,2) + data first/.true./ + save + + if(first) call setup65 + first=.false. + + do j=1,63 + k=mdat(j) !Points to data symbol + if(nflip.lt.0) k=mdat2(j) + do i=1,64 + s3(i,j)=s2(i+2,k) + enddo + k=mdat2(j) !Points to data symbol + if(nflip.lt.0) k=mdat(j) + enddo + + nadd=mode65 + call extract(s3,nadd,ncount,nhist,decoded,ltext,nbmkv) !Extract the message +! Suppress "birdie messages" and other garbage decodes: + if(decoded(1:7).eq.'000AAA ') ncount=-1 + if(decoded(1:7).eq.'0L6MWK ') ncount=-1 + if(nflip.lt.0 .and. ltext) ncount=-1 + if(ncount.lt.0) then + nbmkv=0 + decoded=' ' + endif + + return +end subroutine decode65b diff --git a/lib/decode9.f90 b/lib/decode9.f90 index b68d742c8..06809eb76 100644 --- a/lib/decode9.f90 +++ b/lib/decode9.f90 @@ -16,7 +16,7 @@ subroutine decode9(i1SoftSymbols,limit,nlim,msg) logical first integer*4 mettab(0:255,0:1) data first/.true./ - data xx0/ & + data xx0/ & !Metric table 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, & 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, & 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, & @@ -53,9 +53,8 @@ subroutine decode9(i1SoftSymbols,limit,nlim,msg) if(first) then ! Get the metric table -! bias=0.37 !To be optimized, in decoder program bias=0.5 - scale=10 ! ... ditto ... + scale=10 do i=0,255 mettab(i,0)=nint(scale*(xx0(i)-bias)) if(i.ge.1) mettab(256-i,1)=mettab(i,0) diff --git a/lib/decode_rs.c b/lib/decode_rs.c index aecc47faf..ac85eddd7 100644 --- a/lib/decode_rs.c +++ b/lib/decode_rs.c @@ -9,7 +9,7 @@ #include -#define NULL ((void *)0) +//#define NULL ((void *)0) #define min(a,b) ((a) < (b) ? (a) : (b)) #ifdef FIXED diff --git a/lib/decoder.f90 b/lib/decoder.f90 index 35e7e8f55..9bda7b64b 100644 --- a/lib/decoder.f90 +++ b/lib/decoder.f90 @@ -1,23 +1,21 @@ -subroutine decoder(ss,c0,nstandalone) +subroutine decoder(ss,id2) ! Decoder for JT9. - parameter (NTMAX=120) - parameter (NMAX=NTMAX*12000) !Total sample intervals per 30 minutes - parameter (NDMAX=NTMAX*1500) !Sample intervals at 1500 Hz rate - parameter (NSMAX=1365) !Max length of saved spectra + include 'constants.f90' real ss(184,NSMAX) character*22 msg - character*80 fmt character*20 datetime real*4 ccfred(NSMAX) real*4 red2(NSMAX) logical ccfok(NSMAX) logical done(NSMAX) + logical done65 + integer*2 id2(NTMAX*12000) + real*4 dd(NTMAX*12000) integer*1 i1SoftSymbols(207) - complex c0(NDMAX) common/npar/nutc,ndiskdat,ntrperiod,nfqso,newdat,npts8,nfa,nfb,ntol, & - kin,nzhsym,nsave,nagain,ndepth,nrxlog,nfsample,datetime + kin,nzhsym,nsave,nagain,ndepth,ntxmode,nmode,datetime common/tracer/limtrace,lu save @@ -27,48 +25,40 @@ subroutine decoder(ss,c0,nstandalone) ndecodes0=0 ndecodes1=0 - call timer('decoder ',0) - open(13,file='decoded.txt',status='unknown') - ntrMinutes=ntrperiod/60 - newdat=1 + open(22,file='kvasd.dat',access='direct',recl=1024,status='unknown') + + npts65=52*12000 + ntol65=20 + done65=.false. + if(nmode.ge.65 .and. ntxmode.eq.65) then + if(newdat.ne.0) dd(1:npts65)=id2(1:npts65) + call jt65a(dd,npts65,newdat,nutc,nfa,nfqso,ntol65,nagain,ndecoded) + done65=.true. + endif + + if(nmode.eq.65) go to 800 + nsynced=0 ndecoded=0 nsps=0 - if(ntrMinutes.eq.1) then - nsps=6912 - df3=1500.0/2048.0 - fmt='(i4.4,i4,i5,f6.1,f8.0,i4,3x,a22)' - else if(ntrMinutes.eq.2) then - nsps=15360 - df3=1500.0/2048.0 - fmt='(i4.4,i4,i5,f6.1,f8.0,i4,3x,a22)' - else if(ntrMinutes.eq.5) then - nsps=40960 - df3=1500.0/6144.0 - fmt='(i4.4,i4,i5,f6.1,f8.1,i4,3x,a22)' - else if(ntrMinutes.eq.10) then - nsps=82944 - df3=1500.0/12288.0 - fmt='(i4.4,i4,i5,f6.1,f8.2,i4,3x,a22)' - else if(ntrMinutes.eq.30) then - nsps=252000 - df3=1500.0/32768.0 - fmt='(i4.4,i4,i5,f6.1,f8.2,i4,3x,a22)' - endif - if(nsps.eq.0) stop 'Error: bad TRperiod' !Better: return an error code### + nsps=6912 !Params for JT9-1 + df3=1500.0/2048.0 tstep=0.5*nsps/12000.0 !Half-symbol step (seconds) done=.false. - ia=max(1,nint((nfa-1000)/df3)) - ib=min(NSMAX,nint((nfb-1000)/df3)) + nf0=0 + ia=max(1,nint((nfa-nf0)/df3)) + ib=min(NSMAX,nint((nfb-nf0)/df3)) lag1=-(2.5/tstep + 0.9999) lag2=5.0/tstep + 0.9999 - call timer('sync9 ',0) - call sync9(ss,nzhsym,lag1,lag2,ia,ib,ccfred,red2,ipk) - call timer('sync9 ',1) + if(newdat.ne.0) then + call timer('sync9 ',0) + call sync9(ss,nzhsym,lag1,lag2,ia,ib,ccfred,red2,ipk) + call timer('sync9 ',1) + endif nsps8=nsps/8 df8=1500.0/nsps8 @@ -94,24 +84,22 @@ subroutine decoder(ss,c0,nstandalone) ccfok(ia:ib)=.true. nfa1=nfqso-ntol nfb1=nfqso+ntol - ia=max(1,nint((nfa1-1000)/df3)) - ib=min(NSMAX,nint((nfb1-1000)/df3)) + ia=max(1,nint((nfa1-nf0)/df3)) + ib=min(NSMAX,nint((nfb1-nf0)/df3)) ia1=ia ib1=ib else nfa1=nfa nfb1=nfb - ia=max(1,nint((nfa1-1000)/df3)) - ib=min(NSMAX,nint((nfb1-1000)/df3)) + ia=max(1,nint((nfa1-nf0)/df3)) + ib=min(NSMAX,nint((nfb1-nf0)/df3)) do i=ia,ib ccfok(i)=ccfred(i).gt.ccflim .and. red2(i).gt.red2lim enddo ccfok(ia1:ib1)=.false. endif - nRxLog=0 fgood=0. - do i=ia,ib f=(i-1)*df3 if(done(i) .or. (.not.ccfok(i)) .or. (ccfred(i).lt.ccflim-1.0)) cycle @@ -122,9 +110,9 @@ subroutine decoder(ss,c0,nstandalone) if(nqd.eq.1) nfreqs1=nfreqs1+1 call timer('softsym ',0) - fpk=1000.0 + df3*(i-1) - call softsym(c0,npts8,nsps8,newdat,fpk,syncpk,snrdb,xdt,freq, & - drift,schk,i1SoftSymbols) + fpk=nf0 + df3*(i-1) + call softsym(id2,npts8,nsps8,newdat,fpk,syncpk,snrdb,xdt, & + freq,drift,schk,i1SoftSymbols) call timer('softsym ',1) if(schk.ge.schklim) then @@ -140,16 +128,14 @@ subroutine decoder(ss,c0,nstandalone) nsnr=nint(snrdb) ndrift=nint(drift/df3) -! write(38,3002) nutc,nqd,nsnr,i,freq,ndrift,ccfred(i), & -! red2(i),schk,nlim,msg -!3002 format(i4.4,i2,i4,i5,f7.1,i4,f5.1,f6.1,f5.1,i8,1x,a22) - if(msg.ne.' ') then if(nqd.eq.0) ndecodes0=ndecodes0+1 if(nqd.eq.1) ndecodes1=ndecodes1+1 - write(*,fmt) nutc,nsync,nsnr,xdt,freq,ndrift,msg - write(13,fmt) nutc,nsync,nsnr,xdt,freq,ndrift,msg + write(*,1000) nutc,nsnr,xdt,nint(freq),msg +1000 format(i4.4,i4,f5.1,i5,1x,'@',1x,a22) + write(13,1002) nutc,nsync,nsnr,xdt,freq,ndrift,msg +1002 format(i4.4,i4,i5,f6.1,f8.0,i4,3x,a22,' JT9') iaa=max(1,i-1) ibb=min(NSMAX,i+22) @@ -160,8 +146,6 @@ subroutine decoder(ss,c0,nstandalone) done(iaa:ibb)=.true. call flush(6) endif - else -! write(38,3002) nutc,nqd,-99,i,freq,ndrift,ccfred(i),red2(i),schk,0 endif endif enddo @@ -169,21 +153,17 @@ subroutine decoder(ss,c0,nstandalone) if(nagain.ne.0) exit enddo - write(*,1010) nsynced,ndecoded + if(nmode.ge.65 .and. (.not.done65)) then + if(newdat.ne.0) dd(1:npts65)=id2(1:npts65) + call jt65a(dd,npts65,newdat,nutc,nfa,nfqso,ntol65,nagain,ndecoded) + endif + +!### JT65 is not yet producing info for nsynced, ndecoded. +800 write(*,1010) nsynced,ndecoded 1010 format('',2i4) call flush(6) close(13) -! call flush(14) - - call timer('decoder ',1) - if(nstandalone.eq.0) call timer('decoder ',101) - - call system_clock(iclock,iclock_rate,iclock_max) -! write(39,3001) nutc,nfreqs1,nfreqs0,ndecodes1,ndecodes0, & -! float(iclock-iclock0)/iclock_rate -!3001 format(5i8,f10.3) -! call flush(38) -! call flush(39) + close(22) return end subroutine decoder diff --git a/lib/demod64a.f90 b/lib/demod64a.f90 new file mode 100644 index 000000000..9d1a37942 --- /dev/null +++ b/lib/demod64a.f90 @@ -0,0 +1,73 @@ +subroutine demod64a(s3,nadd,mrsym,mrprob,mr2sym,mr2prob,ntest,nlow) + +! Demodulate the 64-bin spectra for each of 63 symbols in a frame. + +! Parameters +! nadd number of spectra already summed +! mrsym most reliable symbol value +! mr2sym second most likely symbol value +! mrprob probability that mrsym was the transmitted value +! mr2prob probability that mr2sym was the transmitted value + + implicit real*8 (a-h,o-z) + real*4 s3(64,63) + real*8 fs(64) + integer mrsym(63),mrprob(63),mr2sym(63),mr2prob(63) +! common/mrscom/ mrs(63),mrs2(63) + + if(nadd.eq.-999) return + afac=1.1 * float(nadd)**0.64 + scale=255.999 + +! Compute average spectral value + sum=0. + do j=1,63 + do i=1,64 + sum=sum+s3(i,j) + enddo + enddo + ave=sum/(64.*63.) + i1=1 !Silence warning + i2=1 + +! Compute probabilities for most reliable symbol values + do j=1,63 + s1=-1.e30 + fsum=0. + do i=1,64 + x=min(afac*s3(i,j)/ave,50.d0) + fs(i)=exp(x) + fsum=fsum+fs(i) + if(s3(i,j).gt.s1) then + s1=s3(i,j) + i1=i !Most reliable + endif + enddo + + s2=-1.e30 + do i=1,64 + if(i.ne.i1 .and. s3(i,j).gt.s2) then + s2=s3(i,j) + i2=i !Second most reliable + endif + enddo + p1=fs(i1)/fsum !Normalized probabilities + p2=fs(i2)/fsum + mrsym(j)=i1-1 + mr2sym(j)=i2-1 + mrprob(j)=scale*p1 + mr2prob(j)=scale*p2 +! mrs(j)=i1 +! mrs2(j)=i2 + enddo + + sum=0. + nlow=0 + do j=1,63 + sum=sum+mrprob(j) + if(mrprob(j).le.5) nlow=nlow+1 + enddo + ntest=sum/63 + + return +end subroutine demod64a diff --git a/lib/downsam9.f90 b/lib/downsam9.f90 index 413ad2c7b..89932d6ae 100644 --- a/lib/downsam9.f90 +++ b/lib/downsam9.f90 @@ -1,58 +1,60 @@ -subroutine downsam9(c0,npts8,nsps8,newdat,nspsd,fpk,c2,nz2) +subroutine downsam9(id2,npts8,nsps8,newdat,nspsd,fpk,c2,nz2) -!Downsample to nspsd samples per symbol, info centered at fpk +!Downsample from id2() into C2() so as to yield nspsd samples per symbol, +!mixing from fpk down to zero frequency. - parameter (NMAX=128*31500) - complex c0(0:npts8-1) - complex c1(0:NMAX-1) + include 'constants.f90' + parameter (NMAX1=1024*1920) + integer*2 id2(0:8*npts8-1) + real*4 x1(0:NMAX1-1) + complex c1(0:NMAX1/2) complex c2(0:4096-1) - real s(1000) + real s(5000) + equivalence (c1,x1) save - nfft1=128*nsps8 !Forward FFT length - nh1=nfft1/2 - df1=1500.0/nfft1 + nfft1=1024*nsps8 !Forward FFT length + df1=12000.0/nfft1 + npts=8*npts8 if(newdat.eq.1) then - fac=1.e-4 - do i=0,npts8-1,2 - c1(i)=fac*conjg(c0(i)) - c1(i+1)=-fac*conjg(c0(i+1)) + fac=6.963e-6 !Why this weird constant? + do i=0,npts-1 + x1(i)=fac*id2(i) enddo - c1(npts8:)=0. !Zero the rest of c1 - call four2a(c1,nfft1,1,-1,1) !Forward FFT - + x1(npts:nfft1-1)=0. !Zero the rest of x1 + call four2a(c1,nfft1,1,-1,0) !Forward FFT, r2c + nadd=1.0/df1 - j=250/df1 s=0. - do i=1,1000 + do i=1,5000 + j=(i-1)/df1 do n=1,nadd j=j+1 s(i)=s(i)+real(c1(j))**2 + aimag(c1(j))**2 enddo -! write(37,3001) i+1000,s(i),db(s(i)),nadd -!3001 format(i5,2f12.3,i8) enddo - call pctile(s,1000,40,avenoise) endif - ndown=nsps8/16 !Downsample factor + ndown=8*nsps8/nspsd !Downsample factor nfft2=nfft1/ndown !Backward FFT length nh2=nfft2/2 - - fshift=fpk-1500.0 - i0=nh1 + fshift/df1 + nf=nint(fpk) + i0=fpk/df1 + + nw=100 + ia=max(1,nf-nw) + ib=min(5000,nf+nw) + call pctile(s(ia),ib-ia+1,40,avenoise) + fac=sqrt(1.0/avenoise) do i=0,nfft2-1 j=i0+i if(i.gt.nh2) j=j-nfft2 c2(i)=fac*c1(j) enddo - - call four2a(c2,nfft2,1,1,1) !Backward FFT - - nspsd=nsps8/ndown - nz2=npts8/ndown + call four2a(c2,nfft2,1,1,1) !FFT back to time domain + nz2=8*npts8/ndown return end subroutine downsam9 diff --git a/lib/extract.F90 b/lib/extract.F90 new file mode 100644 index 000000000..7a4abf257 --- /dev/null +++ b/lib/extract.F90 @@ -0,0 +1,102 @@ +subroutine extract(s3,nadd,ncount,nhist,decoded,ltext,nbmkv) + + real s3(64,63) + character decoded*22 + integer era(51),dat4(12),indx(64) + integer mrsym(63),mr2sym(63),mrprob(63),mr2prob(63) + logical nokv,ltext + data nokv/.false./,nsec1/0/ + save + + nbmkv=0 + nfail=0 +1 continue + call demod64a(s3,nadd,mrsym,mrprob,mr2sym,mr2prob,ntest,nlow) + if(ntest.lt.50 .or. nlow.gt.20) then + ncount=-999 !Flag bad data + go to 900 + endif + call chkhist(mrsym,nhist,ipk) + + if(nhist.ge.20) then + nfail=nfail+1 + call pctile(s3,4032,50,base) ! ### or, use ave from demod64a + do j=1,63 + s3(ipk,j)=base + enddo + if(nfail.gt.30) then + decoded=' ' + ncount=-1 + go to 900 + endif + go to 1 + endif + + call graycode65(mrsym,63,-1) + call interleave63(mrsym,-1) + call interleave63(mrprob,-1) + +! Decode using Berlekamp-Massey algorithm + nemax=30 !Max BM erasures + call indexx(63,mrprob,indx) + do i=1,nemax + j=indx(i) + if(mrprob(j).gt.120) then + ne2=i-1 + go to 2 + endif + era(i)=j-1 + enddo + ne2=nemax +2 decoded=' ' + do nerase=0,ne2,2 + call rs_decode(mrsym,era,nerase,dat4,ncount) + if(ncount.ge.0) then + call unpackmsg(dat4,decoded) + if(iand(dat4(10),8).ne.0) ltext=.true. + nbmkv=1 + go to 900 + endif + enddo + +! Berlekamp-Massey algorithm failed, try Koetter-Vardy + + if(nokv) go to 900 + + maxe=8 !Max KV errors in 12 most reliable symbols + xlambda=10.0 + call graycode65(mr2sym,63,-1) + call interleave63(mr2sym,-1) + call interleave63(mr2prob,-1) + + nsec1=nsec1+1 + write(22,rec=1) nsec1,xlambda,maxe,200,mrsym,mrprob,mr2sym,mr2prob + call flush(22) + call timer('kvasd ',0) +#ifdef UNIX + iret=system('./kvasd -q > dev_null') +#else + iret=system('kvasd -q > dev_null') +#endif + call timer('kvasd ',1) + if(iret.ne.0) then + if(.not.nokv) write(*,1000) +1000 format('Error in KV decoder, or no KV decoder present.') + nokv=.true. + go to 900 + endif + + read(22,rec=2,err=900) nsec2,ncount,dat4 + j=nsec2 !Silence compiler warning + decoded=' ' + ltext=.false. + if(ncount.ge.0) then + call unpackmsg(dat4,decoded) !Unpack the user message + if(iand(dat4(10),8).ne.0) ltext=.true. + nbmkv=2 + endif + +900 continue + + return +end subroutine extract diff --git a/lib/fchisq65.f90 b/lib/fchisq65.f90 new file mode 100644 index 000000000..b91444e5b --- /dev/null +++ b/lib/fchisq65.f90 @@ -0,0 +1,68 @@ +real function fchisq65(cx,npts,fsample,nflip,a,ccfmax,dtmax) + + parameter (NMAX=60*12000) !Samples per 60 s + complex cx(npts) + real a(5) + complex w,wstep,z + real ss(3000) + complex csx(0:NMAX/8) + data twopi/6.283185307/a1,a2,a3/99.,99.,99./ + save + + call timer('fchisq65',0) + baud=11025.0/4096.0 + nsps=nint(fsample/baud) !Samples per symbol + nsph=nsps/2 !Samples per half-symbol + ndiv=16 !Output ss() steps per symbol + nout=ndiv*npts/nsps + dtstep=1.0/(ndiv*baud) !Time per output step + + if(a(1).ne.a1 .or. a(2).ne.a2 .or. a(3).ne.a3) then + a1=a(1) + a2=a(2) + a3=a(3) + +! Mix and integrate the complex signal + csx(0)=0. + w=1.0 + x0=0.5*(npts+1) + s=2.0/npts + do i=1,npts + x=s*(i-x0) + if(mod(i,100).eq.1) then + p2=1.5*x*x - 0.5 + dphi=(a(1) + x*a(2) + p2*a(3)) * (twopi/fsample) + wstep=cmplx(cos(dphi),sin(dphi)) + endif + w=w*wstep + csx(i)=csx(i-1) + w*cx(i) + enddo + endif + +! Compute 1/2-symbol powers at 1/16-symbol steps. + fac=1.e-4 + + do i=1,nout + j=i*nsps/ndiv + k=j-nsph + ss(i)=0. + if(k.ge.1) then + z=csx(j)-csx(k) + ss(i)=fac*(real(z)**2 + aimag(z)**2) + endif + enddo + + ccfmax=0. + call timer('ccf2 ',0) + call ccf2(ss,nout,nflip,ccf,lagpk) + call timer('ccf2 ',1) + if(ccf.gt.ccfmax) then + ccfmax=ccf + dtmax=lagpk*dtstep + endif + fchisq65=-ccfmax + + call timer('fchisq65',1) + + return +end function fchisq65 diff --git a/lib/fil6521.f90 b/lib/fil6521.f90 new file mode 100644 index 000000000..6e78e63ab --- /dev/null +++ b/lib/fil6521.f90 @@ -0,0 +1,44 @@ +subroutine fil6521(c1,n1,c2,n2) + +! FIR lowpass filter designed using ScopeFIR + +! Pass #1 Pass #2 +! ----------------------------------------------- +! fsample (Hz) 1378.125 Input sample rate +! Ntaps 21 Number of filter taps +! fc (Hz) 40 Cutoff frequency +! fstop (Hz) 172.266 Lower limit of stopband +! Ripple (dB) 0.1 Ripple in passband +! Stop Atten (dB) 38 Stopband attenuation +! fout (Hz) 344.531 Output sample rate + + parameter (NTAPS=21) + parameter (NH=NTAPS/2) + parameter (NDOWN=4) !Downsample ratio = 1/4 + complex c1(n1) + complex c2(n1/NDOWN) + +! Filter coefficients: + real a(-NH:NH) + data a/ & + -0.011958606980,-0.013888627387,-0.015601306443,-0.010602249570, & + 0.003804023436, 0.028320058273, 0.060903935217, 0.096841904411, & + 0.129639871228, 0.152644580853, 0.160917511283, 0.152644580853, & + 0.129639871228, 0.096841904411, 0.060903935217, 0.028320058273, & + 0.003804023436,-0.010602249570,-0.015601306443,-0.013888627387, & + -0.011958606980/ + + n2=(n1-NTAPS+NDOWN)/NDOWN + k0=NH-NDOWN+1 + +! Loop over all output samples + do i=1,n2 + c2(i)=0. + k=k0 + NDOWN*i + do j=-NH,NH + c2(i)=c2(i) + c1(j+k)*a(j) + enddo + enddo + + return +end subroutine fil6521 diff --git a/lib/filbig.f90 b/lib/filbig.f90 new file mode 100644 index 000000000..cb59b2f12 --- /dev/null +++ b/lib/filbig.f90 @@ -0,0 +1,127 @@ +subroutine filbig(dd,npts,f0,newdat,c4a,n4,sq0) + +! Filter and downsample the real data in array dd(npts), sampled at 12000 Hz. +! Output is complex, sampled at 1378.125 Hz. + + parameter (NSZ=3413) + parameter (NFFT1=672000,NFFT2=77175) + parameter (NZ2=1000) + real*4 dd(npts) !Input data + complex ca(NFFT1) !FFT of input + complex c4a(NFFT2) !Output data + real*4 s(NZ2) + real*8 df + real halfpulse(8) !Impulse response of filter (one sided) + complex cfilt(NFFT2) !Filter (complex; imag = 0) + real rfilt(NFFT2) !Filter (real) + integer*8 plan1,plan2,plan3 + logical first + include 'fftw3.f90' + equivalence (rfilt,cfilt) + data first/.true./,npatience/0/ + data halfpulse/114.97547150,36.57879257,-20.93789101, & + 5.89886379,1.59355187,-2.49138308,0.60910773,-0.04248129/ + common/refspec/dfref,ref(NSZ) + save + + if(npts.lt.0) go to 900 !Clean up at end of program + + if(first) then + nflags=FFTW_ESTIMATE + if(npatience.eq.1) nflags=FFTW_ESTIMATE_PATIENT + if(npatience.eq.2) nflags=FFTW_MEASURE + if(npatience.eq.3) nflags=FFTW_PATIENT + if(npatience.eq.4) nflags=FFTW_EXHAUSTIVE +! Plan the FFTs just once + call timer('FFTplans ',0) + call sfftw_plan_dft_1d(plan1,nfft1,ca,ca,FFTW_BACKWARD,nflags) + call sfftw_plan_dft_1d(plan2,nfft2,c4a,c4a,FFTW_FORWARD,nflags) + call sfftw_plan_dft_1d(plan3,nfft2,cfilt,cfilt,FFTW_BACKWARD,nflags) + call timer('FFTplans ',1) + +! Convert impulse response to filter function + do i=1,nfft2 + cfilt(i)=0. + enddo + fac=0.00625/nfft1 + cfilt(1)=fac*halfpulse(1) + do i=2,8 + cfilt(i)=fac*halfpulse(i) + cfilt(nfft2+2-i)=fac*halfpulse(i) + enddo + call timer('FFTfilt ',0) + call sfftw_execute(plan3) + call timer('FFTfilt ',1) + + base=cfilt(nfft2/2+1) + do i=1,nfft2 + rfilt(i)=real(cfilt(i))-base + enddo + + df=12000.d0/nfft1 + first=.false. + endif + +! When new data comes along, we need to compute a new "big FFT" +! If we just have a new f0, continue with the existing data in ca. + + if(newdat.ne.0) then + nz=min(npts,nfft1) + ca(1:nz)=dd(1:nz) + ca(nz+1:)=0. !### Should change this to r2c FFT ### + call timer('FFTbig ',0) + call sfftw_execute(plan1) + call timer('FFTbig ',1) + + do i=1,NFFT1/2 !Flatten the spectrum + j=nint(i*df/dfref) + if(j.lt.1) j=1 + if(j.gt.NSZ) j=NSZ + fac=sqrt(min(30.0,1.0/ref(j))) + ca(i)=fac * ca(i) + enddo + endif + +! NB: f0 is the frequency at which we want our filter centered. +! i0 is the bin number in ca closest to f0. + + i0=nint(f0/df) + 1 + nh=nfft2/2 + do i=1,nh !Copy data into c4a and apply + j=i0+i-1 !the filter function + if(j.ge.1 .and. j.le.nfft1) then + c4a(i)=rfilt(i)*ca(j) + else + c4a(i)=0. + endif + enddo + do i=nh+1,nfft2 + j=i0+i-1-nfft2 + if(j.lt.1) j=j+nfft1 !nfft1 was nfft2 + c4a(i)=rfilt(i)*ca(j) + enddo + + nadd=nfft2/NZ2 + i=0 + do j=1,NZ2 + s(j)=0. + do n=1,nadd + i=i+1 + s(j)=s(j) + real(c4a(i))**2 + aimag(c4a(i))**2 + enddo + enddo + call pctile(s,NZ2,30,sq0) + +! Do the short reverse transform, to go back to time domain. + call timer('FFTsmall',0) + call sfftw_execute(plan2) + call timer('FFTsmall',1) + n4=min(npts/8,nfft2) + return + +900 call sfftw_destroy_plan(plan1) + call sfftw_destroy_plan(plan2) + call sfftw_destroy_plan(plan3) + + return +end subroutine filbig diff --git a/lib/fillcom.f90 b/lib/fillcom.f90 index 16e45b0fc..fd5804887 100644 --- a/lib/fillcom.f90 +++ b/lib/fillcom.f90 @@ -1,24 +1,24 @@ subroutine fillcom(nutc0,ndepth0) character*20 datetime common/npar/nutc,ndiskdat,ntrperiod,nfqso,newdat,npts8,nfa,nfb,ntol, & - kin,nzhsym,nsave,nagain,ndepth,nrxlog,nfsample,datetime + kin,nzhsym,nsave,nagain,ndepth,ntxmode,nmode,datetime save nutc=nutc0 ndiskdat=1 ntrperiod=60 - nfqso=1500 + nfqso=1197 newdat=1 npts8=74736 - nfa=1000 - nfb=2000 + nfa=2700 + nfb=4007 ntol=3 kin=1024 nzhsym=173 nsave=0 ndepth=ndepth0 - nrxlog=1 - nfsample=12000 + ntxmode=9 + nmode=9+65 datetime="2013-Apr-16 15:13" return diff --git a/lib/flat2.f90 b/lib/flat2.f90 new file mode 100644 index 000000000..cebd989f7 --- /dev/null +++ b/lib/flat2.f90 @@ -0,0 +1,18 @@ +subroutine flat2(s,nz,ref) + + parameter (NSMAX=6827) + real s(NSMAX) + real ref(NSMAX) + + nsmo=10 + ia=nsmo+1 + ib=nz-nsmo-1 + do i=ia,ib + call pctile(s(i-nsmo),2*nsmo+1,5,ref(i)) + enddo + + ref(:ia-1)=ref(ia) + ref(ib+1:)=ref(ib) + + return +end subroutine flat2 diff --git a/lib/flat65.f90 b/lib/flat65.f90 new file mode 100644 index 000000000..7aa106c4f --- /dev/null +++ b/lib/flat65.f90 @@ -0,0 +1,25 @@ +subroutine flat65(ss,nhsym,maxhsym,nsz,ref) + + real stmp(nsz) + real ss(maxhsym,nsz) + real ref(nsz) + + npct=28 !Somewhat arbitrary + do i=1,nsz + call pctile(ss(1,i),nhsym,npct,stmp(i)) + enddo + + nsmo=33 + ia=nsmo/2 + 1 + ib=nsz - nsmo/2 - 1 + do i=ia,ib + call pctile(stmp(i-nsmo/2),nsmo,npct,ref(i)) + enddo + ref(:ia-1)=ref(ia) + ref(ib+1:)=ref(ib) + ref=4.0*ref + + return +end subroutine flat65 + + diff --git a/lib/gen65.f90 b/lib/gen65.f90 new file mode 100644 index 000000000..85802384b --- /dev/null +++ b/lib/gen65.f90 @@ -0,0 +1,65 @@ +subroutine gen65(msg0,ichk,msgsent,itone,itext) + +! Encodes a JT65 message to yieild itone(1:126) +! Temporarily, does not implement EME shorthands + + character*22 msg0 + character*22 message !Message to be generated + character*22 msgsent !Message as it will be received + integer itone(126) +! character*3 cok !' ' or 'OOO' + integer dgen(13) + integer sent(63) + logical text + integer nprc(126) + data nprc/1,0,0,1,1,0,0,0,1,1,1,1,1,1,0,1,0,1,0,0, & + 0,1,0,1,1,0,0,1,0,0,0,1,1,1,0,0,1,1,1,1, & + 0,1,1,0,1,1,1,1,0,0,0,1,1,0,1,0,1,0,1,1, & + 0,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,0,0,0,1, & + 1,0,0,0,0,0,0,0,1,1,0,1,0,0,1,0,1,1,0,1, & + 0,1,0,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1, & + 1,1,1,1,1,1/ + save + + message=msg0 + do i=1,22 + if(ichar(message(i:i)).eq.0) then + message(i:)=' ' + exit + endif + enddo + + do i=1,22 !Strip leading blanks + if(message(1:1).ne.' ') exit + message=message(i+1:) + enddo + + nspecial=0 +! call chkmsg(message,cok,nspecial,flip) + if(nspecial.eq.0) then + call packmsg(message,dgen,text) !Pack message into 72 bits + itext=0 + if(text) itext=1 + call unpackmsg(dgen,msgsent) !Unpack to get message sent + if(ichk.ne.0) go to 999 !Return if checking only + + call rs_encode(dgen,sent) !Apply Reed-Solomon code + call interleave63(sent,1) !Apply interleaving + call graycode65(sent,63,1) !Apply Gray code + nsym=126 !Symbols per transmission + else + nsym=32 + endif + + k=0 + do j=1,nsym + if(nprc(j).eq.0) then + k=k+1 + itone(j)=sent(k)+2 + else + itone(j)=0 + endif + enddo + +999 return +end subroutine gen65 diff --git a/lib/genjt9.f90 b/lib/genjt9.f90 index 25be708d0..90427e1ce 100644 --- a/lib/genjt9.f90 +++ b/lib/genjt9.f90 @@ -26,7 +26,7 @@ subroutine genjt9(msg0,ichk,msgsent,i4tone,itext) endif enddo - do i=1,22 !Omit leading blanks + do i=1,22 !Strip leading blanks if(message(1:1).ne.' ') exit message=message(i+1:) enddo diff --git a/lib/graycode65.f90 b/lib/graycode65.f90 new file mode 100644 index 000000000..3ee9a42f6 --- /dev/null +++ b/lib/graycode65.f90 @@ -0,0 +1,9 @@ +subroutine graycode65(dat,n,idir) + + integer dat(n) + do i=1,n + dat(i)=igray(dat(i),idir) + enddo + + return +end subroutine graycode65 diff --git a/lib/init_rs.c b/lib/init_rs.c index 7e1e09e5b..eb2711949 100644 --- a/lib/init_rs.c +++ b/lib/init_rs.c @@ -13,7 +13,7 @@ #include "char.h" #endif -#define NULL ((void *)0) +//#define NULL ((void *)0) void FREE_RS(void *p){ struct rs *rs = (struct rs *)p; diff --git a/lib/interleave63.f90 b/lib/interleave63.f90 new file mode 100644 index 000000000..048244e63 --- /dev/null +++ b/lib/interleave63.f90 @@ -0,0 +1,25 @@ +subroutine interleave63(d1,idir) + +! Interleave (idir=1) or de-interleave (idir=-1) the array d1. + + integer d1(0:6,0:8) + integer d2(0:8,0:6) + + if(idir.ge.0) then + do i=0,6 + do j=0,8 + d2(j,i)=d1(i,j) + enddo + enddo + call move(d2,d1,63) + else + call move(d1,d2,63) + do i=0,6 + do j=0,8 + d1(i,j)=d2(j,i) + enddo + enddo + endif + + return +end subroutine interleave63 diff --git a/lib/jt65.f90 b/lib/jt65.f90 new file mode 100644 index 000000000..23777155b --- /dev/null +++ b/lib/jt65.f90 @@ -0,0 +1,68 @@ +program jt65 + +! Test the JT65 decoder for WSJT-X + + parameter (NZMAX=60*12000) + integer*4 ihdr(11) + integer*2 id2(NZMAX) + real*4 dd(NZMAX) + character*80 infile + integer*2 nfmt2,nchan2,nbitsam2,nbytesam2 + character*4 ariff,awave,afmt,adata + common/hdr/ariff,lenfile,awave,afmt,lenfmt,nfmt2,nchan2, & + nsamrate,nbytesec,nbytesam2,nbitsam2,adata,ndata + common/tracer/limtrace,lu + equivalence (ariff,ihdr) + + nargs=iargc() + if(nargs.lt.1) then + print*,'Usage: jt65 file1 [file2 ...]' + go to 999 + endif + limtrace=0 + lu=12 + + newdat=1 + ntol=50 + nfa=2700 +! nfb=4000 + nfqso=933 + nagain=0 + + open(12,file='timer.out',status='unknown') + open(22,file='kvasd.dat',access='direct',recl=1024,status='unknown') + + call timer('jt65 ',0) + + do ifile=1,nargs + call getarg(ifile,infile) + open(10,file=infile,access='stream',status='old',err=998) + + call timer('read ',0) + read(10) ihdr + nutc=ihdr(1) !Silence compiler warning + i1=index(infile,'.wav') + read(infile(i1-4:i1-1),*,err=10) nutc + go to 20 +10 nutc=0 +20 npts=52*12000 + read(10) id2(1:npts) + call timer('read ',1) + dd(1:npts)=id2(1:npts) + dd(npts+1:)=0. + + call timer('jt65a ',0) + call jt65a(dd,npts,newdat,nutc,ntol,nfa,nfqso,nagain,ndecoded) + call timer('jt65a ',1) + enddo + + call timer('jt65 ',1) + call timer('jt65 ',101) + call four2a(a,-1,1,1,1) !Free the memory used for plans + call filbig(a,-1,1,0.0,0,0,0,0,0) ! (ditto) + go to 999 + +998 print*,'Cannot open file:' + print*,infile + +999 end program jt65 diff --git a/lib/jt65a.f90 b/lib/jt65a.f90 new file mode 100644 index 000000000..4dba69241 --- /dev/null +++ b/lib/jt65a.f90 @@ -0,0 +1,91 @@ +subroutine jt65a(dd,npts,newdat,nutc,nfa,nfqso,ntol,nagain,ndecoded) + +! Process dd() data to find and decode JT65 signals. + + parameter (NSZ=3413) + parameter (NZMAX=60*12000) + parameter (NFFT=8192) + real dd(NZMAX) + real*4 ss(322,NSZ) + real*4 savg(NSZ) + logical done(NSZ) + real a(5) + character decoded*22 + save + + if(newdat.ne.0) then + call timer('symsp65 ',0) + call symspec65(dd,npts,ss,nhsym,savg) !Get normalized symbol spectra + call timer('symsp65 ',1) + endif + + df=12000.0/NFFT !df = 12000.0/16384 = 0.732 Hz + ftol=15.0 !Frequency tolerance (Hz) + mode65=1 !Decoding JT65A only, for now. + done=.false. + + do nqd=1,0,-1 + if(nqd.eq.1) then !Quick decode, at fQSO + fa=nfqso - ntol + fb=nfqso + ntol + else !Wideband decode at all freqs + fa=200 + fb=nfa + endif + ia=max(51,nint(fa/df)) + ib=min(NSZ-51,nint(fb/df)) + + freq0=-999. + thresh0=1.5 + + do i=ia,ib !Search over freq range + if(savg(i).lt.thresh0 .or. done(i)) cycle + freq=i*df + + call timer('ccf65 ',0) + call ccf65(ss(1,i),nhsym,savg(i),sync1,dt,flipk,syncshort,snr2,dt2) + call timer('ccf65 ',1) + +! ########################### Search for Shorthand Messages ################# +! include 'shorthand1.f90' + +! ########################### Search for Normal Messages ########### + thresh1=1.0 +! Use lower thresh1 at fQSO + if(nqd.eq.1 .and. ntol.le.100) thresh1=0. + +! Is sync1 above threshold? + if(sync1.lt.thresh1) cycle + +! Keep only the best candidate within ftol. + if(freq-freq0.lt.ftol) cycle + + nflip=nint(flipk) + call timer('decod65a',0) + call decode65a(dd,npts,newdat,freq,nflip,mode65,sync2,a,dt, & + nbmkv,nhist,decoded) + call timer('decod65a',1) + + if(decoded.ne.' ') then + ndecoded=1 + nfreq=nint(freq+a(1)) + ndrift=nint(2.0*a(2)) + s2db=10.0*log10(sync2) - 32 !### empirical (was 40) ### + nsnr=nint(s2db) + if(nsnr.lt.-30) nsnr=-30 + if(nsnr.gt.-1) nsnr=-1 + write(*,1010) nutc,nsnr,dt,nfreq,decoded +1010 format(i4.4,i4,f5.1,i5,1x,'#',1x,a22) + write(13,1012) nutc,nint(sync1),nsnr,dt,float(nfreq),ndrift, & + decoded,nbmkv +1012 format(i4.4,i4,i5,f6.1,f8.0,i4,3x,a22,' JT65',i4) + freq0=freq + i2=min(NSZ,i+15) !### ??? ### + done(i:i2)=.true. + endif + enddo + if(nagain.eq.1) exit + enddo + + return +end subroutine jt65a diff --git a/lib/jt9.f90 b/lib/jt9.f90 index 1f01a11e5..3e273e4e5 100644 --- a/lib/jt9.f90 +++ b/lib/jt9.f90 @@ -3,18 +3,12 @@ program jt9 ! Decoder for JT9. Can run stand-alone, reading data from *.wav files; ! or as the back end of wsjt-x, with data placed in a shared memory region. - parameter (NTMAX=120) - parameter (NMAX=NTMAX*12000) !Total sample intervals per 30 minutes - parameter (NDMAX=NTMAX*1500) !Sample intervals at 1500 Hz rate - parameter (NSMAX=1365) !Max length of saved spectra + include 'constants.f90' integer*4 ihdr(11) real*4 s(NSMAX) - real*4 ccfred(NSMAX) - logical*1 lstrong(0:1023) integer*2 id2 - complex c0 character*80 arg,infile - common/jt9com/ss(184,NSMAX),savg(NSMAX),c0(NDMAX),id2(NMAX),nutc,ndiskdat, & + common/jt9com/ss(184,NSMAX),savg(NSMAX),id2(NMAX),nutc,ndiskdat, & ntr,mousefqso,newdat,nfa,nfb,ntol,kin,nzhsym,nsynced,ndecoded common/tracer/limtrace,lu @@ -39,11 +33,6 @@ program jt9 limtrace=0 lu=12 - nfa=1000 - nfb=2000 - mousefqso=1500 - newdat=1 - ndiskdat=1 do ifile=ifile1,nargs call getarg(ifile,infile) @@ -82,10 +71,6 @@ program jt9 call timer('jt9 ',0) endif -! do i=1,npts -! id2(i)=100.0*sin(6.283185307*1600.0*i/12000.0) -! enddo - id2=0 !??? Why is this necessary ??? do iblk=1,npts/kstep @@ -99,8 +84,7 @@ program jt9 ! Emit signal readyForFFT ingain=0 call timer('symspec ',0) - call symspec(k,ntrperiod,nsps,ingain,pxdb,s,ccfred,df3, & - ihsym,nzap,slimit,lstrong,npts8) + call symspec(k,ntrperiod,nsps,ingain,slope,pxdb,s,df3,ihsym,npts8) call timer('symspec ',1) nhsym0=nhsym if(ihsym.ge.173) go to 10 @@ -109,7 +93,7 @@ program jt9 10 close(10) call fillcom(nutc0,ndepth) - call decoder(ss,c0,1) + call decoder(ss,id2) enddo call timer('jt9 ',1) diff --git a/lib/jt9a.f90 b/lib/jt9a.f90 index 94f24fdcc..052073208 100644 --- a/lib/jt9a.f90 +++ b/lib/jt9a.f90 @@ -20,6 +20,7 @@ subroutine jt9a open(12,file='timer.out',status='unknown') limtrace=0 +! limtrace=-1 !Disable all calls to timer() lu=12 i1=attach_jt9() @@ -44,12 +45,16 @@ subroutine jt9a go to 999 endif p_jt9=>address_jt9() + call timer('jt9b ',0) call jt9b(p_jt9,nbytes) + call timer('jt9b ',1) 100 inquire(file=trim(cwd)//'/.lock',exist=fileExists) if(fileExists) go to 10 call sleep_msec(100) go to 100 -999 return +999 call timer('jt9b ',101) + + return end subroutine jt9a diff --git a/lib/jt9b.f90 b/lib/jt9b.f90 index f446f765c..63de536b6 100644 --- a/lib/jt9b.f90 +++ b/lib/jt9b.f90 @@ -1,14 +1,12 @@ subroutine jt9b(jt9com,nbytes) - parameter (NTMAX=120) - parameter (NSMAX=1365) + include 'constants.f90' integer*1 jt9com(0:nbytes-1) kss=0 ksavg=kss + 4*184*NSMAX - kc0=ksavg + 4*NSMAX - kid2=kc0 + 2*4*NTMAX*1500 + kid2=ksavg + 4*NSMAX knutc=kid2 + 2*NTMAX*12000 - call jt9c(jt9com(kss),jt9com(ksavg),jt9com(kc0),jt9com(kid2),jt9com(knutc)) + call jt9c(jt9com(kss),jt9com(ksavg),jt9com(kid2),jt9com(knutc)) return end subroutine jt9b diff --git a/lib/jt9c.f90 b/lib/jt9c.f90 index ada658be3..57b3cb25a 100644 --- a/lib/jt9c.f90 +++ b/lib/jt9c.f90 @@ -1,21 +1,21 @@ -subroutine jt9c(ss,savg,c0,id2,nparams0) +subroutine jt9c(ss,savg,id2,nparams0) - parameter (NSMAX=22000) + include 'constants.f90' real*4 ss(184*NSMAX),savg(NSMAX) - complex c0(1800*1500) - integer*2 id2(1800*12000) + integer*2 id2(NTMAX*12000) integer nparams0(21),nparams(21) character*20 datetime common/npar/nutc,ndiskdat,ntrperiod,nfqso,newdat,npts8,nfa,nfb,ntol, & - kin,nzhsym,nsave,nagain,ndepth,nrxlog,nfsample,datetime + kin,nzhsym,nsave,nagain,ndepth,ntxmode,nmode,datetime equivalence (nparams,nutc) nutc=id2(1)+int(savg(1)) !Silence compiler warning nparams=nparams0 !Copy parameters into common/npar/ call flush(6) - if(sum(nparams).ne.0) call decoder(ss,c0,0) +! if(sum(nparams).ne.0) call decoder(ss,id2) + call decoder(ss,id2) return end subroutine jt9c diff --git a/lib/jt9test.f90 b/lib/jt9test.f90 deleted file mode 100644 index 3651593b2..000000000 --- a/lib/jt9test.f90 +++ /dev/null @@ -1,183 +0,0 @@ -program jt9test - -! Decoder for JT9. Can run stand-alone, reading data from *.wav files; -! or as the back end of wsjt-x, with data placed in a shared memory region. - -! NB: For unknown reason, ***MUST*** be compiled by g95 with -O0 !!! - - parameter (NTMAX=120) - parameter (NMAX=NTMAX*12000) !Total sample intervals per 30 minutes - parameter (NDMAX=NTMAX*1500) !Sample intervals at 1500 Hz rate - parameter (NSMAX=1365) !Max length of saved spectra - integer*4 ihdr(11) - real*4 s(NSMAX) - real*4 ccfred(NSMAX) - logical*1 lstrong(0:1023) - integer*1 i1SoftSymbols(207) - character*22 msg - character*33 line - character*80 arg,infile - integer*2 id2 - complex c0 - complex c1(0:2700000) - common/jt9com/ss(184,NSMAX),savg(NSMAX),c0(NDMAX),id2(NMAX),nutc,ndiskdat, & - ntr,mousefqso,newdat,nfa,nfb,ntol,kin,nzhsym,nsynced,ndecoded - common/tracer/limtrace,lu - - nargs=iargc() - if(nargs.lt.1) then - print*,'Usage: jt9 TRperiod file1 [file2 ...]' - print*,' Reads data from *.wav files.' - print*,'' - print*,' jt9 -s' - print*,' Gets data from shared memory region.' - go to 999 - endif - call getarg(1,arg) - if(arg(1:2).eq.'-s') then -! call jt9a -! call ftnquit - go to 999 - endif - read(arg,*) ntrperiod - - ifile1=2 - - limtrace=0 - lu=12 - nfa=1000 - nfb=2000 - ntol=500 - nfqso=1500 - newdat=1 - nb=0 - nbslider=100 - limit=20000 - ndiskdat=1 - - do ifile=ifile1,nargs - call getarg(ifile,infile) - open(10,file=infile,access='stream',status='old',err=998) - read(10) ihdr - i1=index(infile,'.wav') - read(infile(i1-4:i1-1),*,err=1) nutc0 - go to 2 -1 nutc0=0 -2 nsps=0 - if(ntrperiod.eq.1) then - nsps=6912 - nzhsym=181 - else if(ntrperiod.eq.2) then - nsps=15360 - nzhsym=178 - else if(ntrperiod.eq.5) then - nsps=40960 - nzhsym=172 - else if(ntrperiod.eq.10) then - nsps=82944 - nzhsym=171 - else if(ntrperiod.eq.30) then - nsps=252000 - nzhsym=167 - endif - if(nsps.eq.0) stop 'Error: bad TRperiod' - - kstep=nsps/2 - tstep=kstep/12000.0 - k=0 - nhsym0=-999 - npts=(60*ntrperiod-6)*12000 - if(ifile.eq.ifile1) then - open(12,file='timer.out',status='unknown') - call timer('jt9 ',0) - endif - -! do i=1,npts -! id2(i)=100.0*sin(6.283185307*1600.0*i/12000.0) -! enddo - - do iblk=1,npts/kstep - k=iblk*kstep - call timer('read_wav',0) - read(10,end=10) id2(k-kstep+1:k) - call timer('read_wav',1) - - nhsym=(k-2048)/kstep - if(nhsym.ge.1 .and. nhsym.ne.nhsym0) then -! Emit signal readyForFFT - ingain=0 - call timer('symspec ',0) - call symspec(k,ntrperiod,nsps,ingain,nb,nbslider,pxdb, & - s,ccfred,df3,ihsym,nzap,slimit,lstrong,npts8) - call timer('symspec ',1) - nhsym0=nhsym - if(ihsym.ge.184) go to 10 - endif - enddo -10 close(10) - - nsps8=nsps/8 - iz=1000.0/df3 - nutc=nutc0 - - call timer('sync9 ',0) - call sync9(ss,nzhsym,tstep,df3,ccfred,ia,ib,ipk) !Get sync, freq - call timer('sync9 ',1) - - fgood=0. - df8=1500.0/(nsps/8) - sbest=0. - do i=ia,ib - f=(i-1)*df3 - if((i.eq.ipk .or. ccfred(i).ge.3.0) .and. f.gt.fgood+10.0*df8) then - - call timer('test9 ',0) - fpk=1000.0 + df3*(i-1) - c1(0:npts8-1)=conjg(c0(1:npts8)) - call test9(c1,npts8,nsps8,fpk,syncpk,snrdb,xdt,freq,drift, & - i1SoftSymbols) - call timer('test9 ',1) - - call timer('decode9 ',0) - call decode9(i1SoftSymbols,limit,nlim,msg) - call timer('decode9 ',1) - snr=snrdb - sync=syncpk - 2.0 - if(sync.lt.0.0) sync=0.0 - nsync=sync - if(nsync.gt.10) nsync=10 - nsnr=nint(snr) - width=0.0 - - if(sync.gt.sbest .and. fgood.eq.0.0) then - sbest=sync - write(line,1010) nutc,nsync,nsnr,xdt,1000.0+fpk,width - if(nsync.gt.0) nsynced=1 - endif - - if(msg.ne.' ') then - write(*,1010) nutc,nsync,nsnr,xdt,freq,drift,msg -1010 format(i4.4,i4,i5,f6.1,f8.2,f6.2,3x,a22) - fgood=f - nsynced=1 - ndecoded=1 - endif - endif - enddo - - if(fgood.eq.0.0) then - write(*,1020) line -1020 format(a33) - endif - - enddo - - call timer('jt9 ',1) - call timer('jt9 ',101) -! call ftnquit - go to 999 - -998 print*,'Cannot open file:' - print*,infile - -999 end program jt9test diff --git a/lib/move.f90 b/lib/move.f90 new file mode 100644 index 000000000..13783dc76 --- /dev/null +++ b/lib/move.f90 @@ -0,0 +1,7 @@ +subroutine move(x,y,n) + real x(n),y(n) + do i=1,n + y(i)=x(i) + enddo + return +end subroutine move diff --git a/lib/peakdf9.f90 b/lib/peakdf9.f90 deleted file mode 100644 index 5db762ca0..000000000 --- a/lib/peakdf9.f90 +++ /dev/null @@ -1,32 +0,0 @@ -subroutine peakdf9(c0,npts8,nsps8,istart,foffset,idfpk) - - complex c0(0:npts8-1) - complex zsum - include 'jt9sync.f90' - - twopi=8.0*atan(1.0) - df=1500.0/nsps8 - smax=0. - do idf=-5,5 - f0=foffset + 0.1*df*idf - dphi=twopi*f0/1500.0 - sum=0. - do j=1,16 - i1=(ii(j)-1)*nsps8 + istart - phi=0. - zsum=0. - do i=i1,i1+nsps8-1 - if(i.lt.0 .or. i.gt.npts8-1) cycle - phi=phi + dphi - zsum=zsum + c0(i) * cmplx(cos(phi),-sin(phi)) - enddo - sum=sum + real(zsum)**2 + aimag(zsum)**2 - enddo - if(sum.gt.smax) then - idfpk=idf - smax=sum - endif - enddo - - return -end subroutine peakdf9 diff --git a/lib/peakdt9.f90 b/lib/peakdt9.f90 index 675b312dd..eac256efd 100644 --- a/lib/peakdt9.f90 +++ b/lib/peakdt9.f90 @@ -9,11 +9,8 @@ subroutine peakdt9(c2,nz2,nsps8,nspsd,c3,nz3,xdt) p=0. i0=5*nspsd do i=0,nz2-1 - z=1.e-3*sum(c2(max(i-(nspsd-1),0):i)) !Integrate - p(i0+i)=real(z)**2 + aimag(z)**2 !Symbol power at freq=0 -! Option here for coherent processing ? -! write(53,3301) i,z,p(i0+i),atan2(aimag(z),real(z)) -!3301 format(i6,4e12.3) + z=1.e-3*sum(c2(max(i-(nspsd-1),0):i)) + p(i0+i)=real(z)**2 + aimag(z)**2 !Integrated symbol power at freq=0 enddo call getlags(nsps8,lag0,lag1,lag2) @@ -35,8 +32,6 @@ subroutine peakdt9(c2,nz2,nsps8,nspsd,c3,nz3,xdt) enddo ss=(sum1/16.0)/(sum0/69.0) - 1.0 xdt=(lag-lag0)*dtlag -! write(52,3001) lag,xdt,ss -!3001 format(i5,2f12.3) if(ss.gt.smax) then smax=ss lagpk=lag diff --git a/lib/ptt_unix.c b/lib/ptt_unix.c index cce8e592f..532921368 100644 --- a/lib/ptt_unix.c +++ b/lib/ptt_unix.c @@ -68,7 +68,7 @@ int lp_ptt (int fd, int onoff); /* parport functions */ int dev_is_parport(int fd); -int ptt_parallel(int fd, int *ntx, int *iptt); +int ptt_parallel(int fd, int ntx, int *iptt); int ptt_serial(int fd, int *ntx, int *iptt); int fd=-1; /* Used for both serial and parallel */ @@ -91,53 +91,42 @@ int fd=-1; /* Used for both serial and parallel */ #define STATE_PORT_OPEN_PARALLEL 1 #define STATE_PORT_OPEN_SERIAL 2 -//int ptt_(int *unused, char *ptt_port, int *ntx, int *iptt) -int ptt_(int *unused, int *ntx, int *iptt) +//int ptt_(int *unused, int *ntx, int *iptt) +int ptt_(int nport, int ntx, int *iptt, int *nopen) { static int state=0; char *p; + char ptt_port[]="/dev/ttyUSB0"; + fflush(stdout); -// ### Temporary: - char* ptt_port; - if(*unused != -99) { - *iptt=*ntx; - return 0; - } -// ### - - /* In the very unlikely event of a NULL pointer, just return. - * Yes, I realise this should not be possible in WSJT. - */ + // In the very unlikely event of a NULL pointer, just return. if (ptt_port == NULL) { - *iptt = *ntx; + *iptt = ntx; return (0); } - switch (state) { case STATE_PORT_CLOSED: - - /* Remove trailing ' ' */ + + // Remove trailing ' ' if ((p = strchr(ptt_port, ' ')) != NULL) *p = '\0'; - /* If all that is left is a '\0' then also just return */ + // If all that is left is a '\0' then also just return if (*ptt_port == '\0') { - *iptt = *ntx; + *iptt = ntx; return(0); } - if ((fd = open(ptt_port, O_RDWR|O_NONBLOCK)) < 0) { fprintf(stderr, "Can't open %s.\n", ptt_port); return (1); } - if (dev_is_parport(fd)) { state = STATE_PORT_OPEN_PARALLEL; lp_reset(fd); ptt_parallel(fd, ntx, iptt); } else { state = STATE_PORT_OPEN_SERIAL; - ptt_serial(fd, ntx, iptt); + ptt_serial(fd, &ntx, iptt); } break; @@ -146,7 +135,7 @@ int ptt_(int *unused, int *ntx, int *iptt) break; case STATE_PORT_OPEN_SERIAL: - ptt_serial(fd, ntx, iptt); + ptt_serial(fd, &ntx, iptt); break; default: @@ -155,9 +144,11 @@ int ptt_(int *unused, int *ntx, int *iptt) state = STATE_PORT_CLOSED; break; } + *iptt=ntx; return(0); } + /* * ptt_serial * @@ -180,6 +171,8 @@ ptt_serial(int fd, int *ntx, int *iptt) ioctl(fd, TIOCMBIC, &control); *iptt = 0; } + printf("ptt_serial: %d %d",*ntx,*iptt); + fflush(stdout); return(0); } @@ -379,10 +372,9 @@ lp_ptt (int fd, int onoff) * iptt - pointer to fortran command status on or off */ -int -ptt_parallel(int fd, int *ntx, int *iptt) +int ptt_parallel(int fd, int ntx, int *iptt) { - if(*ntx) { + if(ntx) { lp_ptt(fd, 1); *iptt=1; } else { diff --git a/lib/redsync.f90 b/lib/redsync.f90 deleted file mode 100644 index 68a5e5dc0..000000000 --- a/lib/redsync.f90 +++ /dev/null @@ -1,44 +0,0 @@ -subroutine redsync(ss,ntrperiod,ihsym,iz,red) - -! Compute the red curve (approx JT9 sync amplitude). -! NB: red() is used for real-time display only. A better ccfred() is -! computed during the decode procedure. - - Parameter (NSMAX=1365) - real*4 ss(184,NSMAX) - real*4 red(NSMAX) - include 'jt9sync.f90' - - lagmax=9 - if(ntrperiod.eq.2) lagmax=5 - if(ntrperiod.eq.5) lagmax=2 - if(ntrperiod.eq.10) lagmax=1 - if(ntrperiod.eq.30) lagmax=1 - - do i=1,iz !Loop over frequency range - smax=0. - do lag=-lagmax,lagmax !Loop over DT lags - sig=0. - do j=1,16 - k=ii2(j)+lag - if(k.ge.5 .and. k.le.ihsym) then - sig=sig + ss(k,i) - 0.5*(ss(k-2,i)+ss(k-4,i)) - endif - enddo - if(sig.gt.smax) smax=sig - enddo - red(i)=smax - enddo - call pctile(red,iz,40,xmed) - if(xmed.le.0.0) xmed=1.0 - red=red/xmed - smax=0. - do i=1,iz - red(i)=0.2*db(red(i)) - smax=max(smax,red(i)) - enddo - h=10. - if(smax.gt.h) red=red*(h/smax) - - return -end subroutine redsync diff --git a/lib/s3avg.f90 b/lib/s3avg.f90 new file mode 100644 index 000000000..f8f68ac56 --- /dev/null +++ b/lib/s3avg.f90 @@ -0,0 +1,60 @@ +subroutine s3avg(nsave,mode65,nutc,nhz,xdt,npol,ntol,s3,nsum,nkv,decoded) + +! Save the current synchronized spectra, s3(64,63), for possible +! decoding of average. + + real s3(64,63) !Synchronized spectra for 63 symbols + real s3a(64,63,64) !Saved spectra + real s3b(64,63) !Average spectra + integer iutc(64),ihz(64),ipol(64) + real dt(64) + character*22 decoded + logical ltext,first + data first/.true./ + save + + if(first) then + iutc=-1 + ihz=0 + ipol=0 + first=.false. + ihzdiff=min(100,ntol) + dtdiff=0.2 + endif + + do i=1,64 + if(nutc.eq.iutc(i) .and. abs(nhz-ihz(i)).lt.ihzdiff) then + nsave=mod(nsave-1+64,64)+1 + go to 10 + endif + enddo + + iutc(nsave)=nutc !Save UTC + ihz(nsave)=nhz !Save freq in Hz + ipol(nsave)=npol !Save pol + dt(nsave)=xdt !Save DT + s3a(1:64,1:63,nsave)=s3 !Save the spectra + +10 s3b=0. + do i=1,64 !Accumulate avg spectra + if(iutc(i).lt.0) cycle + if(mod(iutc(i),2).ne.mod(nutc,2)) cycle !Use only same sequence + if(abs(nhz-ihz(i)).gt.ihzdiff) cycle !Freq must match + if(abs(xdt-dt(i)).gt.dtdiff) cycle !DT must match + s3b=s3b + s3a(1:64,1:63,i) + nsum=nsum+1 + enddo + + decoded=' ' + if(nsum.ge.2) then !Try decoding the sverage + nadd=mode65*nsum + call extract(s3b,nadd,ncount,nhist,decoded,ltext) !Extract the message + nkv=nsum + if(ncount.lt.0) then + nkv=0 + decoded=' ' + endif + endif + + return +end subroutine s3avg diff --git a/lib/setup65.f90 b/lib/setup65.f90 new file mode 100644 index 000000000..608b41b91 --- /dev/null +++ b/lib/setup65.f90 @@ -0,0 +1,96 @@ +subroutine setup65 + +! Defines arrays related to the JT65 pseudo-random synchronizing pattern. +! Executed at program start. + + integer nprc(126) + common/prcom/pr(126),mdat(126),mref(126,2),mdat2(126),mref2(126,2) + +! JT65 + data nprc/ & + 1,0,0,1,1,0,0,0,1,1,1,1,1,1,0,1,0,1,0,0, & + 0,1,0,1,1,0,0,1,0,0,0,1,1,1,0,0,1,1,1,1, & + 0,1,1,0,1,1,1,1,0,0,0,1,1,0,1,0,1,0,1,1, & + 0,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,0,0,0,1, & + 1,0,0,0,0,0,0,0,1,1,0,1,0,0,1,0,1,1,0,1, & + 0,1,0,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1, & + 1,1,1,1,1,1/ + data mr2/0/ !Silence compiler warning + +! Put the appropriate pseudo-random sequence into pr + nsym=126 + do i=1,nsym + pr(i)=2*nprc(i)-1 + enddo + +! Determine locations of data and reference symbols + k=0 + mr1=0 + do i=1,nsym + if(pr(i).lt.0.0) then + k=k+1 + mdat(k)=i + else + mr2=i + if(mr1.eq.0) mr1=i + endif + enddo + nsig=k + +! Determine the reference symbols for each data symbol. + do k=1,nsig + m=mdat(k) + mref(k,1)=mr1 + do n=1,10 !Get ref symbol before data + if((m-n).gt.0) then + if (pr(m-n).gt.0.0) go to 10 + endif + enddo + go to 12 +10 mref(k,1)=m-n +12 mref(k,2)=mr2 + do n=1,10 !Get ref symbol after data + if((m+n).le.nsym) then + if (pr(m+n).gt.0.0) go to 20 + endif + enddo + cycle +20 mref(k,2)=m+n + enddo + +! Now do it all again, using opposite logic on pr(i) + k=0 + mr1=0 + do i=1,nsym + if(pr(i).gt.0.0) then + k=k+1 + mdat2(k)=i + else + mr2=i + if(mr1.eq.0) mr1=i + endif + enddo + nsig=k + + do k=1,nsig + m=mdat2(k) + mref2(k,1)=mr1 + do n=1,10 + if((m-n).gt.0) then + if (pr(m-n).lt.0.0) go to 110 + endif + enddo + go to 112 +110 mref2(k,1)=m-n +112 mref2(k,2)=mr2 + do n=1,10 + if((m+n).le.nsym) then + if (pr(m+n).lt.0.0) go to 120 + endif + enddo + cycle +120 mref2(k,2)=m+n + enddo + + return +end subroutine setup65 diff --git a/lib/smo121.f90 b/lib/smo121.f90 new file mode 100644 index 000000000..7ae30ad13 --- /dev/null +++ b/lib/smo121.f90 @@ -0,0 +1,13 @@ +subroutine smo121(x,nz) + + real x(nz) + + x0=x(1) + do i=2,nz-1 + x1=x(i) + x(i)=0.5*x(i) + 0.25*(x0+x(i+1)) + x0=x1 + enddo + + return +end subroutine smo121 diff --git a/lib/softsym.f90 b/lib/softsym.f90 index a17186774..399db36f2 100644 --- a/lib/softsym.f90 +++ b/lib/softsym.f90 @@ -1,9 +1,8 @@ -subroutine softsym(c0,npts8,nsps8,newdat,fpk,syncpk,snrdb,xdt,freq,drift, & - schk,i1SoftSymbols) +subroutine softsym(id2,npts8,nsps8,newdat,fpk,syncpk,snrdb,xdt, & + freq,drift,schk,i1SoftSymbols) ! Compute the soft symbols - complex c0(0:npts8-1) complex c2(0:4096-1) complex c3(0:4096-1) complex c5(0:4096-1) @@ -16,7 +15,7 @@ subroutine softsym(c0,npts8,nsps8,newdat,fpk,syncpk,snrdb,xdt,freq,drift, & ndown=nsps8/nspsd ! Mix, low-pass filter, and downsample to 16 samples per symbol - call downsam9(c0,npts8,nsps8,newdat,nspsd,fpk,c2,nz2) + call downsam9(id2,npts8,nsps8,newdat,nspsd,fpk,c2,nz2) call peakdt9(c2,nz2,nsps8,nspsd,c3,nz3,xdt) !Find DT @@ -26,7 +25,7 @@ subroutine softsym(c0,npts8,nsps8,newdat,fpk,syncpk,snrdb,xdt,freq,drift, & freq=fpk - a(1) drift=-2.0*a(2) - call twkfreq(c3,c5,nz3,fsample,a) !Correct for deltaF, fDot, fDDot + call twkfreq(c3,c5,nz3,fsample,a) !Correct for delta f, f1, f2 ==> a(1:3) ! Compute soft symbols (in scrambled order) call symspec2(c5,nz3,nsps8,nspsd,fsample,freq,drift,snrdb,schk, & diff --git a/lib/symspec.f90 b/lib/symspec.f90 index a428fb0a4..c6846b283 100644 --- a/lib/symspec.f90 +++ b/lib/symspec.f90 @@ -1,4 +1,4 @@ -subroutine symspec(k,ntrperiod,nsps,ingain,pxdb,s,red,df3,ihsym,npts8) +subroutine symspec(k,ntrperiod,nsps,ingain,slope,pxdb,s,df3,ihsym,npts8) ! Input: ! k pointer to the most recent new data @@ -10,111 +10,89 @@ subroutine symspec(k,ntrperiod,nsps,ingain,pxdb,s,red,df3,ihsym,npts8) ! Output: ! pxdb power (0-60 dB) -! s() spectrum for waterfall display -! red() first cut at JT9 sync amplitude +! s() current spectrum for waterfall display ! ihsym index number of this half-symbol (1-184) - parameter (NTMAX=120) - parameter (NMAX=NTMAX*12000) !Total sample intervals per 30 minutes - parameter (NDMAX=NTMAX*1500) !Sample intervals at 1500 Hz rate - parameter (NSMAX=1365) !Max length of saved spectra - parameter (NFFT1=1024) - parameter (NFFT2=1024,NFFT2A=NFFT2/8) - parameter (MAXFFT3=32768) - real*4 s(NSMAX),w3(MAXFFT3) - real*4 x1(NFFT1) - real*4 x2(NFFT1+105) +! jt9com +! ss() JT9 symbol spectra at half-symbol steps +! savg() average spectra for waterfall display + + include 'constants.f90' + real*4 w3(MAXFFT3) + real*4 s(NSMAX) + real*4 scale(NSMAX) real*4 ssum(NSMAX) - real*4 red(NSMAX) - complex cx(0:MAXFFT3-1) + real*4 xc(0:MAXFFT3-1) + complex cx(0:MAXFFT3/2) integer*2 id2 - complex c0 - common/jt9com/ss(184,NSMAX),savg(NSMAX),c0(NDMAX),id2(NMAX),nutc,ndiskdat, & + common/jt9com/ss(184,NSMAX),savg(NSMAX),id2(NMAX),nutc,ndiskdat, & ntr,mousefqso,newdat,nfa,nfb,ntol,kin,nzhsym,nsynced,ndecoded - data rms/999.0/,k0/99999999/,ntrperiod0/0/,nfft3z/0/ + data rms/999.0/,k0/99999999/,nfft3z/0/,slope0/0.0/ + equivalence (xc,cx) save - if(ntrperiod.eq.1) nfft3=2048 - if(ntrperiod.eq.2) nfft3=2048 - if(ntrperiod.eq.5) nfft3=6144 - if(ntrperiod.eq.10) nfft3=12288 - if(ntrperiod.eq.30) nfft3=32768 - - jstep=nsps/16 !Step size = half-symbol in c0() - if(k.gt.NMAX) go to 999 - if(k.lt.nfft3) then + if(ntrperiod.eq.-999) stop !Silence compiler warning + nfft3=16384 !df=12000.0/16384 = 0.732422 + jstep=nsps/2 !Step size = half-symbol in id2() + if(k.gt.NMAX) go to 900 + if(k.lt.2048) then !(2048 was nfft3) (Any need for this ???) ihsym=0 - go to 999 !Wait for enough samples to start + go to 900 !Wait for enough samples to start endif - if(nfft3.ne.nfft3z) then !New nfft3, compute window + + if(nfft3.ne.nfft3z .or. slope.ne.slope0) then !New nfft3, compute window pi=4.0*atan(1.0) - if(ntrperiod.eq.1) then !Compute window for nfft3 spectrun - do i=1,nfft3 - xx=float(i-1)/(nfft3-1) - w3(i)=0.40897 -0.5*cos(2.0*pi*xx) + 0.09103*cos(4.0*pi*xx) -! w3(i)=0.355768 - 0.487306*cos(2.0*pi*xx) + 0.144232*cos(4.0*pi*xx) & -! - 0.012604*cos(6.0*pi*xx) - enddo - else - do i=1,nfft3 - w3(i)=2.0*(sin(i*pi/nfft3))**2 !Window for nfft3 spectrum - enddo - endif + do i=1,nfft3 + w3(i)=2.0*(sin(i*pi/nfft3))**2 !Window for nfft3 spectrum + enddo nfft3z=nfft3 + nh=NSMAX/2 + do i=1,NSMAX + x=slope*float(i)/nh - 1.0 + 2.6 + scale(i)=10.0**x + enddo + slope0=slope endif if(k.lt.k0) then !Start a new data block ja=0 ssum=0. ihsym=0 - k1=0 - k8=0 - x2=0. - if(ndiskdat.eq.0) then - id2(k+1:)=0 - c0=0. !This is necessary to prevent "ghosts". Not sure why. - endif + if(ndiskdat.eq.0) id2(k+1:)=0 !Needed to prevent "ghosts". Not sure why. endif - k0=k - kstep1=NFFT1 - fac=2.0/NFFT1 - nblks=(k-k1)/kstep1 gain=10.0**(0.05*ingain) sq=0. - do nblk=1,nblks - do i=1,NFFT1 - x1(i)=gain*id2(k1+i) - enddo - sq=sq + dot_product(x1,x1) -! Mix at 1500 Hz, lowpass at +/-750 Hz, and downsample to 1500 Hz complex. - x2(106:105+kstep1)=x1(1:kstep1) - call fil3(x2,kstep1+105,c0(k8+1),n2) - x2(1:105)=x1(kstep1-104:kstep1) !Save 105 trailing samples - k1=k1+kstep1 - k8=k8+kstep1/8 + do i=k0+1,k + x1=id2(i) + sq=sq + x1*x1 enddo - - npts8=k8 - ja=ja+jstep !Index of first sample - rms=sqrt(sq/(nblks*NFFT1)) + sq=sq * gain**2 + rms=sqrt(sq/(k-k0)) pxdb=0. if(rms.gt.0.0) pxdb=20.0*log10(rms) if(pxdb.gt.60.0) pxdb=60.0 + + k0=k + ja=ja+jstep !Index of first sample + + fac0=0.1 do i=0,nfft3-1 !Copy data into cx j=ja+i-(nfft3-1) - cx(i)=0. - if(j.ge.1 .and. j.le.NDMAX) cx(i)=c0(j) + xc(i)=0. + if(j.ge.1) xc(i)=fac0*id2(j) enddo if(ihsym.lt.184) ihsym=ihsym+1 - cx(0:nfft3-1)=w3(1:nfft3)*cx(0:nfft3-1) !Apply window w3 - call four2a(cx,nfft3,1,1,1) !Third FFT (forward) + + xc(0:nfft3-1)=w3(1:nfft3)*xc(0:nfft3-1) !Apply window w3 + call four2a(xc,nfft3,1,-1,0) !Real-to-complex FFT n=min(184,ihsym) - df3=1500.0/nfft3 !JT9-a: 0.732 Hz = 0.42 * tone spacing - i0=nint(-500.0/df3) - iz=min(NSMAX,nint(1000.0/df3)) + df3=12000.0/nfft3 !JT9-1: 0.732 Hz = 0.42 * tone spacing +! i0=nint(1000.0/df3) + i0=0 + iz=min(NSMAX,nint(5000.0/df3)) fac=(1.0/nfft3)**2 do i=1,iz j=i0+i-1 @@ -125,18 +103,11 @@ subroutine symspec(k,ntrperiod,nsps,ingain,pxdb,s,red,df3,ihsym,npts8) s(i)=sx enddo -999 continue +! s=0.05*s/ref + s=scale*s + savg=scale*ssum/ihsym - fac00=0.35 - npct=20 - call pctile(s,iz,npct,xmed0) - fac0=fac00/max(xmed0,0.006) - s(1:iz)=fac0*s(1:iz) - call pctile(ssum,iz,npct,xmed1) - fac1=fac00/max(xmed1,0.006*ihsym) - savg(1:iz)=fac1*ssum(1:iz) -! savg(iz+1:iz+20)=savg(iz) - call redsync(ss,ntrperiod,ihsym,iz,red) +900 npts8=k/8 return end subroutine symspec diff --git a/lib/symspec65.f90 b/lib/symspec65.f90 new file mode 100644 index 000000000..5f6da88fd --- /dev/null +++ b/lib/symspec65.f90 @@ -0,0 +1,47 @@ +subroutine symspec65(dd,npts,ss,nhsym,savg) + +! Compute JT65 symbol spectra at half-symbol steps + + parameter (NFFT=8192) + parameter (NSZ=3413) !NFFT*5000/12000 + parameter (MAXHSYM=322) + real*8 hstep + real*4 dd(npts) + real*4 ss(MAXHSYM,NSZ) + real*4 savg(NSZ) + real*4 x(NFFT) + complex c(0:NFFT/2) + common/refspec/dfref,ref(NSZ) + equivalence (x,c) + save /refspec/ + + hstep=2048.d0*12000.d0/11025.d0 !half-symbol = 2229.116 samples + nsps=nint(2*hstep) + df=12000.0/NFFT + nhsym=npts/hstep - 1.0 + savg=0. + fac1=1.e-3 + + do j=1,nhsym + i0=(j-1)*hstep + x(1:nsps)=fac1*dd(i0+1:i0+nsps) + x(nsps+1:)=0. + call four2a(c,NFFT,1,-1,0) !r2c forward FFT + do i=1,NSZ + s=real(c(i))**2 + aimag(c(i))**2 + ss(j,i)=s + savg(i)=savg(i)+s + enddo + enddo + savg=savg/nhsym + + call flat65(ss,nhsym,MAXHSYM,NSZ,ref) !Flatten the 2d spectrum, saving + dfref=df ! the reference spectrum ref() + + savg=savg/ref + do j=1,nhsym + ss(j,1:NSZ)=ss(j,1:NSZ)/ref + enddo + + return +end subroutine symspec65 diff --git a/lib/sync9.f90 b/lib/sync9.f90 index 8953587a6..433e11f76 100644 --- a/lib/sync9.f90 +++ b/lib/sync9.f90 @@ -1,6 +1,7 @@ subroutine sync9(ss,nzhsym,lag1,lag2,ia,ib,ccfred,red2,ipkbest) - parameter (NSMAX=1365) !Max length of saved spectra + include 'constants.f90' +! parameter (NSMAX=1365) !Max length of saved spectra real ss(184,NSMAX) real ss1(184) real ccfred(NSMAX) diff --git a/lib/timer.f90 b/lib/timer.f90 index 5aa92d9c4..16374932e 100644 --- a/lib/timer.f90 +++ b/lib/timer.f90 @@ -7,7 +7,7 @@ subroutine timer(dname,k) character*8 dname,name(50),space,ename character*16 sname logical on(50) - real ut(50),ut0(50),dut(50),tt(2) + real ut(50),ut0(50),dut(50) integer ncall(50),nlevel(50),nparent(50) integer onlevel(0:10) common/tracer/ limtrace,lu @@ -36,7 +36,8 @@ subroutine timer(dname,k) if(on(n)) print*,'Error in timer: ',dname,' already on.' level=level+1 !Increment the level on(n)=.true. - ut0(n)=etime(tt) + call system_clock(icount,irate) + ut0(n)=float(icount)/irate ncall(n)=ncall(n)+1 if(ncall(n).gt.1.and.nlevel(n).ne.level) then nlevel(n)=-1 @@ -49,7 +50,8 @@ subroutine timer(dname,k) else if(k.eq.1) then !Get stop times and accumulate sums. (k=1) if(on(n)) then on(n)=.false. - ut1=etime(tt) + call system_clock(icount,irate) + ut1=float(icount)/irate ut(n)=ut(n)+ut1-ut0(n) endif level=level-1 diff --git a/lib/twkfreq.f90 b/lib/twkfreq.f90 index 656a77a5e..0a9b34d20 100644 --- a/lib/twkfreq.f90 +++ b/lib/twkfreq.f90 @@ -13,13 +13,13 @@ subroutine twkfreq(c3,c4,npts,fsample,a) s=2.0/npts do i=1,npts x=s*(i-x0) -! if(mod(i,100).eq.1) then + if(mod(i,100).eq.1) then p2=1.5*x*x - 0.5 ! p3=2.5*(x**3) - 1.5*x ! p4=4.375*(x**4) - 3.75*(x**2) + 0.375 dphi=(a(1) + x*a(2) + p2*a(3)) * (twopi/fsample) wstep=cmplx(cos(dphi),sin(dphi)) -! endif + endif w=w*wstep c4(i)=w*c3(i) enddo diff --git a/lib/twkfreq65.f90 b/lib/twkfreq65.f90 new file mode 100644 index 000000000..85847c7bc --- /dev/null +++ b/lib/twkfreq65.f90 @@ -0,0 +1,25 @@ +subroutine twkfreq65(c4aa,n5,a) + + complex c4aa(n5) + real a(5) + complex w,wstep + data twopi/6.283185307/ + +! Apply AFC corrections to the c4aa data + w=1.0 + wstep=1.0 + x0=0.5*(n5+1) + s=2.0/n5 + do i=1,n5 + x=s*(i-x0) + if(mod(i,100).eq.1) then + p2=1.5*x*x - 0.5 + dphi=(a(1) + x*a(2) + p2*a(3)) * (twopi/1378.125) + wstep=cmplx(cos(dphi),sin(dphi)) + endif + w=w*wstep + c4aa(i)=w*c4aa(i) + enddo + + return +end subroutine twkfreq65 diff --git a/lib/wrapkarn.c b/lib/wrapkarn.c new file mode 100644 index 000000000..1b1a6311f --- /dev/null +++ b/lib/wrapkarn.c @@ -0,0 +1,70 @@ +#include +#include +#include +#include +#include +#include "rs.h" + +static void *rs; +static int first=1; + +void rs_encode_(int *dgen, int *sent) +// Encode JT65 data dgen[12], producing sent[63]. +{ + int dat1[12]; + int b[51]; + int i; + + if(first) { + // Initialize the JT65 codec + rs=init_rs_int(6,0x43,3,1,51,0); + first=0; + } + + // Reverse data order for the Karn codec. + for(i=0; i<12; i++) { + dat1[i]=dgen[11-i]; + } + // Compute the parity symbols + encode_rs_int(rs,dat1,b); + + // Move parity symbols and data into sent[] array, in reverse order. + for (i = 0; i < 51; i++) sent[50-i] = b[i]; + for (i = 0; i < 12; i++) sent[i+51] = dat1[11-i]; +} + +void rs_decode_(int *recd0, int *era0, int *numera0, int *decoded, int *nerr) +// Decode JT65 received data recd0[63], producing decoded[12]. +// Erasures are indicated in era0[numera]. The number of corrected +// errors is *nerr. If the data are uncorrectable, *nerr=-1 is returned. +{ + int numera; + int i; + int era_pos[50]; + int recd[63]; + + if(first) { + rs=init_rs_int(6,0x43,3,1,51,0); + first=0; + } + + numera=*numera0; + for(i=0; i<12; i++) recd[i]=recd0[62-i]; + for(i=0; i<51; i++) recd[12+i]=recd0[50-i]; + if(numera) + for(i=0; i #endif -int itone[85]; //Tx audio tones for 85 symbols +int itone[126]; //Audio tones for all Tx symbols int icw[250]; //Dits for CW ID int outBufSize; int rc; +qint32 g_COMportOpen; +qint32 g_iptt; static int nc1=1; wchar_t buffer[256]; bool btxok; //True if OK to transmit @@ -31,9 +33,10 @@ WideGraph* g_pWideGraph = NULL; LogQSO* logDlg = NULL; Rig* rig = NULL; QTextEdit* pShortcuts; +QTcpSocket* socket = new QTcpSocket(0); QString rev="$Rev$"; -QString Program_Title_Version=" WSJT-X v1.0, r" + rev.mid(6,4) + +QString Program_Title_Version=" WSJT-X v1.1, r" + rev.mid(6,4) + " by K1JT"; //-------------------------------------------------- MainWindow constructor @@ -52,14 +55,12 @@ MainWindow::MainWindow(QSharedMemory *shdmem, QWidget *parent) : QActionGroup* modeGroup = new QActionGroup(this); ui->actionJT9_1->setActionGroup(modeGroup); - ui->actionJT9_2->setActionGroup(modeGroup); - ui->actionJT9_5->setActionGroup(modeGroup); - ui->actionJT9_10->setActionGroup(modeGroup); - ui->actionJT9_30->setActionGroup(modeGroup); + ui->actionJT65->setActionGroup(modeGroup); + ui->actionJT9_JT65->setActionGroup(modeGroup); + QActionGroup* saveGroup = new QActionGroup(this); ui->actionNone->setActionGroup(saveGroup); - ui->actionSave_synced->setActionGroup(saveGroup); ui->actionSave_decoded->setActionGroup(saveGroup); ui->actionSave_all->setActionGroup(saveGroup); @@ -150,24 +151,24 @@ MainWindow::MainWindow(QSharedMemory *shdmem, QWidget *parent) : m_myGrid="FN20qi"; m_appDir = QApplication::applicationDirPath(); m_saveDir="/users/joe/wsjtx/install/save"; + m_rxFreq=1500; m_txFreq=1500; m_setftx=0; m_loopall=false; m_startAnother=false; - m_saveSynced=false; m_saveDecoded=false; m_saveAll=false; m_sec0=-1; - m_palette="CuteSDR"; + m_palette="Linrad"; m_RxLog=1; //Write Date and Time to RxLog m_nutc0=9999; - m_mode="JT9-1"; + m_mode="JT9"; m_rpt="-15"; m_TRperiod=60; m_inGain=0; m_dataAvailable=false; - m_iptt=0; - m_COMportOpen=0; + g_iptt=0; + g_COMportOpen=0; m_secID=0; m_promptToLog=false; m_blankLine=false; @@ -185,11 +186,14 @@ MainWindow::MainWindow(QSharedMemory *shdmem, QWidget *parent) : m_secBandChanged=0; m_bMultipleOK=false; m_dontReadFreq=false; + m_lockTxFreq=false; ui->readFreq->setEnabled(false); m_QSOmsg=""; + m_CATerror=false; decodeBusy(false); - ui->xThermo->setFillBrush(Qt::green); + ui->xThermo->setMaximumWidth(12); + ui->xThermo->setTextVisible(false); ui->labAz->setStyleSheet("border: 0px;"); ui->labDist->setStyleSheet("border: 0px;"); @@ -236,14 +240,20 @@ MainWindow::MainWindow(QSharedMemory *shdmem, QWidget *parent) : genStdMsgs(m_rpt); on_actionWide_Waterfall_triggered(); //### + g_pWideGraph->setRxFreq(m_rxFreq); g_pWideGraph->setTxFreq(m_txFreq); - g_pWideGraph->m_lockTxFreq=m_lockTxFreq; + g_pWideGraph->setLockTxFreq(m_lockTxFreq); + g_pWideGraph->setFmin(m_fMin); + g_pWideGraph->setModeTx(m_mode); + g_pWideGraph->setModeTx(m_modeTx); + + connect(g_pWideGraph, SIGNAL(setFreq3(int,int)),this, + SLOT(setFreq4(int,int))); + + if(m_mode=="JT9") on_actionJT9_1_triggered(); + if(m_mode=="JT65") on_actionJT65_triggered(); + if(m_mode=="JT9+JT65") on_actionJT9_JT65_triggered(); - if(m_mode=="JT9-1") on_actionJT9_1_triggered(); - if(m_mode=="JT9-2") on_actionJT9_2_triggered(); - if(m_mode=="JT9-5") on_actionJT9_5_triggered(); - if(m_mode=="JT9-10") on_actionJT9_10_triggered(); - if(m_mode=="JT9-30") on_actionJT9_30_triggered(); future1 = new QFuture; watcher1 = new QFutureWatcher; connect(watcher1, SIGNAL(finished()),this,SLOT(diskDat())); @@ -281,7 +291,7 @@ MainWindow::MainWindow(QSharedMemory *shdmem, QWidget *parent) : ui->decodedTextLabel->setFont(ui->decodedTextBrowser2->font()); ui->decodedTextLabel2->setFont(ui->decodedTextBrowser->font()); - t="UTC dB DT Freq Message"; + t="UTC dB DT Freq Message"; ui->decodedTextLabel->setText(t); ui->decodedTextLabel2->setText(t); @@ -352,6 +362,7 @@ void MainWindow::writeSettings() if(g_pWideGraph->isVisible()) { m_wideGraphGeom = g_pWideGraph->geometry(); settings.setValue("WideGraphGeom",m_wideGraphGeom); + m_fMin=g_pWideGraph->getFmin(); } settings.endGroup(); @@ -362,23 +373,32 @@ void MainWindow::writeSettings() settings.setValue("PTTmethod",m_pttMethodIndex); settings.setValue("PTTport",m_pttPort); settings.setValue("SaveDir",m_saveDir); - settings.setValue("SoundInIndex",m_nDevIn); - settings.setValue("paInDevice",m_paInDevice); - settings.setValue("SoundOutIndex",m_nDevOut); - settings.setValue("paOutDevice",m_paOutDevice); + char soundName[128]; + if (Pa_GetDeviceInfo( m_paInDevice)) { // store name, number may be different next time + snprintf( soundName, sizeof( soundName), "%s:%s", + Pa_GetHostApiInfo( Pa_GetDeviceInfo( m_paInDevice)->hostApi)->name, + Pa_GetDeviceInfo( m_paInDevice)->name); + settings.setValue("SoundInName", soundName); + } + if (Pa_GetDeviceInfo( m_paOutDevice)) { // store name, number may be different next time + snprintf( soundName, sizeof( soundName), "%s:%s", + Pa_GetHostApiInfo( Pa_GetDeviceInfo( m_paOutDevice)->hostApi)->name, + Pa_GetDeviceInfo( m_paOutDevice)->name); + settings.setValue("SoundOutName", soundName); + } settings.setValue("PaletteCuteSDR",ui->actionCuteSDR->isChecked()); settings.setValue("PaletteLinrad",ui->actionLinrad->isChecked()); settings.setValue("PaletteAFMHot",ui->actionAFMHot->isChecked()); settings.setValue("PaletteBlue",ui->actionBlue->isChecked()); settings.setValue("Mode",m_mode); + settings.setValue("ModeTx",m_modeTx); settings.setValue("SaveNone",ui->actionNone->isChecked()); - settings.setValue("SaveSynced",ui->actionSave_synced->isChecked()); settings.setValue("SaveDecoded",ui->actionSave_decoded->isChecked()); settings.setValue("SaveAll",ui->actionSave_all->isChecked()); settings.setValue("NDepth",m_ndepth); - settings.setValue("KB8RQ",m_kb8rq); settings.setValue("MonitorOFF",m_monitorStartOFF); settings.setValue("DialFreq",m_dialFreq); + settings.setValue("RxFreq",m_rxFreq); settings.setValue("TxFreq",m_txFreq); settings.setValue("InGain",m_inGain); settings.setValue("PSKReporter",m_pskReporter); @@ -423,6 +443,9 @@ void MainWindow::writeSettings() settings.setValue("TxPower",m_txPower); settings.setValue("LogComments",m_logComments); settings.setValue("PSKantenna",m_pskAntenna); + settings.setValue("Fmin",m_fMin); + settings.setValue("TxSplit",m_bSplit); + settings.setValue("UseXIT",m_bXIT); settings.endGroup(); } @@ -450,49 +473,63 @@ void MainWindow::readSettings() m_pttMethodIndex=settings.value("PTTmethod",1).toInt(); m_pttPort=settings.value("PTTport",0).toInt(); m_saveDir=settings.value("SaveDir",m_appDir + "/save").toString(); - m_nDevIn = settings.value("SoundInIndex", 0).toInt(); - m_paInDevice = settings.value("paInDevice", paNoDevice).toInt(); - if (m_paInDevice == paNoDevice) { // no saved input device? + + char soundName[128]; + QString savedName = settings.value( "SoundInName", "default").toString(); + for (m_paInDevice = Pa_GetDeviceCount() - 1; m_paInDevice >= 0; m_paInDevice--) { + snprintf( soundName, sizeof( soundName), "%s:%s", + Pa_GetHostApiInfo( Pa_GetDeviceInfo( m_paInDevice)->hostApi)->name, + Pa_GetDeviceInfo( m_paInDevice)->name); + if ((savedName == soundName) && (Pa_GetDeviceInfo(m_paInDevice)->maxInputChannels > 0)) + break; + } + if (m_paInDevice < 0) { // no match for device name? m_paInDevice = Pa_GetDefaultInputDevice(); - if (m_paInDevice == paNoDevice) { // no default input device? + if (m_paInDevice == paNoDevice) // no default input device? m_paInDevice = 0; - } } - m_nDevOut = settings.value("SoundOutIndex", 0).toInt(); - m_paOutDevice = settings.value("paOutDevice", paNoDevice).toInt(); - if (m_paOutDevice == paNoDevice) { // no saved output device? + + savedName = settings.value("SoundOutName", "default").toString(); + for (m_paOutDevice = Pa_GetDeviceCount() - 1; m_paOutDevice >= 0; m_paOutDevice--) { + snprintf( soundName, sizeof( soundName), "%s:%s", + Pa_GetHostApiInfo( Pa_GetDeviceInfo( m_paOutDevice)->hostApi)->name, + Pa_GetDeviceInfo( m_paOutDevice)->name); + if ((savedName == soundName) && (Pa_GetDeviceInfo(m_paOutDevice)->maxOutputChannels > 0)) + break; + } + if (m_paOutDevice < 0) { // no match for device name? m_paOutDevice = Pa_GetDefaultOutputDevice(); - if (m_paOutDevice == paNoDevice) { // no default output device? + if (m_paOutDevice == paNoDevice) // no default output device? m_paOutDevice = 0; - } } + ui->actionCuteSDR->setChecked(settings.value( - "PaletteCuteSDR",true).toBool()); + "PaletteCuteSDR",false).toBool()); ui->actionLinrad->setChecked(settings.value( - "PaletteLinrad",false).toBool()); + "PaletteLinrad",true).toBool()); ui->actionAFMHot->setChecked(settings.value( "PaletteAFMHot",false).toBool()); ui->actionBlue->setChecked(settings.value( "PaletteBlue",false).toBool()); - m_mode=settings.value("Mode","JT9-1").toString(); + m_mode=settings.value("Mode","JT9").toString(); + m_modeTx=settings.value("ModeTx","JT9").toString(); + if(m_mode=="JT9") ui->pbTxMode->setText("Tx JT9 @"); + if(m_mode=="JT65") ui->pbTxMode->setText("Tx JT65 #"); ui->actionNone->setChecked(settings.value("SaveNone",true).toBool()); - ui->actionSave_synced->setChecked(settings.value( - "SaveSynced",false).toBool()); ui->actionSave_decoded->setChecked(settings.value( "SaveDecoded",false).toBool()); ui->actionSave_all->setChecked(settings.value("SaveAll",false).toBool()); m_dialFreq=settings.value("DialFreq",14.078).toDouble(); + m_rxFreq=settings.value("RxFreq",1500).toInt(); + ui->RxFreqSpinBox->setValue(m_rxFreq); m_txFreq=settings.value("TxFreq",1500).toInt(); ui->TxFreqSpinBox->setValue(m_txFreq); soundOutThread.setTxFreq(m_txFreq); - m_saveSynced=ui->actionSave_synced->isChecked(); m_saveDecoded=ui->actionSave_decoded->isChecked(); m_saveAll=ui->actionSave_all->isChecked(); - m_ndepth=settings.value("NDepth",2).toInt(); + m_ndepth=settings.value("NDepth",3).toInt(); m_inGain=settings.value("InGain",0).toInt(); ui->inGain->setValue(m_inGain); - m_kb8rq=settings.value("KB8RQ",false).toBool(); - ui->actionF4_sets_Tx6->setChecked(m_kb8rq); m_monitorStartOFF=settings.value("MonitorOFF",false).toBool(); ui->actionMonitor_OFF_at_startup->setChecked(m_monitorStartOFF); m_pskReporter=settings.value("PSKReporter",false).toBool(); @@ -547,12 +584,15 @@ void MainWindow::readSettings() m_logQSOgeom=settings.value("LogQSOgeom",QRect(500,400,424,283)).toRect(); outBufSize=settings.value("OutBufSize",4096).toInt(); m_lockTxFreq=settings.value("LockTxFreq",false).toBool(); - ui->actionLockTxFreq->setChecked(m_lockTxFreq); + ui->cbTxLock->setChecked(m_lockTxFreq); m_saveTxPower=settings.value("SaveTxPower",false).toBool(); m_saveComments=settings.value("SaveComments",false).toBool(); m_txPower=settings.value("TxPower","").toString(); m_logComments=settings.value("LogComments","").toString(); m_pskAntenna=settings.value("PSKantenna","").toString(); + m_fMin=settings.value("fMin",2500).toInt(); + m_bSplit=settings.value("TxSplit",false).toBool(); + m_bXIT=settings.value("UseXit",false).toBool(); settings.endGroup(); if(!ui->actionLinrad->isChecked() && !ui->actionCuteSDR->isChecked() && @@ -570,13 +610,14 @@ void MainWindow::readSettings() //-------------------------------------------------------------- dataSink() void MainWindow::dataSink(int k) { - static float s[NSMAX],red[NSMAX]; + static float s[NSMAX]; static int ihsym=0; static int nzap=0; static int trmin; static int npts8; static float px=0.0; static float df3; + static float slope; if(m_diskData) { jt9com_.ndiskdat=1; @@ -586,7 +627,9 @@ void MainWindow::dataSink(int k) // Get power, spectrum, and ihsym trmin=m_TRperiod/60; - symspec_(&k,&trmin,&m_nsps,&m_inGain,&px,s,red,&df3,&ihsym,&npts8); + slope=0.0; + if(g_pWideGraph!=NULL) slope=(float)g_pWideGraph->getSlope(); + symspec_(&k,&trmin,&m_nsps,&m_inGain,&slope,&px,s,&df3,&ihsym,&npts8); if(ihsym <=0) return; QString t; m_pctZap=nzap*100.0/m_nsps; @@ -594,7 +637,7 @@ void MainWindow::dataSink(int k) lab2->setText(t); ui->xThermo->setValue((double)px); //Update thermometer if(m_monitoring || m_diskData) { - g_pWideGraph->dataSink2(s,red,df3,ihsym,m_diskData); + g_pWideGraph->dataSink2(s,df3,ihsym,m_diskData); } if(ihsym == m_hsymStop) { @@ -637,8 +680,8 @@ void MainWindow::on_actionDeviceSetup_triggered() //Setup Dialog dlg.m_pttMethodIndex=m_pttMethodIndex; dlg.m_pttPort=m_pttPort; dlg.m_saveDir=m_saveDir; - dlg.m_nDevIn=m_nDevIn; - dlg.m_nDevOut=m_nDevOut; + dlg.m_paInDevice=m_paInDevice; + dlg.m_paOutDevice=m_paOutDevice; dlg.m_pskReporter=m_pskReporter; dlg.m_After73=m_After73; dlg.m_macro=m_macro; @@ -659,14 +702,17 @@ void MainWindow::on_actionDeviceSetup_triggered() //Setup Dialog dlg.m_bDTRoff=m_bDTRoff; dlg.m_pttData=m_pttData; dlg.m_poll=m_poll; + dlg.m_bSplit=m_bSplit; + dlg.m_bXIT=m_bXIT; if(m_bRigOpen) { rig->close(); ui->readFreq->setStyleSheet(""); ui->readFreq->setEnabled(false); - if(m_rig!=9999) delete rig; + if(m_rig<9900) delete rig; m_bRigOpen=false; m_catEnabled=false; + m_CATerror=false; } dlg.initDlg(); @@ -678,9 +724,7 @@ void MainWindow::on_actionDeviceSetup_triggered() //Setup Dialog m_pttMethodIndex=dlg.m_pttMethodIndex; m_pttPort=dlg.m_pttPort; m_saveDir=dlg.m_saveDir; - m_nDevIn=dlg.m_nDevIn; m_paInDevice=dlg.m_paInDevice; - m_nDevOut=dlg.m_nDevOut; m_paOutDevice=dlg.m_paOutDevice; m_macro=dlg.m_macro; m_dFreq=dlg.m_dFreq; @@ -700,6 +744,8 @@ void MainWindow::on_actionDeviceSetup_triggered() //Setup Dialog m_bDTRoff=dlg.m_bDTRoff; m_pttData=dlg.m_pttData; m_poll=dlg.m_poll; + m_bSplit=dlg.m_bSplit; + m_bXIT=dlg.m_bXIT; #ifdef WIN32 if(dlg.m_pskReporter!=m_pskReporter) { @@ -718,12 +764,14 @@ void MainWindow::on_actionDeviceSetup_triggered() //Setup Dialog } } #endif + m_pskReporter=dlg.m_pskReporter; #ifdef UNIX - psk_Reporter->setLocalStation(m_myCall,m_myGrid, "WSJT-X r" + rev.mid(6,4) ); + if(m_pskReporter) { + psk_Reporter->setLocalStation(m_myCall,m_myGrid, "WSJT-X r" + rev.mid(6,4) ); + } #endif - m_pskReporter=dlg.m_pskReporter; m_After73=dlg.m_After73; if(dlg.m_restartSoundIn) { @@ -743,6 +791,8 @@ void MainWindow::on_actionDeviceSetup_triggered() //Setup Dialog if(m_catEnabled) { rigOpen(); + } else { + ui->readFreq->setStyleSheet(""); } } @@ -799,32 +849,32 @@ void MainWindow::keyPressEvent( QKeyEvent *e ) //keyPressEvent { case Qt::Key_1: if(e->modifiers() & Qt::AltModifier) { - ui->txrb1->setChecked(true); + on_txb1_clicked(); break; } case Qt::Key_2: if(e->modifiers() & Qt::AltModifier) { - ui->txrb2->setChecked(true); + on_txb2_clicked(); break; } case Qt::Key_3: if(e->modifiers() & Qt::AltModifier) { - ui->txrb3->setChecked(true); + on_txb3_clicked(); break; } case Qt::Key_4: if(e->modifiers() & Qt::AltModifier) { - ui->txrb4->setChecked(true); + on_txb4_clicked(); break; } case Qt::Key_5: if(e->modifiers() & Qt::AltModifier) { - ui->txrb5->setChecked(true); + on_txb5_clicked(); break; } case Qt::Key_6: if(e->modifiers() & Qt::AltModifier) { - ui->txrb6->setChecked(true); + on_txb6_clicked(); break; } case Qt::Key_D: @@ -839,10 +889,6 @@ void MainWindow::keyPressEvent( QKeyEvent *e ) //keyPressEvent case Qt::Key_F4: ui->dxCallEntry->setText(""); ui->dxGridEntry->setText(""); - if(m_kb8rq) { - m_ntx=6; - ui->txrb6->setChecked(true); - } case Qt::Key_F6: if(e->modifiers() & Qt::ShiftModifier) { on_actionDecode_remaining_files_in_directory_triggered(); @@ -898,10 +944,10 @@ void MainWindow::bumpFqso(int n) //bumpFqso() int i; bool ctrl = (n>=100); n=n%100; - i=g_pWideGraph->QSOfreq(); + i=g_pWideGraph->rxFreq(); if(n==11) i--; if(n==12) i++; - g_pWideGraph->setQSOfreq(i); + g_pWideGraph->setRxFreq(i); if(ctrl) { ui->TxFreqSpinBox->setValue(i); g_pWideGraph->setTxFreq(i); @@ -970,21 +1016,15 @@ void MainWindow::createStatusBar() //createStatusBar lab3 = new QLabel(""); lab3->setAlignment(Qt::AlignHCenter); - lab3->setMinimumSize(QSize(90,18)); + lab3->setMinimumSize(QSize(80,18)); lab3->setFrameStyle(QFrame::Panel | QFrame::Sunken); statusBar()->addWidget(lab3); lab4 = new QLabel(""); lab4->setAlignment(Qt::AlignHCenter); - lab4->setMinimumSize(QSize(50,18)); + lab4->setMinimumSize(QSize(150,18)); lab4->setFrameStyle(QFrame::Panel | QFrame::Sunken); statusBar()->addWidget(lab4); - - lab5 = new QLabel(""); - lab5->setAlignment(Qt::AlignHCenter); - lab5->setMinimumSize(QSize(150,18)); - lab5->setFrameStyle(QFrame::Panel | QFrame::Sunken); - statusBar()->addWidget(lab5); } void MainWindow::on_actionExit_triggered() //Exit() @@ -1029,7 +1069,7 @@ void MainWindow::msgBox(QString t) //msgBox void MainWindow::on_actionOnline_Users_Guide_triggered() //Display manual { QDesktopServices::openUrl(QUrl( - "http://www.physics.princeton.edu/pulsar/K1JT/WSJT-X_Users_Guide.pdf", + "http://www.physics.princeton.edu/pulsar/K1JT/WSJT-X_Users_Guide_v1.1.pdf", QUrl::TolerantMode)); } @@ -1046,6 +1086,8 @@ void MainWindow::on_actionWide_Waterfall_triggered() //Display Waterfalls SLOT(freezeDecode(int))); connect(g_pWideGraph, SIGNAL(f11f12(int)),this, SLOT(bumpFqso(int))); + connect(g_pWideGraph, SIGNAL(setXIT2(int)),this, + SLOT(setXIT(int))); // connect(g_pWideGraph, SIGNAL(dialFreqChanged(double)),this, // SLOT(dialFreqChanged2(double))); } @@ -1146,30 +1188,15 @@ void MainWindow::on_actionDelete_all_wav_files_in_SaveDir_triggered() } } -void MainWindow::on_actionF4_sets_Tx6_triggered() //F4 sets Tx6 -{ - m_kb8rq = !m_kb8rq; -} - void MainWindow::on_actionNone_triggered() //Save None { - m_saveSynced=false; m_saveDecoded=false; m_saveAll=false; ui->actionNone->setChecked(true); } -void MainWindow::on_actionSave_synced_triggered() -{ - m_saveSynced=true; - m_saveDecoded=false; - m_saveAll=false; - ui->actionSave_synced->setChecked(true); -} - void MainWindow::on_actionSave_decoded_triggered() { - m_saveSynced=false; m_saveDecoded=true; m_saveAll=false; ui->actionSave_decoded->setChecked(true); @@ -1177,7 +1204,6 @@ void MainWindow::on_actionSave_decoded_triggered() void MainWindow::on_actionSave_all_triggered() //Save All { - m_saveSynced=false; m_saveDecoded=false; m_saveAll=true; ui->actionSave_all->setChecked(true); @@ -1248,7 +1274,7 @@ void MainWindow::on_DecodeButton_clicked() //Decode request void MainWindow::freezeDecode(int n) //freezeDecode() { bool ctrl = (n>=100); - int i=g_pWideGraph->QSOfreq(); + int i=g_pWideGraph->rxFreq(); if(ctrl) { ui->TxFreqSpinBox->setValue(i); g_pWideGraph->setTxFreq(i); @@ -1258,6 +1284,7 @@ void MainWindow::freezeDecode(int n) //freezeDecode() void MainWindow::decode() //decode() { + if(!m_dataAvailable) return; ui->DecodeButton->setStyleSheet(m_pbdecoding_style1); if(jt9com_.nagain==0 && (!m_diskData)) { qint64 ms = QDateTime::currentMSecsSinceEpoch() % 86400000; @@ -1268,21 +1295,26 @@ void MainWindow::decode() //decode() jt9com_.nutc=100*ihr + imin; } - jt9com_.nfqso=g_pWideGraph->QSOfreq(); + jt9com_.nfqso=g_pWideGraph->rxFreq(); jt9com_.ndepth=m_ndepth; jt9com_.ndiskdat=0; if(m_diskData) jt9com_.ndiskdat=1; - jt9com_.nfa=g_pWideGraph->getFmin(); - jt9com_.nfb=g_pWideGraph->getFmax(); - - jt9com_.ntol=3; + int nfa=g_pWideGraph->getFmin(); + int nfb=g_pWideGraph->getFmax(); + if(m_mode=="JT9") nfa=200; //decode from 0 to fmax + if(m_mode=="JT65") nfa=nfb; //decode from 0 to fmax + jt9com_.nfa=nfa; + jt9com_.nfb=nfb; + jt9com_.ntol=20; if(jt9com_.nutc < m_nutc0) m_RxLog |= 1; //Date and Time to all.txt m_nutc0=jt9com_.nutc; - jt9com_.nrxlog=m_RxLog; - jt9com_.nfsample=12000; + jt9com_.ntxmode=9; + if(m_modeTx=="JT65") jt9com_.ntxmode=65; + jt9com_.nmode=9; + if(m_mode=="JT65") jt9com_.nmode=65; + if(m_mode=="JT9+JT65") jt9com_.nmode=9+65; jt9com_.ntrperiod=m_TRperiod; m_nsave=0; - if(m_saveSynced) m_nsave=1; if(m_saveDecoded) m_nsave=2; jt9com_.nsave=m_nsave; strncpy(jt9com_.datetime, m_dateTime.toLatin1(), 20); @@ -1294,7 +1326,7 @@ void MainWindow::decode() //decode() char *from = (char*) jt9com_.ss; int size=sizeof(jt9com_); if(jt9com_.newdat==0) { - int noffset = 4*184*NSMAX + 4*NSMAX + 4*2*NTMAX*1500 + 2*NTMAX*12000; + int noffset = 4*184*NSMAX + 4*NSMAX + 2*NTMAX*12000; to += noffset; from += noffset; size -= noffset; @@ -1325,10 +1357,8 @@ void MainWindow::readFromStdout() //readFromStdout while(proc_jt9.canReadLine()) { QByteArray t=proc_jt9.readLine(); if(t.indexOf("") >= 0) { - m_bsynced = (t.mid(19,1).toInt()==1); m_bdecoded = (t.mid(23,1).toInt()==1); - bool keepFile=m_saveAll or (m_saveSynced and m_bsynced) or - (m_saveDecoded and m_bdecoded); + bool keepFile=m_saveAll or (m_saveDecoded and m_bdecoded); if(!keepFile and !m_diskData) killFileTimer->start(45*1000); //Kill in 45 s jt9com_.nagain=0; jt9com_.ndiskdat=0; @@ -1372,12 +1402,11 @@ void MainWindow::readFromStdout() //readFromStdout QString bg="white"; if(t.indexOf(" CQ ")>0) bg="#66ff66"; //green if(m_myCall!="" and t.indexOf(" "+m_myCall+" ")>0) bg="#ff6666"; //red - bool bQSO=abs(t.mid(22,4).toInt() - g_pWideGraph->QSOfreq()) < 10; - QString t1=t.mid(0,5) + t.mid(10,4) + t.mid(15,5) + t.mid(22,4) + - t.mid(32); - t1=t1.replace("\n","").mid(0,t1.length()-4); + bool bQSO=abs(t.mid(14,4).toInt() - g_pWideGraph->rxFreq()) < 10; + QString t1=t.replace("\n","").mid(0,t.length()-4); QString s = "
" + t1 + "
"; + bool b65=t1.indexOf("#")==19; if(bQSO) { cursor = ui->decodedTextBrowser2->textCursor(); cursor.movePosition(QTextCursor::End); @@ -1386,6 +1415,8 @@ void MainWindow::readFromStdout() //readFromStdout cursor.insertHtml(s); ui->decodedTextBrowser2->setTextCursor(cursor); m_QSOmsg=t1; + if(b65 and m_modeTx!="JT65") on_pbTxMode_clicked(); + if(!b65 and m_modeTx=="JT65") on_pbTxMode_clicked(); } if(jt9com_.nagain==0) { @@ -1401,7 +1432,7 @@ void MainWindow::readFromStdout() //readFromStdout ui->decodedTextBrowser->setTextCursor(cursor); } - QString msg=t.mid(34); + QString msg=t.mid(21); int i1=msg.indexOf("\r"); if(i1>0) msg=msg.mid(0,i1-1) + " "; bool b=stdmsg_(msg.mid(0,22).toLatin1().constData(),22); @@ -1425,30 +1456,30 @@ void MainWindow::readFromStdout() //readFromStdout int nsec=QDateTime::currentMSecsSinceEpoch()/1000-m_secBandChanged; bool okToPost=(nsec>50); + QString msgmode="JT9"; + if(b65) msgmode="JT65"; + i1=msg.indexOf(" "); + QString c2=msg.mid(i1+1); + int i2=c2.indexOf(" "); + QString g2=c2.mid(i2+1,4); + c2=c2.mid(0,i2); + QString remote="call," + c2 + ","; + if(gridOK(g2)) remote += "gridsquare," + g2 + ","; + int nHz=t.mid(14,4).toInt(); + uint nfreq=1000000.0*m_dialFreq + nHz + 0.5; + remote += "freq," + QString::number(nfreq); + int nsnr=t.mid(5,3).toInt(); + remote += ",mode," + msgmode + ",snr," + QString::number(nsnr) + ",,"; + wchar_t tremote[256]; + remote.toWCharArray(tremote); #ifdef WIN32 if(m_pskReporterInit and b and !m_diskData and okToPost) { - int i1=msg.indexOf(" "); - QString c2=msg.mid(i1+1); - int i2=c2.indexOf(" "); - QString g2=c2.mid(i2+1,4); - c2=c2.mid(0,i2); - QString remote="call," + c2 + ","; - if(gridOK(g2)) remote += "gridsquare," + g2 + ","; - int nHz=t.mid(22,4).toInt(); - uint nfreq=1000000.0*m_dialFreq + nHz + 0.5; - remote += "freq," + QString::number(nfreq); - int nsnr=t.mid(10,3).toInt(); - remote += ",mode,JT9,snr," + QString::number(nsnr) + ",,"; - - wchar_t tremote[256]; - remote.toWCharArray(tremote); - - QString local="station_callsign," + m_myCall + "," + - "my_gridsquare," + m_myGrid + ","; - if(m_pskAntenna!="") local += "my_antenna," + m_pskAntenna + ","; - local += "programid,WSJT-X,programversion," + rev.mid(6,4) + ",,"; + QString local="station_callsign#" + m_myCall + "#" + + "my_gridsquare#" + m_myGrid + "#"; + if(m_pskAntenna!="") local += "my_antenna#" + m_pskAntenna + "#"; + local += "programid#WSJT-X#programversion#" + rev.mid(6,4) + "##"; wchar_t tlocal[256]; local.toWCharArray(tlocal); @@ -1456,28 +1487,20 @@ void MainWindow::readFromStdout() //readFromStdout rc=ReporterSeenCallsign(tremote,tlocal,flags); if(rc!=0) { ReporterGetInformation(buffer,256); - qDebug() << "C:" << rc << QString::fromStdWString(buffer); } rc=ReporterTickle(); if(rc!=0) { rc=ReporterGetInformation(buffer,256); - qDebug() << "D:" << QString::fromStdWString(buffer); } } #else - if(b and !m_diskData and okToPost) { - int i1=msg.indexOf(" "); - QString c2=msg.mid(i1+1); - int i2=c2.indexOf(" "); - QString g2=c2.mid(i2+1,4); - c2=c2.mid(0,i2); - int nHz=t.mid(22,4).toInt(); - QString freq = QString::number((int)(1000000.0*m_dialFreq + - nHz + 0.5)); - QString snr= QString::number(t.mid(10,3).toInt()); - if(gridOK(g2)) - psk_Reporter->addRemoteStation(c2,g2,freq,"JT9",snr, + if(m_pskReporter and b and !m_diskData and okToPost) { + QString freq = QString::number(nfreq); + QString snr= QString::number(nsnr); + if(gridOK(g2)) { + psk_Reporter->addRemoteStation(c2,g2,freq,msgmode,snr, QString::number(QDateTime::currentDateTime().toTime_t())); + } } #endif } @@ -1520,16 +1543,17 @@ void MainWindow::guiUpdate() { static int iptt0=0; static bool btxok0=false; - static int nc0=1; static char message[29]; static char msgsent[29]; static int nsendingsh=0; - int khsym=0; + static int giptt00=-1; + static int gcomport00=-1; int ret=0; QString rt; double tx1=0.0; double tx2=1.0 + 85.0*m_nsps/12000.0 + icw[0]*2560.0/48000.0; + if(m_modeTx=="JT65") tx2=1.0 + 126*4096/11025.0 + icw[0]*2560.0/48000.0; if(!m_txFirst) { tx1 += m_TRperiod; @@ -1548,12 +1572,12 @@ void MainWindow::guiUpdate() } float fTR=float((nsec%m_TRperiod))/m_TRperiod; - if(m_iptt==0 and ((bTxTime and !btxMute and fTR<0.4) or m_tune )) { + if(g_iptt==0 and ((bTxTime and !btxMute and fTR<0.4) or m_tune )) { icw[0]=m_ncw; //Raise PTT if(m_catEnabled and m_bRigOpen and m_pttMethodIndex==0) { - m_iptt=1; + g_iptt=1; if(m_pttData) ret=rig->setPTT(RIG_PTT_ON_DATA, RIG_VFO_CURR); if(!m_pttData) ret=rig->setPTT(RIG_PTT_ON_MIC, RIG_VFO_CURR); if(ret!=RIG_OK) { @@ -1562,11 +1586,14 @@ void MainWindow::guiUpdate() } } + if(m_pttMethodIndex==1 or m_pttMethodIndex==2) { //DTR or RTS - ptt(m_pttPort,1,&m_iptt,&m_COMportOpen); +// qDebug() << "guiUpdate, line 1585:" << m_pttPort << 1 << g_iptt << g_COMportOpen; + ptt(m_pttPort,1,&g_iptt,&g_COMportOpen); +// qDebug() << "guiUpdate, line 1588:" << m_pttPort << 1 << g_iptt << g_COMportOpen; } if(m_pttMethodIndex==3) { //VOX - m_iptt=1; + g_iptt=1; } ptt1Timer->start(200); //Sequencer delay } @@ -1576,7 +1603,7 @@ void MainWindow::guiUpdate() } // Calculate Tx tones when needed - if((m_iptt==1 && iptt0==0) || m_restart) { + if((g_iptt==1 && iptt0==0) || m_restart) { QByteArray ba; if(m_ntx == 1) ba=ui->tx1->text().toLocal8Bit(); if(m_ntx == 2) ba=ui->tx2->text().toLocal8Bit(); @@ -1591,11 +1618,12 @@ void MainWindow::guiUpdate() // ba2msg(ba,msgsent); int len1=22; int ichk=0,itext=0; - genjt9_(message,&ichk,msgsent,itone,&itext,len1,len1); + if(m_modeTx=="JT9") genjt9_(message,&ichk,msgsent,itone,&itext,len1,len1); + if(m_modeTx=="JT65") gen65_(message,&ichk,msgsent,itone,&itext,len1,len1); msgsent[22]=0; QString t=QString::fromLatin1(msgsent); if(m_tune) t="TUNE"; - lab5->setText("Last Tx: " + t); + lab4->setText("Last Tx: " + t); if(m_restart) { QFile f("ALL.TXT"); f.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append); @@ -1649,7 +1677,8 @@ void MainWindow::guiUpdate() // If PTT was just raised, start a countdown for raising TxOK: - if(m_iptt == 1 && iptt0 == 0) { +// NB: could be better implemented with a timer + if(g_iptt == 1 && iptt0 == 0) { nc1=-9; // TxDelay = 0.8 s } if(nc1 <= 0) { @@ -1669,6 +1698,7 @@ void MainWindow::guiUpdate() soundInThread.setMonitoring(false); btxok=true; m_transmitting=true; + ui->pbTxMode->setEnabled(false); if(!m_tune) { QFile f("ALL.TXT"); f.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append); @@ -1681,36 +1711,15 @@ void MainWindow::guiUpdate() if(m_tx2QSO and !m_tune) displayTxMsg(t); } - if(!btxok && btxok0 && m_iptt==1) stopTx(); + if(!btxok && btxok0 && g_iptt==1) stopTx(); +/* // If btxok was just lowered, start a countdown for lowering PTT - if(!btxok && btxok0 && m_iptt==1) nc0=-11; //RxDelay = 1.0 s + if(!btxok && btxok0 && g_iptt==1) nc0=-11; //RxDelay = 1.0 s if(nc0 <= 0) { nc0++; } - - if(nc0 == 0) { - //Lower PTT - if(m_catEnabled and m_bRigOpen and m_pttMethodIndex==0) { - m_iptt=0; - ret=rig->setPTT(RIG_PTT_OFF, RIG_VFO_CURR); //CAT control for PTT=0 - if(ret!=RIG_OK) { - rt.sprintf("CAT control PTT failed: %d",ret); - msgBox(rt); - } - } - if(m_pttMethodIndex==1 or m_pttMethodIndex==2) { //DTR-RTS - ptt(m_pttPort,0,&m_iptt,&m_COMportOpen); - } - if(m_pttMethodIndex==3) { //VOX - m_iptt=0; - } - } - - if(m_iptt == 0 && !btxok) { - // sending="" - // nsendingsh=0 - } +*/ if(m_monitoring) { ui->monitorButton->setStyleSheet(m_pbmonitor_style); @@ -1718,8 +1727,6 @@ void MainWindow::guiUpdate() ui->monitorButton->setStyleSheet(""); } - lab3->setText("QSO Freq: " + QString::number(g_pWideGraph->QSOfreq())); - if(m_startAnother) { m_startAnother=false; on_actionOpen_next_in_directory_triggered(); @@ -1765,24 +1772,31 @@ void MainWindow::guiUpdate() if(m_catEnabled and m_poll>0 and (nsec%m_poll)==0) { if(m_dontReadFreq) { m_dontReadFreq=false; - } else { + } else if(!m_transmitting) { double fMHz=rig->getFreq(RIG_VFO_CURR)/1000000.0; if(fMHz<0.0) { rt.sprintf("Rig control error %d\nFailed to read frequency.", int(1000000.0*fMHz)); msgBox(rt); m_catEnabled=false; + ui->readFreq->setStyleSheet("QPushButton{background-color: red; \ + border-width: 0px; border-radius: 5px;}"); } int ndiff=1000000.0*(fMHz-m_dialFreq); if(ndiff!=0) dialFreqChanged2(fMHz); } } - m_hsym0=khsym; m_sec0=nsec; } - iptt0=m_iptt; + if(g_iptt!=giptt00 or g_COMportOpen!=gcomport00) { +// qDebug() << "guiUpdate line 1788:" << g_iptt << g_COMportOpen; + giptt00=g_iptt; + gcomport00=g_COMportOpen; + } + + iptt0=g_iptt; btxok0=btxok; } //End of GUIupdate @@ -1791,7 +1805,12 @@ void MainWindow::displayTxMsg(QString t) QString bg="yellow"; QTextBlockFormat bf; QTextCursor cursor; - t=QDateTime::currentDateTimeUtc().toString("hhmmss Tx: ") + t; + QString t1=" @ "; + if(m_modeTx=="JT65") t1=" # "; + QString t2; + t2.sprintf("%4d",m_txFreq); + t=QDateTime::currentDateTimeUtc().toString("hhmm") + \ + " Tx " + t2 + t1 + t; QString s = "
" + t + "
"; cursor = ui->decodedTextBrowser2->textCursor(); @@ -1809,12 +1828,14 @@ void MainWindow::startTx2() double snr=t.mid(1,5).toDouble(); if(snr>0.0 or snr < -50.0) snr=99.0; soundOutThread.setTxSNR(snr); + soundOutThread.m_modeTx=m_modeTx; soundOutThread.start(QThread::HighestPriority); ui->xThermo->setValue(0.0); //Set Thermo to zero m_monitoring=false; soundInThread.setMonitoring(false); btxok=true; m_transmitting=true; + ui->pbTxMode->setEnabled(false); } } @@ -1825,7 +1846,9 @@ void MainWindow::stopTx() soundOutThread.wait(3000); } m_transmitting=false; - m_iptt=0; + ui->pbTxMode->setEnabled(true); + g_iptt=0; +// qDebug() << "stopTx, line 1845:" << g_iptt << g_COMportOpen; lab1->setStyleSheet(""); lab1->setText(""); ptt0Timer->start(200); //Sequencer delay @@ -1847,7 +1870,8 @@ void MainWindow::stopTx2() } } if(m_pttMethodIndex==1 or m_pttMethodIndex==2) { - ptt(m_pttPort,0,&m_iptt,&m_COMportOpen); +// qDebug() << "stopTx2, line 1867):" << g_iptt << g_COMportOpen; + ptt(m_pttPort,0,&g_iptt,&g_COMportOpen); } if(m_73TxDisable and m_sent73) on_stopTxButton_clicked(); @@ -1930,6 +1954,7 @@ void MainWindow::doubleClickOnCall2(bool shift, bool ctrl) doubleClickOnCall(shift,ctrl); m_decodedText2=false; } + void MainWindow::doubleClickOnCall(bool shift, bool ctrl) { QTextCursor cursor; @@ -1972,19 +1997,32 @@ void MainWindow::doubleClickOnCall(bool shift, bool ctrl) m_QSOmsg=t2; } - int nfreq=int(t4.at(3).toFloat()); - g_pWideGraph->setQSOfreq(nfreq); //Set Rx freq - QString firstcall=t4.at(4); + int nfreq=t4.at(3).toInt(); + if(t4.at(1)=="Tx") nfreq=t4.at(2).toInt(); + g_pWideGraph->setRxFreq(nfreq); //Set Rx freq + if(t4.at(1)=="Tx") return; + + if(t4.at(4)=="@") { + m_modeTx="JT9"; + ui->pbTxMode->setText("Tx JT9 @"); + g_pWideGraph->setModeTx(m_modeTx); + } + if(t4.at(4)=="#") { + m_modeTx="JT65"; + ui->pbTxMode->setText("Tx JT65 #"); + g_pWideGraph->setModeTx(m_modeTx); + } + QString firstcall=t4.at(5); // Don't change Tx freq if a station is calling me, unless m_lockTxFreq // is true or CTRL is held down or if((firstcall!=m_myCall) or m_lockTxFreq or ctrl) { ui->TxFreqSpinBox->setValue(nfreq); } - QString hiscall=t4.at(5); + QString hiscall=t4.at(6); QString hisgrid=""; - if(t4.length()>=7) hisgrid=t4.at(6); + if(t4.length()>=8) hisgrid=t4.at(7); + if(hiscall!=ui->dxCallEntry->text()) ui->dxGridEntry->setText(""); ui->dxCallEntry->setText(hiscall); - ui->dxGridEntry->setText(""); if(gridOK(hisgrid)) ui->dxGridEntry->setText(hisgrid); if(ui->dxGridEntry->text()=="") lookup(); m_hisGrid=ui->dxGridEntry->text(); @@ -2005,8 +2043,8 @@ void MainWindow::doubleClickOnCall(bool shift, bool ctrl) ui->rptSpinBox->setValue(rpt.toInt()); genStdMsgs(rpt); if(t2.indexOf(m_myCall)>=0) { - if(t4.length()>=7 and !gridOK(t4.at(6))) { - QString r=t4.at(6); + if(t4.length()>=7 and !gridOK(t4.at(7))) { + QString r=t4.at(7); if(r.mid(0,3)=="RRR") { m_ntx=5; ui->txrb5->setChecked(true); @@ -2362,7 +2400,7 @@ void MainWindow::on_logQSOButton_clicked() //Log QSO button logDlg->m_saveComments=m_saveComments; logDlg->m_txPower=m_txPower; logDlg->m_comments=m_logComments; - logDlg->initLogQSO(m_hisCall,m_hisGrid,m_mode,m_rptSent,m_rptRcvd, + logDlg->initLogQSO(m_hisCall,m_hisGrid,m_modeTx,m_rptSent,m_rptRcvd, m_dateTimeQSO,m_dialFreq+m_txFreq/1.0e6, m_myCall,m_myGrid,m_noSuffix,m_toRTTY,m_dBtoComments); connect(logDlg, SIGNAL(acceptQSO(bool)),this,SLOT(acceptQSO2(bool))); @@ -2393,101 +2431,76 @@ void MainWindow::acceptQSO2(bool accepted) void MainWindow::on_actionJT9_1_triggered() { - m_mode="JT9-1"; + m_mode="JT9"; + if(m_modeTx!="JT9") on_pbTxMode_clicked(); statusChanged(); m_TRperiod=60; m_nsps=6912; m_hsymStop=173; soundInThread.setPeriod(m_TRperiod,m_nsps); soundOutThread.setPeriod(m_TRperiod,m_nsps); - g_pWideGraph->setPeriod(m_TRperiod,m_nsps); - lab4->setStyleSheet("QLabel{background-color: #ff6ec7}"); - lab4->setText(m_mode); + lab3->setStyleSheet("QLabel{background-color: #ff6ec7}"); + lab3->setText(m_mode); ui->actionJT9_1->setChecked(true); - //m_fMax=2000; - //ui->fMaxSpinBox->setValue(m_fMax); - g_pWideGraph->setfMax(2000); + g_pWideGraph->setPeriod(m_TRperiod,m_nsps); + g_pWideGraph->setMode(m_mode); + g_pWideGraph->setModeTx(m_modeTx); + ui->pbTxMode->setEnabled(false); } -void MainWindow::on_actionJT9_2_triggered() +void MainWindow::on_actionJT65_triggered() { - m_mode="JT9-2"; + m_mode="JT65"; + if(m_modeTx!="JT65") on_pbTxMode_clicked(); statusChanged(); - m_TRperiod=120; - m_nsps=15360; - m_hsymStop=178; + m_TRperiod=60; + m_nsps=6912; //For symspec only + m_hsymStop=173; soundInThread.setPeriod(m_TRperiod,m_nsps); soundOutThread.setPeriod(m_TRperiod,m_nsps); + lab3->setStyleSheet("QLabel{background-color: #ffff00}"); + lab3->setText(m_mode); + ui->actionJT65->setChecked(true); g_pWideGraph->setPeriod(m_TRperiod,m_nsps); - lab4->setStyleSheet("QLabel{background-color: #ffff00}"); - lab4->setText(m_mode); - ui->actionJT9_2->setChecked(true); - //m_fMax=2000; - //ui->fMaxSpinBox->setValue(m_fMax); - g_pWideGraph->setfMax(2000); + g_pWideGraph->setMode(m_mode); + g_pWideGraph->setModeTx(m_modeTx); + ui->pbTxMode->setEnabled(false); } -void MainWindow::on_actionJT9_5_triggered() +void MainWindow::on_actionJT9_JT65_triggered() { - m_mode="JT9-5"; + m_mode="JT9+JT65"; +// if(m_modeTx!="JT9") on_pbTxMode_clicked(); statusChanged(); - m_TRperiod=300; - m_nsps=40960; - m_hsymStop=172; + m_TRperiod=60; + m_nsps=6912; + m_hsymStop=173; soundInThread.setPeriod(m_TRperiod,m_nsps); soundOutThread.setPeriod(m_TRperiod,m_nsps); + lab3->setStyleSheet("QLabel{background-color: #ffa500}"); + lab3->setText(m_mode); + ui->actionJT9_JT65->setChecked(true); g_pWideGraph->setPeriod(m_TRperiod,m_nsps); - lab4->setStyleSheet("QLabel{background-color: #ffa500}"); - lab4->setText(m_mode); - ui->actionJT9_5->setChecked(true); - //m_fMax=1300; - //ui->fMaxSpinBox->setValue(m_fMax); - g_pWideGraph->setfMax(1300); -} - -void MainWindow::on_actionJT9_10_triggered() -{ - m_mode="JT9-10"; - statusChanged(); - m_TRperiod=600; - m_nsps=82944; - m_hsymStop=171; - soundInThread.setPeriod(m_TRperiod,m_nsps); - soundOutThread.setPeriod(m_TRperiod,m_nsps); - g_pWideGraph->setPeriod(m_TRperiod,m_nsps); - lab4->setStyleSheet("QLabel{background-color: #7fff00}"); - lab4->setText(m_mode); - ui->actionJT9_10->setChecked(true); - //m_fMax=1150; - //ui->fMaxSpinBox->setValue(m_fMax); - g_pWideGraph->setfMax(1150); -} - -void MainWindow::on_actionJT9_30_triggered() -{ - m_mode="JT9-30"; - statusChanged(); - m_TRperiod=1800; - m_nsps=252000; - m_hsymStop=167; - soundInThread.setPeriod(m_TRperiod,m_nsps); - soundOutThread.setPeriod(m_TRperiod,m_nsps); - g_pWideGraph->setPeriod(m_TRperiod,m_nsps); - lab4->setStyleSheet("QLabel{background-color: #97ffff}"); - lab4->setText(m_mode); - ui->actionJT9_30->setChecked(true); - //m_fMax=1050; - //ui->fMaxSpinBox->setValue(m_fMax); - g_pWideGraph->setfMax(1050); + g_pWideGraph->setMode(m_mode); + g_pWideGraph->setModeTx(m_modeTx); + ui->pbTxMode->setEnabled(true); } void MainWindow::on_TxFreqSpinBox_valueChanged(int n) { m_txFreq=n; if(g_pWideGraph!=NULL) g_pWideGraph->setTxFreq(n); + if(m_lockTxFreq) ui->RxFreqSpinBox->setValue(n); soundOutThread.setTxFreq(n); } +void MainWindow::on_RxFreqSpinBox_valueChanged(int n) +{ + m_rxFreq=n; + if(g_pWideGraph!=NULL) g_pWideGraph->setRxFreq(n); + if(m_lockTxFreq) ui->TxFreqSpinBox->setValue(n); +} + void MainWindow::on_actionQuickDecode_triggered() { m_ndepth=1; @@ -2638,6 +2651,9 @@ void MainWindow::on_bandComboBox_activated(int index) if(m_bRigOpen) { m_dontReadFreq=true; ret=rig->setFreq(MHz(m_dialFreq)); +// ret=rig->setSplitFreq(MHz(m_dialFreq),RIG_VFO_B); + bumpFqso(11); + bumpFqso(12); if(ret!=RIG_OK) { rt.sprintf("Set rig frequency failed: %d",ret); msgBox(rt); @@ -2783,11 +2799,6 @@ void MainWindow::on_actionRunaway_Tx_watchdog_triggered(bool checked) m_runaway=checked; } -void MainWindow::on_actionTx2QSO_triggered(bool checked) -{ - m_tx2QSO=checked; -} - void MainWindow::on_tuneButton_clicked() { if(m_tune) { @@ -2820,12 +2831,16 @@ void MainWindow::rigOpen() int ret; rig = new Rig(); - if(m_rig != 9999) { + if(m_rig<9900) { if (!rig->init(m_rig)) { msgBox("Rig init failure"); return; } - rig->setConf("rig_pathname", m_catPort.toLatin1().data()); + QString sCATport=m_catPort; +#ifdef WIN32 + sCATport="\\\\.\\" + m_catPort; //Allow COM ports above 9 +#endif + rig->setConf("rig_pathname", sCATport.toLatin1().data()); char buf[80]; sprintf(buf,"%d",m_serialRate); rig->setConf("serial_speed",buf); @@ -2844,23 +2859,28 @@ void MainWindow::rigOpen() if(ret==RIG_OK) { m_bRigOpen=true; if(m_poll==0) ui->readFreq->setEnabled(true); + m_CATerror=false; } else { t="Open rig failed"; msgBox(t); m_catEnabled=false; m_bRigOpen=false; + m_CATerror=true; } +// qDebug() << "A" << m_bRigOpen << m_poll << m_CATerror; if(m_bRigOpen) { if(m_poll>0) { - ui->readFreq->setStyleSheet("QPushButton{background-color: red; \ + ui->readFreq->setStyleSheet("QPushButton{background-color: #00ff00; \ border-width: 0px; border-radius: 5px;}"); } else { ui->readFreq->setStyleSheet("QPushButton{background-color: orange; \ - border-width: 0px; border-radius: 5px;}"); + border-width: 0px; border-radius: 5px;}"); } - } else { - ui->readFreq->setStyleSheet(""); +} else { +if(m_CATerror) ui->readFreq->setStyleSheet("QPushButton{background-color: red; \ + border-width: 0px; border-radius: 5px;}"); +if(!m_CATerror) ui->readFreq->setStyleSheet(""); } } @@ -2871,18 +2891,19 @@ void MainWindow::on_actionAllow_multiple_instances_triggered(bool checked) void MainWindow::on_pbR2T_clicked() { - int n=g_pWideGraph->QSOfreq(); + int n=g_pWideGraph->rxFreq(); ui->TxFreqSpinBox->setValue(n); } void MainWindow::on_pbT2R_clicked() { - g_pWideGraph->setQSOfreq(m_txFreq); + g_pWideGraph->setRxFreq(m_txFreq); } void MainWindow::on_readFreq_clicked() { + if(m_transmitting) return; m_dontReadFreq=false; double fMHz=rig->getFreq(RIG_VFO_CURR)/1000000.0; if(fMHz<0.0) { @@ -2897,9 +2918,54 @@ void MainWindow::on_readFreq_clicked() if(ndiff!=0) dialFreqChanged2(fMHz); } +void MainWindow::on_pbTxMode_clicked() +{ + if(m_modeTx=="JT9") { + m_modeTx="JT65"; + ui->pbTxMode->setText("Tx JT65 #"); + } else { + m_modeTx="JT9"; + ui->pbTxMode->setText("Tx JT9 @"); + } + g_pWideGraph->setModeTx(m_modeTx); +} -void MainWindow::on_actionLockTxFreq_triggered(bool checked) +void MainWindow::setXIT(int n) +{ + int ret; + int xit=0; + if(m_bRigOpen) { + xit=-1000; + if(n>1000) xit=0; + if(n>2000) xit=1000; + if(n>3000) xit=2000; + if(n>4000) xit=3000; + if(m_bXIT) { + ret=rig->setXit((shortfreq_t)xit,RIG_VFO_TX); +// ret=rig->setSplitFreq(MHz(m_dialFreq),RIG_VFO_A); + + } + if(m_bSplit) ret=rig->setSplitFreq(MHz(m_dialFreq)+xit,RIG_VFO_B); + } + soundOutThread.setXIT(xit); +} + +void MainWindow::setFreq4(int rxFreq, int txFreq) +{ + m_rxFreq=rxFreq; + m_txFreq=txFreq; + ui->RxFreqSpinBox->setValue(m_rxFreq); + ui->TxFreqSpinBox->setValue(m_txFreq); +} + +void MainWindow::on_cbTxLock_clicked(bool checked) { m_lockTxFreq=checked; - g_pWideGraph->m_lockTxFreq=checked; + g_pWideGraph->setLockTxFreq(m_lockTxFreq); + if(m_lockTxFreq) on_pbR2T_clicked(); +} + +void MainWindow::on_actionTx2QSO_triggered(bool checked) +{ + m_tx2QSO=checked; } diff --git a/mainwindow.h b/mainwindow.h index 792230ace..1df7be5e5 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -43,6 +43,8 @@ public slots: void readFromStdout(); void readFromStderr(); void jt9_error(); + void setXIT(int n); + void setFreq4(int rxFreq, int txFreq); protected: virtual void keyPressEvent( QKeyEvent *e ); @@ -72,7 +74,6 @@ private slots: void on_actionOpen_next_in_directory_triggered(); void on_actionDecode_remaining_files_in_directory_triggered(); void on_actionDelete_all_wav_files_in_SaveDir_triggered(); - void on_actionF4_sets_Tx6_triggered(); void on_actionNone_triggered(); void on_actionSave_all_triggered(); void on_actionKeyboard_shortcuts_triggered(); @@ -97,13 +98,10 @@ private slots: void on_logQSOButton_clicked(); void on_actionAFMHot_triggered(); void on_actionBlue_triggered(); - void on_actionJT9_2_triggered(); void on_actionJT9_1_triggered(); - void on_actionJT9_5_triggered(); - void on_actionJT9_30_triggered(); - void on_actionJT9_10_triggered(); + void on_actionJT65_triggered(); + void on_actionJT9_JT65_triggered(); void on_TxFreqSpinBox_valueChanged(int arg1); - void on_actionSave_synced_triggered(); void on_actionSave_decoded_triggered(); void on_actionQuickDecode_triggered(); void on_actionMediumDecode_triggered(); @@ -147,7 +145,6 @@ private slots: void on_rptSpinBox_valueChanged(int n); void on_action_73TxDisable_triggered(bool checked); void on_actionRunaway_Tx_watchdog_triggered(bool checked); - void on_actionTx2QSO_triggered(bool checked); void killFile(); void on_tuneButton_clicked(); void on_actionAllow_multiple_instances_triggered(bool checked); @@ -155,10 +152,11 @@ private slots: void on_pbT2R_clicked(); void acceptQSO2(bool accepted); void on_bandComboBox_activated(int index); - void on_readFreq_clicked(); - - void on_actionLockTxFreq_triggered(bool checked); + void on_pbTxMode_clicked(); + void on_RxFreqSpinBox_valueChanged(int n); + void on_cbTxLock_clicked(bool checked); + void on_actionTx2QSO_triggered(bool checked); private: Ui::MainWindow *ui; @@ -168,15 +166,13 @@ private: qint64 m_msErase; qint64 m_secBandChanged; - qint32 m_nDevIn; - qint32 m_nDevOut; qint32 m_idInt; qint32 m_waterfallAvg; qint32 m_pttMethodIndex; - qint32 m_QSOfreq0; qint32 m_ntx; qint32 m_pttPort; qint32 m_timeout; + qint32 m_rxFreq; qint32 m_txFreq; qint32 m_setftx; qint32 m_ndepth; @@ -184,7 +180,7 @@ private: qint32 m_RxLog; qint32 m_nutc0; qint32 m_nrx; - qint32 m_hsym0; + qint32 m_hsym; qint32 m_paInDevice; qint32 m_paOutDevice; qint32 m_TRperiod; @@ -205,12 +201,12 @@ private: qint32 m_handshakeIndex; qint32 m_ncw; qint32 m_secID; - qint32 m_COMportOpen; - qint32 m_iptt; qint32 m_band; qint32 m_repeatMsg; qint32 m_watchdogLimit; qint32 m_poll; + qint32 m_fMin; + qint32 m_fMax; bool m_monitoring; bool m_transmitting; @@ -221,15 +217,12 @@ private: bool m_auto; bool m_restart; bool m_startAnother; - bool m_saveSynced; bool m_saveDecoded; bool m_saveAll; bool m_widebandDecode; - bool m_kb8rq; bool m_call3Modified; bool m_dataAvailable; bool m_killAll; - bool m_bsynced; bool m_bdecoded; bool m_monitorStartOFF; bool m_pskReporter; @@ -250,7 +243,6 @@ private: bool m_73TxDisable; bool m_sent73; bool m_runaway; - bool m_tx2QSO; bool m_tune; bool m_bRigOpen; bool m_bMultipleOK; @@ -260,6 +252,10 @@ private: bool m_lockTxFreq; bool m_saveTxPower; bool m_saveComments; + bool m_tx2QSO; + bool m_CATerror; + bool m_bSplit; + bool m_bXIT; char m_decoded[80]; @@ -308,6 +304,7 @@ private: QString m_palette; QString m_dateTime; QString m_mode; + QString m_modeTx; QString m_fname; QString m_rpt; QString m_rptSent; @@ -366,13 +363,15 @@ extern int ptt(int nport, int ntx, int* iptt, int* nopen); extern "C" { //----------------------------------------------------- C and Fortran routines -void symspec_(int* k, int* ntrperiod, int* nsps, int* ingain, - float* px, float s[], float red[], - float* df3, int* nhsym, int* npts8); +void symspec_(int* k, int* ntrperiod, int* nsps, int* ingain, float* slope, + float* px, float s[], float* df3, int* nhsym, int* npts8); void genjt9_(char* msg, int* ichk, char* msgsent, int itone[], int* itext, int len1, int len2); +void gen65_(char* msg, int* ichk, char* msgsent, int itone[], + int* itext, int len1, int len2); + bool stdmsg_(const char* msg, int len); void azdist_(char* MyGrid, char* HisGrid, double* utch, int* nAz, int* nEl, diff --git a/mainwindow.ui b/mainwindow.ui index 010e2661f..f3509ec69 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -6,8 +6,8 @@ 0 0 - 711 - 475 + 760 + 552 @@ -18,7 +18,7 @@ - 711 + 760 475 @@ -35,887 +35,1372 @@ - + - - - QLayout::SetDefaultConstraint + + + 3 - - - - 3 + + 1 + + + + + + 0 + 0 + - - 1 + + + 200 + 100 + - - - - - 0 - 0 - - - - - 200 - 100 - - - - - 500 - 1000 - - - - - Courier New - 10 - - - - QFrame::Panel - - - Qt::ScrollBarAlwaysOn - - - Qt::ScrollBarAlwaysOff - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + 500 + 1000 + + + + + Courier New + 10 + + + + QFrame::Panel + + + Qt::ScrollBarAlwaysOn + + + Qt::ScrollBarAlwaysOff + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Courier New'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - - - false - - - false - - - - - - - - 300 - 20 - - - - - 500 - 20 - - - - - - - - - 252 - 252 - 252 - - - - - - - 170 - 170 - 170 - - - - - - - - - 252 - 252 - 252 - - - - - - - 170 - 170 - 170 - - - - - - - - - 170 - 170 - 170 - - - - - - - 170 - 170 - 170 - - - - - - - - true - - - UTC dB DT Freq Dr - - - 5 - - - - - - - - 300 - 20 - - - - - 500 - 20 - - - - - - - - - 252 - 252 - 252 - - - - - - - 170 - 170 - 170 - - - - - - - - - 252 - 252 - 252 - - - - - - - 170 - 170 - 170 - - - - - - - - - 170 - 170 - 170 - - - - - - - 170 - 170 - 170 - - - - - - - - true - - - UTC dB DT Freq Dr - - - 5 - - - - - - - - 0 - 0 - - - - - 200 - 100 - - - - - 500 - 1000 - - - - - Courier New - 10 - - - - Qt::ScrollBarAlwaysOn - - - Qt::ScrollBarAlwaysOff - - - - - - - - 500 - 16777215 - - - - - 10 - 50 - false - - - - QSO Frequency - - - Qt::AlignCenter - - - - - - - - 500 - 16777215 - - - - - 10 - 50 - false - - - - Band Activity - - - Qt::AlignCenter - - - - - - - QFrame::Plain - - - Qt::Horizontal - - - - - - - QFrame::Plain - - - Qt::Horizontal - - - - - - - - - - - - 50 - 0 - - - - Enter this QSO in ADIF log - - - Log &QSO - - - - - - - - 50 - 0 - - - - Stop monitoring - - - &Stop - - - - - - - - 0 - 0 - - - - - 50 - 0 - - - - - 16777215 - 16777215 - - - - Start monitoring - - - &Monitor - - - - - - - - 50 - 0 - - - - Decode most recent Rx period at QSO Frequency (use shift for all freqs) - - - &Decode - - - - - - - - 50 - 0 - - - - Erase QSO Frequency window. Double-click for both windows - - - &Erase - - - - - - - - 0 - 0 - - - - - 50 - 0 - - - - Toggle Tx Enable On/Off - - - E&nable Tx - - - - - - - - 0 - 0 - - - - - 50 - 0 - - - - Set Tx Enable OFF - - - &Halt Tx - - - - - - - Assert PTT and emit a pure tone - - - &Tune - - - - - - - - - QLayout::SetMinimumSize +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - - - - - 0 - 0 - - - - - 283 - 222 - - - - QFrame::StyledPanel - - - QFrame::Plain - - - 0 - - - + + false + + + false + + + + + + + + 300 + 20 + + + + + 500 + 20 + + + + + + + + + 252 + 252 + 252 + + + + + + + 170 + 170 + 170 + + + + + + + + + 252 + 252 + 252 + + + + + + + 170 + 170 + 170 + + + + + + + + + 170 + 170 + 170 + + + + + + + 170 + 170 + 170 + + + + + + + + true + + + UTC dB DT Freq Dr + + + 5 + + + + + + + + 300 + 20 + + + + + 500 + 20 + + + + + + + + + 252 + 252 + 252 + + + + + + + 170 + 170 + 170 + + + + + + + + + 252 + 252 + 252 + + + + + + + 170 + 170 + 170 + + + + + + + + + 170 + 170 + 170 + + + + + + + 170 + 170 + 170 + + + + + + + + true + + + UTC dB DT Freq Dr + + + 5 + + + + + + + + 0 + 0 + + + + + 200 + 100 + + + + + 500 + 1000 + + + + + Courier New + 10 + + + + Qt::ScrollBarAlwaysOn + + + Qt::ScrollBarAlwaysOff + + + + + + + + 500 + 16777215 + + + + + 10 + 50 + false + + + + Rx Frequency + + + Qt::AlignCenter + + + + + + + + 500 + 16777215 + + + + + 10 + 50 + false + + + + Band Activity + + + Qt::AlignCenter + + + + + + + QFrame::Plain + + + Qt::Horizontal + + + + + + + QFrame::Plain + + + Qt::Horizontal + + + + +
+ + + + + + + 50 + 0 + + + + Enter this QSO in ADIF log + + + Log &QSO + + + + + + + + 50 + 0 + + + + Stop monitoring + + + &Stop + + + + + + + + 0 + 0 + + + + + 50 + 0 + + + + + 16777215 + 16777215 + + + + Start monitoring + + + &Monitor + + + + + + + + 50 + 0 + + + + Erase QSO Frequency window. Double-click for both windows + + + &Erase + + + + + + + + 50 + 0 + + + + Decode most recent Rx period at QSO Frequency (use shift for all freqs) + + + &Decode + + + + + + + + 0 + 0 + + + + + 50 + 0 + + + + Toggle Tx Enable On/Off + + + E&nable Tx + + + + + + + + 0 + 0 + + + + + 50 + 0 + + + + Set Tx Enable OFF + + + &Halt Tx + + + + + + + Assert PTT and emit a pure tone + + + &Tune + + + + + + + + + + + Select operating band + + + 7 + + + + 2200 m + + + + + 630 m + + + + + 160 m + + + + + 80 m + + + + + 60 m + + + + + 40 m + + + + + 30 m + + + + + 20 m + + + + + 17 m + + + + + 15 m + + + + + 12 m + + + + + 10 m + + + + + 6 m + + + + + 4 m + + + + + 2 m + + + + + Other + + + + + + + + + 15 + 15 + + + + If orange, click to read dial frequency once + + + + + + + + + + + 0 + 0 + + + + + 0 + 30 + + + + + 158 + 16777215 + + + + + 16 + 50 + false + + + + USB dial frequency + + + 14.078 + + + Qt::AlignCenter + + + + + + + + 105 + 23 + + + + + 105 + 16777215 + + + + Check to Tx in even minutes, uncheck for odd minutes + + + Tx even + + + + + + + + 0 + 0 + + + + + 283 + 222 + + + + QFrame::StyledPanel + + + QFrame::Plain + + + 0 + + + + 0 + + + 0 + + + + + + 0 + 0 + + + + + 0 + 200 + + + + QTabWidget::West + + + QTabWidget::Triangular + + 0 - - 0 - - - - - - 0 - 0 - + + + 1 + + + + 6 - - - 0 - 200 - + + 4 - - QTabWidget::West + + 1 - - QTabWidget::Triangular - - + 0 - - - 1 - - + + 0 + + + + + 6 + + + 5 + + + + + + 40 + 16777215 + + + + Switch to this Tx message NOW + + + Qt::LeftToRight + + + Tx 1 + + + + + + + + 16 + 0 + + + + + 0 + 20 + + + + + 20 + 16777215 + + + + Send this message in next Tx interval + + + + + + buttonGroup + + + + + + + + 16 + 0 + + + + + 0 + 20 + + + + + 20 + 16777215 + + + + Send this message in next Tx interval + + + + + + true + + + buttonGroup + + + + + + + + 16 + 0 + + + + + 0 + 20 + + + + + 20 + 16777215 + + + + Send this message in next Tx interval + + + + + + buttonGroup + + + + + + + + 200 + 0 + + + + + 150 + 24 + + + + + 150 + 16777215 + + + + + Droid Sans + 50 + false + + + + + + + + + + + + 40 + 16777215 + + + + Switch to this Tx message NOW + + + Tx 3 + + + + + + + + 40 + 16777215 + + + + Switch to this Tx message NOW + + + Tx 4 + + + + + + + Queue up the next Tx message + + + Next + + + + + + + + 200 + 0 + + + + + 150 + 24 + + + + + 150 + 16777215 + + + + + + + + + 200 + 0 + + + + + 150 + 24 + + + + + 150 + 16777215 + + + + Right-click to select a macro message + + + + + + + + 40 + 16777215 + + + + Switch to this Tx message NOW + + + Tx 5 + + + + + + + + 16 + 0 + + + + + 0 + 20 + + + + + 20 + 16777215 + + + + Send this message in next Tx interval + + + + + + buttonGroup + + + + + + + Switch to this Tx message NOW + + + Now + + + Qt::AlignCenter + + + + + + + + 200 + 0 + + + + + 150 + 0 + + + + + 150 + 16777215 + + + + Generate standard messages for minimal QSO + + + Generate Std Msgs + + + + + + + + 200 + 0 + + + + + 150 + 24 + + + + + 150 + 16777215 + + + + + + + + + 200 + 0 + + + + + 150 + 24 + + + + + 150 + 16777215 + + + + + + + + + 40 + 16777215 + + + + Switch to this Tx message NOW + + + Tx 6 + + + + + + + + 40 + 16777215 + + + + Switch to this Tx message NOW + + + Tx 2 + + + + + + + + 16 + 0 + + + + + 0 + 20 + + + + + 20 + 16777215 + + + + Send this message in next Tx interval + + + + + + buttonGroup + + + + + + + + 16 + 0 + + + + + 0 + 20 + + + + + 20 + 16777215 + + + + Send this message in next Tx interval + + + + + + buttonGroup + + + + + + + + 200 + 0 + + + + + 150 + 24 + + + + + 150 + 16777215 + + + + + + + + + + + 2 + + + + 0 + + + 0 + + + 6 - 4 - - - 1 + 2 - 0 - - - 0 + 2 - - - 6 + + + 2 - - 5 - - - - - - 40 - 16777215 - - - - Switch to this Tx message NOW - - - Qt::LeftToRight - - - Tx 1 - - - - - - - - 16 - 0 - - + + 0 - 20 + 30 - 20 - 16777215 + 16777215 + 30 - - Send this message in next Tx interval - - - - - buttonGroup - - - - - - - - 16 - 0 - - - - - 0 - 20 - - - - - 20 - 16777215 - - - - Send this message in next Tx interval - - - - - - true - - - buttonGroup - - - - - - - - 16 - 0 - - - - - 0 - 20 - - - - - 20 - 16777215 - - - - Send this message in next Tx interval - - - - - - buttonGroup - - - - - - - - 200 - 0 - - - - - 150 - 24 - - - - - 150 - 16777215 - - - - - Droid Sans - 50 - false - - - - - - - - - - - - 40 - 16777215 - - - - Switch to this Tx message NOW - - - Tx 3 - - - - - - - - 40 - 16777215 - - - - Switch to this Tx message NOW - - - Tx 4 - - - - - - - Queue up the next Tx message - - - Next - - - - - - - - 200 - 0 - - - - - 150 - 24 - - - - - 150 - 16777215 - - - - - - - - - 200 - 0 - - - - - 150 - 24 - - - - - 150 - 16777215 - - - - Right-click to select a macro message - - - - - - - - 40 - 16777215 - - - - Switch to this Tx message NOW - - - Tx 5 - - - - - - - - 16 - 0 - - - - - 0 - 20 - - - - - 20 - 16777215 - - - - Send this message in next Tx interval - - - - - - buttonGroup - - - - - - - Switch to this Tx message NOW - - - Now + Calling CQ Qt::AlignCenter - - + + + + Generate a CQ message + + + CQ + + + + + + + Generate message with RRR + + + RRR + + + + + + + Generate message with report + + + dB + + + + + + + + 0 + 30 + + + + + 16777215 + 30 + + + + Answering CQ + + + Qt::AlignCenter + + + + + + + Generate message for replying to a CQ + + + Grid + + + + + + + Generate message with R+report + + + R+dB + + + + + + + Generate message with 73 + + + 73 + + + + + + + + + - 200 + 0 0 @@ -925,766 +1410,773 @@ p, li { white-space: pre-wrap; } 0 - - - 150 - 16777215 - - - - Generate standard messages for minimal QSO - - - Generate Std Msgs + + true - - + + - 200 - 0 - - - - - 150 - 24 - - - - - 150 - 16777215 - - - - - - - - - 200 - 0 - - - - - 150 - 24 - - - - - 150 - 16777215 - - - - - - - - - 40 - 16777215 - - - - Switch to this Tx message NOW - - - Tx 6 - - - - - - - - 40 - 16777215 - - - - Switch to this Tx message NOW - - - Tx 2 - - - - - - - - 16 + 0 0 0 - 20 - - - - - 20 - 16777215 + 26 - Send this message in next Tx interval + Send this standard (generated) message - + Gen msg - - buttonGroup - - - - - - - - 16 - 0 - - - - - 0 - 20 - - - - - 20 - 16777215 - - - - Send this message in next Tx interval - - - - - - buttonGroup - - - - - - - - 200 - 0 - - - - - 150 - 24 - - - - - 150 - 16777215 - + + true - - - - - 2 - - - - 0 - - - 0 - - - - 6 - - - 2 - - - 2 - + - - - 2 + + + + 0 + 0 + - - - - - 0 - 30 - - - - - 16777215 - 30 - - - - Calling CQ - - - Qt::AlignCenter - - - - - - - Generate a CQ message - - - CQ - - - - - - - Generate message with RRR - - - RRR - - - - - - - Generate message with report - - - dB - - - - - - - - 0 - 30 - - - - - 16777215 - 30 - - - - Answering CQ - - - Qt::AlignCenter - - - - - - - Generate message for replying to a CQ - - - Grid - - - - - - - Generate message with R+report - - - R+dB - - - - - - - Generate message with 73 - - - 73 - - - - + + + 150 + 0 + + + - - - - - - 0 - 0 - - - - - 150 - 0 - - - - true - - - - - - - - 0 - 0 - - - - - 0 - 26 - - - - Send this standard (generated) message - - - Gen msg - - - true - - - - - - - - - - - - 0 - 0 - - - - - 150 - 0 - - - - - - - - - 0 - 0 - - - - - 0 - 26 - - - - Send this free-text message (max 13 characters) - - - Free msg - - - - + + + + 0 + 0 + + + + + 0 + 26 + + + + Send this free-text message (max 13 characters) + + + Free msg + + - - - - - - - - - - - 0 - 0 - - - - - 0 - 23 - - - - - 16777215 - 16777215 - - - - - - - - - 252 - 252 - 252 - - - - - - - 159 - 175 - 213 - - - - - - - - - 252 - 252 - 252 - - - - - - - 159 - 175 - 213 - - - - - - - - - 159 - 175 - 213 - - - - - - - 159 - 175 - 213 - - - - - - - - true - - - DX Grid - - - Qt::AlignCenter - - - 2 - - - - - - - Select operating band - - - 7 - - - - 2200 m - - - - - 630 m - - - - - 160 m - - - - - 80 m - - - - - 60 m - - - - - 40 m - - - - - 30 m - - - - - 20 m - - - - - 17 m - - - - - 15 m - - - - - 12 m - - - - - 10 m - - - - - 6 m - - - - - 4 m - - - - - 2 m - - - - - Other - - - - - - - - 5 - - - - - - 0 - 0 - - - - - 40 - 16777215 - - - - Report - + + - - - - - - 0 - 0 - - - - - 55 - 0 - - - - - 55 - 16777215 - - - - Signal report (dB0 - - - -50 - - - 49 - - - -15 - - - - - - - + + + + + + + + + + 0 + 0 + + + + + 0 + 180 + + + + + 15 + 16777215 + + + + 60 + + + 0 + + + false + + + Qt::Vertical + + + + + + + + 0 + 0 + + + + + 0 + 180 + + + + + 20 + 180 + + + + Digital gain for audio input + + + -50 + + + 50 + + + Qt::Vertical + + + + + + + + 0 + 0 + + + + + 0 + 23 + + + + + + + + + 252 + 252 + 252 + + + + + + + 159 + 175 + 213 + + + + + + + + + 252 + 252 + 252 + + + + + + + 159 + 175 + 213 + + + + + + + + + 159 + 175 + 213 + + + + + + + 159 + 175 + 213 + + + + + + + + true + + + DX Call + + + Qt::AlignCenter + + + 2 + + + + + + + + 0 + 0 + + + + + 0 + 23 + + + + + 16777215 + 16777215 + + + + + + + + + 252 + 252 + 252 + + + + + + + 159 + 175 + 213 + + + + + + + + + 252 + 252 + 252 + + + + + + + 159 + 175 + 213 + + + + + + + + + 159 + 175 + 213 + + + + + + + 159 + 175 + 213 + + + + + + + + true + + + DX Grid + + + Qt::AlignCenter + + + 2 + + + + + + + false + + + Tx JT9 + + + + + + + + 0 + 0 + + + + + 70 + 27 + + + + + 74 + 16777215 + + + + Callsign of station to be worked + + + + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + 70 + 27 + + + + + 74 + 16777215 + + + + Locator of station to be worked + + + + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + 113 + 0 + + + + + 105 + 16777215 + + + + Audio Tx frequency + + + Hz + + + Tx + + + 200 + + + 5000 + + + 1500 + + + + + + + + 0 + 0 + + + + + 0 + 23 + + + + + 16777215 + 23 + + + + true + + + Az + + + Qt::AlignCenter + + + 4 + + + + + + + + 0 + 0 + + + + + 0 + 23 + + + + + 16777215 + 23 + + + + Dist + + + Qt::AlignCenter + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 33 + 20 + + + + + + + + + 0 + 0 + + + + + 113 + 20 + + + + Hz + + + Rx + + + 200 + + + 5000 + + + 1500 + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 13 + 20 + + + + + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + dB + + + + + + + + 0 + 0 + + + + + 74 + 16777215 + + + + Search for callsign in database + + + &Lookup + + + + + + + + 0 + 0 + + + + + 74 + 16777215 + + + + Add callsign and locator to database + + + Add + + + + + + + 5 + + + QLayout::SetFixedSize + + + - + 0 0 - - - 0 - 30 - - - 158 - 16777215 - - - - - 16 - 50 - false - - - - USB dial frequency - - - 14.078 - - - Qt::AlignCenter - - - - - - - - 105 - 23 - - - - - 105 + 48 16777215 - Check to Tx in even minutes, uncheck for odd minutes + Set Tx frequency to Rx Frequency - Tx even + Tx=Rx - - + + - + 0 0 - - - 0 - 180 - - - 42 - 180 + 48 + 16777215 - dB above one bit in A/D samples + Set Rx frequency to Tx Frequency - - 1 - - - 60.000000000000000 - - - 0.000000000000000 - - - 8 - - - 0.000000000000000 + + Rx=Tx - - + + + + + + + 0 + 0 + + + + + 130 + 60 + + + + + 158 + 60 + + + + + 16 + + + + QFrame::StyledPanel + + + QFrame::Sunken + + + 2 + + + 0 + + + 01:23:45 + + + Qt::AlignCenter + + + + + + + Lock Tx=Rx + + + + + + + 5 + + + + + + 0 + 0 + + + + Report + + + + + 0 @@ -1693,509 +2185,27 @@ p, li { white-space: pre-wrap; } - 0 - 180 - - - - - 16777215 - 180 - - - - Digital gain for audio input - - - -50 - - - 50 - - - Qt::Vertical - - - - - - - - 0 - 0 - - - - - 105 + 55 0 - 105 + 55 16777215 - Audio Tx frequency - - - Hz - - - Tx + + Signal report (dB0 - 500 + -50 - 20000 + 49 - 1500 - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 5 - 20 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 5 - 20 - - - - - - - - 5 - - - QLayout::SetFixedSize - - - - - - 0 - 0 - - - - - 48 - 16777215 - - - - Set Tx frequency to Rx Frequency - - - Tx=Rx - - - - - - - - 0 - 0 - - - - - 48 - 16777215 - - - - Set Rx frequency to Tx Frequency - - - Rx=Tx - - - - - - - - - - 0 - 0 - - - - - 16777215 - 16777215 - - - - dB - - - - - - - - 0 - 0 - - - - - 0 - 23 - - - - - 16777215 - 23 - - - - true - - - Az - - - Qt::AlignCenter - - - 4 - - - - - - - - 0 - 0 - - - - - 0 - 23 - - - - - 16777215 - 23 - - - - Dist - - - Qt::AlignCenter - - - - - - - - 0 - 0 - - - - - 74 - 16777215 - - - - Search for callsign in database - - - &Lookup - - - - - - - - 0 - 0 - - - - - 74 - 16777215 - - - - Add callsign and locator to database - - - Add - - - - - - - - 0 - 0 - - - - - 130 - 60 - - - - - 158 - 60 - - - - - 16 - - - - QFrame::StyledPanel - - - QFrame::Sunken - - - 2 - - - 0 - - - 01:23:45 - - - Qt::AlignCenter - - - - - - - - 0 - 0 - - - - - 0 - 23 - - - - - - - - - 252 - 252 - 252 - - - - - - - 159 - 175 - 213 - - - - - - - - - 252 - 252 - 252 - - - - - - - 159 - 175 - 213 - - - - - - - - - 159 - 175 - 213 - - - - - - - 159 - 175 - 213 - - - - - - - - true - - - DX Call - - - Qt::AlignCenter - - - 2 - - - - - - - - 0 - 0 - - - - - 70 - 27 - - - - - 74 - 16777215 - - - - Locator of station to be worked - - - - - - Qt::AlignCenter - - - - - - - - 0 - 0 - - - - - 70 - 27 - - - - - 74 - 16777215 - - - - Callsign of station to be worked - - - - - - Qt::AlignCenter - - - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 2 - 20 - - - - - - - - - 15 - 15 - - - - If orange, click to read dial frequency once - - - + -15 @@ -2210,7 +2220,7 @@ p, li { white-space: pre-wrap; } 0 0 - 711 + 760 21 @@ -2241,8 +2251,6 @@ p, li { white-space: pre-wrap; } - - @@ -2253,7 +2261,6 @@ p, li { white-space: pre-wrap; } - @@ -2287,7 +2294,6 @@ p, li { white-space: pre-wrap; } Save - @@ -2305,7 +2311,8 @@ p, li { white-space: pre-wrap; } Mode - + + @@ -2399,7 +2406,7 @@ p, li { white-space: pre-wrap; } true - false + true Linrad @@ -2410,7 +2417,7 @@ p, li { white-space: pre-wrap; } true - true + false CuteSDR @@ -2620,8 +2627,11 @@ p, li { white-space: pre-wrap; } true + + true + - JT9-1 + JT9 @@ -2740,7 +2750,7 @@ p, li { white-space: pre-wrap; } true - Convert JT9-x to RTTY for logging + Convert mode to RTTY for logging @@ -2812,14 +2822,6 @@ p, li { white-space: pre-wrap; } Runaway Tx watchdog - - - true - - - Tx messages echoed to QSO window - - true @@ -2828,11 +2830,6 @@ p, li { white-space: pre-wrap; } Allow multiple instances - - - Tx frequency always follows Rx frequency - - true @@ -2841,14 +2838,33 @@ p, li { white-space: pre-wrap; } Tx freq locked to Rx freq + + + true + + + JT65 + + + + + true + + + JT9+JT65 + + + + + true + + + Tx messages to Rx Frequency window + + - - QwtThermo - QWidget -

qwt_thermo.h
- DisplayText QTextBrowser @@ -2859,8 +2875,8 @@ p, li { white-space: pre-wrap; } logQSOButton stopButton monitorButton - DecodeButton EraseButton + DecodeButton autoButton stopTxButton tuneButton @@ -2869,8 +2885,6 @@ p, li { white-space: pre-wrap; } inGain dxCallEntry dxGridEntry - lookupButton - addButton txFirstCheckBox TxFreqSpinBox pbR2T @@ -2898,16 +2912,16 @@ p, li { white-space: pre-wrap; } txb6 decodedTextBrowser decodedTextBrowser2 - pbCallCQ - rbFreeText genMsg - rbGenMsg + pbAnswerCaller + rbFreeText + pbSendRRR + freeTextMsg pbAnswerCQ pbSendReport pbSend73 - pbSendRRR - pbAnswerCaller - freeTextMsg + rbGenMsg + pbCallCQ diff --git a/plotter.cpp b/plotter.cpp index 7168096a0..39f12eb75 100644 --- a/plotter.cpp +++ b/plotter.cpp @@ -15,8 +15,8 @@ CPlotter::CPlotter(QWidget *parent) : //CPlotter Constructor setAttribute(Qt::WA_OpaquePaintEvent, false); setAttribute(Qt::WA_NoSystemBackground, true); - m_StartFreq = 1000; - m_nSpan=1000; //Units: Hz + m_StartFreq = 0; + m_nSpan=2; //used for FFT bins/pixel m_fSpan=(float)m_nSpan; m_hdivs = HORZ_DIVS; m_FreqUnits = 1; @@ -27,7 +27,7 @@ CPlotter::CPlotter(QWidget *parent) : //CPlotter Constructor m_ScalePixmap = QPixmap(0,0); m_OverlayPixmap = QPixmap(0,0); m_Size = QSize(0,0); - m_fQSO = 1020; + m_rxFreq = 1020; m_line = 0; m_fSample = 12000; m_nsps=6912; @@ -83,7 +83,7 @@ void CPlotter::paintEvent(QPaintEvent *) // paintEvent() m_paintEventBusy=false; } -void CPlotter::draw(float swide[], float red[], int i0) //draw() +void CPlotter::draw(float swide[], int i0) //draw() { int j,y2; float y; @@ -98,18 +98,18 @@ void CPlotter::draw(float swide[], float red[], int i0) //draw() QPainter painter2D(&m_2DPixmap); painter2D.setPen(Qt::green); - if(m_bJT9Sync) painter2D.setPen(Qt::red); QPoint LineBuf[MAX_SCREENSIZE]; j=0; - int iz=XfromFreq(2000.0); -// for(int i=0; iiz) swide[i]=0; y=0.0; if(swide[i]>0.0) y = 10.0*log10(swide[i]); - int y1 = 5.0*gain*y + 10*m_plotZero; + int y1 = 5.0*gain*y + 10*(m_plotZero-4); if (y1<0) y1=0; if (y1>254) y1=254; if (swide[i]>1.e29) y1=255; @@ -125,7 +125,7 @@ void CPlotter::draw(float swide[], float red[], int i0) //draw() } y2=gain*6.0*log10(sum/m_binsPerPixel) - 10.0; } - if(m_bJT9Sync) y2=3.0*gain*red[i] - 15; + y2 += m_plotZero; if(i==iz-1) painter2D.drawPolyline(LineBuf,j); LineBuf[j].setX(i); LineBuf[j].setY(m_h-(y2+0.8*m_h)); @@ -163,7 +163,7 @@ void CPlotter::DrawOverlay() //DrawOverlay() if(m_OverlayPixmap.isNull()) return; if(m_WaterfallPixmap.isNull()) return; int w = m_WaterfallPixmap.width(); - int x,y,x1,x2,dx; + int x,y,x1,x2; // int nHzDiv[11]={0,50,100,200,200,200,500,500,500,500,500}; float pixperdiv; @@ -180,12 +180,15 @@ void CPlotter::DrawOverlay() //DrawOverlay() double df = m_binsPerPixel*m_fftBinWidth; pixperdiv = m_freqPerDiv/df; y = m_h2 - m_h2/VERT_DIVS; + m_hdivs = w*df/m_freqPerDiv + 0.9999; for( int i=1; i= 0 and x<=m_w) { + painter.setPen(QPen(Qt::white, 1,Qt::DotLine)); + painter.drawLine(x, 0, x , y); + painter.drawLine(x, m_h2-5, x , m_h2); + } } pixperdiv = (float)m_h2 / (float)VERT_DIVS; @@ -258,40 +261,30 @@ void CPlotter::DrawOverlay() //DrawOverlay() } } - x1=XfromFreq(m_fMin); - int bw=9.0*12000.0/m_nsps; - dx=XfromFreq(m_fMin+bw) - x1; + float bw=9.0*12000.0/m_nsps; + if(m_modeTx=="JT65") bw=66.0*11025.0/4096.0; QPen pen0(Qt::green, 3); //Mark Rx Freq with green painter0.setPen(pen0); - x1=XfromFreq(m_fQSO); - x2=x1+dx; + x1=XfromFreq(m_rxFreq); + x2=XfromFreq(m_rxFreq+bw); painter0.drawLine(x1,24,x1,30); painter0.drawLine(x1,28,x2,28); painter0.drawLine(x2,24,x2,30); - QPen pen2(Qt::blue, 3); //Mark the decoding range - painter0.setPen(pen2); - x1=XfromFreq(m_fMin); - if(x1<2) x1=2; - x2=x1+30; -// pen2.setWidth(6); - painter0.drawLine(x1,18,x1,28); - painter0.drawLine(x1,23,x2,23); - painter0.drawLine(x2,23,x2-5,18); - painter0.drawLine(x2,23,x2-5,28); - x2=XfromFreq(m_fMax); - x1=x2-30; -// pen2.setWidth(6); - painter0.drawLine(x2,18,x2,28); - painter0.drawLine(x1,23,x2,23); - painter0.drawLine(x1,23,x1+5,18); - painter0.drawLine(x1,23,x1+5,28); + if(m_mode=="JT9+JT65") { + QPen pen2(Qt::blue, 3); //Mark the JT65 | JT9 divider + painter0.setPen(pen2); + x1=XfromFreq(m_fMin); + if(x1<2) x1=2; + x2=x1+30; + painter0.drawLine(x1,8,x1,28); + } QPen pen1(Qt::red, 3); //Mark Tx freq with red painter0.setPen(pen1); x1=XfromFreq(m_txFreq); - x2=x1+dx; + x2=XfromFreq(m_txFreq+bw); painter0.drawLine(x1,17,x1,21); painter0.drawLine(x1,17,x2,17); painter0.drawLine(x2,17,x2,21); @@ -310,7 +303,7 @@ void CPlotter::MakeFrequencyStrs() //MakeFrequencyStrs int CPlotter::XfromFreq(float f) //XfromFreq() { // float w = m_WaterfallPixmap.width(); - int x = (int) m_w * (f - m_StartFreq)/m_fSpan; + int x = int(m_w * (f - m_StartFreq)/m_fSpan + 0.5); if(x<0 ) return 0; if(x>m_w) return m_w; return x; @@ -318,7 +311,8 @@ int CPlotter::XfromFreq(float f) //XfromFreq() float CPlotter::FreqfromX(int x) //FreqfromX() { - return float(1000.0 + x*m_binsPerPixel*m_fftBinWidth); +// return float(1000.0 + x*m_binsPerPixel*m_fftBinWidth); + return float(x*m_binsPerPixel*m_fftBinWidth); } void CPlotter::SetRunningState(bool running) //SetRunningState() @@ -362,10 +356,9 @@ int CPlotter::plotWidth(){return m_WaterfallPixmap.width();} void CPlotter::UpdateOverlay() {DrawOverlay();} void CPlotter::setDataFromDisk(bool b) {m_dataFromDisk=b;} -void CPlotter::setRxRange(int fMin, int fMax) +void CPlotter::setRxRange(int fMin) { m_fMin=fMin; - m_fMax=fMax; } void CPlotter::setBinsPerPixel(int n) // set nbpp @@ -380,43 +373,39 @@ int CPlotter::binsPerPixel() // get nbpp return m_binsPerPixel; } -void CPlotter::setFQSO(int x, bool bf) //setFQSO() +void CPlotter::setRxFreq(int x, bool bf) //setRxFreq() { if(bf) { - m_fQSO=x; // x is freq in Hz - m_xClick=XfromFreq(m_fQSO); + m_rxFreq=x; // x is freq in Hz + m_xClick=XfromFreq(m_rxFreq); } else { if(x<0) x=0; // x is pixel number if(x>m_Size.width()) x=m_Size.width(); - m_fQSO = int(FreqfromX(x)+0.5); + m_rxFreq=int(FreqfromX(x)+0.5); m_xClick=x; } + emit setFreq1(m_rxFreq,m_txFreq); DrawOverlay(); update(); } -void CPlotter::setFcal(int n) //setFcal() -{ - m_fCal=n; -} - -int CPlotter::fQSO() {return m_fQSO;} //get fQSO +int CPlotter::rxFreq() {return m_rxFreq;} //get rxFreq void CPlotter::mousePressEvent(QMouseEvent *event) //mousePressEvent { int x=event->x(); - setFQSO(x,false); // Wideband waterfall + setRxFreq(x,false); // Wideband waterfall bool ctrl = (event->modifiers() & Qt::ControlModifier); int n=1; if(ctrl) n+=100; emit freezeDecode1(n); - if(ctrl) setTxFreq(m_fQSO); + if(ctrl or m_lockTxFreq) setTxFreq(m_rxFreq); } void CPlotter::mouseDoubleClickEvent(QMouseEvent *event) //mouse2click { // int x=event->x(); -// setFQSO(x,false); +// setRxFreq(x,false); bool ctrl = (event->modifiers() & Qt::ControlModifier); int n=2; if(ctrl) n+=100; @@ -536,6 +525,22 @@ void CPlotter::setNsps(int ntrperiod, int nsps) void CPlotter::setTxFreq(int n) //setTol() { m_txFreq=n; + emit setFreq1(m_rxFreq,m_txFreq); DrawOverlay(); update(); } + +void CPlotter::setMode(QString mode) +{ + m_mode=mode; +} + +void CPlotter::setModeTx(QString modeTx) +{ + m_modeTx=modeTx; +} + +int CPlotter::getFmax() +{ + return m_fMax; +} diff --git a/plotter.h b/plotter.h index 077853ea8..aa4470230 100644 --- a/plotter.h +++ b/plotter.h @@ -30,19 +30,20 @@ public: QSize minimumSizeHint() const; QSize sizeHint() const; QColor m_ColorTbl[256]; + bool m_bCurrent; bool m_bCumulative; - bool m_bJT9Sync; - int m_plotZero; - int m_plotGain; + bool m_lockTxFreq; + float m_fSpan; + + qint32 m_plotZero; + qint32 m_plotGain; qint32 m_nSpan; qint32 m_binsPerPixel; - qint32 m_fQSO; - qint32 m_fCal; qint32 m_w; - void draw(float sw[], float red[], int i0); //Update the waterfall + void draw(float sw[], int i0); //Update the waterfall void SetRunningState(bool running); void setPlotZero(int plotZero); int getPlotZero(); @@ -54,22 +55,25 @@ public: void setNSpan(int n); void UpdateOverlay(); void setDataFromDisk(bool b); - void setRxRange(int fMin, int fMax); + void setRxRange(int fMin); void setBinsPerPixel(int n); int binsPerPixel(); - void setFQSO(int n, bool bf); - void setFcal(int n); + void setRxFreq(int n, bool bf); void DrawOverlay(); - int fQSO(); + int rxFreq(); void setPalette(QString palette); void setFsample(int n); void setNsps(int ntrperiod, int nsps); void setTxFreq(int n); + void setMode(QString mode); + void setModeTx(QString modeTx); double fGreen(); void SetPercent2DScreen(int percent){m_Percent2DScreen=percent;} + int getFmax(); signals: void freezeDecode1(int n); + void setFreq1(int rxFreq, int txFreq); protected: //re-implemented widget event handlers @@ -92,16 +96,21 @@ private: QSize m_Size; QString m_Str; QString m_HDivText[483]; + QString m_mode; + QString m_modeTx; + bool m_Running; bool m_paintEventBusy; + bool m_dataFromDisk; + double m_fGreen; double m_fftBinWidth; + qint64 m_StartFreq; + qint32 m_dBStepSize; qint32 m_FreqUnits; qint32 m_hdivs; - bool m_dataFromDisk; - char m_sutc[6]; qint32 m_line; qint32 m_fSample; qint32 m_i0; @@ -113,10 +122,13 @@ private: qint32 m_h1; qint32 m_h2; qint32 m_TRperiod; + qint32 m_rxFreq; qint32 m_txFreq; qint32 m_fMin; qint32 m_fMax; + char m_sutc[6]; + private slots: void mousePressEvent(QMouseEvent *event); void mouseDoubleClickEvent(QMouseEvent *event); diff --git a/psk_reporter.cpp b/psk_reporter.cpp index 9d2ec05e7..6856d174f 100644 --- a/psk_reporter.cpp +++ b/psk_reporter.cpp @@ -39,10 +39,10 @@ PSK_Reporter::PSK_Reporter(QObject *parent) : void PSK_Reporter::setLocalStation(QString call, QString gridSquare, QString programInfo) { - m_rxCall = call; - m_rxGrid = gridSquare; - m_progId = programInfo; - reportTimer->start(5*60*1000); // 5 minutes; + m_rxCall = call; + m_rxGrid = gridSquare; + m_progId = programInfo; + reportTimer->start(5*60*1000); // 5 minutes; } void PSK_Reporter::addRemoteStation(QString call, QString grid, QString freq, QString mode, QString snr, QString time ) @@ -99,15 +99,6 @@ void PSK_Reporter::sendReport() // Get IP address for pskreporter.info and send report via UDP QHostInfo info = QHostInfo::fromName("report.pskreporter.info"); m_udpSocket->writeDatagram(report,info.addresses().at(0),4739); - - /* - qDebug() << header_h; - qDebug() << m_rxInfoDescriptor_h; - qDebug() << m_txInfoDescriptor_h; - qDebug() << rxInfoData_h; - qDebug() << txInfoData_h; - qDebug() << report.toHex(); - */ } diff --git a/rigclass.cpp b/rigclass.cpp index 4e7f718ce..a4c06850a 100644 --- a/rigclass.cpp +++ b/rigclass.cpp @@ -7,7 +7,7 @@ * Hamlib C++ interface is a frontend implementing wrapper functions. */ -/* +/** * * Hamlib C++ bindings - main file * Copyright (c) 2001-2003 by Stephane Fillod @@ -36,7 +36,7 @@ #include #include "rigclass.h" #include - +#include static int hamlibpp_freq_event(RIG *rig, vfo_t vfo, freq_t freq, rig_ptr_t arg); @@ -78,9 +78,16 @@ int Rig::init(rig_model_t rig_model) } int Rig::open(int n) { -#ifdef WIN32 // Ham radio Deluxe only on Windows - m_hrd=(n==9999); - if(m_hrd) { + m_hrd=false; + m_cmndr=false; + if(n<9900) { + if(n==-99999) return -1; //Silence compiler warning + return rig_open(theRig); + } + +#ifdef WIN32 // Ham radio Deluxe or Commander (Windows only) + if(n==9999) { + m_hrd=true; bool bConnect=false; bConnect = HRDInterfaceConnect(L"localhost",7809); if(bConnect) { @@ -92,12 +99,30 @@ int Rig::open(int n) { m_hrd=false; return -1; } - } else -#endif - { - if(n==-99999) return -1; //Silence compiler warning - return rig_open(theRig); } + if(n==9998) { + socket->connectToHost(QHostAddress::LocalHost, 52002); + if(!socket->waitForConnected(1000)) { + return -1; + } + QString t; +// qint32 nkHz=14076; +// t.sprintf("CmdSetFreq%5d",nkHz); + t="CmdGetFreq"; + QByteArray ba = t.toLocal8Bit(); + const char* buf=ba.data(); + socket->write(buf); + socket->waitForReadyRead(1000); + QByteArray reply=socket->read(128); + if(reply.indexOf("")==0) { +// qDebug() << "Freq:" << reply; +// qDebug() << "Connected to Commander"; + m_cmndr=true; + return 0; + } + } +#endif + return -1; } int Rig::close(void) { @@ -105,6 +130,9 @@ int Rig::close(void) { if(m_hrd) { HRDInterfaceDisconnect(); return 0; + } else if(m_cmndr) { + socket->close(); + return 0; } else #endif { @@ -132,13 +160,70 @@ int Rig::setFreq(freq_t freq, vfo_t vfo) { } else { return -1; } + } else if(m_cmndr) { + QString t; + qint32 nkHz=int(0.001*freq); + t.sprintf("CmdSetFreq%5d",nkHz); + QByteArray ba = t.toLocal8Bit(); + const char* buf=ba.data(); + socket->write(buf); + socket->waitForBytesWritten(1000); + return 0; } else #endif - { + { return rig_set_freq(theRig, vfo, freq); } } +int Rig::setXit(shortfreq_t xit, vfo_t vfo) +{ + return rig_set_xit(theRig, vfo, xit); +} + +int Rig::setVFO(vfo_t vfo) +{ + return rig_set_vfo(theRig, vfo); +} + +vfo_t Rig::getVFO() +{ + vfo_t vfo; + rig_get_vfo(theRig, &vfo); + return vfo; +} + +int Rig::setSplitFreq(freq_t tx_freq, vfo_t vfo) { +#ifdef WIN32 // Ham Radio Deluxe only on Windows + if(m_hrd) { + QString t; + int nhz=(int)tx_freq; + t=m_context + "Set Frequency-Hz " + QString::number(nhz); + const wchar_t* cmnd = (const wchar_t*) t.utf16(); + const wchar_t* result=HRDInterfaceSendMessage(cmnd); + QString t2=QString::fromWCharArray (result,-1); + HRDInterfaceFreeString(result); + if(t2=="OK") { + return 0; + } else { + return -1; + } + } else if(m_cmndr) { + QString t; + qint32 nkHz=int(0.001*tx_freq); + t.sprintf("CmdSetTxFreq%5d",nkHz); + QByteArray ba = t.toLocal8Bit(); + const char* buf=ba.data(); + socket->write(buf); + socket->waitForBytesWritten(1000); + return 0; + } else +#endif + { + return rig_set_split_freq(theRig, vfo, tx_freq); + } +} + freq_t Rig::getFreq(vfo_t vfo) { freq_t freq; @@ -150,10 +235,29 @@ freq_t Rig::getFreq(vfo_t vfo) HRDInterfaceFreeString(freqString); freq=t2.toDouble(); return freq; + } else if(m_cmndr) { + QString t; + t="CmdGetFreq"; + QByteArray ba = t.toLocal8Bit(); + const char* buf=ba.data(); + socket->write(buf); + socket->waitForReadyRead(1000); + QByteArray reply=socket->read(128); + QString t2(reply); + if(t2.indexOf(""); + t2=t2.mid(i1+1).replace(",",""); + freq=1000.0*t2.toDouble(); + return freq; + } else { + return -1.0; + } } else #endif - { - rig_get_freq(theRig, vfo, &freq); + { + int iret=rig_get_freq(theRig, vfo, &freq); +// iret should be 0. Negative values mean rig_get_freq() failed. + if(iret<0) freq=-1.0; return freq; } } @@ -168,18 +272,6 @@ rmode_t Rig::getMode(pbwidth_t& width, vfo_t vfo) { return mode; } -int Rig::setVFO(vfo_t vfo) -{ - return rig_set_vfo(theRig, vfo); -} - -vfo_t Rig::getVFO() -{ - vfo_t vfo; - rig_get_vfo(theRig, &vfo); - return vfo; -} - int Rig::setPTT(ptt_t ptt, vfo_t vfo) { #ifdef WIN32 // Ham Radio Deluxe only on Windows @@ -201,6 +293,16 @@ int Rig::setPTT(ptt_t ptt, vfo_t vfo) } else { return -1; } + } else if(m_cmndr) { + QString t; + if(ptt==0) t="CmdRX"; + if(ptt>0) t="CmdTX"; + QByteArray ba = t.toLocal8Bit(); + const char* buf=ba.data(); + socket->write(buf); + socket->waitForBytesWritten(1000); +// qDebug() << ptt << buf; + return 0; } else #endif { diff --git a/rigclass.h b/rigclass.h index 6a170721a..9c933e715 100644 --- a/rigclass.h +++ b/rigclass.h @@ -25,15 +25,18 @@ #include #include #include +#include + +extern QTcpSocket* socket; class BACKEND_IMPEXP Rig { private: RIG* theRig; // Global ref. to the rig -#ifdef WIN32 // Ham Radio Deluxe only on Windows bool m_hrd; -#endif + bool m_cmndr; QString m_context; + protected: public: Rig(); @@ -59,7 +62,8 @@ public: rmode_t getMode(pbwidth_t&, vfo_t vfo = RIG_VFO_CURR); int setVFO(vfo_t); vfo_t getVFO(); - + int setXit(shortfreq_t xit, vfo_t vfo); + int setSplitFreq(freq_t tx_freq, vfo_t vfo = RIG_VFO_CURR); int setPTT (ptt_t ptt, vfo_t vfo = RIG_VFO_CURR); ptt_t getPTT (vfo_t vfo = RIG_VFO_CURR); diff --git a/soundin.cpp b/soundin.cpp index 3cfd9860e..332e5d371 100644 --- a/soundin.cpp +++ b/soundin.cpp @@ -2,7 +2,8 @@ #include #define FRAMES_PER_BUFFER 1024 -#define NSMAX 1365 +//#define NSMAX 1365 +#define NSMAX 6827 #define NTMAX 120 extern "C" { @@ -10,7 +11,7 @@ extern "C" { extern struct { float ss[184*NSMAX]; //This is "common/jt9com/..." in fortran float savg[NSMAX]; - float c0[2*NTMAX*1500]; +// float c0[2*NTMAX*1500]; short int d2[NTMAX*12000]; int nutc; //UTC as integer, HHMM int ndiskdat; //1 ==> data read from *.wav file @@ -26,8 +27,8 @@ extern struct { int nsave; int nagain; int ndepth; - int nrxlog; - int nfsample; + int ntxmode; + int nmode; char datetime[20]; } jt9com_; } @@ -60,7 +61,7 @@ extern "C" int a2dCallback( const void *inputBuffer, void *outputBuffer, udata->ncall++; if( (statusFlags&paInputOverflow) != 0) { - qDebug() << "Input Overflow"; + qDebug() << "Input Overflow in a2dCallback"; } if(udata->bzero) { //Start of a new Rx sequence udata->kin=0; //Reset buffer pointer diff --git a/soundout.cpp b/soundout.cpp index 1766084a4..05daf6514 100644 --- a/soundout.cpp +++ b/soundout.cpp @@ -7,7 +7,7 @@ extern "C" { } extern float gran(); //Noise generator (for tests only) -extern int itone[85]; //Tx audio tones for 85 symbols +extern int itone[126]; //Audio tones for all Tx symbols extern int icw[250]; //Dits for CW ID extern int outBufSize; extern bool btxok; @@ -17,10 +17,12 @@ extern double outputLatency; typedef struct //Parameters sent to or received from callback function { double txsnrdb; - int nsps; + double dnsps; int ntrperiod; int ntxfreq; + int xit; int ncall; + int nsym; bool txMute; bool bRestart; bool btune; @@ -45,6 +47,7 @@ extern "C" int d2aCallback(const void *inputBuffer, void *outputBuffer, static double fac; static double amp; static int ic=0,j=0; + static int isym0=-999; static short int i2; int isym,nspd; @@ -58,7 +61,7 @@ extern "C" int d2aCallback(const void *inputBuffer, void *outputBuffer, udata->bRestart=false; srand(mstr); //Initialize random seed } - isym=ic/(4*udata->nsps); //Actual fsample=48000 + isym=ic/(4.0*udata->dnsps); //Actual fsample=48000 if(udata->btune) isym=0; //If tuning, send pure tone if(udata->txsnrdb < 0.0) { snr=pow(10.0,0.05*(udata->txsnrdb-6.0)); @@ -66,14 +69,15 @@ extern "C" int d2aCallback(const void *inputBuffer, void *outputBuffer, if(snr>1.0) fac=3000.0/snr; } - if(isym>=85 and icw[0]>0) { //Output the CW ID - freq=udata->ntxfreq; + if(isym>=udata->nsym and icw[0]>0) { //Output the CW ID + freq=udata->ntxfreq - udata->xit; dphi=twopi*freq/48000.0; + // float wpm=20.0; // int nspd=1.2*48000.0/wpm; // nspd=3072; //18.75 WPM nspd=2048 + 512; //22.5 WPM - int ic0=85*4*udata->nsps; + int ic0=udata->nsym*4*udata->dnsps; for(uint i=0 ; itwopi) phi -= twopi; @@ -99,17 +103,22 @@ extern "C" int d2aCallback(const void *inputBuffer, void *outputBuffer, return paContinue; } - baud=12000.0/udata->nsps; - freq=udata->ntxfreq + itone[isym]*baud; - dphi=twopi*freq/48000.0; + baud=12000.0/udata->dnsps; amp=32767.0; - int i0=84.983*4.0*udata->nsps; - int i1=85*4*udata->nsps; + int i0=(udata->nsym-0.017)*4.0*udata->dnsps; + int i1=udata->nsym*4.0*udata->dnsps; if(udata->btune) { //If tuning, no ramp down - i0=999*udata->nsps; + i0=999*udata->dnsps; i1=i0; } for(uint i=0 ; idnsps); //Actual fsample=48000 + if(udata->btune) isym=0; //If tuning, send pure tone + if(isym!=isym0) { + freq=udata->ntxfreq + itone[isym]*baud - udata->xit; + dphi=twopi*freq/48000.0; + isym0=isym; + } phi += dphi; if(phi>twopi) phi -= twopi; if(ic>i0) amp=0.98*amp; @@ -160,9 +169,15 @@ void SoundOutThread::run() } udata.txsnrdb=99.0; - udata.nsps=m_nsps; + udata.dnsps=m_nsps; + udata.nsym=85; + if(m_modeTx=="JT65") { + udata.dnsps=4096.0*12000.0/11025.0; + udata.nsym=126; + } udata.ntrperiod=m_TRperiod; udata.ntxfreq=m_txFreq; + udata.xit=m_xit; udata.ncall=0; udata.txMute=m_txMute; udata.bRestart=true; @@ -193,7 +208,12 @@ void SoundOutThread::run() if (qe) break; udata.txsnrdb=m_txsnrdb; - udata.nsps=m_nsps; + udata.dnsps=m_nsps; + udata.nsym=85; + if(m_modeTx=="JT65") { + udata.dnsps=4096.0*12000.0/11025.0; + udata.nsym=126; + } udata.ntrperiod=m_TRperiod; udata.ntxfreq=m_txFreq; udata.txMute=m_txMute; @@ -227,6 +247,10 @@ void SoundOutThread::setTxFreq(int n) m_txFreq=n; } +void SoundOutThread::setXIT(int n) +{ + m_xit=n; +} void SoundOutThread::setTxSNR(double snr) { diff --git a/soundout.h b/soundout.h index 3405b1370..a289afc99 100644 --- a/soundout.h +++ b/soundout.h @@ -27,19 +27,24 @@ public: void setOutputDevice(qint32 n); void setPeriod(int ntrperiod, int nsps); void setTxFreq(int n); + void setXIT(int n); void setTxSNR(double snr); void setTune(bool b); double samFacOut(); bool quitExecution; //If true, thread exits gracefully + QString m_modeTx; // Private members private: double m_txsnrdb; //if < 0, add noise to Tx audio double m_SamFacOut; //(Output sample rate)/48000.0 + qint32 m_nDevOut; //Output device number qint32 m_TRperiod; //T/R period (s) qint32 m_nsps; //Samples per symbol (at 12000 Hz) qint32 m_txFreq; + qint32 m_xit; + bool m_txOK; //Enable Tx audio bool m_txMute; //Mute temporarily bool m_tune; diff --git a/widegraph.cpp b/widegraph.cpp index 3deed3a35..97fc5cb35 100644 --- a/widegraph.cpp +++ b/widegraph.cpp @@ -18,7 +18,10 @@ WideGraph::WideGraph(QWidget *parent) : connect(ui->widePlot, SIGNAL(freezeDecode1(int)),this, SLOT(wideFreezeDecode(int))); - m_fMin=1000; + connect(ui->widePlot, SIGNAL(setFreq1(int,int)),this, + SLOT(setFreq2(int,int))); + + m_fMin=3000; ui->fMinSpinBox->setValue(m_fMin); //Restore user's settings @@ -39,15 +42,13 @@ WideGraph::WideGraph(QWidget *parent) : m_waterfallAvg = settings.value("WaterfallAvg",5).toInt(); ui->waterfallAvgSpinBox->setValue(m_waterfallAvg); ui->widePlot->m_bCurrent=settings.value("Current",false).toBool(); - ui->widePlot->m_bCumulative=settings.value("Cumulative",false).toBool(); - ui->widePlot->m_bJT9Sync=settings.value("JT9Sync",true).toBool(); + ui->widePlot->m_bCumulative=settings.value("Cumulative",true).toBool(); if(ui->widePlot->m_bCurrent) ui->spec2dComboBox->setCurrentIndex(0); if(ui->widePlot->m_bCumulative) ui->spec2dComboBox->setCurrentIndex(1); - if(ui->widePlot->m_bJT9Sync) ui->spec2dComboBox->setCurrentIndex(2); int nbpp=settings.value("BinsPerPixel",2).toInt(); ui->widePlot->setBinsPerPixel(nbpp); - m_qsoFreq=settings.value("QSOfreq",1500).toInt(); - ui->widePlot->setFQSO(m_qsoFreq,true); + m_slope=settings.value("Slope",0.0).toDouble(); + ui->slopeSpinBox->setValue(m_slope); settings.endGroup(); } @@ -72,18 +73,16 @@ void WideGraph::saveSettings() settings.setValue("WaterfallAvg",ui->waterfallAvgSpinBox->value()); settings.setValue("Current",ui->widePlot->m_bCurrent); settings.setValue("Cumulative",ui->widePlot->m_bCumulative); - settings.setValue("JT9Sync",ui->widePlot->m_bJT9Sync); settings.setValue("BinsPerPixel",ui->widePlot->binsPerPixel()); - settings.setValue("QSOfreq",ui->widePlot->fQSO()); + settings.setValue("Slope",m_slope); settings.endGroup(); } -void WideGraph::dataSink2(float s[], float red[], float df3, int ihsym, +void WideGraph::dataSink2(float s[], float df3, int ihsym, int ndiskdata) { static float splot[NSMAX]; static float swide[2048]; - static float rwide[2048]; int nbpp = ui->widePlot->binsPerPixel(); static int n=0; @@ -105,18 +104,14 @@ void WideGraph::dataSink2(float s[], float red[], float df3, int ihsym, // int w=ui->widePlot->plotWidth(); int i0=-1; //### int i=i0; - int jz=1000.0/df3; + int jz=5000.0/(nbpp*df3); for (int j=0; jwidePlot->draw(swide,rwide,i0); + ui->widePlot->draw(swide,i0); } } @@ -172,16 +167,16 @@ void WideGraph::keyPressEvent(QKeyEvent *e) } } -void WideGraph::setQSOfreq(int n) +void WideGraph::setRxFreq(int n) { - m_qsoFreq=n; - ui->widePlot->setFQSO(m_qsoFreq,true); - if(m_lockTxFreq) setTxFreq(m_qsoFreq); + m_rxFreq=n; + ui->widePlot->setRxFreq(m_rxFreq,true); + if(m_lockTxFreq) setTxFreq(m_rxFreq); } -int WideGraph::QSOfreq() +int WideGraph::rxFreq() { - return ui->widePlot->fQSO(); + return ui->widePlot->rxFreq(); } int WideGraph::nSpan() @@ -204,9 +199,9 @@ void WideGraph::wideFreezeDecode(int n) emit freezeDecode2(n); } -void WideGraph::setRxRange(int fMin, int fMax) +void WideGraph::setRxRange(int fMin) { - ui->widePlot->setRxRange(fMin,fMax); + ui->widePlot->setRxRange(fMin); ui->widePlot->DrawOverlay(); ui->widePlot->update(); } @@ -218,19 +213,16 @@ int WideGraph::getFmin() int WideGraph::getFmax() { - return m_fMax; + int n=ui->widePlot->getFmax(); + if(n>5000) n=5000; + return n; } -void WideGraph::setfMax(int n) +void WideGraph::setFmin(int n) { - m_fMax = n; - setRxRange(m_fMin,m_fMax); -} - -void WideGraph::setFcal(int n) -{ - m_fCal=n; - ui->widePlot->setFcal(n); + m_fMin = n; + ui->fMinSpinBox->setValue(n); + setRxRange(m_fMin); } void WideGraph::setPalette(QString palette) @@ -252,28 +244,65 @@ void WideGraph::setPeriod(int ntrperiod, int nsps) void WideGraph::setTxFreq(int n) { + emit setXIT2(n); ui->widePlot->setTxFreq(n); } +void WideGraph::setMode(QString mode) +{ + m_mode=mode; + ui->fMinSpinBox->setEnabled(m_mode=="JT9+JT65"); + ui->widePlot->setMode(mode); + ui->widePlot->DrawOverlay(); + ui->widePlot->update(); +} + +void WideGraph::setModeTx(QString modeTx) +{ + m_modeTx=modeTx; + ui->widePlot->setModeTx(modeTx); + ui->widePlot->DrawOverlay(); + ui->widePlot->update(); +} + void WideGraph::on_spec2dComboBox_currentIndexChanged(const QString &arg1) { ui->widePlot->m_bCurrent=false; ui->widePlot->m_bCumulative=false; - ui->widePlot->m_bJT9Sync=false; if(arg1=="Current") ui->widePlot->m_bCurrent=true; if(arg1=="Cumulative") ui->widePlot->m_bCumulative=true; - if(arg1=="JT9 Sync") ui->widePlot->m_bJT9Sync=true; } void WideGraph::on_fMinSpinBox_valueChanged(int n) { m_fMin=n; - setRxRange(m_fMin,m_fMax); + setRxRange(m_fMin); } -void WideGraph::on_fMaxSpinBox_valueChanged(int n) +void WideGraph::on_slopeSpinBox_valueChanged(double d) { - m_fMax=n; - setRxRange(m_fMin,m_fMax); + m_slope=d; } +void WideGraph::setSlope(double d) +{ + m_slope=d; + ui->slopeSpinBox->setValue(d); +} + +void WideGraph::setLockTxFreq(bool b) +{ + m_lockTxFreq=b; + ui->widePlot->m_lockTxFreq=b; +} +double WideGraph::getSlope() +{ + return m_slope; +} + +void WideGraph::setFreq2(int rxFreq, int txFreq) +{ + m_rxFreq=rxFreq; + m_txFreq=txFreq; + emit setFreq3(rxFreq,txFreq); +} diff --git a/widegraph.h b/widegraph.h index 0298c8741..5e626a602 100644 --- a/widegraph.h +++ b/widegraph.h @@ -14,34 +14,40 @@ public: explicit WideGraph(QWidget *parent = 0); ~WideGraph(); - void dataSink2(float s[], float red[], float df3, int ihsym, - int ndiskdata); - void setQSOfreq(int n); - int QSOfreq(); + void dataSink2(float s[], float df3, int ihsym, int ndiskdata); + void setRxFreq(int n); + int rxFreq(); int nSpan(); int nStartFreq(); int getFmin(); int getFmax(); float fSpan(); void saveSettings(); - void setRxRange(int fMin, int fMax); - void setfMax(int n); - void setFcal(int n); + void setRxRange(int fMin); + void setFmin(int n); void setPalette(QString palette); void setFsample(int n); void setPeriod(int ntrperiod, int nsps); void setTxFreq(int n); + void setMode(QString mode); + void setModeTx(QString modeTx); + void setSlope(double d); + void setLockTxFreq(bool b); + double getSlope(); double fGreen(); - qint32 m_qsoFreq; - bool m_lockTxFreq; + qint32 m_rxFreq; + qint32 m_txFreq; signals: void freezeDecode2(int n); void f11f12(int n); + void setXIT2(int n); + void setFreq3(int rxFreq, int txFreq); public slots: void wideFreezeDecode(int n); + void setFreq2(int rxFreq, int txFreq); protected: virtual void keyPressEvent( QKeyEvent *e ); @@ -53,11 +59,12 @@ private slots: void on_gainSpinBox_valueChanged(int arg1); void on_spec2dComboBox_currentIndexChanged(const QString &arg1); void on_fMinSpinBox_valueChanged(int n); - void on_fMaxSpinBox_valueChanged(int n); + void on_slopeSpinBox_valueChanged(double d); private: + double m_slope; + qint32 m_waterfallAvg; - qint32 m_fCal; qint32 m_fSample; qint32 m_TRperiod; qint32 m_nsps; @@ -65,6 +72,11 @@ private: qint32 m_fMin; qint32 m_fMax; + bool m_lockTxFreq; + + QString m_mode; + QString m_modeTx; + Ui::WideGraph *ui; }; diff --git a/widegraph.ui b/widegraph.ui index 70f7b0aa8..3a5cf775e 100644 --- a/widegraph.ui +++ b/widegraph.ui @@ -6,7 +6,7 @@ 0 0 - 712 + 799 326 @@ -68,25 +68,6 @@ - - - - - 16777215 - 25 - - - - true - - - FFT Bins/Pixel - - - 2 - - - @@ -97,7 +78,7 @@ - 40 + 110 0 @@ -113,6 +94,9 @@ + + Bins/Pixel + 1 @@ -143,25 +127,6 @@ - - - - - 16777215 - 25 - - - - true - - - N Avg - - - 2 - - - @@ -172,7 +137,7 @@ - 0 + 80 0 @@ -185,6 +150,9 @@ Number of FFTs averaged (controls waterfall scrolling rate) + + N Avg + 1 @@ -210,26 +178,13 @@ - - + + - 16777215 - 25 + 80 + 0 - - true - - - Gain - - - 2 - - - - - 38 @@ -239,6 +194,9 @@ Scaling (dB) applied to spectra before plotting + + Gain + -20 @@ -264,26 +222,13 @@ - - + + - 16777215 - 25 + 80 + 0 - - true - - - Zero - - - 2 - - - - - 38 @@ -293,6 +238,12 @@ Constant offset applied to waterfall data + + + + + Zero + -100 @@ -301,6 +252,31 @@ + + + + + 60 + 0 + + + + Slope + + + 1 + + + -2.000000000000000 + + + 2.000000000000000 + + + 0.100000000000000 + + + @@ -317,25 +293,6 @@ - - - - - 16777215 - 25 - - - - true - - - f Min - - - 2 - - - @@ -344,17 +301,32 @@ 0 + + + 110 + 0 + + - Minimum frequency for wideband decodes + Decode JT65 below this frequency, JT9 above + + + JT9 + + + JT65 - 1000 + 0 - 2000 + 5000 - 50 + 100 + + + 3000 @@ -374,66 +346,6 @@ - - - - - 16777215 - 25 - - - - true - - - f Max - - - 2 - - - - - - - - 0 - 0 - - - - Maximum frequency for wideband decodes - - - 1000 - - - 2000 - - - 50 - - - 2000 - - - - - - - Qt::Horizontal - - - QSizePolicy::Minimum - - - - 8 - 20 - - - - @@ -452,11 +364,6 @@ Cumulative - - - JT9 Sync - - diff --git a/wsjtx.iss b/wsjtx.iss index 7f8a671f0..654ddcfd4 100644 --- a/wsjtx.iss +++ b/wsjtx.iss @@ -1,26 +1,29 @@ [Setup] AppName=wsjtx -AppVerName=wsjtx Version 1.0.0 r3323 +AppVerName=wsjtx Version 1.0.0 r3461 AppCopyright=Copyright (C) 2001-2013 by Joe Taylor, K1JT -DefaultDirName=c:\wsjtx -DefaultGroupName=wsjtx +DefaultDirName=c:\wsjtx2 +DefaultGroupName=wsjtx2 [Files] -Source: "c:\Users\joe\wsjt\wsjtx_install\wsjtx.exe"; DestDir: "{app}" -Source: "c:\Users\joe\wsjt\wsjtx_install\jt9.exe"; DestDir: "{app}" -Source: "c:\Users\joe\wsjt\wsjtx\lib\jt9code.exe"; DestDir: "{app}" -Source: "c:\Users\joe\wsjt\wsjtx_install\rigctl.exe"; DestDir: "{app}" -Source: "c:\Users\joe\wsjt\wsjtx_install\wsjt.ico"; DestDir: "{app}" -Source: "c:\Users\joe\wsjt\wsjtx_install\afmhot.dat"; DestDir: "{app}"; -Source: "c:\Users\joe\wsjt\wsjtx_install\blue.dat"; DestDir: "{app}"; -Source: "c:\Users\joe\wsjt\wsjtx_install\CALL3.TXT"; DestDir: "{app}"; Flags: onlyifdoesntexist -Source: "c:\Users\joe\wsjt\QtSupport\*.dll"; DestDir: "{app}"; -Source: "c:\Users\joe\wsjt\wsjtx\shortcuts.txt"; DestDir: "{app}" -Source: "c:\Users\joe\wsjt\wsjtx\mouse_commands.txt"; DestDir: "{app}" -Source: "c:\Users\joe\wsjt\wsjtx\WSJT-X_Users_Guide.pdf"; DestDir: "{app}" -Source: "c:\Users\joe\wsjt\wsjtx_install\save\Samples\130418_1742.wav"; DestDir: "{app}\save\Samples"; +Source: "c:\Users\joe\wsjt_k1jt\wsjtx_install\wsjtx.exe"; DestDir: "{app}" +Source: "c:\Users\joe\wsjt_k1jt\wsjtx_install\jt9.exe"; DestDir: "{app}" +Source: "c:\Users\joe\wsjt_k1jt\wsjtx\lib\jt9code.exe"; DestDir: "{app}" +Source: "c:\Users\joe\wsjt_k1jt\wsjtx_install\rigctl.exe"; DestDir: "{app}" +Source: "c:\Users\joe\wsjt_k1jt\wsjtx_install\kvasd.exe"; DestDir: "{app}" +Source: "c:\Users\joe\wsjt_k1jt\wsjtx_install\wsjt.ico"; DestDir: "{app}" +Source: "c:\Users\joe\wsjt_k1jt\wsjtx_install\afmhot.dat"; DestDir: "{app}"; +Source: "c:\Users\joe\wsjt_k1jt\wsjtx_install\blue.dat"; DestDir: "{app}"; +Source: "c:\Users\joe\wsjt_k1jt\wsjtx_install\CALL3.TXT"; DestDir: "{app}"; Flags: onlyifdoesntexist +Source: "c:\Users\joe\wsjt\QtSupport\*.dll"; DestDir: "{app}"; +Source: "c:\Users\joe\wsjt_k1jt\wsjtx\shortcuts.txt"; DestDir: "{app}" +Source: "c:\Users\joe\wsjt_k1jt\wsjtx\mouse_commands.txt"; DestDir: "{app}" +Source: "c:\Users\joe\wsjt\wsjtx\WSJT-X_Users_Guide.pdf"; DestDir: "{app}" +Source: "c:\Users\joe\wsjt_k1jt\wsjtx\WSJT-X_1.1_Quick_Start.pdf"; DestDir: "{app}" +Source: "c:\Users\joe\wsjt_k1jt\wsjtx_install\save\Samples\130418_1742.wav"; DestDir: "{app}\save\Samples"; +Source: "c:\Users\joe\wsjt_k1jt\wsjtx_install\save\Samples\130610_2343.wav"; DestDir: "{app}\save\Samples"; [Icons] -Name: "{group}\wsjtx"; Filename: "{app}\wsjtx.exe"; WorkingDir: {app}; IconFilename: {app}\wsjt.ico -Name: "{userdesktop}\wsjtx"; Filename: "{app}\wsjtx.exe"; WorkingDir: {app}; IconFilename: {app}\wsjt.ico +Name: "{group}\wsjtx2"; Filename: "{app}\wsjtx.exe"; WorkingDir: {app}; IconFilename: {app}\wsjt.ico +Name: "{userdesktop}\wsjtx2"; Filename: "{app}\wsjtx.exe"; WorkingDir: {app}; IconFilename: {app}\wsjt.ico diff --git a/wsjtx.pro b/wsjtx.pro index d3acc2779..6e4272e1c 100644 --- a/wsjtx.pro +++ b/wsjtx.pro @@ -6,13 +6,12 @@ QT += core gui network greaterThan(QT_MAJOR_VERSION, 4): QT += widgets -CONFIG += qwt thread +CONFIG += thread #CONFIG += console TARGET = wsjtx DESTDIR = ../wsjtx_install -#DESTDIR = ../qt5_install -VERSION = 0.99 +VERSION = 1.1 TEMPLATE = app DEFINES = QT4 @@ -57,27 +56,22 @@ FORMS += mainwindow.ui about.ui devsetup.ui widegraph.ui \ RC_FILE = wsjtx.rc unix { -INCLUDEPATH += $$quote(/usr/include/qwt-qt4) LIBS += ../wsjtx/lib/libjt9.a LIBS += -lhamlib -LIBS += -lportaudio -lgfortran -lfftw3f -lqwt-qt4 +LIBS += -lportaudio -lgfortran -lfftw3f } win32 { -INCLUDEPATH += c:/qwt-6.0.1/include INCLUDEPATH += ../../hamlib-1.2.15.3/include LIBS += ../../hamlib-1.2.15.3/src/.libs/libhamlib.dll.a +#LIBS += ../../hamlib-1.2.15.3/lib/gcc/libhamlib.dll.a LIBS += ../wsjtx/lib/libjt9.a LIBS += ../wsjtx/libfftw3f_win.a LIBS += ../wsjtx/libpskreporter.a LIBS += ../wsjtx/libHRDInterface001.a -LIBS += ../QtSupport/palir-02.dll +#LIBS += ../QtSupport/palir-02.dll +LIBS += /users/joe/wsjt/QtSupport/palir-02.dll LIBS += libwsock32 LIBS += C:/MinGW/lib/libf95.a -CONFIG(release) { - LIBS += C:/qwt-6.0.1/lib/qwt.dll -} else { - LIBS += C:/qwt-6.0.1/lib/qwtd.dll - LIBS += -lusb -} + }