mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-08 10:06:11 -05:00
Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280
This commit is contained in:
commit
a5dd1bcab4
@ -28,7 +28,7 @@ program fst280sim
|
|||||||
call getarg(2,arg)
|
call getarg(2,arg)
|
||||||
read(arg,*) nsec !TR sequence length, seconds
|
read(arg,*) nsec !TR sequence length, seconds
|
||||||
call getarg(3,arg)
|
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)
|
call getarg(4,arg)
|
||||||
read(arg,*) xdt !Time offset from nominal (s)
|
read(arg,*) xdt !Time offset from nominal (s)
|
||||||
call getarg(5,arg)
|
call getarg(5,arg)
|
||||||
@ -46,7 +46,6 @@ program fst280sim
|
|||||||
twopi=8.0*atan(1.0)
|
twopi=8.0*atan(1.0)
|
||||||
fs=12000.0 !Sample rate (Hz)
|
fs=12000.0 !Sample rate (Hz)
|
||||||
dt=1.0/fs !Sample interval (s)
|
dt=1.0/fs !Sample interval (s)
|
||||||
baud=1.0/tt !Keying rate (baud)
|
|
||||||
nsps=0
|
nsps=0
|
||||||
if(nsec.eq.15) nsps=800
|
if(nsec.eq.15) nsps=800
|
||||||
if(nsec.eq.30) nsps=1680
|
if(nsec.eq.30) nsps=1680
|
||||||
@ -57,6 +56,7 @@ program fst280sim
|
|||||||
print*,'Invalid TR sequence length.'
|
print*,'Invalid TR sequence length.'
|
||||||
go to 999
|
go to 999
|
||||||
endif
|
endif
|
||||||
|
baud=12000.0/nsps !Keying rate (baud)
|
||||||
nmax=nsec*12000
|
nmax=nsec*12000
|
||||||
nz=nsps*NN
|
nz=nsps*NN
|
||||||
nz2=nsps*NN2
|
nz2=nsps*NN2
|
||||||
@ -78,7 +78,7 @@ program fst280sim
|
|||||||
|
|
||||||
write(*,*)
|
write(*,*)
|
||||||
write(*,'(a9,a37)') 'Message: ',msgsent37
|
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)
|
1000 format('f0:',f9.3,' DT:',f6.2,' hmod:',i6,' TxT:',f6.1,' SNR:',f6.1)
|
||||||
write(*,*)
|
write(*,*)
|
||||||
if(i3.eq.1) then
|
if(i3.eq.1) then
|
||||||
@ -97,6 +97,7 @@ program fst280sim
|
|||||||
|
|
||||||
fsample=12000.0
|
fsample=12000.0
|
||||||
icmplx=1
|
icmplx=1
|
||||||
|
f0=f00+1.5*hmod*baud
|
||||||
call gen_fst280wave(itone,NN,nsps,nmax,fsample,hmod,f0,icmplx,c0,wave)
|
call gen_fst280wave(itone,NN,nsps,nmax,fsample,hmod,f0,icmplx,c0,wave)
|
||||||
k=nint((xdt+1.0)/dt)-nsps
|
k=nint((xdt+1.0)/dt)-nsps
|
||||||
c0=cshift(c0,-k)
|
c0=cshift(c0,-k)
|
||||||
@ -135,7 +136,7 @@ program fst280sim
|
|||||||
open(10,file=trim(fname),status='unknown',access='stream')
|
open(10,file=trim(fname),status='unknown',access='stream')
|
||||||
write(10) h,iwave !Save to *.wav file
|
write(10) h,iwave !Save to *.wav file
|
||||||
close(10)
|
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)
|
1110 format(i4,f7.2,f8.2,f7.1,2x,a17)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
@ -88,8 +88,7 @@ contains
|
|||||||
dt=1.0/fs !Sample interval (s)
|
dt=1.0/fs !Sample interval (s)
|
||||||
dt2=1.0/fs2
|
dt2=1.0/fs2
|
||||||
tt=nsps*dt !Duration of "itone" symbols (s)
|
tt=nsps*dt !Duration of "itone" symbols (s)
|
||||||
baud=1/tt
|
baud=1.0/tt
|
||||||
|
|
||||||
nfft1=2*int(nmax/2)
|
nfft1=2*int(nmax/2)
|
||||||
nh1=nfft1/2
|
nh1=nfft1/2
|
||||||
allocate( r_data(1:nfft1+2) )
|
allocate( r_data(1:nfft1+2) )
|
||||||
@ -294,7 +293,8 @@ contains
|
|||||||
nsnr=nint(xsnr)
|
nsnr=nint(xsnr)
|
||||||
iaptype=0
|
iaptype=0
|
||||||
qual=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)
|
iaptype,qual)
|
||||||
goto 2002
|
goto 2002
|
||||||
else
|
else
|
||||||
|
@ -4703,7 +4703,6 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
|
|||||||
m_QSOProgress=ROGER_REPORT;
|
m_QSOProgress=ROGER_REPORT;
|
||||||
}
|
}
|
||||||
m_xRcvd=t[n-2] + " " + t[n-1];
|
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) {
|
} else if(SpecOp::FIELD_DAY==m_config.special_op_id() and bFieldDay_msg) {
|
||||||
if(t0=="R") {
|
if(t0=="R") {
|
||||||
gen_msg=setTxMsg(4);
|
gen_msg=setTxMsg(4);
|
||||||
@ -5789,19 +5788,22 @@ void MainWindow::displayWidgets(qint64 n)
|
|||||||
|
|
||||||
void MainWindow::on_actionFST280_triggered()
|
void MainWindow::on_actionFST280_triggered()
|
||||||
{
|
{
|
||||||
|
int nsub=m_nSubMode;
|
||||||
on_actionJT65_triggered();
|
on_actionJT65_triggered();
|
||||||
|
ui->sbSubmode->setMaximum(3);
|
||||||
|
m_nSubMode=nsub;
|
||||||
|
ui->sbSubmode->setValue(m_nSubMode);
|
||||||
m_mode="FST280";
|
m_mode="FST280";
|
||||||
m_modeTx="FST280";
|
m_modeTx="FST280";
|
||||||
ui->actionFST280->setChecked(true);
|
ui->actionFST280->setChecked(true);
|
||||||
WSPR_config(false);
|
WSPR_config(false);
|
||||||
|
bool bVHF=m_config.enable_VHF_features();
|
||||||
// 012345678901234567890123456789012
|
// 012345678901234567890123456789012
|
||||||
displayWidgets(nWidgets("111011000000111100010000000000000"));
|
displayWidgets(nWidgets("111011000000111100010000000000000"));
|
||||||
bool bVHF=m_config.enable_VHF_features();
|
|
||||||
setup_status_bar (bVHF);
|
setup_status_bar (bVHF);
|
||||||
m_TRperiod = ui->sbTR->value ();
|
m_TRperiod = ui->sbTR->value ();
|
||||||
ui->sbTR->setMinimum(15);
|
ui->sbTR->setMinimum(15);
|
||||||
ui->sbTR->setMaximum(300);
|
ui->sbTR->setMaximum(300);
|
||||||
ui->sbSubmode->setMaximum(3);
|
|
||||||
on_sbTR_valueChanged(ui->sbTR->value());
|
on_sbTR_valueChanged(ui->sbTR->value());
|
||||||
statusChanged();
|
statusChanged();
|
||||||
}
|
}
|
||||||
@ -9002,8 +9004,6 @@ void MainWindow::set_mode (QString const& mode)
|
|||||||
else if ("ISCAT" == mode) on_actionISCAT_triggered ();
|
else if ("ISCAT" == mode) on_actionISCAT_triggered ();
|
||||||
else if ("MSK144" == mode) on_actionMSK144_triggered ();
|
else if ("MSK144" == mode) on_actionMSK144_triggered ();
|
||||||
else if ("WSPR" == mode) on_actionWSPR_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 ();
|
else if ("Echo" == mode) on_actionEcho_triggered ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user