From 5884c997ef667e4b238c59da3b0670a63f38b80f Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Mon, 1 Aug 2016 19:46:19 +0000 Subject: [PATCH] 1. Fix cause of "frozen UTC" bug in MSK144 mode. (Could there be more than one cause?) 2. Fix failure to remember Ftol setting in MSK144 mode. 3. Remove obsolete controls from Advanced tab. 4. Add control for "x 2 Tone spacing" on Advanced tab. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6981 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- Configuration.cpp | 39 ++----- Configuration.hpp | 1 + Configuration.ui | 269 +++++++++++++++++++--------------------------- mainwindow.cpp | 17 ++- 4 files changed, 125 insertions(+), 201 deletions(-) diff --git a/Configuration.cpp b/Configuration.cpp index 40d307482..20674b52a 100644 --- a/Configuration.cpp +++ b/Configuration.cpp @@ -538,11 +538,7 @@ private: bool single_decode_; bool twoPass_; bool sync1Bit_; - bool MyDx_; - bool CQMyN_; - bool NDxG_; - bool NN_; - bool EMEonly_; + bool x2ToneSpacing_; bool offsetRxFreq_; QString udp_server_name_; port_type udp_server_port_; @@ -627,11 +623,7 @@ bool Configuration::decode_at_52s () const {return m_->decode_at_52s_;} bool Configuration::single_decode () const {return m_->single_decode_;} bool Configuration::twoPass() const {return m_->twoPass_;} bool Configuration::sync1Bit() const {return m_->sync1Bit_;} -bool Configuration::MyDx() const {return m_->MyDx_;} -bool Configuration::CQMyN() const {return m_->CQMyN_;} -bool Configuration::NDxG() const {return m_->NDxG_;} -bool Configuration::NN() const {return m_->NN_;} -bool Configuration::EMEonly() const {return m_->EMEonly_;} +bool Configuration::x2ToneSpacing() const {return m_->x2ToneSpacing_;} bool Configuration::offsetRxFreq () const {return m_->offsetRxFreq_;} bool Configuration::split_mode () const {return m_->split_mode ();} QString Configuration::udp_server_name () const {return m_->udp_server_name_;} @@ -766,7 +758,7 @@ Configuration::impl::impl (Configuration * self, QDir const& temp_directory, , default_audio_output_device_selected_ {false} { ui_->setupUi (this); - ui_->groupBox_6->setVisible(false); //### Temporary ??? ### +// ui_->groupBox_6->setVisible(false); //### Temporary ??? ### #if !defined (CMAKE_BUILD) #define WSJT_SHARE_DESTINATION "." @@ -1061,11 +1053,7 @@ void Configuration::impl::initialize_models () ui_->single_decode_check_box->setChecked(single_decode_); ui_->cbTwoPass->setChecked(twoPass_); ui_->cbSync1Bit->setChecked(sync1Bit_); - ui_->cbMyDx->setChecked(MyDx_); - ui_->cbCQMyN->setChecked(CQMyN_); - ui_->cbNDxG->setChecked(NDxG_); - ui_->cbNN->setChecked(NN_); - ui_->cbEMEonly->setChecked(EMEonly_); + ui_->cbx2ToneSpacing->setChecked(x2ToneSpacing_); ui_->offset_Rx_freq_check_box->setChecked(offsetRxFreq_); ui_->type_2_msg_gen_combo_box->setCurrentIndex (type_2_msg_gen_); ui_->rig_combo_box->setCurrentText (rig_params_.rig_name); @@ -1289,11 +1277,7 @@ void Configuration::impl::read_settings () single_decode_ = settings_->value("SingleDecode",false).toBool (); twoPass_ = settings_->value("TwoPass",true).toBool (); sync1Bit_ = settings_->value("Sync1Bit",false).toBool (); - MyDx_ = settings_->value("MyDx",false).toBool (); - CQMyN_ = settings_->value("CQMyN",false).toBool (); - NDxG_ = settings_->value("NDxG",false).toBool (); - NN_ = settings_->value("NN",false).toBool (); - EMEonly_ = settings_->value("EMEonly",false).toBool (); + x2ToneSpacing_ = settings_->value("x2ToneSpacing",false).toBool (); offsetRxFreq_ = settings_->value("OffsetRx",false).toBool(); rig_params_.poll_interval = settings_->value ("Polling", 0).toInt (); rig_params_.set_rig_mode = data_mode_ != data_mode_none; @@ -1390,11 +1374,7 @@ void Configuration::impl::write_settings () settings_->setValue ("SingleDecode", single_decode_); settings_->setValue ("TwoPass", twoPass_); settings_->setValue ("Sync1Bit", sync1Bit_); - settings_->setValue ("MyDx", MyDx_); - settings_->setValue ("CQMyN", CQMyN_); - settings_->setValue ("NDxG", NDxG_); - settings_->setValue ("NN", NN_); - settings_->setValue ("EMEonly", EMEonly_); + settings_->setValue ("x2ToneSpacing", x2ToneSpacing_); settings_->setValue("OffsetRx",offsetRxFreq_); settings_->setValue ("UDPServer", udp_server_name_); settings_->setValue ("UDPServerPort", udp_server_port_); @@ -1787,12 +1767,7 @@ void Configuration::impl::accept () single_decode_ = ui_->single_decode_check_box->isChecked (); twoPass_ = ui_->cbTwoPass->isChecked (); sync1Bit_ = ui_->cbSync1Bit->isChecked (); - MyDx_ = ui_->cbMyDx->isChecked (); - CQMyN_ = ui_->cbCQMyN->isChecked (); - NDxG_ = ui_->cbNDxG->isChecked (); - NN_ = ui_->cbNN->isChecked (); - EMEonly_ = ui_->cbEMEonly->isChecked (); - + x2ToneSpacing_ = ui_->cbx2ToneSpacing->isChecked (); offsetRxFreq_ = ui_->offset_Rx_freq_check_box->isChecked(); frequency_calibration_intercept_ = ui_->calibration_intercept_spin_box->value (); frequency_calibration_slope_ppm_ = ui_->calibration_slope_ppm_spin_box->value (); diff --git a/Configuration.hpp b/Configuration.hpp index b2cbae192..22d88a7a8 100644 --- a/Configuration.hpp +++ b/Configuration.hpp @@ -121,6 +121,7 @@ public: bool single_decode () const; bool twoPass() const; bool sync1Bit() const; + bool x2ToneSpacing() const; bool MyDx() const; bool CQMyN() const; bool NDxG() const; diff --git a/Configuration.ui b/Configuration.ui index cfb7b886f..eab8dce00 100644 --- a/Configuration.ui +++ b/Configuration.ui @@ -2,6 +2,14 @@ configuration_dialog + + + 0 + 0 + 545 + 591 + + Settings @@ -2162,16 +2170,98 @@ Right click for insert and delete options. Advanced - + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + <html><head/><body><p><br/></p></body></html> + + + Miscellaneous + + + + + + + + Degrade S/N of .wav file: + + + sbDegrade + + + + + + + dB + + + 1 + + + 0.100000000000000 + + + + + + + Receiver bandwidth: + + + + + + + Hz + + + 6000 + + + 100 + + + 2500 + + + + + + + x 2 Tone Spacing + + + + + + + + + + <html><head/><body><p>User-selectable parameters for JT65 decoding.</p></body></html> JT65 decoding parameters - - + + @@ -2199,90 +2289,7 @@ Right click for insert and delete options. - - - - - - Robust sync - - - true - - - - - - - Two-pass decoding - - - true - - - - - - - Experience-based decoding - - - - - - <html><head/><body><p>Test codewords corresponding to messages of the form &quot;MyCall DxCall Dxgrid&quot;, &quot;MyCall DxCall rpt&quot;. &quot;MyCall DxCall RRR&quot;. and &quot;MyCall DxCall 73&quot;.</p></body></html> - - - MyCall DxCall rpt - - - - - - - <html><head/><body><p>Test codewords corresponding to messages of the form &quot;CQ Call Grid&quot; and &quot;MyCall Call Grid&quot; for all Call/Grid combinations selected from the list of known calls.</p></body></html> - - - (CQ, MyCall) x N - - - - - - - <html><head/><body><p>Test codewords corresponding to messages of the form &quot;Call DxCall DxGrid OOO&quot; for all Call/Grid combinations selected from the list of known calls.</p></body></html> - - - N x (DxCall Grid OOO) - - - - - - - <html><head/><body><p>Test codewords corresponding to messages of the form &quot;Call1 Call2 Grid2&quot;for all Call/Grid combinations selected from the list of known calls.</p></body></html> - - - N x N - - - - - - - <html><head/><body><p>Select Call/Grid combinations from list of known calls only if marked as active on EME.</p></body></html> - - - EME calls only - - - - - - - - - + Aggressive decoding level: @@ -2292,7 +2299,7 @@ Right click for insert and delete options. - + <html><head/><body><p>Higher levels will increase the probability of decoding, but will also increase probability of a false decode.</p></body></html> @@ -2302,49 +2309,23 @@ Right click for insert and delete options. - - - - Degrade S/N of .wav file: - - - sbDegrade - - - - - - - dB - - - 1 - - - 0.100000000000000 - - - - + - Receiver bandwidth: + Robust sync + + + true - - - - Hz + + + + Two-pass decoding - - 6000 - - - 100 - - - 2500 + + true @@ -2353,32 +2334,6 @@ Right click for insert and delete options. - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - @@ -2478,12 +2433,6 @@ soundcard changes sbNtrials cbSync1Bit cbTwoPass - cbMyDx - cbCQMyN - cbNDxG - cbNN - cbEMEonly - sbAggressive sbDegrade @@ -2554,12 +2503,12 @@ soundcard changes - - + + + - diff --git a/mainwindow.cpp b/mainwindow.cpp index fad5cc45c..9815c877b 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -2145,11 +2145,6 @@ void MainWindow::decode() //decode() if(m_bEME) dec_data.params.emedelay=2.5; dec_data.params.minSync=ui->syncSpinBox->isVisible () ? m_minSync : 0; dec_data.params.nexp_decode=0; - if(m_config.MyDx()) dec_data.params.nexp_decode += 1; - if(m_config.CQMyN()) dec_data.params.nexp_decode += 2; - if(m_config.NDxG()) dec_data.params.nexp_decode += 4; - if(m_config.NN()) dec_data.params.nexp_decode += 8; - if(m_config.EMEonly()) dec_data.params.nexp_decode += 16; if(m_config.single_decode()) { dec_data.params.nexp_decode += 32; if(dec_data.params.naggressive<1) dec_data.params.naggressive=1; @@ -2223,6 +2218,8 @@ void::MainWindow::fast_decode_done() { float t,tmax=-99.0; QString msg0; + dec_data.params.nagain=false; + dec_data.params.ndiskdat=false; m_bDecoded=false; for(int i=0; i<100; i++) { int i1=msg0.indexOf(m_baseCall); @@ -3979,7 +3976,6 @@ void MainWindow::on_actionMSK144_triggered() ui->rptSpinBox->setSingleStep(2); ui->sbFtol->setMinimum(23); ui->sbFtol->setMaximum(25); - ui->sbFtol->setValue(25); } void MainWindow::on_actionQRA64_triggered() @@ -4932,10 +4928,13 @@ void MainWindow::transmit (double snr) } if (m_mode=="WSPR-2") { //### Similar code needed for WSPR-15 ### + int nToneSpacing=1; + if(m_config.x2ToneSpacing()) nToneSpacing=2; Q_EMIT sendMessage (NUM_WSPR_SYMBOLS, 8192.0, - ui->TxFreqSpinBox->value() - 1.5 * 12000 / 8192, m_toneSpacing, - m_soundOutput, m_config.audio_output_channel(), - true, false, snr, m_TRperiod); + ui->TxFreqSpinBox->value() - 1.5 * 12000 / 8192, + m_toneSpacing*nToneSpacing, m_soundOutput, + m_config.audio_output_channel(),true, false, snr, + m_TRperiod); } if(m_mode=="Echo") { //??? should use "fastMode = true" here ???