diff --git a/lib/decoder.f90 b/lib/decoder.f90 index 261591f3f..c6282c484 100644 --- a/lib/decoder.f90 +++ b/lib/decoder.f90 @@ -189,6 +189,9 @@ subroutine multimode_decoder(ss,id2,params,nfsample) if(params%nmode.eq.240) then ! We're in FST240/FST240W mode + ndepth=iand(params%ndepth,3) + iwspr=0 + if(iand(params%ndepth,128).ne.0) iwspr=2 call timer('dec240 ',0) call my_fst240%decode(fst240_decoded,id2,params%nutc, & params%nQSOProgress,params%nfqso,params%nfa,params%nfb, & diff --git a/lib/fst240_decode.f90 b/lib/fst240_decode.f90 index f899f544c..f177dc76d 100644 --- a/lib/fst240_decode.f90 +++ b/lib/fst240_decode.f90 @@ -155,7 +155,6 @@ contains hmod=2**nsubmode if(nfqso+nqsoprogress.eq.-999) return Keff=91 - iwspr=1 nmax=15*12000 single_decode=iand(nexp_decode,32).eq.32 if(ntrperiod.eq.15) then diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 1ff8edaac..eabece958 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -953,6 +953,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple, ui->actionInclude_averaging->setChecked(m_ndepth&16); ui->actionInclude_correlation->setChecked(m_ndepth&32); ui->actionEnable_AP_DXcall->setChecked(m_ndepth&64); + ui->actionAlso_FST240W->setChecked(m_ndepth&128); m_UTCdisk=-1; m_fCPUmskrtd=0.0; @@ -2927,6 +2928,7 @@ void MainWindow::decode() //decode() if (!ui->actionInclude_averaging->isVisible ()) depth &= ~16; if (!ui->actionInclude_correlation->isVisible ()) depth &= ~32; if (!ui->actionEnable_AP_DXcall->isVisible ()) depth &= ~64; + if (!ui->actionAlso_FST240W->isVisible ()) depth &= ~128; dec_data.params.ndepth=depth; dec_data.params.n2pass=1; if(m_config.twoPass()) dec_data.params.n2pass=2; @@ -5833,6 +5835,7 @@ void MainWindow::on_actionFST240_triggered() m_wideGraph->setMode(m_mode); m_wideGraph->setModeTx(m_modeTx); switch_mode (Modes::FST240); + m_wideGraph->setMode(m_mode); statusChanged(); } @@ -6443,6 +6446,7 @@ void MainWindow::switch_mode (Mode mode) ui->label_6->setVisible(false); ui->label_7->setVisible(false); } + ui->actionAlso_FST240W->setVisible(m_mode.startsWith("FST240")); } void MainWindow::WSPR_config(bool b) @@ -6527,6 +6531,8 @@ void MainWindow::on_actionInclude_averaging_toggled (bool checked) m_ndepth ^= (-checked ^ m_ndepth) & 0x00000010; } + + void MainWindow::on_actionInclude_correlation_toggled (bool checked) { m_ndepth ^= (-checked ^ m_ndepth) & 0x00000020; @@ -6537,6 +6543,11 @@ void MainWindow::on_actionEnable_AP_DXcall_toggled (bool checked) m_ndepth ^= (-checked ^ m_ndepth) & 0x00000040; } +void MainWindow::on_actionAlso_FST240W_toggled (bool checked) +{ + m_ndepth ^= (-checked ^ m_ndepth) & 0x00000080; +} + void MainWindow::on_actionErase_ALL_TXT_triggered() //Erase ALL.TXT { int ret = MessageBox::query_message (this, tr ("Confirm Erase"), diff --git a/widgets/mainwindow.h b/widgets/mainwindow.h index 001742f7f..b3b297c85 100644 --- a/widgets/mainwindow.h +++ b/widgets/mainwindow.h @@ -265,6 +265,7 @@ private slots: void on_fox_log_action_triggered (); void on_actionColors_triggered(); void on_actionInclude_averaging_toggled (bool); + void on_actionAlso_FST240W_toggled (bool); void on_actionInclude_correlation_toggled (bool); void on_actionEnable_AP_DXcall_toggled (bool); void VHF_features_enabled(bool b); diff --git a/widgets/mainwindow.ui b/widgets/mainwindow.ui index b45784cf0..2f2704c65 100644 --- a/widgets/mainwindow.ui +++ b/widgets/mainwindow.ui @@ -2829,6 +2829,7 @@ list. The list can be maintained in Settings (F2). + @@ -3523,6 +3524,17 @@ list. The list can be maintained in Settings (F2). FST240W + + + true + + + true + + + Also FST240W + + diff --git a/widgets/widegraph.cpp b/widgets/widegraph.cpp index a78874c79..9e7f6667d 100644 --- a/widgets/widegraph.cpp +++ b/widgets/widegraph.cpp @@ -294,7 +294,7 @@ void WideGraph::setTxFreq(int n) //setTxFreq void WideGraph::setMode(QString mode) //setMode { m_mode=mode; - ui->fSplitSpinBox->setEnabled(m_mode=="JT9+JT65"); + ui->fSplitSpinBox->setEnabled(m_mode=="JT9+JT65" or m_mode.startsWith("FST240")); ui->widePlot->setMode(mode); ui->widePlot->DrawOverlay(); ui->widePlot->update(); @@ -368,7 +368,7 @@ void WideGraph::setRxBand (QString const& band) else { ui->fSplitSpinBox->setValue (m_fMinPerBand.value (band, 2500).toUInt ()); - ui->fSplitSpinBox->setEnabled (m_mode=="JT9+JT65"); + ui->fSplitSpinBox->setEnabled (m_mode=="JT9+JT65" or m_mode.startsWith("FST240")); } ui->widePlot->setRxBand(band); setRxRange (); diff --git a/widgets/widegraph.ui b/widgets/widegraph.ui index fce5f1072..7deea52c8 100644 --- a/widgets/widegraph.ui +++ b/widgets/widegraph.ui @@ -362,10 +362,10 @@ <html><head/><body><p>Decode JT9 only above this frequency</p></body></html> - JT9 + Hz - JT65 + Split 0