Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280

This commit is contained in:
Steven Franke 2020-06-19 13:41:35 -05:00
commit a5dd1bcab4
3 changed files with 13 additions and 12 deletions

View File

@ -28,7 +28,7 @@ program fst280sim
call getarg(2,arg)
read(arg,*) nsec !TR sequence length, seconds
call getarg(3,arg)
read(arg,*) f0 !Frequency (only used for single-signal)
read(arg,*) f00 !Frequency (only used for single-signal)
call getarg(4,arg)
read(arg,*) xdt !Time offset from nominal (s)
call getarg(5,arg)
@ -46,7 +46,6 @@ program fst280sim
twopi=8.0*atan(1.0)
fs=12000.0 !Sample rate (Hz)
dt=1.0/fs !Sample interval (s)
baud=1.0/tt !Keying rate (baud)
nsps=0
if(nsec.eq.15) nsps=800
if(nsec.eq.30) nsps=1680
@ -57,6 +56,7 @@ program fst280sim
print*,'Invalid TR sequence length.'
go to 999
endif
baud=12000.0/nsps !Keying rate (baud)
nmax=nsec*12000
nz=nsps*NN
nz2=nsps*NN2
@ -78,7 +78,7 @@ program fst280sim
write(*,*)
write(*,'(a9,a37)') 'Message: ',msgsent37
write(*,1000) f0,xdt,hmod,txt,snrdb
write(*,1000) f00,xdt,hmod,txt,snrdb
1000 format('f0:',f9.3,' DT:',f6.2,' hmod:',i6,' TxT:',f6.1,' SNR:',f6.1)
write(*,*)
if(i3.eq.1) then
@ -97,6 +97,7 @@ program fst280sim
fsample=12000.0
icmplx=1
f0=f00+1.5*hmod*baud
call gen_fst280wave(itone,NN,nsps,nmax,fsample,hmod,f0,icmplx,c0,wave)
k=nint((xdt+1.0)/dt)-nsps
c0=cshift(c0,-k)
@ -135,7 +136,7 @@ program fst280sim
open(10,file=trim(fname),status='unknown',access='stream')
write(10) h,iwave !Save to *.wav file
close(10)
write(*,1110) ifile,xdt,f0,snrdb,fname
write(*,1110) ifile,xdt,f00,snrdb,fname
1110 format(i4,f7.2,f8.2,f7.1,2x,a17)
enddo

View File

@ -88,8 +88,7 @@ contains
dt=1.0/fs !Sample interval (s)
dt2=1.0/fs2
tt=nsps*dt !Duration of "itone" symbols (s)
baud=1/tt
baud=1.0/tt
nfft1=2*int(nmax/2)
nh1=nfft1/2
allocate( r_data(1:nfft1+2) )
@ -294,7 +293,8 @@ contains
nsnr=nint(xsnr)
iaptype=0
qual=0.
call this%callback(nutc,smax1,nsnr,xdt,fc_synced,msg, &
fsig=fc_synced - 1.5*hmod*baud
call this%callback(nutc,smax1,nsnr,xdt,fsig,msg, &
iaptype,qual)
goto 2002
else

View File

@ -4703,7 +4703,6 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
m_QSOProgress=ROGER_REPORT;
}
m_xRcvd=t[n-2] + " " + t[n-1];
// qDebug() << "bb" << w2 << w34 << t0 << m_xRcvd;
} else if(SpecOp::FIELD_DAY==m_config.special_op_id() and bFieldDay_msg) {
if(t0=="R") {
gen_msg=setTxMsg(4);
@ -5789,19 +5788,22 @@ void MainWindow::displayWidgets(qint64 n)
void MainWindow::on_actionFST280_triggered()
{
int nsub=m_nSubMode;
on_actionJT65_triggered();
ui->sbSubmode->setMaximum(3);
m_nSubMode=nsub;
ui->sbSubmode->setValue(m_nSubMode);
m_mode="FST280";
m_modeTx="FST280";
ui->actionFST280->setChecked(true);
WSPR_config(false);
bool bVHF=m_config.enable_VHF_features();
// 012345678901234567890123456789012
displayWidgets(nWidgets("111011000000111100010000000000000"));
bool bVHF=m_config.enable_VHF_features();
setup_status_bar (bVHF);
m_TRperiod = ui->sbTR->value ();
ui->sbTR->setMinimum(15);
ui->sbTR->setMaximum(300);
ui->sbSubmode->setMaximum(3);
on_sbTR_valueChanged(ui->sbTR->value());
statusChanged();
}
@ -9002,8 +9004,6 @@ void MainWindow::set_mode (QString const& mode)
else if ("ISCAT" == mode) on_actionISCAT_triggered ();
else if ("MSK144" == mode) on_actionMSK144_triggered ();
else if ("WSPR" == mode) on_actionWSPR_triggered ();
else if ("FST280" == mode) on_actionFST280_triggered ();
else if ("FST280W" == mode) on_actionFST280W_triggered ();
else if ("Echo" == mode) on_actionEcho_triggered ();
}