mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-23 12:38:53 -04:00
merge
This commit is contained in:
commit
157642d7cb
@ -71,7 +71,7 @@ message (STATUS "******************************************************")
|
||||
|
||||
include (set_build_type)
|
||||
# RC 0 or omitted is a development build, GA is a General Availability release build
|
||||
set_build_type (RC 6)
|
||||
set_build_type (RC 7)
|
||||
set (wsjtx_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}${BUILD_TYPE_REVISION}")
|
||||
|
||||
#
|
||||
|
@ -21,6 +21,7 @@ FT8 11101000010011100001000010011000100000
|
||||
FT8/VHF 11101000010011100001000010011000100000
|
||||
FT8/Fox 11101000010011100001000000000010000000
|
||||
FT8/Hound 11101000010011100001000000000011000000
|
||||
FT8/SupHou 11111000010011100001000000000011000000
|
||||
-------------------------------------------------
|
||||
1 2 3
|
||||
01234567890123456789012345678901234567
|
||||
|
@ -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)//'/sfrx'//crxfreq//cftol// '"' // &
|
||||
trim(temp_dir)//'/fort.47"'
|
||||
call execute_command_line(trim(cmnd),exitstat=nexitstat, &
|
||||
cmdstat=ncmdstat,cmdmsg=cmndmsg)
|
||||
else
|
||||
call timer('decft8 ',0)
|
||||
newdat=params%newdat
|
||||
|
@ -26,8 +26,8 @@ program ft4code
|
||||
'LDPC(174,91) encoding,'
|
||||
print*,'bit and symbol ordering, and other details of the FT4 protocol.'
|
||||
print*
|
||||
print*,'Usage: ft4code [-c grid] "message" # Results for specified message'
|
||||
print*,' ft4code -t # Examples of all message types'
|
||||
print*,'Usage: ft4code "message" # Results for specified message'
|
||||
print*,' ft4code -t # Examples of all message types'
|
||||
go to 999
|
||||
endif
|
||||
|
||||
|
@ -23,9 +23,9 @@ program ft8code
|
||||
'LDPC(174,91) encoding,'
|
||||
print*,'bit and symbol ordering, and other details of the FT8 protocol.'
|
||||
print*
|
||||
print*,'Usage: ft8code [-c grid] "message" # Results for specified message'
|
||||
print*,' ft8code -T # Examples of all message types'
|
||||
print*,' ft8code -t # Short format examples'
|
||||
print*,'Usage: ft8code "message" # Results for specified message'
|
||||
print*,' ft8code -T # Examples of all message types'
|
||||
print*,' ft8code -t # Short format examples'
|
||||
go to 999
|
||||
endif
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1369,6 +1369,9 @@ void MainWindow::readSettings()
|
||||
ui->sbTR->setValue (m_settings->value ("TRPeriod", 15).toInt());
|
||||
QTimer::singleShot (50, [=] {blocked = false;});
|
||||
}
|
||||
if (m_mode=="FT8") {
|
||||
ui->sbFtol->setValue (m_settings->value("Ftol_SF", 50).toInt());
|
||||
}
|
||||
if (m_mode=="Q65") {
|
||||
m_nSubMode=m_settings->value("SubMode_Q65",0).toInt();
|
||||
ui->sbSubmode->setValue(m_nSubMode_Q65);
|
||||
@ -2159,6 +2162,7 @@ void MainWindow::on_actionSettings_triggered() //Setup Dialog
|
||||
set_mode(m_mode);
|
||||
configActiveStations();
|
||||
}
|
||||
if(m_mode=="FT8") on_actionFT8_triggered(); //in case we need to reset some things for Fox/Hound
|
||||
}
|
||||
|
||||
void MainWindow::on_monitorButton_clicked (bool checked)
|
||||
@ -7300,6 +7304,7 @@ void MainWindow::on_actionFT8_triggered()
|
||||
VHF_features_enabled(bVHF);
|
||||
ui->cbAutoSeq->setChecked(true);
|
||||
m_TRperiod=15.0;
|
||||
ui->sbFtol->setValue (m_settings->value ("Ftol_SF", 50).toInt()); // restore last used Ftol parameter
|
||||
m_fastGraph->hide();
|
||||
m_wideGraph->show();
|
||||
ui->rh_decodes_headings_label->setText(" UTC dB DT Freq " + tr ("Message"));
|
||||
@ -7332,8 +7337,10 @@ void MainWindow::on_actionFT8_triggered()
|
||||
ui->cbHoldTxFreq->setChecked(true);
|
||||
ui->cbAutoSeq->setEnabled(false);
|
||||
ui->tabWidget->setCurrentIndex(1);
|
||||
m_wideGraph->setSuperFox(false);
|
||||
if(m_config.superFox()) {
|
||||
ui->TxFreqSpinBox->setValue(750); //SuperFox transmits at 750 Hz
|
||||
m_wideGraph->setSuperFox(true);
|
||||
} else {
|
||||
ui->TxFreqSpinBox->setValue(500);
|
||||
}
|
||||
@ -7355,15 +7362,21 @@ void MainWindow::on_actionFT8_triggered()
|
||||
ui->cbAutoSeq->setEnabled(false);
|
||||
ui->tabWidget->setCurrentIndex(0);
|
||||
ui->cbHoldTxFreq->setChecked(true);
|
||||
// 01234567890123456789012345678901234567
|
||||
displayWidgets(nWidgets("11101000010011000001000000000011000000"));
|
||||
ui->cbRxAll->setText(tr("Rx All Freqs"));
|
||||
m_wideGraph->setSuperHound(false);
|
||||
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);
|
||||
@ -7380,6 +7393,7 @@ void MainWindow::on_actionFT8_triggered()
|
||||
}
|
||||
if(m_specOp != SpecOp::HOUND) {
|
||||
ui->houndButton->setChecked(false);
|
||||
m_wideGraph->setSuperHound(false);
|
||||
}
|
||||
|
||||
m_specOp=m_config.special_op_id();
|
||||
@ -8852,6 +8866,7 @@ void MainWindow::on_sbFtol_valueChanged(int value)
|
||||
statusUpdate ();
|
||||
// save last used parameters
|
||||
QTimer::singleShot (200, [=] {
|
||||
if (m_mode=="FT8") m_settings->setValue ("Ftol_SF", ui->sbFtol->value());
|
||||
if (m_mode=="Q65") m_settings->setValue ("Ftol_Q65", ui->sbFtol->value());
|
||||
if (m_mode=="MSK144") m_settings->setValue ("Ftol_MSK144", ui->sbFtol->value());
|
||||
if (m_mode=="JT65") m_settings->setValue ("Ftol_JT65", ui->sbFtol->value ());
|
||||
|
@ -483,7 +483,9 @@ 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_mode.startsWith("FST4")) {
|
||||
int h=int(pow(2.0,m_nSubMode));
|
||||
int nsps=800;
|
||||
@ -585,7 +587,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);
|
||||
@ -604,10 +606,11 @@ void CPlotter::DrawOverlay() //DrawOverlay()
|
||||
}
|
||||
painter0.setPen(penGreen);
|
||||
x6=XfromFreq(m_rxFreq+bw); //Highest tone
|
||||
if(m_mode=="FT8" and m_bSuperHound) x6=XfromFreq(m_rxFreq+1500.0);
|
||||
painter0.drawLine(x6,20,x6,26);
|
||||
|
||||
} else {
|
||||
// Draw the green "goal post"
|
||||
// Draw the green goal post
|
||||
painter0.setPen(penGreen);
|
||||
x1=XfromFreq(m_rxFreq);
|
||||
x2=XfromFreq(m_rxFreq+bw);
|
||||
@ -627,12 +630,13 @@ void CPlotter::DrawOverlay() //DrawOverlay()
|
||||
painter0.setPen(penRed);
|
||||
x1=XfromFreq(m_txFreq);
|
||||
x2=XfromFreq(m_txFreq+bw);
|
||||
if(m_bSuperFox) x2=XfromFreq(m_txFreq+1500.0);
|
||||
if(m_mode=="WSPR") {
|
||||
bw=4*12000.0/8192.0; //WSPR
|
||||
x1=XfromFreq(m_txFreq-0.5*bw);
|
||||
x2=XfromFreq(m_txFreq+0.5*bw);
|
||||
}
|
||||
// Draw the red "goal post"
|
||||
// Draw the red goal post
|
||||
painter0.drawLine(x1,yTxTop,x1,yTxTop+yh);
|
||||
painter0.drawLine(x1,yTxTop,x2,yTxTop);
|
||||
painter0.drawLine(x2,yTxTop,x2,yTxTop+yh);
|
||||
@ -885,6 +889,18 @@ void CPlotter::setFlatten(bool b1, bool b2)
|
||||
if(b2) m_Flatten=2;
|
||||
}
|
||||
|
||||
void CPlotter::setSuperFox(bool b)
|
||||
{
|
||||
m_bSuperFox=b;
|
||||
if(m_bSuperFox) m_bSuperHound=false;
|
||||
}
|
||||
|
||||
void CPlotter::setSuperHound(bool b)
|
||||
{
|
||||
m_bSuperHound=b;
|
||||
if(m_bSuperHound) m_bSuperFox=false;
|
||||
}
|
||||
|
||||
void CPlotter::setTol(int n) //setTol()
|
||||
{
|
||||
m_tol=n;
|
||||
|
@ -77,6 +77,8 @@ public:
|
||||
void setColours(QVector<QColor> const& cl);
|
||||
void setFlatten(bool b1, bool b2);
|
||||
void setTol(int n);
|
||||
void setSuperFox(bool b);
|
||||
void setSuperHound(bool b);
|
||||
void setRxBand(QString band);
|
||||
void setReference(bool b) {m_bReference = b;}
|
||||
bool Reference() const {return m_bReference;}
|
||||
@ -125,6 +127,8 @@ private:
|
||||
bool m_bSingleDecode;
|
||||
bool m_bFirst=true;
|
||||
bool m_bResized;
|
||||
bool m_bSuperFox=false;
|
||||
bool m_bSuperHound=false;
|
||||
|
||||
float m_fSpan;
|
||||
float m_pdB=0.0;
|
||||
|
@ -498,6 +498,16 @@ void WideGraph::on_zero2dSlider_valueChanged(int value) //Zero2
|
||||
}
|
||||
}
|
||||
|
||||
void WideGraph::setSuperFox(bool b)
|
||||
{
|
||||
ui->widePlot->setSuperFox(b);
|
||||
}
|
||||
|
||||
void WideGraph::setSuperHound(bool b)
|
||||
{
|
||||
ui->widePlot->setSuperHound(b);
|
||||
}
|
||||
|
||||
void WideGraph::setTol(int n) //setTol
|
||||
{
|
||||
ui->widePlot->setTol(n);
|
||||
|
@ -42,6 +42,8 @@ public:
|
||||
bool flatten();
|
||||
bool useRef();
|
||||
void setTol(int n);
|
||||
void setSuperFox(bool b);
|
||||
void setSuperHound(bool b);
|
||||
int smoothYellow();
|
||||
void setRxBand (QString const& band);
|
||||
void setWSPRtransmitted();
|
||||
|
Loading…
Reference in New Issue
Block a user