Merge branch 'release-2.1.0' of bitbucket.org:k1jt/wsjtx into release-2.1.0

This commit is contained in:
Steve Franke 2019-03-28 11:02:20 -05:00
commit 3490c0d1e3
4 changed files with 43 additions and 20 deletions

View File

@ -265,7 +265,7 @@ subroutine ft4_decode(cdatetime0,tbuf,nfa,nfb,nQSOProgress,ncontest,nfqso, &
ip=maxloc(s4(:,k+99)) ip=maxloc(s4(:,k+99))
if(icos4d(k-1).eq.(ip(1)-1)) is4=is4+1 if(icos4d(k-1).eq.(ip(1)-1)) is4=is4+1
enddo enddo
nsync=is1+is2+is3+is4 !Number of hard sync errors, 0-16 nsync=is1+is2+is3+is4 !Number of correct hard sync symbols, 0-16
if(smax .lt. 0.7 .or. nsync .lt. 8) cycle if(smax .lt. 0.7 .or. nsync .lt. 8) cycle
do nseq=1,3 !Try coherent sequences of 1, 2, and 4 symbols do nseq=1,3 !Try coherent sequences of 1, 2, and 4 symbols
@ -460,17 +460,15 @@ subroutine ft4_decode(cdatetime0,tbuf,nfa,nfb,nQSOProgress,ncontest,nfqso, &
fname=data_dir(1:l1+1)//'all_ft4.txt' fname=data_dir(1:l1+1)//'all_ft4.txt'
open(24,file=trim(fname),status='unknown',position='append') open(24,file=trim(fname),status='unknown',position='append')
write(24,1002) cdatetime0,nsnr,tsig,nint(freq),message, & write(24,1002) cdatetime0,nsnr,tsig,nint(freq),message, &
nharderror,nsync_qual,ipass,niterations,iaptype nharderror,nsync_qual,ipass,niterations,iaptype,nsync
if(hhmmss.eq.' ') write(*,1002) cdatetime0,nsnr, & if(hhmmss.eq.' ') write(*,1002) cdatetime0,nsnr, &
tsig,nint(freq),message,nharderror,nsync_qual,ipass, & tsig,nint(freq),message,nharderror,nsync_qual,ipass, &
niterations,iaptype niterations,iaptype
1002 format(a17,i4,f5.1,i5,' Rx ',a37,5i5) 1002 format(a17,i4,f5.1,i5,' Rx ',a37,6i4)
close(24) close(24)
linex(ndecodes)=line linex(ndecodes)=line
if(ibest.ge.ibmax-15) msg0=message !Possible dupe candidate if(ibest.ge.ibmax-15) msg0=message !Possible dupe candidate
exit exit
endif endif
enddo !Sequence estimation enddo !Sequence estimation
enddo !Candidate list enddo !Candidate list

View File

@ -54,14 +54,14 @@ program ft4d
do ifile=iarg,nargs do ifile=iarg,nargs
call getarg(ifile,infile) call getarg(ifile,infile)
j2=index(infile,'.wav')
open(10,file=infile,status='old',access='stream') open(10,file=infile,status='old',access='stream')
read(10) ihdr read(10) ihdr
npts=ihdr(11)/2 npts=min(ihdr(11)/2,180000)
read(10) iwave(1:npts) read(10) iwave(1:npts)
close(10) close(10)
cdatetime=infile(1:13)//'.000' cdatetime=infile
j2=index(infile,'.wav')
if(j2.ge.14) cdatetime=infile(j2-13:j2)//'000'
istep=3456 istep=3456
nsteps=(npts-52800)/istep + 1 nsteps=(npts-52800)/istep + 1
do n=1,nsteps do n=1,nsteps

View File

@ -25,9 +25,8 @@ program ft4sim
nargs=iargc() nargs=iargc()
if(nargs.ne.7) then if(nargs.ne.7) then
print*,'Usage: ft4sim "message" f0 DT fdop del nfiles snr' print*,'Usage: ft4sim "message" f0 DT fdop del nfiles snr'
print*,'Examples: ft4sim "K1ABC W9XYZ EN37" 1500.0 0.0 0.1 1.0 10 -15' print*,'Examples: ft4sim "CQ W9XYZ EN37" 1500 0.0 0.1 1.0 10 -15'
print*,' ft4sim "WA9XYZ/R KA1ABC/R FN42" 1500.0 0.0 0.1 1.0 10 -15' print*,' ft4sim "K1ABC W9XYZ R 539 WI" 1500 0.0 0.1 1.0 10 -15'
print*,' ft4sim "K1ABC RR73; W9XYZ <KH1/KH7Z> -11" 300 0 0 0 1 -10'
go to 999 go to 999
endif endif
call getarg(1,msg37) !Message to be transmitted call getarg(1,msg37) !Message to be transmitted

View File

@ -3892,10 +3892,12 @@ void MainWindow::guiUpdate()
SpecOp::RTTY==m_config.special_op_id()) ) { SpecOp::RTTY==m_config.special_op_id()) ) {
//We're in a contest-like mode other than EU_VHF: start QSO with Tx2. //We're in a contest-like mode other than EU_VHF: start QSO with Tx2.
ui->tx1->setEnabled(false); ui->tx1->setEnabled(false);
ui->txb1->setEnabled(false);
} }
if(!ui->tx1->isEnabled() and SpecOp::EU_VHF==m_config.special_op_id()) { if(!ui->tx1->isEnabled() and SpecOp::EU_VHF==m_config.special_op_id()) {
//We're in EU_VHF mode: start QSO with Tx1. //We're in EU_VHF mode: start QSO with Tx1.
ui->tx1->setEnabled(true); ui->tx1->setEnabled(true);
ui->txb1->setEnabled(true);
} }
} }
@ -4206,7 +4208,11 @@ void MainWindow::on_txb1_clicked()
m_ntx=1; m_ntx=1;
m_QSOProgress = REPLYING; m_QSOProgress = REPLYING;
ui->txrb1->setChecked(true); ui->txrb1->setChecked(true);
if (m_transmitting) m_restart=true; if(m_mode=="FT4") {
ft4_tx(1);
} else {
if(m_transmitting) m_restart=true;
}
} }
else { else {
on_txb2_clicked (); on_txb2_clicked ();
@ -4227,7 +4233,11 @@ void MainWindow::on_txb2_clicked()
m_ntx=2; m_ntx=2;
m_QSOProgress = REPORT; m_QSOProgress = REPORT;
ui->txrb2->setChecked(true); ui->txrb2->setChecked(true);
if (m_transmitting) m_restart=true; if(m_mode=="FT4") {
ft4_tx(2);
} else {
if(m_transmitting) m_restart=true;
}
} }
void MainWindow::on_txb3_clicked() void MainWindow::on_txb3_clicked()
@ -4235,7 +4245,11 @@ void MainWindow::on_txb3_clicked()
m_ntx=3; m_ntx=3;
m_QSOProgress = ROGER_REPORT; m_QSOProgress = ROGER_REPORT;
ui->txrb3->setChecked(true); ui->txrb3->setChecked(true);
if (m_transmitting) m_restart=true; if(m_mode=="FT4") {
ft4_tx(3);
} else {
if(m_transmitting) m_restart=true;
}
} }
void MainWindow::on_txb4_clicked() void MainWindow::on_txb4_clicked()
@ -4243,7 +4257,11 @@ void MainWindow::on_txb4_clicked()
m_ntx=4; m_ntx=4;
m_QSOProgress = ROGERS; m_QSOProgress = ROGERS;
ui->txrb4->setChecked(true); ui->txrb4->setChecked(true);
if (m_transmitting) m_restart=true; if(m_mode=="FT4") {
ft4_tx(4);
} else {
if(m_transmitting) m_restart=true;
}
} }
void MainWindow::on_txb4_doubleClicked() void MainWindow::on_txb4_doubleClicked()
@ -4261,7 +4279,11 @@ void MainWindow::on_txb5_clicked()
m_ntx=5; m_ntx=5;
m_QSOProgress = SIGNOFF; m_QSOProgress = SIGNOFF;
ui->txrb5->setChecked(true); ui->txrb5->setChecked(true);
if (m_transmitting) m_restart=true; if(m_mode=="FT4") {
ft4_tx(5);
} else {
if(m_transmitting) m_restart=true;
}
} }
void MainWindow::on_txb5_doubleClicked() void MainWindow::on_txb5_doubleClicked()
@ -4275,12 +4297,16 @@ void MainWindow::on_txb6_clicked()
m_QSOProgress = CALLING; m_QSOProgress = CALLING;
set_dateTimeQSO(-1); set_dateTimeQSO(-1);
ui->txrb6->setChecked(true); ui->txrb6->setChecked(true);
if (m_transmitting) m_restart=true; if(m_mode=="FT4") {
ft4_tx(6);
} else {
if(m_transmitting) m_restart=true;
}
} }
void MainWindow::doubleClickOnCall2(Qt::KeyboardModifiers modifiers) void MainWindow::doubleClickOnCall2(Qt::KeyboardModifiers modifiers)
{ {
if(m_mode=="FT4" and m_inQSOwith!="") return; //Confusing: come here after double-click on left text window, not right window.
set_dateTimeQSO(-1); // reset our QSO start time set_dateTimeQSO(-1); // reset our QSO start time
m_decodedText2=true; m_decodedText2=true;
doubleClickOnCall(modifiers); doubleClickOnCall(modifiers);
@ -4289,7 +4315,6 @@ void MainWindow::doubleClickOnCall2(Qt::KeyboardModifiers modifiers)
void MainWindow::doubleClickOnCall(Qt::KeyboardModifiers modifiers) void MainWindow::doubleClickOnCall(Qt::KeyboardModifiers modifiers)
{ {
if(m_mode=="FT4" and m_inQSOwith!="") return;
QTextCursor cursor; QTextCursor cursor;
if(m_mode=="ISCAT") { if(m_mode=="ISCAT") {
MessageBox::information_message (this, MessageBox::information_message (this,
@ -5149,6 +5174,7 @@ void MainWindow::clearDX ()
m_rptRcvd.clear (); m_rptRcvd.clear ();
m_qsoStart.clear (); m_qsoStart.clear ();
m_qsoStop.clear (); m_qsoStop.clear ();
m_inQSOwith.clear();
genStdMsgs (QString {}); genStdMsgs (QString {});
if (ui->tabWidget->currentIndex() == 1) { if (ui->tabWidget->currentIndex() == 1) {
ui->genMsg->setText(ui->tx6->text()); ui->genMsg->setText(ui->tx6->text());