Don't execute AutoSeq steps after sending a 73.

For FT8 mode:
  1. Open LU 13 in the proper way.
  2. Disable diagnostic LU 51.
  3. Add keyboard shortcuts CTRL+Plus, CTRL-Minus, to adjust audio Tx frequency
     in even 50 Hz steps.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7749 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2017-06-29 13:42:24 +00:00
parent 804543c6f8
commit e20bd5eae1
3 changed files with 45 additions and 25 deletions

View File

@ -49,6 +49,22 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
if(mod(params%nranera,2).eq.0) ntrials=10**(params%nranera/2)
if(mod(params%nranera,2).eq.1) ntrials=3*10**(params%nranera/2)
if(params%nranera.eq.0) ntrials=0
nfail=0
10 if (params%nagain) then
open(13,file=trim(temp_dir)//'/decoded.txt',status='unknown', &
position='append',iostat=ios)
else
open(13,file=trim(temp_dir)//'/decoded.txt',status='unknown', &
iostat=ios)
end if
if(ios.ne.0) then
nfail=nfail+1
if(nfail.le.3) then
call sleep_msec(100)
go to 10
endif
endif
if(params%nmode.eq.8) then
! We're in FT8 mode
@ -60,8 +76,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
call timer('decft8 ',1)
go to 800
endif
rms=sqrt(dot_product(float(id2(300000:310000)), &
float(id2(300000:310000)))/10000.0)
if(rms.lt.2.0) go to 800
@ -88,22 +103,6 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
! id2(1:nz)=0 ! temporarily disabled as it can breaak the JT9 decoder, maybe others
endif
nfail=0
10 if (params%nagain) then
open(13,file=trim(temp_dir)//'/decoded.txt',status='unknown', &
position='append',iostat=ios)
else
open(13,file=trim(temp_dir)//'/decoded.txt',status='unknown', &
iostat=ios)
end if
if(ios.ne.0) then
nfail=nfail+1
if(nfail.le.3) then
call sleep_msec(100)
go to 10
endif
endif
if(params%nmode.eq.4 .or. params%nmode.eq.65) open(14,file=trim(temp_dir)// &
'/avemsg.txt',status='unknown')
if(params%nmode.eq.164) open(17,file=trim(temp_dir)//'/red.dat', &

View File

@ -61,9 +61,9 @@ contains
f1,nbadcrc,message)
! write(13,1110) datetime,0,nsnr,xdt,f1,nharderrors,dmin,message
!1110 format(a13,2i4,f6.2,f7.1,i4,' ~ ',f6.2,2x,a22,' FT8')
write(51,3051) xdt,f1,sync,dmin,nsnr,nharderrors,nbadcrc,message
3051 format(4f9.1,3i5,2x,a22)
flush(51)
! write(51,3051) xdt,f1,sync,dmin,nsnr,nharderrors,nbadcrc,message
!3051 format(4f9.1,3i5,2x,a22)
! flush(51)
enddo
return

View File

@ -1432,7 +1432,7 @@ void MainWindow::fastSink(qint64 frames)
if(i1>10 and i2>i1+3) {
if (ui->cbAutoSeq->isVisible () && ui->cbAutoSeq->isChecked ()
&& (message.indexOf (" 73") < 0 || m_ntx != 6)) {
processMessage (message,43,false);
if(!m_sentFirst73) processMessage (message,43,false);
}
}
if (m_mode != "ISCAT") postDecode (true, decodedtext.string ());
@ -1741,7 +1741,28 @@ void MainWindow::keyPressEvent (QKeyEvent * e)
return;
}
break;
}
case Qt::Key_Plus:
if(e->modifiers() & Qt::ControlModifier) {
int f=ui->TxFreqSpinBox->value()/50;
ui->TxFreqSpinBox->setValue(50*(f+1));
return;
}
break;
case Qt::Key_Equal:
if(e->modifiers() & Qt::ControlModifier) {
int f=ui->TxFreqSpinBox->value()/50;
ui->TxFreqSpinBox->setValue(50*(f+1));
return;
}
break;
case Qt::Key_Minus:
if(e->modifiers() & Qt::ControlModifier) {
int f=ui->TxFreqSpinBox->value()/50;
ui->TxFreqSpinBox->setValue(50*(f-1));
return;
}
break;
}
QMainWindow::keyPressEvent (e);
}
@ -2514,7 +2535,7 @@ void::MainWindow::fast_decode_done()
&& ui->cbAutoSeq->isVisible () && ui->cbAutoSeq->isChecked ()
&& tmax >= 0.0 && i1 > 10 && i2 > i1 + 3) {
if (msg0.indexOf (" 73") < 0 || m_ntx != 6) {
processMessage(msg0,43,false);
if(!m_sentFirst73) processMessage(msg0,43,false);
}
}
if(m_msg[i][0]==0) break;
@ -2734,7 +2755,7 @@ void MainWindow::FT8_AutoSeq(QString message)
int i2=message.indexOf(m_hisCall);
if(i1>10 and i2>i1+3) {
if ((message.indexOf (" 73") < 0 || m_ntx != 6)) {
processMessage (message,43,false);
if(ui->cbAutoSeq->isChecked() and !m_sentFirst73) processMessage (message,43,false);
}
}
}