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

This commit is contained in:
Bill Somerville 2021-05-21 01:24:39 +01:00
commit 71b9ec921b
No known key found for this signature in database
GPG Key ID: D864B06D1E81618F
7 changed files with 41 additions and 28 deletions

View File

@ -88,6 +88,7 @@ contains
npts=ntrperiod*12000
nfft1=ntrperiod*12000
nfft2=ntrperiod*6000
npasses=1
! Determine the T/R sequence: iseq=0 (even), or iseq=1 (odd)
n=nutc

View File

@ -365,28 +365,22 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
freq=cand(icand)%f+nkhz_center-48.0-1.27046
nhzdiff=nint(1000.0*(freq-mousefqso)-mousedf)
if(nqd.eq.1 .and. abs(nhzdiff).gt.ntol) cycle
! ikhz=nint(freq)
ikhz=mousefqso
q65b_called=.true.
f0=cand(icand)%f
! write(*,3002) nqd,f0
!3002 format('=A',i3,f10.3)
call timer('q65b ',0)
call q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz, &
mousedf,ntol,xpol,mycall,hiscall,hisgrid,mode_q65,f0,idec)
call q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol, &
xpol,mycall,hiscall,hisgrid,mode_q65,f0,fqso,nagain,idec)
call timer('q65b ',1)
if(idec.ge.0) candec(icand)=.true.
enddo
if(.not.q65b_called) then
freq=mousefqso + 0.001*mousedf
! ikhz=nint(freq)
ikhz=mousefqso
f0=freq - (nkhz_center-48.0-1.27046) !### ??? ###
! write(*,3004) nqd,f0
!3004 format('=B',i3,f10.3)
call timer('q65b ',0)
call q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz, &
mousedf,ntol,xpol,mycall,hiscall,hisgrid,mode_q65,f0,idec)
call q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol, &
xpol,mycall,hiscall,hisgrid,mode_q65,f0,fqso,nagain,idec)
call timer('q65b ',1)
endif
endif
@ -418,11 +412,9 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
if(nqd.eq.1 .and. abs(freq-mousefqso).gt.0.001*ntol) cycle
ikhz=nint(freq)
f0=cand(icand)%f
! write(*,3006) nqd,f0
!3006 format('=C',i3,f10.3)
call timer('q65b ',0)
call q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz, &
mousedf,ntol,xpol,mycall,hiscall,hisgrid,mode_q65,f0,idec)
call q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol, &
xpol,mycall,hiscall,hisgrid,mode_q65,f0,fqso,nagain,idec)
call timer('q65b ',1)
if(idec.ge.0) candec(icand)=.true.
enddo ! icand

View File

@ -1,5 +1,5 @@
subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol,xpol, &
mycall0,hiscall0,hisgrid,mode_q65,f0,idec)
mycall0,hiscall0,hisgrid,mode_q65,f0,fqso,nagain,idec)
! This routine provides an interface between MAP65 and the Q65 decoder
! in WSJT-X. All arguments are input data obtained from the MAP65 GUI.
@ -63,10 +63,10 @@ subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol,xpol, &
df=96000.0/nfft1
endif
nh=nfft2/2
f_mouse=1000.0*(fqso+48.0) + mousedf
f_ipk=ipk*df3
k0=nint((ipk*df3-1000.0)/df)
! write(*,3001) nqd,f0+0.001*nfcal,0.001*ipk*df3,0.001*k0*df+1.0,mousedf,ipk,snr1
!3001 format('=D',i3,3f10.3,2i7,f7.2)
if(nagain.eq.1) k0=nint((f_mouse-1000.0)/df)
if(k0.lt.nh .or. k0.gt.nfft1-nh) go to 900
if(snr1.lt.1.5) go to 900 !### Threshold needs work? ###
@ -120,8 +120,12 @@ subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol,xpol, &
close(30)
nsubmode=mode_q65-1
nfa=max(100,1000-ntol)
nfb=min(2500,1000+ntol)
nfa=100
nfb=1900
if(nagain.eq.1) then
nfa=max(100,1000-ntol)
nfb=min(2500,1000+ntol)
endif
newdat=1
nagain=0
nsnr0=-99 !Default snr for no decode
@ -129,12 +133,13 @@ subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol,xpol, &
! NB: Frequency of ipk is now shifted to 1000 Hz.
call map65_mmdec(nutc,iwave,nqd,nsubmode,nfa,nfb,1000,ntol, &
newdat,nagain,mycall,hiscall,hisgrid)
MHz=fcenter
freq0=MHz + 0.001*ikhz
if(nsnr0.gt.-99) then
nq65df=nint(1000*(0.001*k0*df+nkhz_center-48.0+1.000-1.27046-ikhz))-nfcal
if(nqd.eq.1 .and. abs(nfreq0-1000.0).lt.0.9*ntol) then
nq65df=nq65df + nfreq0 - 1000
if(nqd.eq.1 .and. abs(nq65df-mousedf).lt.ntol) then
write(line,1020) ikhz,nq65df,45*(ipol-1),nutc,xdt0,nsnr0,msg0(1:27),cq0
1020 format('!',i3.3,i5,i4,i6.4,f5.1,i5,' : ',a27,a3)
write(*,1100) trim(line)

View File

@ -994,6 +994,11 @@ void MainWindow::on_actionQSG_MAP65_v3_triggered()
QDesktopServices::openUrl (QUrl {"https://physics.princeton.edu/pulsar/k1jt/MAP65_3.0_Quick_Start.pdf"});
}
void MainWindow::on_actionQ65_Sensitivity_in_MAP65_3_0_triggered()
{
QDesktopServices::openUrl (QUrl {"https://physics.princeton.edu/pulsar/k1jt/Q65_Sensitivity_in_MAP65.pdf"});
}
void MainWindow::on_actionAstro_Data_triggered() //Display Astro
{
if (m_astro_window ) m_astro_window->show();
@ -1807,7 +1812,10 @@ void MainWindow::doubleClickOnMessages(QString hiscall, QString t2)
lookup();
}
genStdMsgs("");
QString rpt="";
if(m_modeTx=="Q65") rpt=t2.mid(20,3);
genStdMsgs(rpt);
if(t2.indexOf(m_myCall)>0) {
m_ntx=2;
ui->txrb2->setChecked(true);

View File

@ -79,6 +79,7 @@ private slots:
void on_actionOnline_Users_Guide_triggered();
void on_actionQSG_Q65_triggered();
void on_actionQSG_MAP65_v3_triggered();
void on_actionQ65_Sensitivity_in_MAP65_3_0_triggered();
void on_actionWide_Waterfall_triggered();
void on_actionBand_Map_triggered();
void on_actionMessages_triggered();

View File

@ -276,7 +276,7 @@ p, li { white-space: pre-wrap; }
<string notr="true"/>
</property>
<property name="title">
<string> DX Call Grid </string>
<string> DX Call DX Grid </string>
</property>
<widget class="QPushButton" name="pushButton">
<property name="geometry">
@ -1218,6 +1218,7 @@ p, li { white-space: pre-wrap; }
<addaction name="actionOnline_Users_Guide"/>
<addaction name="actionQSG_Q65"/>
<addaction name="actionQSG_MAP65_v3"/>
<addaction name="actionQ65_Sensitivity_in_MAP65_3_0"/>
<addaction name="actionKeyboard_shortcuts"/>
<addaction name="actionSpecial_mouse_commands"/>
<addaction name="actionAvailable_suffixes_and_add_on_prefixes"/>
@ -1674,6 +1675,11 @@ p, li { white-space: pre-wrap; }
<string>Quick-Start Guide to MAP65 3.0 and WSJT-X 2.5.0</string>
</property>
</action>
<action name="actionQ65_Sensitivity_in_MAP65_3_0">
<property name="text">
<string>Q65 Sensitivity in MAP65 3.0</string>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<customwidgets>
@ -1692,8 +1698,8 @@ p, li { white-space: pre-wrap; }
<slot>update()</slot>
<hints>
<hint type="sourcelabel">
<x>264</x>
<y>275</y>
<x>269</x>
<y>255</y>
</hint>
<hint type="destinationlabel">
<x>126</x>

View File

@ -56,8 +56,8 @@ void Messages::setText(QString t, QString t2)
if(t2.mid(i-1,1)==" ") continue;
}
int n=line.mid(50,2).toInt();
if(line.indexOf(":")>0) n=-1;
if(n==-1) ui->messagesTextBrowser->setTextColor("#ffffff"); // white
// if(line.indexOf(":")>0) n=-1;
// if(n==-1) ui->messagesTextBrowser->setTextColor("#ffffff"); // white
if(n==0) ui->messagesTextBrowser->setTextColor(m_color0);
if(n==1) ui->messagesTextBrowser->setTextColor(m_color1);
if(n==2) ui->messagesTextBrowser->setTextColor(m_color2);