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 ???