Added enable/disable for UDP API. Added DATA for logging instead of RTTY

This commit is contained in:
Jordan Sherer 2018-08-17 10:07:17 -04:00
parent f2ca9caec7
commit 1002dcbc1b
6 changed files with 46 additions and 14 deletions

View File

@ -580,7 +580,7 @@ private:
bool autoreply_off_at_startup_; bool autoreply_off_at_startup_;
bool monitor_off_at_startup_; bool monitor_off_at_startup_;
bool monitor_last_used_; bool monitor_last_used_;
bool log_as_RTTY_; bool log_as_DATA_;
bool report_in_comments_; bool report_in_comments_;
bool prompt_to_log_; bool prompt_to_log_;
bool insert_blank_; bool insert_blank_;
@ -615,6 +615,7 @@ private:
bool accept_udp_requests_; bool accept_udp_requests_;
bool udpWindowToFront_; bool udpWindowToFront_;
bool udpWindowRestore_; bool udpWindowRestore_;
bool udpEnabled_;
DataMode data_mode_; DataMode data_mode_;
bool pwrBandTxMemory_; bool pwrBandTxMemory_;
bool pwrBandTuneMemory_; bool pwrBandTuneMemory_;
@ -692,7 +693,7 @@ void Configuration::set_spot_to_psk_reporter (bool spot)
bool Configuration::autoreply_off_at_startup () const {return m_->autoreply_off_at_startup_;} bool Configuration::autoreply_off_at_startup () const {return m_->autoreply_off_at_startup_;}
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_DATA () const {return m_->log_as_DATA_;}
bool Configuration::report_in_comments () const {return m_->report_in_comments_;} bool Configuration::report_in_comments () const {return m_->report_in_comments_;}
bool Configuration::prompt_to_log () const {return m_->prompt_to_log_;} bool Configuration::prompt_to_log () const {return m_->prompt_to_log_;}
bool Configuration::insert_blank () const {return m_->insert_blank_;} bool Configuration::insert_blank () const {return m_->insert_blank_;}
@ -723,6 +724,7 @@ auto Configuration::n1mm_server_port () const -> port_type {return m_->n1mm_serv
bool Configuration::broadcast_to_n1mm () const {return m_->broadcast_to_n1mm_;} bool Configuration::broadcast_to_n1mm () const {return m_->broadcast_to_n1mm_;}
bool Configuration::udpWindowToFront () const {return m_->udpWindowToFront_;} bool Configuration::udpWindowToFront () const {return m_->udpWindowToFront_;}
bool Configuration::udpWindowRestore () const {return m_->udpWindowRestore_;} bool Configuration::udpWindowRestore () const {return m_->udpWindowRestore_;}
bool Configuration::udpEnabled () const {return m_->udpEnabled_;}
Bands * Configuration::bands () {return &m_->bands_;} Bands * Configuration::bands () {return &m_->bands_;}
Bands const * Configuration::bands () const {return &m_->bands_;} Bands const * Configuration::bands () const {return &m_->bands_;}
StationList * Configuration::stations () {return &m_->stations_;} StationList * Configuration::stations () {return &m_->stations_;}
@ -1264,7 +1266,7 @@ void Configuration::impl::initialize_models ()
ui_->autoreply_off_check_box->setChecked (autoreply_off_at_startup_); ui_->autoreply_off_check_box->setChecked (autoreply_off_at_startup_);
ui_->monitor_off_check_box->setChecked (monitor_off_at_startup_); ui_->monitor_off_check_box->setChecked (monitor_off_at_startup_);
ui_->monitor_last_used_check_box->setChecked (monitor_last_used_); ui_->monitor_last_used_check_box->setChecked (monitor_last_used_);
ui_->log_as_RTTY_check_box->setChecked (log_as_RTTY_); ui_->log_as_RTTY_check_box->setChecked (log_as_DATA_);
ui_->stations_table_view->setEnabled(ui_->auto_switch_bands_check_box->isChecked()); ui_->stations_table_view->setEnabled(ui_->auto_switch_bands_check_box->isChecked());
ui_->report_in_comments_check_box->setChecked (report_in_comments_); ui_->report_in_comments_check_box->setChecked (report_in_comments_);
ui_->prompt_to_log_check_box->setChecked (prompt_to_log_); ui_->prompt_to_log_check_box->setChecked (prompt_to_log_);
@ -1322,6 +1324,7 @@ void Configuration::impl::initialize_models ()
ui_->n1mm_server_port_spin_box->setValue (n1mm_server_port_); ui_->n1mm_server_port_spin_box->setValue (n1mm_server_port_);
ui_->enable_n1mm_broadcast_check_box->setChecked (broadcast_to_n1mm_); ui_->enable_n1mm_broadcast_check_box->setChecked (broadcast_to_n1mm_);
ui_->udpWindowToFront->setChecked(udpWindowToFront_); ui_->udpWindowToFront->setChecked(udpWindowToFront_);
ui_->udpEnable->setChecked(udpEnabled_);
ui_->udpWindowRestore->setChecked(udpWindowRestore_); ui_->udpWindowRestore->setChecked(udpWindowRestore_);
ui_->calibration_intercept_spin_box->setValue (calibration_.intercept); ui_->calibration_intercept_spin_box->setValue (calibration_.intercept);
ui_->calibration_slope_ppm_spin_box->setValue (calibration_.slope_ppm); ui_->calibration_slope_ppm_spin_box->setValue (calibration_.slope_ppm);
@ -1496,7 +1499,7 @@ void Configuration::impl::read_settings ()
stations_.station_list (settings_->value ("stations").value<StationList::Stations> ()); stations_.station_list (settings_->value ("stations").value<StationList::Stations> ());
log_as_RTTY_ = settings_->value ("toRTTY", false).toBool (); log_as_DATA_ = settings_->value ("toRTTY", false).toBool ();
report_in_comments_ = settings_->value("dBtoComments", false).toBool (); report_in_comments_ = settings_->value("dBtoComments", false).toBool ();
rig_params_.rig_name = settings_->value ("Rig", TransceiverFactory::basic_transceiver_name_).toString (); rig_params_.rig_name = settings_->value ("Rig", TransceiverFactory::basic_transceiver_name_).toString ();
rig_is_dummy_ = TransceiverFactory::basic_transceiver_name_ == rig_params_.rig_name; rig_is_dummy_ = TransceiverFactory::basic_transceiver_name_ == rig_params_.rig_name;
@ -1543,6 +1546,7 @@ void Configuration::impl::read_settings ()
n1mm_server_port_ = settings_->value ("N1MMServerPort", 2333).toUInt (); n1mm_server_port_ = settings_->value ("N1MMServerPort", 2333).toUInt ();
broadcast_to_n1mm_ = settings_->value ("BroadcastToN1MM", false).toBool (); broadcast_to_n1mm_ = settings_->value ("BroadcastToN1MM", false).toBool ();
accept_udp_requests_ = settings_->value ("AcceptUDPRequests", false).toBool (); accept_udp_requests_ = settings_->value ("AcceptUDPRequests", false).toBool ();
udpEnabled_ = settings_->value("UDPEnabled", false).toBool();
udpWindowToFront_ = settings_->value ("udpWindowToFront",false).toBool (); udpWindowToFront_ = settings_->value ("udpWindowToFront",false).toBool ();
udpWindowRestore_ = settings_->value ("udpWindowRestore",false).toBool (); udpWindowRestore_ = settings_->value ("udpWindowRestore",false).toBool ();
calibration_.intercept = settings_->value ("CalibrationIntercept", 0.).toDouble (); calibration_.intercept = settings_->value ("CalibrationIntercept", 0.).toDouble ();
@ -1610,7 +1614,7 @@ void Configuration::impl::write_settings ()
settings_->setValue ("Macros", macros_.stringList ()); settings_->setValue ("Macros", macros_.stringList ());
settings_->setValue (versionedFrequenciesSettingsKey, QVariant::fromValue (frequencies_.frequency_list ())); settings_->setValue (versionedFrequenciesSettingsKey, QVariant::fromValue (frequencies_.frequency_list ()));
settings_->setValue ("stations", QVariant::fromValue (stations_.station_list ())); settings_->setValue ("stations", QVariant::fromValue (stations_.station_list ()));
settings_->setValue ("toRTTY", log_as_RTTY_); settings_->setValue ("toRTTY", log_as_DATA_);
settings_->setValue ("dBtoComments", report_in_comments_); settings_->setValue ("dBtoComments", report_in_comments_);
settings_->setValue ("Rig", rig_params_.rig_name); settings_->setValue ("Rig", rig_params_.rig_name);
settings_->setValue ("CATNetworkPort", rig_params_.network_port); settings_->setValue ("CATNetworkPort", rig_params_.network_port);
@ -1654,6 +1658,7 @@ void Configuration::impl::write_settings ()
settings_->setValue ("N1MMServerPort", n1mm_server_port_); settings_->setValue ("N1MMServerPort", n1mm_server_port_);
settings_->setValue ("BroadcastToN1MM", broadcast_to_n1mm_); settings_->setValue ("BroadcastToN1MM", broadcast_to_n1mm_);
settings_->setValue ("AcceptUDPRequests", accept_udp_requests_); settings_->setValue ("AcceptUDPRequests", accept_udp_requests_);
settings_->setValue ("UDPEnabled", udpEnabled_);
settings_->setValue ("udpWindowToFront", udpWindowToFront_); settings_->setValue ("udpWindowToFront", udpWindowToFront_);
settings_->setValue ("udpWindowRestore", udpWindowRestore_); settings_->setValue ("udpWindowRestore", udpWindowRestore_);
settings_->setValue ("CalibrationIntercept", calibration_.intercept); settings_->setValue ("CalibrationIntercept", calibration_.intercept);
@ -2036,7 +2041,7 @@ void Configuration::impl::accept ()
monitor_off_at_startup_ = ui_->monitor_off_check_box->isChecked (); monitor_off_at_startup_ = ui_->monitor_off_check_box->isChecked ();
monitor_last_used_ = ui_->monitor_last_used_check_box->isChecked (); monitor_last_used_ = ui_->monitor_last_used_check_box->isChecked ();
type_2_msg_gen_ = static_cast<Type2MsgGen> (ui_->type_2_msg_gen_combo_box->currentIndex ()); type_2_msg_gen_ = static_cast<Type2MsgGen> (ui_->type_2_msg_gen_combo_box->currentIndex ());
log_as_RTTY_ = ui_->log_as_RTTY_check_box->isChecked (); log_as_DATA_ = ui_->log_as_RTTY_check_box->isChecked ();
report_in_comments_ = ui_->report_in_comments_check_box->isChecked (); report_in_comments_ = ui_->report_in_comments_check_box->isChecked ();
prompt_to_log_ = ui_->prompt_to_log_check_box->isChecked (); prompt_to_log_ = ui_->prompt_to_log_check_box->isChecked ();
insert_blank_ = ui_->insert_blank_check_box->isChecked (); insert_blank_ = ui_->insert_blank_check_box->isChecked ();
@ -2065,11 +2070,15 @@ void Configuration::impl::accept ()
pwrBandTxMemory_ = ui_->checkBoxPwrBandTxMemory->isChecked (); pwrBandTxMemory_ = ui_->checkBoxPwrBandTxMemory->isChecked ();
pwrBandTuneMemory_ = ui_->checkBoxPwrBandTuneMemory->isChecked (); pwrBandTuneMemory_ = ui_->checkBoxPwrBandTuneMemory->isChecked ();
opCall_=ui_->opCallEntry->text(); opCall_=ui_->opCallEntry->text();
auto newUdpEnabled = ui_->udpEnable->isChecked();
auto new_server = ui_->udp_server_line_edit->text (); auto new_server = ui_->udp_server_line_edit->text ();
if (new_server != udp_server_name_) if (new_server != udp_server_name_ || newUdpEnabled != udpEnabled_)
{ {
udp_server_name_ = new_server; udp_server_name_ = new_server;
Q_EMIT self_->udp_server_changed (new_server); udpEnabled_ = newUdpEnabled;
Q_EMIT self_->udp_server_changed (udpEnabled_ ? new_server : "");
} }
auto new_port = ui_->udp_server_port_spin_box->value (); auto new_port = ui_->udp_server_port_spin_box->value ();
@ -2078,7 +2087,7 @@ void Configuration::impl::accept ()
udp_server_port_ = new_port; udp_server_port_ = new_port;
Q_EMIT self_->udp_server_port_changed (new_port); Q_EMIT self_->udp_server_port_changed (new_port);
} }
accept_udp_requests_ = ui_->accept_udp_requests_check_box->isChecked (); accept_udp_requests_ = ui_->accept_udp_requests_check_box->isChecked ();
auto new_n1mm_server = ui_->n1mm_server_name_line_edit->text (); auto new_n1mm_server = ui_->n1mm_server_name_line_edit->text ();
n1mm_server_name_ = new_n1mm_server; n1mm_server_name_ = new_n1mm_server;
@ -2089,6 +2098,7 @@ void Configuration::impl::accept ()
udpWindowToFront_ = ui_->udpWindowToFront->isChecked (); udpWindowToFront_ = ui_->udpWindowToFront->isChecked ();
udpWindowRestore_ = ui_->udpWindowRestore->isChecked (); udpWindowRestore_ = ui_->udpWindowRestore->isChecked ();
if (macros_.stringList () != next_macros_.stringList ()) if (macros_.stringList () != next_macros_.stringList ())
{ {
macros_.setStringList (next_macros_.stringList ()); macros_.setStringList (next_macros_.stringList ());

View File

@ -117,7 +117,7 @@ public:
bool autoreply_off_at_startup () const; bool autoreply_off_at_startup () const;
bool monitor_off_at_startup () const; bool monitor_off_at_startup () const;
bool monitor_last_used () const; bool monitor_last_used () const;
bool log_as_RTTY () const; bool log_as_DATA () const;
bool report_in_comments () const; bool report_in_comments () const;
bool prompt_to_log () const; bool prompt_to_log () const;
bool insert_blank () const; bool insert_blank () const;
@ -156,6 +156,7 @@ public:
bool accept_udp_requests () const; bool accept_udp_requests () const;
bool udpWindowToFront () const; bool udpWindowToFront () const;
bool udpWindowRestore () const; bool udpWindowRestore () const;
bool udpEnabled () const;
Bands * bands (); Bands * bands ();
Bands const * bands () const; Bands const * bands () const;
IARURegions::Region region () const; IARURegions::Region region () const;

View File

@ -1952,7 +1952,7 @@ and DX Grid fields when a 73 or free text message is sent.</string>
<string>Some logging programs will not accept JT-65 or JT9 as a recognized mode.</string> <string>Some logging programs will not accept JT-65 or JT9 as a recognized mode.</string>
</property> </property>
<property name="text"> <property name="text">
<string>Con&amp;vert mode to RTTY</string> <string>Con&amp;vert mode to DATA</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -2025,7 +2025,7 @@ for assessing propagation and system performance.</string>
<item> <item>
<widget class="QGroupBox" name="groupBox_4"> <widget class="QGroupBox" name="groupBox_4">
<property name="title"> <property name="title">
<string>UDP Server</string> <string>UDP API</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_16"> <layout class="QGridLayout" name="gridLayout_16">
<item row="0" column="0"> <item row="0" column="0">
@ -2086,6 +2086,13 @@ for assessing propagation and system performance.</string>
</item> </item>
<item row="0" column="1"> <item row="0" column="1">
<layout class="QVBoxLayout" name="verticalLayout_11"> <layout class="QVBoxLayout" name="verticalLayout_11">
<item>
<widget class="QCheckBox" name="udpEnable">
<property name="text">
<string>Enable UDP Server API</string>
</property>
</widget>
</item>
<item> <item>
<widget class="QCheckBox" name="accept_udp_requests_check_box"> <widget class="QCheckBox" name="accept_udp_requests_check_box">
<property name="toolTip"> <property name="toolTip">

View File

@ -329,6 +329,7 @@ auto MessageClient::server_port () const -> port_type
void MessageClient::set_server (QString const& server) void MessageClient::set_server (QString const& server)
{ {
qDebug() << "server changed to" << server;
m_->server_.clear (); m_->server_.clear ();
m_->server_string_ = server; m_->server_string_ = server;
if (!server.isEmpty ()) if (!server.isEmpty ())

View File

@ -75,7 +75,7 @@ void LogQSO::initLogQSO(QString const& hisCall, QString const& hisGrid, QString
if(rptRcvd!="") t+=" Rcvd: " + rptRcvd; if(rptRcvd!="") t+=" Rcvd: " + rptRcvd;
ui->comments->setText(t); ui->comments->setText(t);
} }
if(toRTTY) mode="RTTY"; if(toRTTY) mode="DATA";
ui->mode->setText(mode); ui->mode->setText(mode);
ui->sent->setText(rptSent); ui->sent->setText(rptSent);
ui->rcvd->setText(rptRcvd); ui->rcvd->setText(rptRcvd);

View File

@ -6508,7 +6508,7 @@ void MainWindow::on_logQSOButton_clicked() //Log QSO button
m_logDlg->initLogQSO (call, grid, m_modeTx == "FT8" ? "FT8CALL" : m_modeTx, m_rptSent, m_rptRcvd, m_logDlg->initLogQSO (call, grid, m_modeTx == "FT8" ? "FT8CALL" : m_modeTx, m_rptSent, m_rptRcvd,
m_dateTimeQSOOn, dateTimeQSOOff, m_freqNominal + ui->TxFreqSpinBox->value(), m_dateTimeQSOOn, dateTimeQSOOff, m_freqNominal + ui->TxFreqSpinBox->value(),
m_config.my_callsign(), m_config.my_grid(), m_config.my_callsign(), m_config.my_grid(),
m_config.log_as_RTTY(), m_config.report_in_comments(), m_config.log_as_DATA(), m_config.report_in_comments(),
m_config.bFox(), m_opCall); m_config.bFox(), m_opCall);
} }
@ -8813,6 +8813,19 @@ void MainWindow::processCommandActivity() {
// log it to the display! // log it to the display!
displayTextForFreq(ad.text, ad.freq, ad.utcTimestamp, false, true, false); displayTextForFreq(ad.text, ad.freq, ad.utcTimestamp, false, true, false);
// and send it to the network in case we want to interact with it from an external app...
sendNetworkMessage("RX.DIRECTED", ad.text, {
{"FROM", QVariant(d.from)},
{"TO", QVariant(d.to)},
{"CMD", QVariant(d.cmd)},
{"GRID", QVariant(d.grid)},
{"EXTRA", QVariant(d.extra)},
{"TEXT", QVariant(d.text)},
{"FREQ", QVariant(ad.freq)},
{"SNR", QVariant(ad.snr)},
{"UTC", QVariant(ad.utcTimestamp.toMSecsSinceEpoch())}
});
} }
// and mark the offset as a directed offset so future free text is displayed // and mark the offset as a directed offset so future free text is displayed