Allow configuration for rig frequency changes during transmit

This commit is contained in:
Jordan Sherer 2018-09-11 10:52:07 -04:00
parent e9aa4203b5
commit df0b06ccb7
4 changed files with 24 additions and 28 deletions

View File

@ -597,7 +597,7 @@ private:
double degrade_;
double txDelay_;
bool id_after_73_;
bool tx_QSY_allowed_;
bool tx_qsy_allowed_;
bool spot_to_reporting_networks_;
bool transmit_directed_;
bool autoreply_off_at_startup_;
@ -709,7 +709,7 @@ double Configuration::degrade() const {return m_->degrade_;}
double Configuration::txDelay() const {return m_->txDelay_;}
qint32 Configuration::RxBandwidth() const {return m_->RxBandwidth_;}
bool Configuration::id_after_73 () const {return m_->id_after_73_;}
bool Configuration::tx_QSY_allowed () const {return m_->tx_QSY_allowed_;}
bool Configuration::tx_qsy_allowed () const {return m_->tx_qsy_allowed_;}
bool Configuration::spot_to_reporting_networks () const
{
// rig must be open and working to spot externally
@ -1291,7 +1291,7 @@ void Configuration::impl::initialize_models ()
ui_->sound_dm_path_display_label->setText(sound_dm_path_);
ui_->sound_am_path_display_label->setText(sound_am_path_);
ui_->CW_id_after_73_check_box->setChecked (id_after_73_);
ui_->tx_QSY_check_box->setChecked (tx_QSY_allowed_);
ui_->tx_qsy_check_box->setChecked (tx_qsy_allowed_);
ui_->psk_reporter_check_box->setChecked (spot_to_reporting_networks_);
ui_->transmit_directed_check_box->setChecked(transmit_directed_);
ui_->autoreply_off_check_box->setChecked (autoreply_off_at_startup_);
@ -1530,7 +1530,7 @@ void Configuration::impl::read_settings ()
monitor_last_used_ = settings_->value ("MonitorLastUsed", false).toBool ();
spot_to_reporting_networks_ = settings_->value ("PSKReporter", true).toBool ();
id_after_73_ = settings_->value ("After73", false).toBool ();
tx_QSY_allowed_ = settings_->value ("TxQSYAllowed", false).toBool ();
tx_qsy_allowed_ = settings_->value ("TxQSYAllowed", false).toBool ();
use_dynamic_info_ = settings_->value ("AutoGrid", false).toBool ();
auto loadedMacros = settings_->value ("Macros", QStringList {"TNX 73 GL"}).toStringList();
@ -1681,7 +1681,7 @@ void Configuration::impl::write_settings ()
settings_->setValue ("MonitorLastUsed", monitor_last_used_);
settings_->setValue ("PSKReporter", spot_to_reporting_networks_);
settings_->setValue ("After73", id_after_73_);
settings_->setValue ("TxQSYAllowed", tx_QSY_allowed_);
settings_->setValue ("TxQSYAllowed", tx_qsy_allowed_);
settings_->setValue ("Macros", macros_.stringList ());
settings_->setValue (versionedFrequenciesSettingsKey, QVariant::fromValue (frequencies_.frequency_list ()));
settings_->setValue ("stations", QVariant::fromValue (stations_.station_list ()));
@ -2120,7 +2120,7 @@ void Configuration::impl::accept ()
degrade_ = ui_->sbDegrade->value ();
RxBandwidth_ = ui_->sbBandwidth->value ();
id_after_73_ = ui_->CW_id_after_73_check_box->isChecked ();
tx_QSY_allowed_ = ui_->tx_QSY_check_box->isChecked ();
tx_qsy_allowed_ = ui_->tx_qsy_check_box->isChecked ();
transmit_directed_ = ui_->transmit_directed_check_box->isChecked();
autoreply_off_at_startup_ = ui_->autoreply_off_check_box->isChecked ();
relay_disabled_ = ui_->relay_disabled_check_box->isChecked();

View File

@ -113,7 +113,7 @@ public:
double degrade() const;
double txDelay() const;
bool id_after_73 () const;
bool tx_QSY_allowed () const;
bool tx_qsy_allowed () const;
bool spot_to_reporting_networks () const;
void set_spot_to_reporting_networks (bool);
bool transmit_directed() const;

View File

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>692</width>
<height>706</height>
<height>735</height>
</rect>
</property>
<property name="windowTitle">
@ -390,13 +390,17 @@
</widget>
</item>
<item>
<widget class="QCheckBox" name="tx_QSY_check_box">
<widget class="QCheckBox" name="transmit_directed_check_box">
<property name="text">
<string>Immediately transmit directed responses from the menu</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="tx_qsy_check_box">
<property name="enabled">
<bool>true</bool>
</property>
<property name="visible">
<bool>false</bool>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Some rigs are not able to process CAT commands while transmitting. This means that if you are operating in split mode you may have to uncheck this option.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
@ -405,13 +409,6 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="transmit_directed_check_box">
<property name="text">
<string>Immediately transmit directed responses from the menu</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="single_decode_check_box">
<property name="enabled">
@ -3241,7 +3238,6 @@ soundcard changes</string>
<tabstop>tx_watchdog_spin_box</tabstop>
<tabstop>CW_id_after_73_check_box</tabstop>
<tabstop>enable_VHF_features_check_box</tabstop>
<tabstop>tx_QSY_check_box</tabstop>
<tabstop>single_decode_check_box</tabstop>
<tabstop>decode_at_52s_check_box</tabstop>
<tabstop>CW_id_interval_spin_box</tabstop>
@ -3372,12 +3368,12 @@ soundcard changes</string>
</connection>
</connections>
<buttongroups>
<buttongroup name="CAT_handshake_button_group"/>
<buttongroup name="CAT_stop_bits_button_group"/>
<buttongroup name="TX_audio_source_button_group"/>
<buttongroup name="PTT_method_button_group"/>
<buttongroup name="split_mode_button_group"/>
<buttongroup name="CAT_data_bits_button_group"/>
<buttongroup name="CAT_stop_bits_button_group"/>
<buttongroup name="TX_mode_button_group"/>
<buttongroup name="CAT_handshake_button_group"/>
</buttongroups>
</ui>

View File

@ -8137,7 +8137,7 @@ void MainWindow::on_pbTxMode_clicked()
void MainWindow::setXIT(int n, Frequency base)
{
if (m_transmitting && !m_config.tx_QSY_allowed ()) return;
if (m_transmitting && !m_config.tx_qsy_allowed ()) return;
// If "CQ nnn ..." feature is active, set the proper Tx frequency
if(m_config.split_mode () && ui->cbCQTx->isEnabled () && ui->cbCQTx->isVisible () &&
ui->cbCQTx->isChecked())
@ -8200,7 +8200,7 @@ bool MainWindow::tryRestoreFreqOffset(){
void MainWindow::setFreq4(int rxFreq, int txFreq)
{
// don't allow QSY if we've already queued a transmission
if(isMessageQueuedForTransmit()){
if(isMessageQueuedForTransmit() && !m_config.tx_qsy_allowed()){
return;
}
@ -8600,7 +8600,7 @@ void MainWindow::transmitDisplay (bool transmitting)
m_btxok=true;
}
auto QSY_allowed = !transmitting or m_config.tx_QSY_allowed () or
auto QSY_allowed = !transmitting or m_config.tx_qsy_allowed () or
!m_config.split_mode ();
if (ui->cbHoldTxFreq->isChecked ()) {
ui->RxFreqSpinBox->setEnabled (QSY_allowed);
@ -10616,9 +10616,9 @@ void MainWindow::astroUpdate ()
m_config.my_grid(), m_hisGrid,
m_freqNominal,
"Echo" == m_mode, m_transmitting,
!m_config.tx_QSY_allowed (), m_TRperiod);
!m_config.tx_qsy_allowed (), m_TRperiod);
// no Doppler correction in Tx if rig can't do it
if (m_transmitting && !m_config.tx_QSY_allowed ()) return;
if (m_transmitting && !m_config.tx_qsy_allowed ()) return;
if (!m_astroWidget->doppler_tracking ()) return;
if ((m_monitoring || m_transmitting)
// no Doppler correction below 6m
@ -10680,7 +10680,7 @@ void MainWindow::setRig (Frequency f)
&& m_frequency_list_fcal_iter != m_config.frequencies ()->end ()) {
m_freqNominal = m_frequency_list_fcal_iter->frequency_ - ui->RxFreqSpinBox->value ();
}
if(m_transmitting && !m_config.tx_QSY_allowed ()) return;
if(m_transmitting && !m_config.tx_qsy_allowed ()) return;
if ((m_monitoring || m_transmitting) && m_config.transceiver_online ())
{
if (m_transmitting && m_config.split_mode ())