diff --git a/Configuration.cpp b/Configuration.cpp
index 870639172..9e95feccf 100644
--- a/Configuration.cpp
+++ b/Configuration.cpp
@@ -594,6 +594,7 @@ private:
Q_SLOT void on_cbAutoLog_clicked(bool);
Q_SLOT void on_Field_Day_Exchange_textEdited (QString const&);
Q_SLOT void on_RTTY_Exchange_textEdited (QString const&);
+ Q_SLOT void on_FoxKey_textEdited (QString const&);
Q_SLOT void on_Contest_Name_textEdited (QString const&);
// typenames used as arguments must match registered type names :(
@@ -692,6 +693,7 @@ private:
QString RTTY_exchange_;
QString Contest_Name_;
QString hamlib_backed_up_;
+ QString FoxKey_;
qint32 id_interval_;
qint32 ntrials_;
@@ -1001,6 +1003,11 @@ QString Configuration::RTTY_Exchange() const
return m_->RTTY_exchange_;
}
+QString Configuration::FoxKey() const
+{
+ return m_->FoxKey_;
+}
+
QString Configuration::Contest_Name() const
{
return m_->Contest_Name_;
@@ -1577,9 +1584,11 @@ void Configuration::impl::read_settings ()
my_grid_ = settings_->value ("MyGrid", QString {}).toString ();
FD_exchange_ = settings_->value ("Field_Day_Exchange",QString {}).toString ();
RTTY_exchange_ = settings_->value ("RTTY_Exchange",QString {}).toString ();
+ FoxKey_ = settings_->value ("FoxKey",QString {}).toString ();
Contest_Name_ = settings_->value ("Contest_Name",QString {}).toString ();
ui_->Field_Day_Exchange->setText(FD_exchange_);
ui_->RTTY_Exchange->setText(RTTY_exchange_);
+ ui_->FoxKey->setText(FoxKey_);
ui_->Contest_Name->setText(Contest_Name_);
hamlib_backed_up_ = settings_->value ("HamlibBackedUp",QString {}).toString ();
@@ -1808,6 +1817,7 @@ void Configuration::impl::write_settings ()
settings_->setValue ("MyGrid", my_grid_);
settings_->setValue ("Field_Day_Exchange", FD_exchange_);
settings_->setValue ("RTTY_Exchange", RTTY_exchange_);
+ settings_->setValue ("FoxKey", FoxKey_);
settings_->setValue ("Contest_Name", Contest_Name_);
settings_->setValue ("Font", font_.toString ());
settings_->setValue ("DecodedTextFont", decoded_text_font_.toString ());
@@ -2275,6 +2285,7 @@ void Configuration::impl::accept ()
my_grid_ = ui_->grid_line_edit->text ();
FD_exchange_= ui_->Field_Day_Exchange->text ().toUpper ();
RTTY_exchange_= ui_->RTTY_Exchange->text ().toUpper ();
+ FoxKey_= ui_->FoxKey->text().toUpper();
Contest_Name_= ui_->Contest_Name->text ().toUpper ();
spot_to_psk_reporter_ = ui_->psk_reporter_check_box->isChecked ();
psk_reporter_tcpip_ = ui_->psk_reporter_tcpip_check_box->isChecked ();
@@ -3129,6 +3140,11 @@ void Configuration::impl::on_RTTY_Exchange_textEdited (QString const& exchange)
ui_->RTTY_Exchange->setText (exchange.toUpper ());
}
+void Configuration::impl::on_FoxKey_textEdited (QString const& ckey)
+{
+ ui_->FoxKey->setText (ckey.toUpper ());
+}
+
void Configuration::impl::on_Contest_Name_textEdited (QString const& exchange)
{
ui_->Contest_Name->setText (exchange.toUpper ());
diff --git a/Configuration.hpp b/Configuration.hpp
index 6ae241f76..07a297eb8 100644
--- a/Configuration.hpp
+++ b/Configuration.hpp
@@ -100,6 +100,7 @@ public:
QString my_grid () const;
QString Field_Day_Exchange() const;
QString RTTY_Exchange() const;
+ QString FoxKey() const;
QString Contest_Name() const;
void setEU_VHF_Contest();
QFont text_font () const;
diff --git a/Configuration.ui b/Configuration.ui
index 8f6662590..33a6f5f01 100644
--- a/Configuration.ui
+++ b/Configuration.ui
@@ -2908,18 +2908,40 @@ Right click for insert and delete options.
false
- -
-
-
- Qt::Horizontal
+
-
+
+
+
+ 0
+ 0
+
-
-
- 40
- 20
-
+
+ <html><head/><body><p>North American VHF/UHF/Microwave contests and others in which a 4-character grid locator is the required exchange.</p></body></html>
-
+
+ NA VHF Contest
+
+
+ NA VHF
+
+
+ special_op_activity_button_group
+
+
+
+ -
+
+
+ <html><head/><body><p>ARRL International Digital Contest</p></body></html>
+
+
+ ARRL Digi Contest
+
+
+ special_op_activity_button_group
+
+
-
@@ -2940,8 +2962,8 @@ Right click for insert and delete options.
- -
-
+
-
+
0
@@ -2949,13 +2971,124 @@ Right click for insert and delete options.
- <html><head/><body><p>North American VHF/UHF/Microwave contests and others in which a 4-character grid locator is the required exchange.</p></body></html>
+ <html><head/><body><p>European VHF+ contests requiring a signal report, serial number, and 6-character locator.</p></body></html>
- NA VHF Contest
+ EU VHF Contest
- NA VHF
+ EU VHF Contest
+
+
+ special_op_activity_button_group
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
-
+
+
+ <html><head/><body><p>Call CQ with an individual contest name instead of TEST, RU, or WW. </p></body></html>
+
+
+ CQ with individual contest name
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
-
+
+
+ Contest name:
+
+
+
+ -
+
+
+
+ 70
+ 16777215
+
+
+
+
+
+
+ 4
+
+
+ 0
+
+
+ Qt::AlignCenter
+
+
+
+
+
+
+
+ -
+
+
+ <html><head/><body><p>FT8 DXpedition mode: Fox (DXpedition) operator.</p></body></html>
+
+
+ Fox
+
+
+ Fox
+
+
+ false
+
+
+ special_op_activity_button_group
+
+
+
+ -
+
+
+ <html><head/><body><p>FT8 DXpedition mode: Hound operator calling the DX.</p></body></html>
+
+
+ Hound
+
+
+ Hound
+
+
+ true
special_op_activity_button_group
@@ -2984,6 +3117,13 @@ Right click for insert and delete options.
+ -
+
+
+ SuperFox
+
+
+
-
-
@@ -3053,120 +3193,6 @@ Right click for insert and delete options.
- -
-
-
-
-
-
- <html><head/><body><p>Call CQ with an individual contest name instead of TEST, RU, or WW. </p></body></html>
-
-
- CQ with individual contest name
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
-
-
- Contest name:
-
-
-
- -
-
-
-
- 70
- 16777215
-
-
-
-
-
-
- 4
-
-
- 0
-
-
- Qt::AlignCenter
-
-
-
-
-
-
-
- -
-
-
- <html><head/><body><p>ARRL International Digital Contest</p></body></html>
-
-
- ARRL Digi Contest
-
-
- special_op_activity_button_group
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- <html><head/><body><p>European VHF+ contests requiring a signal report, serial number, and 6-character locator.</p></body></html>
-
-
- EU VHF Contest
-
-
- EU VHF Contest
-
-
- special_op_activity_button_group
-
-
-
- -
-
-
- <html><head/><body><p>FT8 DXpedition mode: Fox (DXpedition) operator.</p></body></html>
-
-
- Fox
-
-
- Fox
-
-
- false
-
-
- special_op_activity_button_group
-
-
-
-
-
@@ -3236,31 +3262,38 @@ Right click for insert and delete options.
- -
-
-
- <html><head/><body><p>FT8 DXpedition mode: Hound operator calling the DX.</p></body></html>
-
-
- Hound
-
-
- Hound
-
-
- true
-
-
- special_op_activity_button_group
-
-
-
- -
-
-
- SuperFox
-
-
+
-
+
+
-
+
+
+ Key:
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 80
+ 16777215
+
+
+
+ 9
+
+
+ Qt::AlignCenter
+
+
+
+
@@ -3505,13 +3538,13 @@ Right click for insert and delete options.
-
-
-
-
+
+
+
+
diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp
index bf5816d2f..3e2c3f8a3 100644
--- a/widgets/mainwindow.cpp
+++ b/widgets/mainwindow.cpp
@@ -5134,6 +5134,11 @@ void MainWindow::guiUpdate()
//Once per second (onesec)
if(nsec != m_sec0) {
// qDebug() << "AAA" << nsec%60 << ipc_qmap[5];
+
+// qint64 n64 = QDateTime::currentSecsSinceEpoch();
+// n64=n64/30;
+// n64=n64*30;
+// qDebug() << "bb" << m_config.FoxKey() << nsec%60 << dec_data.params.nutc << n64 << n64%60;
if(m_mode=="FST4") chk_FST4_freq_range();
m_currentBand=m_config.bands()->find(m_freqNominal);
if( SpecOp::HOUND == m_specOp ) {
@@ -10933,7 +10938,10 @@ void MainWindow::on_jt65Button_clicked()
void MainWindow::sfox_tx()
{
auto fname {QDir::toNativeSeparators(m_config.writeable_data_dir().absoluteFilePath("sfox_1.dat")).toLocal8Bit()};
- p2.start(QDir::toNativeSeparators(m_appDir)+QDir::separator()+"sftx", QStringList {fname});
+ QStringList args{fname};
+ args.append(m_config.FoxKey());
+ qDebug() << "aa" << args;
+ p2.start(QDir::toNativeSeparators(m_appDir)+QDir::separator()+"sftx", args);
p2.waitForFinished();
auto fname2 {QDir::toNativeSeparators(m_config.writeable_data_dir().absoluteFilePath("sfox_2.dat")).toLocal8Bit()};
sfox_wave_(fname2.constData(), (FCL)fname2.size());