mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-09-05 22:57:47 -04:00
QMAP: make offset adjustable.
This commit is contained in:
parent
e4dca8e241
commit
fea274ed57
@ -34,6 +34,7 @@ extern struct { //This is "common/datcom/..." in Fortran
|
|||||||
int ndop00; //EME Self Doppler
|
int ndop00; //EME Self Doppler
|
||||||
int nsave; //Number of s3(64,63) spectra saved
|
int nsave; //Number of s3(64,63) spectra saved
|
||||||
int max_drift; //Maximum Q65 drift: units symbol_rate/TxT
|
int max_drift; //Maximum Q65 drift: units symbol_rate/TxT
|
||||||
|
int offset; //Offset in Hz
|
||||||
int nhsym; //Number of available JT65 half-symbols
|
int nhsym; //Number of available JT65 half-symbols
|
||||||
char mycall[12];
|
char mycall[12];
|
||||||
char mygrid[6];
|
char mygrid[6];
|
||||||
@ -73,6 +74,7 @@ extern struct { //This is "common/datcom/..." in Fortran
|
|||||||
int ndop00; //EME Self Doppler
|
int ndop00; //EME Self Doppler
|
||||||
int nsave; //Number of s3(64,63) spectra saved
|
int nsave; //Number of s3(64,63) spectra saved
|
||||||
int max_drift; //Maximum Q65 drift: units symbol_rate/TxT
|
int max_drift; //Maximum Q65 drift: units symbol_rate/TxT
|
||||||
|
int offset; //Offset in Hz
|
||||||
int nhsym; //Number of available JT65 half-symbols
|
int nhsym; //Number of available JT65 half-symbols
|
||||||
char mycall[12];
|
char mycall[12];
|
||||||
char mygrid[6];
|
char mygrid[6];
|
||||||
|
@ -14,7 +14,7 @@ subroutine decode0(dd,ss,savg)
|
|||||||
common/npar/fcenter,nutc,fselected,mousedf,mousefqso,nagain, &
|
common/npar/fcenter,nutc,fselected,mousedf,mousefqso,nagain, &
|
||||||
ndepth,ndiskdat,neme,newdat,nfa,nfb,nfcal,nfshift, &
|
ndepth,ndiskdat,neme,newdat,nfa,nfb,nfcal,nfshift, &
|
||||||
mcall3,nkeep,ntol,nxant,nrxlog,nfsample,nxpol,nmode, &
|
mcall3,nkeep,ntol,nxant,nrxlog,nfsample,nxpol,nmode, &
|
||||||
ndop00,nsave,max_drift,nhsym,mycall,mygrid,hiscall,hisgrid,datetime
|
ndop00,nsave,max_drift,offset,nhsym,mycall,mygrid,hiscall,hisgrid,datetime
|
||||||
data neme0/-99/
|
data neme0/-99/
|
||||||
save
|
save
|
||||||
|
|
||||||
@ -43,7 +43,7 @@ subroutine decode0(dd,ss,savg)
|
|||||||
|
|
||||||
call timer('qmapa ',0)
|
call timer('qmapa ',0)
|
||||||
call qmapa(dd,ss,savg,newdat,nutc,fcenter,ntol,nfa,nfb, &
|
call qmapa(dd,ss,savg,newdat,nutc,fcenter,ntol,nfa,nfb, &
|
||||||
mousedf,mousefqso,nagain,nfshift,max_drift, &
|
mousedf,mousefqso,nagain,nfshift,max_drift,offset, &
|
||||||
nfcal,mycall,hiscall,hisgrid,nfsample,nmode,ndepth, &
|
nfcal,mycall,hiscall,hisgrid,nfsample,nmode,ndepth, &
|
||||||
datetime,ndop00,fselected)
|
datetime,ndop00,fselected)
|
||||||
call timer('qmapa ',1)
|
call timer('qmapa ',1)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol, &
|
subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol, &
|
||||||
mycall0,hiscall0,hisgrid,mode_q65,f0,fqso,nkhz_center, newdat,nagain, &
|
mycall0,hiscall0,hisgrid,mode_q65,f0,fqso,nkhz_center, newdat,nagain, &
|
||||||
max_drift,ndepth,datetime,ndop00,idec)
|
max_drift,offset,ndepth,datetime,ndop00,idec)
|
||||||
|
|
||||||
! This routine provides an interface between QMAP and the Q65 decoder
|
! This routine provides an interface between QMAP and the Q65 decoder
|
||||||
! in WSJT-X. All arguments are input data obtained from the QMAP GUI.
|
! in WSJT-X. All arguments are input data obtained from the QMAP GUI.
|
||||||
@ -111,7 +111,7 @@ subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol, &
|
|||||||
freq1=freq0 + 0.001d0*(ikhz1-ikhz)
|
freq1=freq0 + 0.001d0*(ikhz1-ikhz)
|
||||||
ndecodes=ndecodes+1
|
ndecodes=ndecodes+1
|
||||||
frx=0.001*k0*df+nkhz_center-48.0+1.0 - 0.001*nfcal
|
frx=0.001*k0*df+nkhz_center-48.0+1.0 - 0.001*nfcal
|
||||||
fsked=frx - 0.001*ndop00/2.0 - 1.5
|
fsked=frx - 0.001*ndop00/2.0 - 0.001*offset
|
||||||
write(result(ndecodes),1120) nutc,frx,fsked,xdt0,nsnr0,trim(msg0)
|
write(result(ndecodes),1120) nutc,frx,fsked,xdt0,nsnr0,trim(msg0)
|
||||||
1120 format(i4.4,f9.3,f7.1,f7.2,i5,2x,a)
|
1120 format(i4.4,f9.3,f7.1,f7.2,i5,2x,a)
|
||||||
write(12,1130) datetime,trim(result(ndecodes)(5:))
|
write(12,1130) datetime,trim(result(ndecodes)(5:))
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
subroutine qmapa(dd,ss,savg,newdat,nutc,fcenter,ntol,nfa,nfb, &
|
subroutine qmapa(dd,ss,savg,newdat,nutc,fcenter,ntol,nfa,nfb, &
|
||||||
mousedf,mousefqso,nagain,nfshift,max_drift,nfcal,mycall, &
|
mousedf,mousefqso,nagain,nfshift,max_drift,offset,nfcal,mycall, &
|
||||||
hiscall,hisgrid,nfsample,nmode,ndepth,datetime,ndop00,fselected)
|
hiscall,hisgrid,nfsample,nmode,ndepth,datetime,ndop00,fselected)
|
||||||
|
|
||||||
! Processes timf2 data received from Linrad to find and decode Q65 signals.
|
! Processes timf2 data received from Linrad to find and decode Q65 signals.
|
||||||
@ -64,7 +64,7 @@ subroutine qmapa(dd,ss,savg,newdat,nutc,fcenter,ntol,nfa,nfb, &
|
|||||||
call timer('q65b ',0)
|
call timer('q65b ',0)
|
||||||
call q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol, &
|
call q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol, &
|
||||||
mycall,hiscall,hisgrid,mode_q65,f0,fqso,nkhz_center,newdat, &
|
mycall,hiscall,hisgrid,mode_q65,f0,fqso,nkhz_center,newdat, &
|
||||||
nagain2,max_drift,ndepth,datetime,ndop00,idec)
|
nagain2,max_drift,offset,ndepth,datetime,ndop00,idec)
|
||||||
call timer('q65b ',1)
|
call timer('q65b ',1)
|
||||||
tsec=sec_midn() - tsec0
|
tsec=sec_midn() - tsec0
|
||||||
if(tsec.gt.30.0) exit !Don't start another decode attempt after t=30 s.
|
if(tsec.gt.30.0) exit !Don't start another decode attempt after t=30 s.
|
||||||
|
@ -247,6 +247,7 @@ void MainWindow::writeSettings()
|
|||||||
settings.setValue("PhaseX",(double)m_phasex);
|
settings.setValue("PhaseX",(double)m_phasex);
|
||||||
settings.setValue("PhaseY",(double)m_phasey);
|
settings.setValue("PhaseY",(double)m_phasey);
|
||||||
settings.setValue("MaxDrift",ui->sbMaxDrift->value());
|
settings.setValue("MaxDrift",ui->sbMaxDrift->value());
|
||||||
|
settings.setValue("Offset",ui->sbOffset->value());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------- readSettings()
|
//---------------------------------------------------------- readSettings()
|
||||||
@ -297,6 +298,7 @@ void MainWindow::readSettings()
|
|||||||
m_NB=settings.value("NB",false).toBool();
|
m_NB=settings.value("NB",false).toBool();
|
||||||
ui->NBcheckBox->setChecked(m_NB);
|
ui->NBcheckBox->setChecked(m_NB);
|
||||||
ui->sbMaxDrift->setValue(settings.value("MaxDrift",0).toInt());
|
ui->sbMaxDrift->setValue(settings.value("MaxDrift",0).toInt());
|
||||||
|
ui->sbOffset->setValue(settings.value("Offset",1500).toInt());
|
||||||
m_NBslider=settings.value("NBslider",40).toInt();
|
m_NBslider=settings.value("NBslider",40).toInt();
|
||||||
ui->NBslider->setValue(m_NBslider);
|
ui->NBslider->setValue(m_NBslider);
|
||||||
m_gainx=settings.value("GainX",1.0).toFloat();
|
m_gainx=settings.value("GainX",1.0).toFloat();
|
||||||
@ -857,6 +859,7 @@ void MainWindow::decode() //decode()
|
|||||||
datcom_.nmode=10*m_modeQ65;
|
datcom_.nmode=10*m_modeQ65;
|
||||||
datcom_.nsave=m_nsave;
|
datcom_.nsave=m_nsave;
|
||||||
datcom_.max_drift=ui->sbMaxDrift->value();
|
datcom_.max_drift=ui->sbMaxDrift->value();
|
||||||
|
datcom_.offset=ui->sbOffset->value();
|
||||||
datcom_.ndepth=1;
|
datcom_.ndepth=1;
|
||||||
if(datcom_.nagain==1) datcom_.ndepth=3;
|
if(datcom_.nagain==1) datcom_.ndepth=3;
|
||||||
|
|
||||||
|
@ -53,46 +53,10 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="4" colspan="2">
|
<item row="3" column="3">
|
||||||
<widget class="QSpinBox" name="sbMaxDrift">
|
<widget class="QCheckBox" name="NBcheckBox">
|
||||||
<property name="toolTip">
|
|
||||||
<string>Maximum drift rate in units of symbol rate per transmissiion.</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
|
||||||
<property name="prefix">
|
|
||||||
<string>Max Drift </string>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>50</number>
|
|
||||||
</property>
|
|
||||||
<property name="singleStep">
|
|
||||||
<number>5</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QLabel" name="labFreq">
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>16777215</width>
|
|
||||||
<height>35</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<pointsize>16</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="frameShape">
|
|
||||||
<enum>QFrame::Panel</enum>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>1296.080</string>
|
<string>NB</string>
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -109,14 +73,7 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="3">
|
<item row="1" column="1" rowspan="3">
|
||||||
<widget class="QCheckBox" name="NBcheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string>NB</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1" rowspan="2">
|
|
||||||
<widget class="QLabel" name="labUTC">
|
<widget class="QLabel" name="labUTC">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
@ -147,47 +104,6 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="0" rowspan="3">
|
|
||||||
<widget class="QFrame" name="xMeterFrame">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>50</width>
|
|
||||||
<height>150</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="frameShape">
|
|
||||||
<enum>QFrame::StyledPanel</enum>
|
|
||||||
</property>
|
|
||||||
<property name="frameShadow">
|
|
||||||
<enum>QFrame::Raised</enum>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="2">
|
|
||||||
<widget class="QPushButton" name="monitorButton">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>50</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>16777215</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>&Monitor</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="2" colspan="2">
|
<item row="1" column="2" colspan="2">
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
<item>
|
<item>
|
||||||
@ -273,7 +189,72 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="4" colspan="2">
|
<item row="0" column="1">
|
||||||
|
<widget class="QLabel" name="labFreq">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16777215</width>
|
||||||
|
<height>35</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>16</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::Panel</enum>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>1296.080</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0" rowspan="4">
|
||||||
|
<widget class="QFrame" name="xMeterFrame">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>50</width>
|
||||||
|
<height>150</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::StyledPanel</enum>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Raised</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="2">
|
||||||
|
<widget class="QPushButton" name="monitorButton">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>50</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16777215</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>&Monitor</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="4" colspan="2">
|
||||||
<widget class="QSlider" name="NBslider">
|
<widget class="QSlider" name="NBslider">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
@ -304,6 +285,53 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="4" colspan="2">
|
||||||
|
<widget class="QSpinBox" name="sbMaxDrift">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Maximum drift rate in units of symbol rate per transmissiion.</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="prefix">
|
||||||
|
<string>Max Drift </string>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>50</number>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<number>5</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="4" colspan="2">
|
||||||
|
<widget class="QSpinBox" name="sbOffset">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string><html><head/><body><p>Offset.</p></body></html></string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="suffix">
|
||||||
|
<string> Hz</string>
|
||||||
|
</property>
|
||||||
|
<property name="prefix">
|
||||||
|
<string>Offset </string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>500</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>2000</number>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>1500</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="0" colspan="2">
|
<item row="0" column="0" colspan="2">
|
||||||
@ -373,6 +401,8 @@
|
|||||||
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
||||||
p, li { white-space: pre-wrap; }
|
p, li { white-space: pre-wrap; }
|
||||||
hr { height: 1px; border-width: 0; }
|
hr { height: 1px; border-width: 0; }
|
||||||
|
li.unchecked::marker { content: "\2610"; }
|
||||||
|
li.checked::marker { content: "\2612"; }
|
||||||
</style></head><body style=" font-family:'Courier New'; font-size:10pt; font-weight:400; font-style:normal;">
|
</style></head><body style=" font-family:'Courier New'; font-size:10pt; font-weight:400; font-style:normal;">
|
||||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html></string>
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html></string>
|
||||||
</property>
|
</property>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user