From 9d3a43c8f3025039e80f6c17d67885f2f6e5070f Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Fri, 14 Sep 2012 15:04:38 +0000 Subject: [PATCH] Fix setting of TxFirst after double-click on callsign. Adjust displayed S/N values for shorthands and nfast=2 modes. (A better scheme can probably be found.) git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/map65@2584 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- libm65/map65a.f90 | 24 ++++++++++++++++++------ mainwindow.cpp | 16 ++++++++++++---- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/libm65/map65a.f90 b/libm65/map65a.f90 index ab3a677e6..a9164b26d 100644 --- a/libm65/map65a.f90 +++ b/libm65/map65a.f90 @@ -270,10 +270,16 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, & f0=mhz+0.001*nkHz ndf=nint(1000.0*(freq-foffset-(nkHz+nfshift))) nsync1=sync1 - nsync2=nint(10.0*log10(sync2)) - 40 !### empirical ### - if(nfast.eq.2) nsync2=nsync2 + 7 + + s2db=10.0*log10(sync2) - 40 !### empirical ### + nsync2=nint(s2db) + if(nfast.eq.2) nsync2=nint(s2db + 6.5) if(decoded(1:4).eq.'RO ' .or. decoded(1:4).eq.'RRR ' .or. & - decoded(1:4).eq.'73 ') nsync2=nsync2-6 + decoded(1:4).eq.'73 ') then + if(nfast.eq.1) nsync2=nint(1.33*s2db + 2.0) + if(nfast.eq.2) nsync2=nint(1.33*s2db + 2.7) + endif + nwrite=nwrite+1 if(nxant.ne.0) then npol=npol-45 @@ -393,10 +399,16 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, & ndf1=nint(a(2)) ndf2=nint(a(3)) nsync1=sync1 - nsync2=nint(10.0*log10(sync2)) - 40 !### empirical ### - if(nfast.eq.2) nsync2=nsync2 + 7 + + s2db=10.0*log10(sync2) - 40 !### empirical ### + nsync2=nint(s2db) + if(nfast.eq.2) nsync2=nint(s2db + 6.5) if(decoded(1:4).eq.'RO ' .or. decoded(1:4).eq.'RRR ' .or. & - decoded(1:4).eq.'73 ') nsync2=nsync2-6 + decoded(1:4).eq.'73 ') then + if(nfast.eq.1) nsync2=nint(1.33*s2db + 2.0) + if(nfast.eq.2) nsync2=nint(1.33*s2db + 2.7) + endif + if(nxant.ne.0) then npol=npol-45 if(npol.lt.0) npol=npol+180 diff --git a/mainwindow.cpp b/mainwindow.cpp index da48c07d1..64fd995c4 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1627,8 +1627,12 @@ void MainWindow::doubleClickOnCall(QString hiscall, bool ctrl) QString t1 = t.mid(0,i2); //contents up to text cursor int i1=t1.lastIndexOf("\n") + 1; QString t2 = t1.mid(i1,i2-i1); //selected line - int n = 60*t2.mid(13,2).toInt() + t2.mid(15,2).toInt(); - m_txFirst = ((n%2) == 1); + if(m_nfast==1) { + int n = 60*t2.mid(13,2).toInt() + t2.mid(15,2).toInt(); + m_txFirst = ((n%2) == 1); + } else { + m_txFirst = (t2.mid(17,2).toInt()==30); + } ui->txFirstCheckBox->setChecked(m_txFirst); QString rpt=""; if(ctrl) rpt=t2.mid(23,3); @@ -1649,8 +1653,12 @@ void MainWindow::doubleClickOnMessages(QString hiscall, QString t2) msgBox("Possible dupe: " + hiscall + " already in log."); } ui->dxCallEntry->setText(hiscall); - int n = 60*t2.mid(13,2).toInt() + t2.mid(15,2).toInt(); - m_txFirst = ((n%2) == 1); + if(m_nfast==1) { + int n = 60*t2.mid(13,2).toInt() + t2.mid(15,2).toInt(); + m_txFirst = ((n%2) == 1); + } else { + m_txFirst = (t2.mid(17,2).toInt()==30); + } ui->txFirstCheckBox->setChecked(m_txFirst); lookup(); genStdMsgs("");