mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-02-03 09:44:24 -05:00
Disable Internet spotting when rig control is not working
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6628 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
119a98f99a
commit
3b46e140af
@ -347,7 +347,7 @@ public:
|
|||||||
explicit impl (Configuration * self, QSettings * settings, QWidget * parent);
|
explicit impl (Configuration * self, QSettings * settings, QWidget * parent);
|
||||||
~impl ();
|
~impl ();
|
||||||
|
|
||||||
bool have_rig (bool open_if_closed = true);
|
bool have_rig ();
|
||||||
|
|
||||||
void transceiver_frequency (Frequency);
|
void transceiver_frequency (Frequency);
|
||||||
void transceiver_tx_frequency (Frequency);
|
void transceiver_tx_frequency (Frequency);
|
||||||
@ -602,7 +602,11 @@ double Configuration::degrade() const {return m_->degrade_;}
|
|||||||
qint32 Configuration::RxBandwidth() const {return m_->RxBandwidth_;}
|
qint32 Configuration::RxBandwidth() const {return m_->RxBandwidth_;}
|
||||||
bool Configuration::id_after_73 () const {return m_->id_after_73_;}
|
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_psk_reporter () const {return m_->spot_to_psk_reporter_;}
|
bool Configuration::spot_to_psk_reporter () const
|
||||||
|
{
|
||||||
|
// rig must be open and working to spot externally
|
||||||
|
return is_transceiver_online () && m_->spot_to_psk_reporter_;
|
||||||
|
}
|
||||||
bool Configuration::monitor_off_at_startup () const {return m_->monitor_off_at_startup_;}
|
bool Configuration::monitor_off_at_startup () const {return m_->monitor_off_at_startup_;}
|
||||||
bool Configuration::monitor_last_used () const {return m_->rig_is_dummy_ || m_->monitor_last_used_;}
|
bool Configuration::monitor_last_used () const {return m_->rig_is_dummy_ || m_->monitor_last_used_;}
|
||||||
bool Configuration::log_as_RTTY () const {return m_->log_as_RTTY_;}
|
bool Configuration::log_as_RTTY () const {return m_->log_as_RTTY_;}
|
||||||
@ -645,13 +649,22 @@ QDir Configuration::save_directory () const {return m_->save_directory_;}
|
|||||||
QDir Configuration::azel_directory () const {return m_->azel_directory_;}
|
QDir Configuration::azel_directory () const {return m_->azel_directory_;}
|
||||||
QString Configuration::rig_name () const {return m_->rig_params_.rig_name;}
|
QString Configuration::rig_name () const {return m_->rig_params_.rig_name;}
|
||||||
|
|
||||||
bool Configuration::transceiver_online (bool open_if_closed)
|
bool Configuration::is_transceiver_online () const
|
||||||
{
|
{
|
||||||
#if WSJT_TRACE_CAT
|
#if WSJT_TRACE_CAT
|
||||||
qDebug () << "Configuration::transceiver_online: open_if_closed:" << open_if_closed << m_->cached_rig_state_;
|
qDebug () << "Configuration::is_transceiver_online: " << m_->cached_rig_state_;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return m_->have_rig (open_if_closed);
|
return m_->rig_active_;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Configuration::transceiver_online ()
|
||||||
|
{
|
||||||
|
#if WSJT_TRACE_CAT
|
||||||
|
qDebug () << "Configuration::transceiver_online: " << m_->cached_rig_state_;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return m_->have_rig ();
|
||||||
}
|
}
|
||||||
|
|
||||||
int Configuration::transceiver_resolution () const
|
int Configuration::transceiver_resolution () const
|
||||||
@ -2191,9 +2204,9 @@ void Configuration::impl::on_azel_path_select_push_button_clicked (bool /* check
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Configuration::impl::have_rig (bool open_if_closed)
|
bool Configuration::impl::have_rig ()
|
||||||
{
|
{
|
||||||
if (open_if_closed && !open_rig ())
|
if (!open_rig ())
|
||||||
{
|
{
|
||||||
QMessageBox::critical (this, "WSJT-X", tr ("Failed to open connection to rig"));
|
QMessageBox::critical (this, "WSJT-X", tr ("Failed to open connection to rig"));
|
||||||
}
|
}
|
||||||
|
@ -150,11 +150,12 @@ public:
|
|||||||
QColor color_DXCC () const;
|
QColor color_DXCC () const;
|
||||||
QColor color_NewCall () const;
|
QColor color_NewCall () const;
|
||||||
|
|
||||||
// This method queries if a CAT and PTT connection is operational,
|
// This method queries if a CAT and PTT connection is operational.
|
||||||
//
|
bool is_transceiver_online () const;
|
||||||
// It also doubles as an initialisation method when the
|
|
||||||
// open_if_closed parameter is passed as true.
|
// Start the rig connection, safe and normal to call when rig is
|
||||||
bool transceiver_online (bool open_if_closed = false);
|
// already open.
|
||||||
|
bool transceiver_online ();
|
||||||
|
|
||||||
// Frequency resolution of the rig
|
// Frequency resolution of the rig
|
||||||
//
|
//
|
||||||
|
@ -648,7 +648,7 @@ MainWindow::MainWindow(bool multiple, MultiSettings * multi_settings,
|
|||||||
|
|
||||||
// this must be done before initializing the mode as some modes need
|
// this must be done before initializing the mode as some modes need
|
||||||
// to turn off split on the rig e.g. WSPR
|
// to turn off split on the rig e.g. WSPR
|
||||||
m_config.transceiver_online (true);
|
m_config.transceiver_online ();
|
||||||
|
|
||||||
bool b=m_config.enable_VHF_features() and (m_mode=="JT4" or m_mode=="JT65" or
|
bool b=m_config.enable_VHF_features() and (m_mode=="JT4" or m_mode=="JT65" or
|
||||||
m_mode=="ISCAT" or m_mode=="JT9" or m_mode=="JTMSK");
|
m_mode=="ISCAT" or m_mode=="JT9" or m_mode=="JTMSK");
|
||||||
@ -1176,7 +1176,7 @@ void MainWindow::on_actionSettings_triggered() //Setup Dialog
|
|||||||
VHF_controls_visible(b);
|
VHF_controls_visible(b);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_config.transceiver_online (true);
|
m_config.transceiver_online ();
|
||||||
if(!m_bFastMode) setXIT (ui->TxFreqSpinBox->value ());
|
if(!m_bFastMode) setXIT (ui->TxFreqSpinBox->value ());
|
||||||
if(m_config.single_decode() or m_mode=="JT4") {
|
if(m_config.single_decode() or m_mode=="JT4") {
|
||||||
ui->label_6->setText("Single-Period Decodes");
|
ui->label_6->setText("Single-Period Decodes");
|
||||||
@ -1976,9 +1976,12 @@ void::MainWindow::fast_decode_done()
|
|||||||
Frequency frequency = m_freqNominal + audioFrequency;
|
Frequency frequency = m_freqNominal + audioFrequency;
|
||||||
pskSetLocal();
|
pskSetLocal();
|
||||||
if(gridOK(grid))
|
if(gridOK(grid))
|
||||||
// qDebug() << "To PSKreporter:" << deCall << grid << frequency << msgmode << snr;
|
{
|
||||||
psk_Reporter->addRemoteStation(deCall,grid,QString::number(frequency),msgmode,
|
// qDebug() << "To PSKreporter:" << deCall << grid << frequency << msgmode << snr;
|
||||||
QString::number(snr),QString::number(QDateTime::currentDateTime().toTime_t()));
|
psk_Reporter->addRemoteStation(deCall,grid,QString::number(frequency),msgmode,
|
||||||
|
QString::number(snr),
|
||||||
|
QString::number(QDateTime::currentDateTime().toTime_t()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2124,8 +2127,12 @@ void MainWindow::readFromStdout() //readFromStdout
|
|||||||
Frequency frequency = m_freqNominal + audioFrequency;
|
Frequency frequency = m_freqNominal + audioFrequency;
|
||||||
pskSetLocal ();
|
pskSetLocal ();
|
||||||
if(gridOK(grid))
|
if(gridOK(grid))
|
||||||
psk_Reporter->addRemoteStation(deCall,grid,QString::number(frequency),msgmode,
|
{
|
||||||
QString::number(snr),QString::number(QDateTime::currentDateTime().toTime_t()));
|
// qDebug() << "To PSKreporter:" << deCall << grid << frequency << msgmode << snr;
|
||||||
|
psk_Reporter->addRemoteStation(deCall,grid,QString::number(frequency),msgmode,
|
||||||
|
QString::number(snr),
|
||||||
|
QString::number(QDateTime::currentDateTime().toTime_t()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if((m_mode=="JT4" or m_mode=="JT65") and m_msgAvgWidget!=NULL) {
|
if((m_mode=="JT4" or m_mode=="JT65") and m_msgAvgWidget!=NULL) {
|
||||||
@ -2323,7 +2330,7 @@ void MainWindow::guiUpdate()
|
|||||||
// If "CQ nnn ..." feature is active, set the proper Tx frequency
|
// If "CQ nnn ..." feature is active, set the proper Tx frequency
|
||||||
if(m_config.offsetRxFreq() && ui->cbCQRx->isChecked()
|
if(m_config.offsetRxFreq() && ui->cbCQRx->isChecked()
|
||||||
&& (m_monitoring || m_transmitting)
|
&& (m_monitoring || m_transmitting)
|
||||||
&& m_config.transceiver_online ()
|
&& m_config.is_transceiver_online ()
|
||||||
&& m_config.split_mode ())
|
&& m_config.split_mode ())
|
||||||
{
|
{
|
||||||
// All conditions are met, reset the transceiver Tx frequency:
|
// All conditions are met, reset the transceiver Tx frequency:
|
||||||
@ -2708,7 +2715,7 @@ void MainWindow::stopTx2()
|
|||||||
void MainWindow::RxQSY()
|
void MainWindow::RxQSY()
|
||||||
{
|
{
|
||||||
// this appears to be a null directive
|
// this appears to be a null directive
|
||||||
if (m_config.transceiver_online ()) {
|
if (m_config.is_transceiver_online ()) {
|
||||||
Q_EMIT m_config.transceiver_frequency(m_freqNominal);
|
Q_EMIT m_config.transceiver_frequency(m_freqNominal);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2831,18 +2838,18 @@ void MainWindow::processMessage(QString const& messages, int position, bool ctrl
|
|||||||
int kHz=t2a.mid(i1+4,3).toInt(&ok);
|
int kHz=t2a.mid(i1+4,3).toInt(&ok);
|
||||||
if(ok and kHz>=0 and kHz<=999) {
|
if(ok and kHz>=0 and kHz<=999) {
|
||||||
t2a=t2a.mid(0,i1+4) + t2a.mid(i1+8,-1);
|
t2a=t2a.mid(0,i1+4) + t2a.mid(i1+8,-1);
|
||||||
if (m_config.transceiver_online ()) {
|
if (m_config.is_transceiver_online ()) {
|
||||||
Frequency frequency {m_freqNominal / 1000000 * 1000000 + 1000*kHz}; //QSY Freq for answering CQ nnn
|
Frequency frequency {m_freqNominal / 1000000 * 1000000 + 1000*kHz}; //QSY Freq for answering CQ nnn
|
||||||
QString t;
|
QString t;
|
||||||
t.sprintf("QSY %7.3f", frequency / 10e6);
|
t.sprintf("QSY %7.3f", frequency / 10e6);
|
||||||
ui->decodedTextBrowser2->displayQSY(t);
|
ui->decodedTextBrowser2->displayQSY(t);
|
||||||
// ui->labDialFreq->setText (Radio::pretty_frequency_MHz_string (frequency));
|
// ui->labDialFreq->setText (Radio::pretty_frequency_MHz_string (frequency));
|
||||||
if (m_config.transceiver_online ()) {
|
if (m_config.is_transceiver_online ()) {
|
||||||
Q_EMIT m_config.transceiver_frequency (frequency);
|
Q_EMIT m_config.transceiver_frequency (frequency);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((m_monitoring || m_transmitting)
|
if ((m_monitoring || m_transmitting)
|
||||||
&& m_config.transceiver_online ()
|
&& m_config.is_transceiver_online ()
|
||||||
&& m_config.split_mode ())
|
&& m_config.split_mode ())
|
||||||
{
|
{
|
||||||
// All conditions are met, reset the transmit dial frequency:
|
// All conditions are met, reset the transmit dial frequency:
|
||||||
@ -3885,7 +3892,7 @@ void MainWindow::WSPR_config(bool b)
|
|||||||
ui->decodedTextLabel->setText(
|
ui->decodedTextLabel->setText(
|
||||||
"UTC dB DT Freq Drift Call Grid dBm Dist");
|
"UTC dB DT Freq Drift Call Grid dBm Dist");
|
||||||
auto_tx_label->setText("");
|
auto_tx_label->setText("");
|
||||||
if (m_config.transceiver_online ()) {
|
if (m_config.is_transceiver_online ()) {
|
||||||
Q_EMIT m_config.transceiver_tx_frequency (0); // turn off split
|
Q_EMIT m_config.transceiver_tx_frequency (0); // turn off split
|
||||||
}
|
}
|
||||||
m_bSimplex = true;
|
m_bSimplex = true;
|
||||||
@ -4255,7 +4262,7 @@ void MainWindow::rigOpen ()
|
|||||||
update_dynamic_property (ui->readFreq, "state", "warning");
|
update_dynamic_property (ui->readFreq, "state", "warning");
|
||||||
ui->readFreq->setText ("");
|
ui->readFreq->setText ("");
|
||||||
ui->readFreq->setEnabled (true);
|
ui->readFreq->setEnabled (true);
|
||||||
m_config.transceiver_online (true);
|
m_config.transceiver_online ();
|
||||||
Q_EMIT m_config.sync_transceiver (true, true);
|
Q_EMIT m_config.sync_transceiver (true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4277,7 +4284,7 @@ void MainWindow::on_readFreq_clicked()
|
|||||||
{
|
{
|
||||||
if (m_transmitting) return;
|
if (m_transmitting) return;
|
||||||
|
|
||||||
if (m_config.transceiver_online (true))
|
if (m_config.transceiver_online ())
|
||||||
{
|
{
|
||||||
Q_EMIT m_config.sync_transceiver (true, true);
|
Q_EMIT m_config.sync_transceiver (true, true);
|
||||||
}
|
}
|
||||||
@ -4309,7 +4316,7 @@ void MainWindow::setXIT(int n, Frequency base)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((m_monitoring || m_transmitting)
|
if ((m_monitoring || m_transmitting)
|
||||||
&& m_config.transceiver_online ()
|
&& m_config.is_transceiver_online ()
|
||||||
&& m_config.split_mode ())
|
&& m_config.split_mode ())
|
||||||
{
|
{
|
||||||
// All conditions are met, reset the transceiver Tx dial
|
// All conditions are met, reset the transceiver Tx dial
|
||||||
@ -4428,10 +4435,6 @@ void MainWindow::handle_transceiver_update (Transceiver::TransceiverState const&
|
|||||||
|
|
||||||
void MainWindow::handle_transceiver_failure (QString const& reason)
|
void MainWindow::handle_transceiver_failure (QString const& reason)
|
||||||
{
|
{
|
||||||
// disable WSPR band hopping so that spots are not sent on the wrong
|
|
||||||
// band
|
|
||||||
ui->band_hopping_group_box->setChecked (false);
|
|
||||||
|
|
||||||
update_dynamic_property (ui->readFreq, "state", "error");
|
update_dynamic_property (ui->readFreq, "state", "error");
|
||||||
ui->readFreq->setEnabled (true);
|
ui->readFreq->setEnabled (true);
|
||||||
on_stopTxButton_clicked ();
|
on_stopTxButton_clicked ();
|
||||||
@ -4687,6 +4690,7 @@ void MainWindow::pskSetLocal ()
|
|||||||
antenna_description = stations->index (matches.first ().row ()
|
antenna_description = stations->index (matches.first ().row ()
|
||||||
, StationList::description_column).data ().toString ();
|
, StationList::description_column).data ().toString ();
|
||||||
}
|
}
|
||||||
|
// qDebug() << "To PSKreporter: local station details";
|
||||||
psk_Reporter->setLocalStation(m_config.my_callsign (), m_config.my_grid (),
|
psk_Reporter->setLocalStation(m_config.my_callsign (), m_config.my_grid (),
|
||||||
antenna_description, QString {"WSJT-X v" + version() + " " +
|
antenna_description, QString {"WSJT-X v" + version() + " " +
|
||||||
m_revision}.simplified ());
|
m_revision}.simplified ());
|
||||||
@ -5035,7 +5039,8 @@ void MainWindow::p1ReadFromStdout() //p1readFromStdout
|
|||||||
}
|
}
|
||||||
m_nWSPRdecodes=0;
|
m_nWSPRdecodes=0;
|
||||||
ui->DecodeButton->setChecked (false);
|
ui->DecodeButton->setChecked (false);
|
||||||
if(m_uploadSpots) {
|
if(m_uploadSpots
|
||||||
|
&& m_config.is_transceiver_online ()) { // need working rig control
|
||||||
float x=qrand()/((double)RAND_MAX + 1.0);
|
float x=qrand()/((double)RAND_MAX + 1.0);
|
||||||
int msdelay=20000*x;
|
int msdelay=20000*x;
|
||||||
uploadTimer->start(msdelay); //Upload delay
|
uploadTimer->start(msdelay); //Upload delay
|
||||||
@ -5148,7 +5153,8 @@ void MainWindow::WSPR_history(Frequency dialFreq, int ndecodes)
|
|||||||
|
|
||||||
void MainWindow::uploadSpots()
|
void MainWindow::uploadSpots()
|
||||||
{
|
{
|
||||||
if(m_diskData) return;
|
// do not spot replays or if rig control not working
|
||||||
|
if(m_diskData || !m_config.is_transceiver_online ()) return;
|
||||||
if(m_uploading) {
|
if(m_uploading) {
|
||||||
qDebug() << "Previous upload has not completed, spots were lost";
|
qDebug() << "Previous upload has not completed, spots were lost";
|
||||||
wsprNet->abortOutstandingRequests ();
|
wsprNet->abortOutstandingRequests ();
|
||||||
@ -5239,7 +5245,8 @@ void MainWindow::on_pbTxNext_clicked(bool b)
|
|||||||
void MainWindow::WSPR_scheduling ()
|
void MainWindow::WSPR_scheduling ()
|
||||||
{
|
{
|
||||||
m_WSPR_tx_next = false;
|
m_WSPR_tx_next = false;
|
||||||
if (ui->band_hopping_group_box->isChecked ()) {
|
if (m_config.is_transceiver_online () // need rig control for hopping
|
||||||
|
&& ui->band_hopping_group_box->isChecked ()) {
|
||||||
auto hop_data = m_WSPR_band_hopping.next_hop (m_auto);
|
auto hop_data = m_WSPR_band_hopping.next_hop (m_auto);
|
||||||
qDebug () << "hop data: period:" << hop_data.period_name_
|
qDebug () << "hop data: period:" << hop_data.period_name_
|
||||||
<< "frequencies index:" << hop_data.frequencies_index_
|
<< "frequencies index:" << hop_data.frequencies_index_
|
||||||
@ -5335,7 +5342,7 @@ void MainWindow::setRig ()
|
|||||||
{
|
{
|
||||||
if(m_transmitting && !m_config.tx_QSY_allowed ()) return;
|
if(m_transmitting && !m_config.tx_QSY_allowed ()) return;
|
||||||
if ((m_monitoring || m_transmitting)
|
if ((m_monitoring || m_transmitting)
|
||||||
&& m_config.transceiver_online ())
|
&& m_config.is_transceiver_online ())
|
||||||
{
|
{
|
||||||
if(m_transmitting && m_config.split_mode ())
|
if(m_transmitting && m_config.split_mode ())
|
||||||
{
|
{
|
||||||
@ -5392,7 +5399,7 @@ void MainWindow::CQRxFreq()
|
|||||||
Frequency rx_frequency {m_config.offsetRxFreq () && ui->cbCQRx->isChecked () ?
|
Frequency rx_frequency {m_config.offsetRxFreq () && ui->cbCQRx->isChecked () ?
|
||||||
m_freqNominal / 1000000 * 1000000 + 1000 * m_freqCQ :
|
m_freqNominal / 1000000 * 1000000 + 1000 * m_freqCQ :
|
||||||
m_callingFrequency};
|
m_callingFrequency};
|
||||||
if (m_config.transceiver_online ()) {
|
if (m_config.is_transceiver_online ()) {
|
||||||
Q_EMIT m_config.transceiver_frequency (rx_frequency);
|
Q_EMIT m_config.transceiver_frequency (rx_frequency);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user