diff --git a/WSJT-X_Users_Guide_v1.2.docx b/WSJT-X_Users_Guide_v1.2.docx
index 79adb9cae..1af1624b9 100644
Binary files a/WSJT-X_Users_Guide_v1.2.docx and b/WSJT-X_Users_Guide_v1.2.docx differ
diff --git a/commons.h b/commons.h
index 37447fb58..4b875c210 100644
--- a/commons.h
+++ b/commons.h
@@ -16,6 +16,7 @@ extern struct FortranCommon {
int newdat; //1 ==> new data, must do long FFT
int npts8; //npts for c0() array
int nfa; //Low decode limit (Hz)
+ int nfSplit; //JT65 | JT9 split frequency
int nfb; //High decode limit (Hz)
int ntol; //+/- decoding range around fQSO (Hz)
int kin;
diff --git a/lib/decoder.f90 b/lib/decoder.f90
index 83e63a204..0250eda63 100644
--- a/lib/decoder.f90
+++ b/lib/decoder.f90
@@ -14,8 +14,8 @@ subroutine decoder(ss,id2)
integer*2 id2(NTMAX*12000)
real*4 dd(NTMAX*12000)
integer*1 i1SoftSymbols(207)
- common/npar/nutc,ndiskdat,ntrperiod,nfqso,newdat,npts8,nfa,nfb,ntol, &
- kin,nzhsym,nsave,nagain,ndepth,ntxmode,nmode,datetime
+ common/npar/nutc,ndiskdat,ntrperiod,nfqso,newdat,npts8,nfa,nfsplit,nfb, &
+ ntol,kin,nzhsym,nsave,nagain,ndepth,ntxmode,nmode,datetime
common/tracer/limtrace,lu
save
@@ -33,7 +33,10 @@ subroutine decoder(ss,id2)
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)
+ nf1=nfa
+ nf2=nfb
+ if(nmode.eq.65+9) nf2=nfsplit
+ call jt65a(dd,npts65,newdat,nutc,nf1,nf2,nfqso,ntol65,nagain,ndecoded)
done65=.true.
endif
@@ -50,7 +53,9 @@ subroutine decoder(ss,id2)
done=.false.
nf0=0
- ia=max(1,nint((nfa-nf0)/df3))
+ nf1=nfa
+ if(nmode.eq.65+9) nf1=nfsplit
+ ia=max(1,nint((nf1-nf0)/df3))
ib=min(NSMAX,nint((nfb-nf0)/df3))
lag1=-(2.5/tstep + 0.9999)
lag2=5.0/tstep + 0.9999
@@ -89,7 +94,7 @@ subroutine decoder(ss,id2)
ia1=ia
ib1=ib
else
- nfa1=nfa
+ nfa1=nf1
nfb1=nfb
ia=max(1,nint((nfa1-nf0)/df3))
ib=min(NSMAX,nint((nfb1-nf0)/df3))
@@ -159,7 +164,7 @@ subroutine decoder(ss,id2)
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)
+ call jt65a(dd,npts65,newdat,nutc,nf1,nf2,nfqso,ntol65,nagain,ndecoded)
endif
!### JT65 is not yet producing info for nsynced, ndecoded.
diff --git a/lib/fillcom.f90 b/lib/fillcom.f90
index 03fbb2c12..4f9ab55f4 100644
--- a/lib/fillcom.f90
+++ b/lib/fillcom.f90
@@ -1,7 +1,7 @@
subroutine fillcom(nutc0,ndepth0,nrxfreq)
character*20 datetime
- common/npar/nutc,ndiskdat,ntrperiod,nfqso,newdat,npts8,nfa,nfb,ntol, &
- kin,nzhsym,nsave,nagain,ndepth,ntxmode,nmode,datetime
+ common/npar/nutc,ndiskdat,ntrperiod,nfqso,newdat,npts8,nfa,nfsplit,nfb, &
+ ntol,kin,nzhsym,nsave,nagain,ndepth,ntxmode,nmode,datetime
save
nutc=nutc0
@@ -10,7 +10,8 @@ subroutine fillcom(nutc0,ndepth0,nrxfreq)
nfqso=nrxfreq
newdat=1
npts8=74736
- nfa=2700
+ nfa=200
+ nfsplit=2700
nfb=4007
ntol=3
kin=1024
diff --git a/lib/jt65a.f90 b/lib/jt65a.f90
index 0c061eda7..47dad71c2 100644
--- a/lib/jt65a.f90
+++ b/lib/jt65a.f90
@@ -1,4 +1,4 @@
-subroutine jt65a(dd,npts,newdat,nutc,nfa,nfqso,ntol,nagain,ndecoded)
+subroutine jt65a(dd,npts,newdat,nutc,nf1,nf2,nfqso,ntol,nagain,ndecoded)
! Process dd() data to find and decode JT65 signals.
@@ -30,8 +30,8 @@ subroutine jt65a(dd,npts,newdat,nutc,nfa,nfqso,ntol,nagain,ndecoded)
fa=nfqso - ntol
fb=nfqso + ntol
else !Wideband decode at all freqs
- fa=200
- fb=nfa
+ fa=nf1
+ fb=nf2
endif
ia=max(51,nint(fa/df))
ib=min(NSZ-51,nint(fb/df))
diff --git a/lib/jt9.f90 b/lib/jt9.f90
index 1a7675d2a..ff5307ef4 100644
--- a/lib/jt9.f90
+++ b/lib/jt9.f90
@@ -8,8 +8,8 @@ program jt9
real*4 s(NSMAX)
integer*2 id2
character*80 arg,infile
- common/jt9com/ss(184,NSMAX),savg(NSMAX),id2(NMAX),nutc,ndiskdat, &
- ntr,mousefqso,newdat,nfa,nfb,ntol,kin,nzhsym,nsynced,ndecoded
+ common/jt9com/ss(184,NSMAX),savg(NSMAX),id2(NMAX),nutc,ndiskdat,ntr, &
+ mousefqso,newdat,nfa,nfsplit,nfb,ntol,kin,nzhsym,nsynced,ndecoded
common/tracer/limtrace,lu
nargs=iargc()
diff --git a/lib/jt9c.f90 b/lib/jt9c.f90
index 57b3cb25a..0fa3e76a6 100644
--- a/lib/jt9c.f90
+++ b/lib/jt9c.f90
@@ -4,10 +4,10 @@ subroutine jt9c(ss,savg,id2,nparams0)
real*4 ss(184*NSMAX),savg(NSMAX)
integer*2 id2(NTMAX*12000)
- integer nparams0(21),nparams(21)
+ integer nparams0(22),nparams(22)
character*20 datetime
- common/npar/nutc,ndiskdat,ntrperiod,nfqso,newdat,npts8,nfa,nfb,ntol, &
- kin,nzhsym,nsave,nagain,ndepth,ntxmode,nmode,datetime
+ common/npar/nutc,ndiskdat,ntrperiod,nfqso,newdat,npts8,nfa,nfsplit,nfb, &
+ ntol,kin,nzhsym,nsave,nagain,ndepth,ntxmode,nmode,datetime
equivalence (nparams,nutc)
nutc=id2(1)+int(savg(1)) !Silence compiler warning
diff --git a/mainwindow.cpp b/mainwindow.cpp
index 70c05679a..e5f2bbdbe 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -390,7 +390,6 @@ MainWindow::MainWindow(QSharedMemory *shdmem, QString *thekey, \
//--------------------------------------------------- MainWindow destructor
MainWindow::~MainWindow()
{
- writeSettings();
if(!m_decoderBusy) {
QFile lockFile(m_appDir + "/.lock");
lockFile.remove();
@@ -1057,6 +1056,7 @@ void MainWindow::OnExit()
{
m_guiTimer.stop ();
g_pWideGraph->saveSettings();
+ writeSettings();
if(m_fname != "") killFile();
m_killAll=true;
mem_jt9->detach();
@@ -1320,14 +1320,11 @@ void MainWindow::decode() //decode()
jt9com_.ndepth=m_ndepth;
jt9com_.ndiskdat=0;
if(m_diskData) jt9com_.ndiskdat=1;
- 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_.nfa=g_pWideGraph->nStartFreq();
+ jt9com_.nfSplit=g_pWideGraph->getFmin();
+ jt9com_.nfb=g_pWideGraph->getFmax();
jt9com_.ntol=20;
- if(jt9com_.nutc < m_nutc0) m_RxLog |= 1; //Date and Time to all.txt
+ if(jt9com_.nutc < m_nutc0) m_RxLog |= 1; //Date and Time to all.txt
m_nutc0=jt9com_.nutc;
jt9com_.ntxmode=9;
if(m_modeTx=="JT65") jt9com_.ntxmode=65;
diff --git a/mainwindow.ui b/mainwindow.ui
index b854d4ab6..769b730e9 100644
--- a/mainwindow.ui
+++ b/mainwindow.ui
@@ -461,7 +461,7 @@ p, li { white-space: pre-wrap; }
- Decode most recent Rx period at QSO Frequency (use shift for all freqs)
+ <html><head/><body><p>Decode most recent Rx period at QSO Frequency</p></body></html>
&Decode
@@ -515,7 +515,7 @@ p, li { white-space: pre-wrap; }
-
- Assert PTT and emit a pure tone
+ <html><head/><body><p>Transmit a pure tone</p></body></html>
&Tune
@@ -584,6 +584,9 @@ p, li { white-space: pre-wrap; }
-
+
+ <html><head/><body><p>Tx frequency tracks Rx frequency</p></body></html>
+
Lock Tx=Rx
@@ -647,6 +650,9 @@ p, li { white-space: pre-wrap; }
20
+
+ Audio Rx frequency
+
Hz
@@ -1127,7 +1133,7 @@ p, li { white-space: pre-wrap; }
- Signal report (dB0
+ <html><head/><body><p>Signal report (dB)</p></body></html>
-50
@@ -2061,6 +2067,9 @@ p, li { white-space: pre-wrap; }
false
+
+ Toggle Tx mode
+
Tx JT9
@@ -2084,6 +2093,9 @@ p, li { white-space: pre-wrap; }
-
+
+ Add 2 kHz to requested dial frequency
+
+2 kHz
@@ -2098,7 +2110,7 @@ p, li { white-space: pre-wrap; }
- If orange, click to read dial frequency once
+ <html><head/><body><p>If orange, click to read dial frequency</p></body></html>
diff --git a/widegraph.ui b/widegraph.ui
index e8c2128d5..5c8363990 100644
--- a/widegraph.ui
+++ b/widegraph.ui
@@ -77,7 +77,7 @@
- Constant offset applied to waterfall data
+ <html><head/><body><p>Constant offset applied to spectra</p></body></html>
@@ -108,7 +108,7 @@
- Scaling (dB) applied to spectra before plotting
+ <html><head/><body><p>Gain (dB) applied to spectra before display</p></body></html>
Gain
@@ -161,6 +161,9 @@
0
+
+ Frequency (Hz) at left edge of waterfall
+
Hz
@@ -282,6 +285,9 @@
0
+
+ Correction applied to flatted displayed spectra
+
Slope
@@ -336,7 +342,7 @@
-
- Select data for display curve
+ <html><head/><body><p>Select data for spectral display</p></body></html>
1
diff --git a/wsjtx.iss b/wsjtx.iss
index 8dcc1be64..a27fe4ed1 100644
--- a/wsjtx.iss
+++ b/wsjtx.iss
@@ -1,9 +1,9 @@
[Setup]
AppName=wsjtx
-AppVerName=wsjtx Version 1.1.1 r3520
+AppVerName=wsjtx Version 1.2 r3537
AppCopyright=Copyright (C) 2001-2013 by Joe Taylor, K1JT
-DefaultDirName=c:\wsjtx2
-DefaultGroupName=wsjtx2
+DefaultDirName=c:\wsjtx1.2
+DefaultGroupName=wsjtx1.2
[Files]
Source: "c:\Users\joe\wsjt\wsjtx_install\*.exe"; DestDir: "{app}"
@@ -14,12 +14,13 @@ Source: "c:\Users\joe\wsjt\wsjtx_install\qt.conf"; DestDir
Source: "c:\Users\joe\wsjt\wsjtx_install\CALL3.TXT"; DestDir: "{app}"; Flags: onlyifdoesntexist
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_v1.1.1.pdf"; DestDir: "{app}"
+Source: "c:\Users\joe\wsjt\wsjtx\WSJT-X_Users_Guide_v1.2.pdf"; DestDir: "{app}"
Source: "c:\Users\joe\wsjt\wsjtx_install\save\Samples\130418_1742.wav"; DestDir: "{app}\save\Samples";
Source: "c:\Users\joe\wsjt\wsjtx_install\save\Samples\130610_2343.wav"; DestDir: "{app}\save\Samples";
Source: "c:\Users\joe\wsjt\wsjtx_install\platforms\qwindows.dll"; DestDir: "{app}\platforms";
+Source: "c:\Users\joe\wsjt\wsjtx_install\Palettes\*.pal"; DestDir: "{app}\Palettes";
[Icons]
-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
+Name: "{group}\wsjtx1.2"; Filename: "{app}\wsjtx.exe"; WorkingDir: {app}; IconFilename: {app}\wsjt.ico
+Name: "{userdesktop}\wsjtx1.2"; Filename: "{app}\wsjtx.exe"; WorkingDir: {app}; IconFilename: {app}\wsjt.ico
diff --git a/wsjtx_update.iss b/wsjtx_update.iss
new file mode 100644
index 000000000..da3bec248
--- /dev/null
+++ b/wsjtx_update.iss
@@ -0,0 +1,18 @@
+[Setup]
+AppName=wsjtx
+AppVerName=wsjtx Version 1.2 r3537
+AppCopyright=Copyright (C) 2001-2013 by Joe Taylor, K1JT
+DefaultDirName=c:\wsjtx1.2
+DefaultGroupName=wsjtx1.2
+
+[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\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_v1.2.pdf"; DestDir: "{app}"
+
+[Icons]
+Name: "{group}\wsjtx1.2"; Filename: "{app}\wsjtx.exe"; WorkingDir: {app}; IconFilename: {app}\wsjt.ico
+Name: "{userdesktop}\wsjtx1.2"; Filename: "{app}\wsjtx.exe"; WorkingDir: {app}; IconFilename: {app}\wsjt.ico
+