Send RxFreq and FTol from wsjtx to sfrx, and display them on WideGraph.

This commit is contained in:
Joe Taylor 2024-08-14 10:03:46 -04:00
parent 08866b0d75
commit 1186b0bb8b
7 changed files with 35 additions and 5 deletions

View File

@ -21,6 +21,7 @@ FT8 11101000010011100001000010011000100000
FT8/VHF 11101000010011100001000010011000100000
FT8/Fox 11101000010011100001000000000010000000
FT8/Hound 11101000010011100001000000000011000000
FT8/SupHou 11111000010011100001000000000011000000
-------------------------------------------------
1 2 3
01234567890123456789012345678901234567

View File

@ -53,6 +53,8 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
character(len=12) :: mycall, hiscall
character(len=6) :: mygrid, hisgrid
character*60 line
character*256 cmnd,cmndmsg
character*6 crxfreq,cftol
data ndec8/0/,ntr0/-1/
save
type(counting_jt4_decoder) :: my_jt4
@ -146,7 +148,12 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
access='stream')
write(47) params%yymmdd,params%nutc,id2(1:20),id2(1:180000)
close(47)
call execute_command_line(trim(exe_dir)//'/sfrx '//'"'//trim(temp_dir)//'/fort.47"')
write(crxfreq,'(i6)') params%nfqso
write(cftol,'(i5)') params%ntol
cmnd=trim(exe_dir)//char(92)//'sfrx'//crxfreq//cftol// '"' // &
trim(temp_dir)//char(92)//'fort.47"'
call execute_command_line(trim(cmnd),exitstat=nexitstat, &
cmdstat=ncmdstat,cmdmsg=cmndmsg)
else
call timer('decft8 ',0)
newdat=params%newdat

View File

@ -7279,14 +7279,20 @@ void MainWindow::on_actionFT8_triggered()
ui->cbAutoSeq->setEnabled(false);
ui->tabWidget->setCurrentIndex(0);
ui->cbHoldTxFreq->setChecked(true);
// 01234567890123456789012345678901234567
displayWidgets(nWidgets("11101000010011000001000000000011000000"));
if(m_config.superFox()) {
// 01234567890123456789012345678901234567
displayWidgets(nWidgets("11111000010011000001000000000011000000"));
ui->labDXped->setText(tr ("Super Hound"));
ui->cbRxAll->setEnabled(false);
m_wideGraph->setRxFreq(ui->RxFreqSpinBox->value());
m_wideGraph->setTol(ui->sbFtol->value());
m_wideGraph->setSuperHound(true);
} else {
// 01234567890123456789012345678901234567
displayWidgets(nWidgets("11101000010011000001000000000011000000"));
ui->labDXped->setText(tr ("Hound"));
ui->cbRxAll->setEnabled(true);
m_wideGraph->setSuperHound(false);
}
ui->txrb1->setChecked(true);
ui->txrb2->setEnabled(false);

View File

@ -483,7 +483,10 @@ void CPlotter::DrawOverlay() //DrawOverlay()
float bw=9.0*12000.0/m_nsps; //JT9
if(m_mode=="FT4") bw=3*12000.0/576.0; //FT4 ### (3x, or 4x???) ###
if(m_mode=="FT8") bw=7*12000.0/1920.0; //FT8
if(m_mode=="FT8") {
bw=7*12000.0/1920.0; //FT8
if(m_bSuperHound) bw=1500.0;
}
if(m_mode.startsWith("FST4")) {
int h=int(pow(2.0,m_nSubMode));
int nsps=800;
@ -585,7 +588,7 @@ void CPlotter::DrawOverlay() //DrawOverlay()
painter0.drawLine(x2,25,x2-5,20);
}
if(m_mode=="Q65" or (m_mode=="JT65" and m_bVHF)) {
if(m_mode=="Q65" or (m_mode=="JT65" and m_bVHF) or (m_mode=="FT8" and m_bSuperHound) ) {
painter0.setPen(penGreen);
x1=XfromFreq(m_rxFreq-m_tol);
x2=XfromFreq(m_rxFreq+m_tol);
@ -885,6 +888,11 @@ void CPlotter::setFlatten(bool b1, bool b2)
if(b2) m_Flatten=2;
}
void CPlotter::setSuperHound(bool b)
{
m_bSuperHound=b;
}
void CPlotter::setTol(int n) //setTol()
{
m_tol=n;

View File

@ -77,6 +77,7 @@ public:
void setColours(QVector<QColor> const& cl);
void setFlatten(bool b1, bool b2);
void setTol(int n);
void setSuperHound(bool b);
void setRxBand(QString band);
void setReference(bool b) {m_bReference = b;}
bool Reference() const {return m_bReference;}
@ -125,6 +126,7 @@ private:
bool m_bSingleDecode;
bool m_bFirst=true;
bool m_bResized;
bool m_bSuperHound=false;
float m_fSpan;
float m_pdB=0.0;

View File

@ -498,6 +498,11 @@ void WideGraph::on_zero2dSlider_valueChanged(int value) //Zero2
}
}
void WideGraph::setSuperHound(bool b)
{
ui->widePlot->setSuperHound(b);
}
void WideGraph::setTol(int n) //setTol
{
ui->widePlot->setTol(n);

View File

@ -42,6 +42,7 @@ public:
bool flatten();
bool useRef();
void setTol(int n);
void setSuperHound(bool b);
int smoothYellow();
void setRxBand (QString const& band);
void setWSPRtransmitted();