Merge branch 'develop' into map65

This commit is contained in:
Joe Taylor 2022-12-29 16:01:30 -05:00
commit 64753c3f7f
15 changed files with 567 additions and 373 deletions

View File

@ -228,6 +228,22 @@ namespace
|DC # District of Columbia |DC # District of Columbia
|DX # anyone else |DX # anyone else
|SCC # Slovenia Contest Club contest |SCC # Slovenia Contest Club contest
|DR|FR|GD|GR|OV|ZH|ZL # Dutch provinces (also FL,NH,UT,NB,LB)
|X01|X02|X03|X04|X05|X06|X07 # 99 neutral exchanges
|X08|X09|X10|X11|X12|X13|X14
|X15|X16|X17|X18|X19|X20|X21
|X22|X23|X24|X25|X26|X27|X28
|X29|X30|X31|X32|X33|X34|X35
|X36|X37|X38|X39|X40|X41|X42
|X43|X44|X45|X46|X47|X48|X49
|X50|X51|X52|X53|X54|X55|X56
|X57|X58|X59|X60|X61|X62|X63
|X64|X65|X66|X67|X68|X69|X70
|X71|X72|X73|X74|X75|X76|X77
|X78|X79|X80|X81|X82|X83|X84
|X85|X86|X87|X88|X89|X90|X91
|X92|X93|X94|X95|X96|X97|X98
|X99
) )
)", QRegularExpression::CaseInsensitiveOption | QRegularExpression::ExtendedPatternSyntaxOption}; )", QRegularExpression::CaseInsensitiveOption | QRegularExpression::ExtendedPatternSyntaxOption};
@ -241,15 +257,15 @@ namespace
[A-F]\ * # class and optional space [A-F]\ * # class and optional space
( (
AB|AK|AL|AR|AZ|BC|CO|CT|DE|EB # ARRL/RAC section AB|AK|AL|AR|AZ|BC|CO|CT|DE|EB # ARRL/RAC section
|EMA|ENY|EPA|EWA|GA|GTA|IA|ID |EMA|ENY|EPA|EWA|GA|GH|IA|ID
|IL|IN|KS|KY|LA|LAX|MAR|MB|MDC |IL|IN|KS|KY|LA|LAX|MB|MDC|ME
|ME|MI|MN|MO|MS|MT|NC|ND|NE|NFL |MI|MN|MO|MS|MT|NB|NC|ND|NE|NFL
|NH|NL|NLI|NM|NNJ|NNY|NT|NTX|NV |NH|NL|NLI|NM|NNJ|NNY|NS|NTX|NV
|OH|OK|ONE|ONN|ONS|OR|ORG|PAC|PE |OH|OK|ONE|ONN|ONS|OR|ORG|PAC
|PR|QC|RI|SB|SC|SCV|SD|SDG|SF |PE|PR|QC|RI|SB|SC|SCV|SD|SDG
|SFL|SJV|SK|SNJ|STX|SV|TN|UT|VA |SF|SFL|SJV|SK|SNJ|STX|SV|TER
|VI|VT|WCF|WI|WMA|WNY|WPA|WTX |TN|UT|VA|VI|VT|WCF|WI|WMA|WNY
|WV|WWA|WY |WPA|WTX|WV|WWA|WY
|DX # anyone else |DX # anyone else
) )
)", QRegularExpression::CaseInsensitiveOption | QRegularExpression::ExtendedPatternSyntaxOption}; )", QRegularExpression::CaseInsensitiveOption | QRegularExpression::ExtendedPatternSyntaxOption};
@ -565,6 +581,7 @@ private:
Q_SLOT void on_cbAutoLog_clicked(bool); Q_SLOT void on_cbAutoLog_clicked(bool);
Q_SLOT void on_Field_Day_Exchange_textEdited (QString const&); Q_SLOT void on_Field_Day_Exchange_textEdited (QString const&);
Q_SLOT void on_RTTY_Exchange_textEdited (QString const&); Q_SLOT void on_RTTY_Exchange_textEdited (QString const&);
Q_SLOT void on_Contest_Name_textEdited (QString const&);
// typenames used as arguments must match registered type names :( // typenames used as arguments must match registered type names :(
Q_SIGNAL void start_transceiver (unsigned seqeunce_number) const; Q_SIGNAL void start_transceiver (unsigned seqeunce_number) const;
@ -660,6 +677,7 @@ private:
QString my_grid_; QString my_grid_;
QString FD_exchange_; QString FD_exchange_;
QString RTTY_exchange_; QString RTTY_exchange_;
QString Contest_Name_;
qint32 id_interval_; qint32 id_interval_;
qint32 ntrials_; qint32 ntrials_;
@ -693,6 +711,7 @@ private:
bool decode_at_52s_; bool decode_at_52s_;
bool single_decode_; bool single_decode_;
bool twoPass_; bool twoPass_;
bool Individual_Contest_Name_;
bool bSpecialOp_; bool bSpecialOp_;
int SelectedActivity_; int SelectedActivity_;
bool x2ToneSpacing_; bool x2ToneSpacing_;
@ -800,6 +819,7 @@ bool Configuration::enable_VHF_features () const {return m_->enable_VHF_features
bool Configuration::decode_at_52s () const {return m_->decode_at_52s_;} bool Configuration::decode_at_52s () const {return m_->decode_at_52s_;}
bool Configuration::single_decode () const {return m_->single_decode_;} bool Configuration::single_decode () const {return m_->single_decode_;}
bool Configuration::twoPass() const {return m_->twoPass_;} bool Configuration::twoPass() const {return m_->twoPass_;}
bool Configuration::Individual_Contest_Name() const {return m_->Individual_Contest_Name_;}
bool Configuration::x2ToneSpacing() const {return m_->x2ToneSpacing_;} bool Configuration::x2ToneSpacing() const {return m_->x2ToneSpacing_;}
bool Configuration::x4ToneSpacing() const {return m_->x4ToneSpacing_;} bool Configuration::x4ToneSpacing() const {return m_->x4ToneSpacing_;}
bool Configuration::split_mode () const {return m_->split_mode ();} bool Configuration::split_mode () const {return m_->split_mode ();}
@ -960,6 +980,11 @@ QString Configuration::RTTY_Exchange() const
return m_->RTTY_exchange_; return m_->RTTY_exchange_;
} }
QString Configuration::Contest_Name() const
{
return m_->Contest_Name_;
}
auto Configuration::special_op_id () const -> SpecialOperatingActivity auto Configuration::special_op_id () const -> SpecialOperatingActivity
{ {
return m_->bSpecialOp_ ? static_cast<SpecialOperatingActivity> (m_->SelectedActivity_) : SpecialOperatingActivity::NONE; return m_->bSpecialOp_ ? static_cast<SpecialOperatingActivity> (m_->SelectedActivity_) : SpecialOperatingActivity::NONE;
@ -1403,6 +1428,7 @@ void Configuration::impl::initialize_models ()
ui_->decode_at_52s_check_box->setChecked(decode_at_52s_); ui_->decode_at_52s_check_box->setChecked(decode_at_52s_);
ui_->single_decode_check_box->setChecked(single_decode_); ui_->single_decode_check_box->setChecked(single_decode_);
ui_->cbTwoPass->setChecked(twoPass_); ui_->cbTwoPass->setChecked(twoPass_);
ui_->cbContestName->setChecked(Individual_Contest_Name_);
ui_->gbSpecialOpActivity->setChecked(bSpecialOp_); ui_->gbSpecialOpActivity->setChecked(bSpecialOp_);
ui_->special_op_activity_button_group->button (SelectedActivity_)->setChecked (true); ui_->special_op_activity_button_group->button (SelectedActivity_)->setChecked (true);
ui_->cbx2ToneSpacing->setChecked(x2ToneSpacing_); ui_->cbx2ToneSpacing->setChecked(x2ToneSpacing_);
@ -1513,6 +1539,7 @@ void Configuration::impl::read_settings ()
my_grid_ = settings_->value ("MyGrid", QString {}).toString (); my_grid_ = settings_->value ("MyGrid", QString {}).toString ();
FD_exchange_ = settings_->value ("Field_Day_Exchange",QString {}).toString (); FD_exchange_ = settings_->value ("Field_Day_Exchange",QString {}).toString ();
RTTY_exchange_ = settings_->value ("RTTY_Exchange",QString {}).toString (); RTTY_exchange_ = settings_->value ("RTTY_Exchange",QString {}).toString ();
Contest_Name_ = settings_->value ("Contest_Name",QString {}).toString ();
ui_->Field_Day_Exchange->setText(FD_exchange_); ui_->Field_Day_Exchange->setText(FD_exchange_);
ui_->RTTY_Exchange->setText(RTTY_exchange_); ui_->RTTY_Exchange->setText(RTTY_exchange_);
if (next_font_.fromString (settings_->value ("Font", QGuiApplication::font ().toString ()).toString ()) if (next_font_.fromString (settings_->value ("Font", QGuiApplication::font ().toString ()).toString ())
@ -1662,6 +1689,7 @@ void Configuration::impl::read_settings ()
decode_at_52s_ = settings_->value("Decode52",false).toBool (); decode_at_52s_ = settings_->value("Decode52",false).toBool ();
single_decode_ = settings_->value("SingleDecode",false).toBool (); single_decode_ = settings_->value("SingleDecode",false).toBool ();
twoPass_ = settings_->value("TwoPass",true).toBool (); twoPass_ = settings_->value("TwoPass",true).toBool ();
Individual_Contest_Name_ = settings_->value("Individual_Contest_Name",true).toBool ();
bSpecialOp_ = settings_->value("SpecialOpActivity",false).toBool (); bSpecialOp_ = settings_->value("SpecialOpActivity",false).toBool ();
SelectedActivity_ = settings_->value("SelectedActivity",1).toInt (); SelectedActivity_ = settings_->value("SelectedActivity",1).toInt ();
x2ToneSpacing_ = settings_->value("x2ToneSpacing",false).toBool (); x2ToneSpacing_ = settings_->value("x2ToneSpacing",false).toBool ();
@ -1722,6 +1750,7 @@ void Configuration::impl::write_settings ()
settings_->setValue ("MyGrid", my_grid_); settings_->setValue ("MyGrid", my_grid_);
settings_->setValue ("Field_Day_Exchange", FD_exchange_); settings_->setValue ("Field_Day_Exchange", FD_exchange_);
settings_->setValue ("RTTY_Exchange", RTTY_exchange_); settings_->setValue ("RTTY_Exchange", RTTY_exchange_);
settings_->setValue ("Contest_Name", Contest_Name_);
settings_->setValue ("Font", font_.toString ()); settings_->setValue ("Font", font_.toString ());
settings_->setValue ("DecodedTextFont", decoded_text_font_.toString ()); settings_->setValue ("DecodedTextFont", decoded_text_font_.toString ());
settings_->setValue ("IDint", id_interval_); settings_->setValue ("IDint", id_interval_);
@ -1796,6 +1825,7 @@ void Configuration::impl::write_settings ()
settings_->setValue ("Decode52", decode_at_52s_); settings_->setValue ("Decode52", decode_at_52s_);
settings_->setValue ("SingleDecode", single_decode_); settings_->setValue ("SingleDecode", single_decode_);
settings_->setValue ("TwoPass", twoPass_); settings_->setValue ("TwoPass", twoPass_);
settings_->setValue ("Individual_Contest_Name", Individual_Contest_Name_);
settings_->setValue ("SelectedActivity", SelectedActivity_); settings_->setValue ("SelectedActivity", SelectedActivity_);
settings_->setValue ("SpecialOpActivity", bSpecialOp_); settings_->setValue ("SpecialOpActivity", bSpecialOp_);
settings_->setValue ("x2ToneSpacing", x2ToneSpacing_); settings_->setValue ("x2ToneSpacing", x2ToneSpacing_);
@ -2186,6 +2216,7 @@ void Configuration::impl::accept ()
my_grid_ = ui_->grid_line_edit->text (); my_grid_ = ui_->grid_line_edit->text ();
FD_exchange_= ui_->Field_Day_Exchange->text ().toUpper (); FD_exchange_= ui_->Field_Day_Exchange->text ().toUpper ();
RTTY_exchange_= ui_->RTTY_Exchange->text ().toUpper (); RTTY_exchange_= ui_->RTTY_Exchange->text ().toUpper ();
Contest_Name_= ui_->Contest_Name->text ().toUpper ();
spot_to_psk_reporter_ = ui_->psk_reporter_check_box->isChecked (); spot_to_psk_reporter_ = ui_->psk_reporter_check_box->isChecked ();
psk_reporter_tcpip_ = ui_->psk_reporter_tcpip_check_box->isChecked (); psk_reporter_tcpip_ = ui_->psk_reporter_tcpip_check_box->isChecked ();
id_interval_ = ui_->CW_id_interval_spin_box->value (); id_interval_ = ui_->CW_id_interval_spin_box->value ();
@ -2223,6 +2254,7 @@ void Configuration::impl::accept ()
decode_at_52s_ = ui_->decode_at_52s_check_box->isChecked (); decode_at_52s_ = ui_->decode_at_52s_check_box->isChecked ();
single_decode_ = ui_->single_decode_check_box->isChecked (); single_decode_ = ui_->single_decode_check_box->isChecked ();
twoPass_ = ui_->cbTwoPass->isChecked (); twoPass_ = ui_->cbTwoPass->isChecked ();
Individual_Contest_Name_ = ui_->cbContestName->isChecked ();
bSpecialOp_ = ui_->gbSpecialOpActivity->isChecked (); bSpecialOp_ = ui_->gbSpecialOpActivity->isChecked ();
SelectedActivity_ = ui_->special_op_activity_button_group->checkedId(); SelectedActivity_ = ui_->special_op_activity_button_group->checkedId();
x2ToneSpacing_ = ui_->cbx2ToneSpacing->isChecked (); x2ToneSpacing_ = ui_->cbx2ToneSpacing->isChecked ();
@ -2308,6 +2340,8 @@ void Configuration::impl::accept ()
use_dynamic_grid_ = ui_->use_dynamic_grid->isChecked(); use_dynamic_grid_ = ui_->use_dynamic_grid->isChecked();
highlight_DXcall_ = ui_->cbHighlightDXcall->isChecked(); highlight_DXcall_ = ui_->cbHighlightDXcall->isChecked();
highlight_DXgrid_ = ui_->cbHighlightDXgrid->isChecked(); highlight_DXgrid_ = ui_->cbHighlightDXgrid->isChecked();
Individual_Contest_Name_ = ui_->cbContestName->isChecked();
write_settings (); // make visible to all write_settings (); // make visible to all
} }
@ -2892,6 +2926,11 @@ void Configuration::impl::on_RTTY_Exchange_textEdited (QString const& exchange)
ui_->RTTY_Exchange->setText (exchange.toUpper ()); ui_->RTTY_Exchange->setText (exchange.toUpper ());
} }
void Configuration::impl::on_Contest_Name_textEdited (QString const& exchange)
{
ui_->Contest_Name->setText (exchange.toUpper ());
}
bool Configuration::impl::have_rig () bool Configuration::impl::have_rig ()
{ {
if (!open_rig ()) if (!open_rig ())

View File

@ -100,6 +100,7 @@ public:
QString my_grid () const; QString my_grid () const;
QString Field_Day_Exchange() const; QString Field_Day_Exchange() const;
QString RTTY_Exchange() const; QString RTTY_Exchange() const;
QString Contest_Name() const;
void setEU_VHF_Contest(); void setEU_VHF_Contest();
QFont text_font () const; QFont text_font () const;
QFont decoded_text_font () const; QFont decoded_text_font () const;
@ -187,6 +188,7 @@ public:
void setSpecial_None(); void setSpecial_None();
bool highlight_DXcall () const; bool highlight_DXcall () const;
bool highlight_DXgrid () const; bool highlight_DXgrid () const;
bool Individual_Contest_Name() const;
// 0 1 2 3 4 5 6 7 8 // 0 1 2 3 4 5 6 7 8
enum class SpecialOperatingActivity {NONE, NA_VHF, EU_VHF, FIELD_DAY, RTTY, WW_DIGI, FOX, HOUND, ARRL_DIGI}; enum class SpecialOperatingActivity {NONE, NA_VHF, EU_VHF, FIELD_DAY, RTTY, WW_DIGI, FOX, HOUND, ARRL_DIGI};

View File

@ -2513,289 +2513,6 @@ Right click for insert and delete options.</string>
<string>Advanced</string> <string>Advanced</string>
</attribute> </attribute>
<layout class="QGridLayout" name="gridLayout_9"> <layout class="QGridLayout" name="gridLayout_9">
<item row="1" column="0" colspan="2">
<widget class="QGroupBox" name="gbSpecialOpActivity">
<property name="title">
<string>Special operating activity</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>false</bool>
</property>
<layout class="QGridLayout" name="gridLayout_15" columnstretch="1,0,0,0">
<item row="0" column="0">
<widget class="QRadioButton" name="rbFox">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;FT8 DXpedition mode: Fox (DXpedition) operator.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="accessibleName">
<string>Fox</string>
</property>
<property name="text">
<string>Fox</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
<attribute name="buttonGroup">
<string notr="true">special_op_activity_button_group</string>
</attribute>
</widget>
</item>
<item row="2" column="0">
<widget class="QRadioButton" name="rbEU_VHF_Contest">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;European VHF+ contests requiring a signal report, serial number, and 6-character locator.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="accessibleName">
<string>EU VHF Contest</string>
</property>
<property name="text">
<string>EU VHF Contest</string>
</property>
<attribute name="buttonGroup">
<string notr="true">special_op_activity_button_group</string>
</attribute>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="rbNA_VHF_Contest">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;North American VHF/UHF/Microwave contests and others in which a 4-character grid locator is the required exchange.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="accessibleName">
<string>NA VHF Contest</string>
</property>
<property name="text">
<string>NA VHF</string>
</property>
<attribute name="buttonGroup">
<string notr="true">special_op_activity_button_group</string>
</attribute>
</widget>
</item>
<item row="0" column="1" rowspan="3">
<spacer name="horizontalSpacer_11">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="3">
<widget class="QRadioButton" name="rbHound">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;FT8 DXpedition mode: Hound operator calling the DX.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="accessibleName">
<string>Hound</string>
</property>
<property name="text">
<string>Hound</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
<attribute name="buttonGroup">
<string notr="true">special_op_activity_button_group</string>
</attribute>
</widget>
</item>
<item row="1" column="3">
<layout class="QHBoxLayout" name="horizontalLayout_17" stretch="2,1,1">
<item>
<widget class="QRadioButton" name="rbField_Day">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;ARRL Field Day exchange: number of transmitters, Class, and ARRL/RAC section or &amp;quot;DX&amp;quot;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="accessibleName">
<string>A R R L Field Day</string>
</property>
<property name="text">
<string>ARRL Field Day</string>
</property>
<attribute name="buttonGroup">
<string notr="true">special_op_activity_button_group</string>
</attribute>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_9">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QFormLayout" name="formLayout_16">
<item row="0" column="0">
<widget class="QLabel" name="labFD">
<property name="accessibleName">
<string>Field Day exchange</string>
</property>
<property name="text">
<string>FD Exch:</string>
</property>
<property name="buddy">
<cstring>Field_Day_Exchange</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="Field_Day_Exchange">
<property name="minimumSize">
<size>
<width>70</width>
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;ARRL Field Day exchange: number of transmitters, Class, and ARRL/RAC section or &amp;quot;DX&amp;quot;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>6A SNJ</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item row="3" column="0">
<widget class="QRadioButton" name="rbWW_DIGI">
<property name="minimumSize">
<size>
<width>0</width>
<height>18</height>
</size>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;World-Wide Digi-mode contest&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="accessibleName">
<string>WW Digital Contest</string>
</property>
<property name="text">
<string>WW Digi Contest</string>
</property>
<attribute name="buttonGroup">
<string notr="true">special_op_activity_button_group</string>
</attribute>
</widget>
</item>
<item row="2" column="3">
<layout class="QHBoxLayout" name="horizontalLayout_18" stretch="2,1,1">
<item>
<widget class="QRadioButton" name="rbRTTY_Roundup">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;FT Roundup and similar contests. Exchange is US state, Canadian province, or &amp;quot;DX&amp;quot;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="accessibleName">
<string>R T T Y Roundup</string>
</property>
<property name="text">
<string>FT Roundup</string>
</property>
<attribute name="buttonGroup">
<string notr="true">special_op_activity_button_group</string>
</attribute>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_10">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QFormLayout" name="formLayout_17">
<item row="0" column="0">
<widget class="QLabel" name="labRTTY">
<property name="accessibleName">
<string>RTTY Roundup exchange</string>
</property>
<property name="text">
<string>FT RU Exch:</string>
</property>
<property name="buddy">
<cstring>RTTY_Exchange</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="RTTY_Exchange">
<property name="minimumSize">
<size>
<width>70</width>
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;FT Roundup and similar contests. Exchange is US state, Canadian province, or &amp;quot;DX&amp;quot;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>NJ</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item row="3" column="3">
<widget class="QRadioButton" name="rbARRL_Digi">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;ARRL International Digital Contest&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>ARRL Digi Contest</string>
</property>
<attribute name="buttonGroup">
<string notr="true">special_op_activity_button_group</string>
</attribute>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="1"> <item row="0" column="1">
<widget class="QGroupBox" name="groupBox_5"> <widget class="QGroupBox" name="groupBox_5">
<property name="title"> <property name="title">
@ -3036,6 +2753,349 @@ Right click for insert and delete options.</string>
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="1" column="0" colspan="2">
<widget class="QGroupBox" name="gbSpecialOpActivity">
<property name="title">
<string>Special operating activity</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>false</bool>
</property>
<layout class="QGridLayout" name="gridLayout_15" columnstretch="1,0,0,0">
<item row="0" column="3">
<widget class="QRadioButton" name="rbHound">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;FT8 DXpedition mode: Hound operator calling the DX.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="accessibleName">
<string>Hound</string>
</property>
<property name="text">
<string>Hound</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
<attribute name="buttonGroup">
<string notr="true">special_op_activity_button_group</string>
</attribute>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="rbNA_VHF_Contest">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;North American VHF/UHF/Microwave contests and others in which a 4-character grid locator is the required exchange.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="accessibleName">
<string>NA VHF Contest</string>
</property>
<property name="text">
<string>NA VHF</string>
</property>
<attribute name="buttonGroup">
<string notr="true">special_op_activity_button_group</string>
</attribute>
</widget>
</item>
<item row="1" column="3">
<layout class="QHBoxLayout" name="horizontalLayout_17" stretch="2,1,1">
<item>
<widget class="QRadioButton" name="rbField_Day">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;ARRL Field Day exchange: number of transmitters, Class, and ARRL/RAC section or &amp;quot;DX&amp;quot;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="accessibleName">
<string>A R R L Field Day</string>
</property>
<property name="text">
<string>ARRL Field Day</string>
</property>
<attribute name="buttonGroup">
<string notr="true">special_op_activity_button_group</string>
</attribute>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_9">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QFormLayout" name="formLayout_16">
<item row="0" column="0">
<widget class="QLabel" name="labFD">
<property name="accessibleName">
<string>Field Day exchange</string>
</property>
<property name="text">
<string>FD Exch:</string>
</property>
<property name="buddy">
<cstring>Field_Day_Exchange</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="Field_Day_Exchange">
<property name="minimumSize">
<size>
<width>70</width>
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;ARRL Field Day exchange: number of transmitters, Class, and ARRL/RAC section or &amp;quot;DX&amp;quot;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>6A SNJ</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item row="3" column="3">
<widget class="QRadioButton" name="rbARRL_Digi">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;ARRL International Digital Contest&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>ARRL Digi Contest</string>
</property>
<attribute name="buttonGroup">
<string notr="true">special_op_activity_button_group</string>
</attribute>
</widget>
</item>
<item row="0" column="1" rowspan="3">
<spacer name="horizontalSpacer_11">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="0">
<widget class="QRadioButton" name="rbWW_DIGI">
<property name="minimumSize">
<size>
<width>0</width>
<height>18</height>
</size>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;World-Wide Digi-mode contest&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="accessibleName">
<string>WW Digital Contest</string>
</property>
<property name="text">
<string>WW Digi Contest</string>
</property>
<attribute name="buttonGroup">
<string notr="true">special_op_activity_button_group</string>
</attribute>
</widget>
</item>
<item row="2" column="3">
<layout class="QHBoxLayout" name="horizontalLayout_18" stretch="2,1,1">
<item>
<widget class="QRadioButton" name="rbRTTY_Roundup">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;FT Roundup and similar contests. Exchange is US state, Canadian province, or &amp;quot;DX&amp;quot;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="accessibleName">
<string>R T T Y Roundup</string>
</property>
<property name="text">
<string>FT Roundup</string>
</property>
<attribute name="buttonGroup">
<string notr="true">special_op_activity_button_group</string>
</attribute>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_10">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QFormLayout" name="formLayout_17">
<item row="0" column="0">
<widget class="QLabel" name="labRTTY">
<property name="accessibleName">
<string>RTTY Roundup exchange</string>
</property>
<property name="text">
<string>FT RU Exch:</string>
</property>
<property name="buddy">
<cstring>RTTY_Exchange</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="RTTY_Exchange">
<property name="minimumSize">
<size>
<width>70</width>
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;FT Roundup and similar contests. Exchange is US state, Canadian province, or &amp;quot;DX&amp;quot;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>NJ</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item row="0" column="0">
<widget class="QRadioButton" name="rbFox">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;FT8 DXpedition mode: Fox (DXpedition) operator.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="accessibleName">
<string>Fox</string>
</property>
<property name="text">
<string>Fox</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
<attribute name="buttonGroup">
<string notr="true">special_op_activity_button_group</string>
</attribute>
</widget>
</item>
<item row="2" column="0">
<widget class="QRadioButton" name="rbEU_VHF_Contest">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;European VHF+ contests requiring a signal report, serial number, and 6-character locator.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="accessibleName">
<string>EU VHF Contest</string>
</property>
<property name="text">
<string>EU VHF Contest</string>
</property>
<attribute name="buttonGroup">
<string notr="true">special_op_activity_button_group</string>
</attribute>
</widget>
</item>
<item row="4" column="3">
<layout class="QHBoxLayout" name="horizontalLayout_24">
<item>
<widget class="QCheckBox" name="cbContestName">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Call CQ with an individual contest name instead of TEST, RU, or WW. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>CQ with individual contest name</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_12">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_25">
<item>
<widget class="QLabel" name="labCN">
<property name="text">
<string>Contest name:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="Contest_Name">
<property name="maximumSize">
<size>
<width>70</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>PACC</string>
</property>
<property name="maxLength">
<number>4</number>
</property>
<property name="cursorPosition">
<number>2</number>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item row="2" column="0" colspan="2"> <item row="2" column="0" colspan="2">
<spacer name="verticalSpacer_8"> <spacer name="verticalSpacer_8">
<property name="orientation"> <property name="orientation">
@ -3276,13 +3336,13 @@ Right click for insert and delete options.</string>
</connection> </connection>
</connections> </connections>
<buttongroups> <buttongroups>
<buttongroup name="TX_audio_source_button_group"/>
<buttongroup name="PTT_method_button_group"/>
<buttongroup name="special_op_activity_button_group"/>
<buttongroup name="CAT_stop_bits_button_group"/> <buttongroup name="CAT_stop_bits_button_group"/>
<buttongroup name="split_mode_button_group"/>
<buttongroup name="TX_mode_button_group"/>
<buttongroup name="CAT_handshake_button_group"/> <buttongroup name="CAT_handshake_button_group"/>
<buttongroup name="TX_mode_button_group"/>
<buttongroup name="CAT_data_bits_button_group"/> <buttongroup name="CAT_data_bits_button_group"/>
<buttongroup name="PTT_method_button_group"/>
<buttongroup name="split_mode_button_group"/>
<buttongroup name="special_op_activity_button_group"/>
<buttongroup name="TX_audio_source_button_group"/>
</buttongroups> </buttongroups>
</ui> </ui>

30
NEWS
View File

@ -12,17 +12,28 @@
Copyright 2001 - 2023 by Joe Taylor, K1JT, and the WSJT Development Team Copyright 2001 - 2023 by Joe Taylor, K1JT, and the WSJT Development Team
Release: WSJT-X 2.6.0 Release: WSJT-X 2.6.0
Januar 2, 2023 January 2, 2023
------------------------- -------------------------
WSJT-X 2.6.0 is very similar to rc5, but contains some bug fixes. It has WSJT-X 2.6.0 is a General Availability (GA) release, the first since
the following changes since Release Candidate 5: version 2.5.4. Its major enhancements include the following:
- Support for the ARRL International DX Contest
- Performance enhancements for the FT8 and Q65 modes
- New features for EME Echo mode, including calibrated SNR reports
- Several new convenience features for Fox operators
- Save/Restore capability, "Preferred" status, and effective date
ranges for mode-dependent tables of default frequencies
- Improved display features for contest log
- Improved calibration of SNR estimates for modes FST4 and FST4W
Other enhancements and bug fixes since 2.6.0-rc5 include the following:
- PSK Reporter spotting is now also possible for frequencies > 4 GHz. - PSK Reporter spotting is now also possible for frequencies > 4 GHz.
This is required for QO-100, for example. This is required for QO-100, for example.
- The minimum width of the main window has been further reduced, and - The minimum width of the main window has been further reduced, and
such small sizes are now remembered. such small sizes are now remembered and properly restored.
- Some further improvements for Fox operators. - Some further improvements for Fox operators.
@ -37,6 +48,17 @@ the following changes since Release Candidate 5:
- Add tooltips to better explain the split operation options. - Add tooltips to better explain the split operation options.
- Add some additional FT roundup exchanges which can be used for
local contests or QSO parties.
- Add an option to call CQ with an individual contest name.
- Update of some ARRL section abbreviations.
For full details on changes since WSJT-X version 2.5.4, be sure to
read the Release Notes sections for 2.6.0-rc1 through rc5, immediately
following.
Release: WSJT-X 2.6.0-rc5 Release: WSJT-X 2.6.0-rc5
November 29, 2022 November 29, 2022

View File

@ -12,17 +12,28 @@
Copyright 2001 - 2023 by Joe Taylor, K1JT, and the WSJT Development Team Copyright 2001 - 2023 by Joe Taylor, K1JT, and the WSJT Development Team
Release: WSJT-X 2.6.0 Release: WSJT-X 2.6.0
Januar 2, 2023 January 2, 2023
------------------------- -------------------------
WSJT-X 2.6.0 is very similar to rc5, but contains some bug fixes. It has WSJT-X 2.6.0 is a General Availability (GA) release, the first since
the following changes since Release Candidate 5: version 2.5.4. Its major enhancements include the following:
- Support for the ARRL International DX Contest
- Performance enhancements for the FT8 and Q65 modes
- New features for EME Echo mode, including calibrated SNR reports
- Several new convenience features for Fox operators
- Save/Restore capability, "Preferred" status, and effective date
ranges for mode-dependent tables of default frequencies
- Improved display features for contest log
- Improved calibration of SNR estimates for modes FST4 and FST4W
Other enhancements and bug fixes since 2.6.0-rc5 include the following:
- PSK Reporter spotting is now also possible for frequencies > 4 GHz. - PSK Reporter spotting is now also possible for frequencies > 4 GHz.
This is required for QO-100, for example. This is required for QO-100, for example.
- The minimum width of the main window has been further reduced, and - The minimum width of the main window has been further reduced, and
such small sizes are now remembered. such small sizes are now remembered and properly restored.
- Some further improvements for Fox operators. - Some further improvements for Fox operators.
@ -37,6 +48,17 @@ the following changes since Release Candidate 5:
- Add tooltips to better explain the split operation options. - Add tooltips to better explain the split operation options.
- Add some additional FT roundup exchanges which can be used for
local contests or QSO parties.
- Add an option to call CQ with an individual contest name.
- Update of some ARRL section abbreviations.
For full details on changes since WSJT-X version 2.5.4, be sure to
read the Release Notes sections for 2.6.0-rc1 through rc5, immediately
following.
Release: WSJT-X 2.6.0-rc5 Release: WSJT-X 2.6.0-rc5
November 29, 2022 November 29, 2022

View File

@ -63,6 +63,8 @@ set (UG_SRCS
set (UG_IMGS set (UG_IMGS
images/active_stations.png images/active_stations.png
images/Add_Frequency.png
images/Add_station_info.png
images/AstroData_2.png images/AstroData_2.png
images/Astronomical_data.png images/Astronomical_data.png
images/auto-seq.png images/auto-seq.png

View File

@ -49,21 +49,21 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes.
:asciidoctor_style: https://asciidoctor.org/docs/asciidoc-writers-guide/#delimited-blocks[AsciiDoctor Styles Guide] :asciidoctor_style: https://asciidoctor.org/docs/asciidoc-writers-guide/#delimited-blocks[AsciiDoctor Styles Guide]
:asciidoctor_syntax: https://asciidoctor.org/docs/asciidoc-writers-guide/#delimited-blocks[AsciiDoctor Syntax Guide] :asciidoctor_syntax: https://asciidoctor.org/docs/asciidoc-writers-guide/#delimited-blocks[AsciiDoctor Syntax Guide]
:cc_by_sa: https://creativecommons.org/licenses/by-sa/3.0/[Commons Attribution-ShareAlike 3.0 Unported License] :cc_by_sa: https://creativecommons.org/licenses/by-sa/3.0/[Commons Attribution-ShareAlike 3.0 Unported License]
:debian32: https://physics.princeton.edu/pulsar/K1JT/wsjtx_{VERSION}_i386.deb[wsjtx_{VERSION}_i386.deb] :debian32: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx_{VERSION}_i386.deb[wsjtx_{VERSION}_i386.deb]
:debian64: https://physics.princeton.edu/pulsar/K1JT/wsjtx_{VERSION}_amd64.deb[wsjtx_{VERSION}_amd64.deb] :debian64: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx_{VERSION}_amd64.deb[wsjtx_{VERSION}_amd64.deb]
:raspbian: https://physics.princeton.edu/pulsar/K1JT/wsjtx_{VERSION}_armhf.deb[wsjtx_{VERSION}_armhf.deb] :raspbian: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx_{VERSION}_armhf.deb[wsjtx_{VERSION}_armhf.deb]
:raspbian64: https://physics.princeton.edu/pulsar/K1JT/wsjtx_{VERSION}_arm64.deb[wsjtx_{VERSION}_arm64.deb] :raspbian64: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx_{VERSION}_arm64.deb[wsjtx_{VERSION}_arm64.deb]
:debian: https://www.debian.org/[Debian] :debian: https://www.debian.org/[Debian]
:dev_guide: https://www.physics.princeton.edu/pulsar/K1JT/wsjtx-doc/wsjt-dev-guide.html[Dev-Guide] :dev_guide: https://www.physics.princeton.edu/pulsar/K1JT/wsjtx-doc/wsjt-dev-guide.html[Dev-Guide]
:devsvn: https://sourceforge.net/p/wsjt/wsjt/HEAD/tree/[Devel-SVN] :devsvn: https://sourceforge.net/p/wsjt/wsjt/HEAD/tree/[Devel-SVN]
:devrepo: https://sourceforge.net/p/wsjt/wsjtx/ci/master/tree/[SourceForge] :devrepo: https://sourceforge.net/p/wsjt/wsjtx/ci/master/tree/[SourceForge]
:dimension4: http://www.thinkman.com/dimension4/[Thinking Man Software] :dimension4: http://www.thinkman.com/dimension4/[Thinking Man Software]
:download: https://physics.princeton.edu/pulsar/K1JT/wsjtx.html[Download Page] :download: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx.html[Download Page]
:dxatlas: http://www.dxatlas.com/[Afreet Software, Inc.] :dxatlas: http://www.dxatlas.com/[Afreet Software, Inc.]
:dxlcommander: https://www.dxlabsuite.com/commander/[Commander] :dxlcommander: https://www.dxlabsuite.com/commander/[Commander]
:dxlsuite: https://www.dxlabsuite.com/[DX Lab Suite] :dxlsuite: https://www.dxlabsuite.com/[DX Lab Suite]
:fedora32: https://physics.princeton.edu/pulsar/K1JT/wsjtx-{VERSION}-i686.rpm[wsjtx-{VERSION}-i686.rpm] :fedora32: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx-{VERSION}-i686.rpm[wsjtx-{VERSION}-i686.rpm]
:fedora64: https://physics.princeton.edu/pulsar/K1JT/wsjtx-{VERSION}-x86_64.rpm[wsjtx-{VERSION}-x86_64.rpm] :fedora64: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx-{VERSION}-x86_64.rpm[wsjtx-{VERSION}-x86_64.rpm]
:fmt_arrl: https://www.arrl.org/frequency-measuring-test[ARRL FMT Info] :fmt_arrl: https://www.arrl.org/frequency-measuring-test[ARRL FMT Info]
:fmt_group: https://groups.yahoo.com/neo/groups/FMT-nuts/info[FMT Group] :fmt_group: https://groups.yahoo.com/neo/groups/FMT-nuts/info[FMT Group]
:fmt_k5cm: http://www.k5cm.com/[FMT Event Info] :fmt_k5cm: http://www.k5cm.com/[FMT Event Info]
@ -73,20 +73,20 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes.
:ft8_tips: https://www.g4ifb.com/FT8_Hinson_tips_for_HF_DXers.pdf[FT8 Operating Guide] :ft8_tips: https://www.g4ifb.com/FT8_Hinson_tips_for_HF_DXers.pdf[FT8 Operating Guide]
:ft8_DXped: https://physics.princeton.edu/pulsar/k1jt/FT8_DXpedition_Mode.pdf[FT8 DXpedition Mode] :ft8_DXped: https://physics.princeton.edu/pulsar/k1jt/FT8_DXpedition_Mode.pdf[FT8 DXpedition Mode]
:gnu_gpl: https://www.gnu.org/licenses/gpl-3.0.txt[GNU General Public License] :gnu_gpl: https://www.gnu.org/licenses/gpl-3.0.txt[GNU General Public License]
:homepage: https://physics.princeton.edu/pulsar/K1JT/[WSJT Home Page] :homepage: https://wsjt.sourceforge.io/index.html[WSJT Home Page]
:hrd: http://www.hrdsoftwarellc.com/[Ham Radio Deluxe] :hrd: http://www.hrdsoftwarellc.com/[Ham Radio Deluxe]
:jt4eme: https://physics.princeton.edu/pulsar/K1JT/WSJT-X_1.6.0_for_JT4_v7.pdf[Using WSJT-X for JT4 EME Operation] :jt4eme: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/WSJT-X_1.6.0_for_JT4_v7.pdf[Using WSJT-X for JT4 EME Operation]
:jt65protocol: https://physics.princeton.edu/pulsar/K1JT/JT65.pdf[QEX] :jt65protocol: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/JT65.pdf[QEX]
:jtalert: https://hamapps.com/[JTAlert] :jtalert: https://hamapps.com/[JTAlert]
:launchpadki7mt: https://launchpad.net/~ki7mt[KI7MT PPA's] :launchpadki7mt: https://launchpad.net/~ki7mt[KI7MT PPA's]
:log4om: https://www.log4om.com[Log4OM] :log4om: https://www.log4om.com[Log4OM]
:lunarEchoes: https://physics.princeton.edu/pulsar/K1JT/LunarEchoes_QEX.pdf[QEX] :lunarEchoes: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/LunarEchoes_QEX.pdf[QEX]
:msk144: https://physics.princeton.edu/pulsar/k1jt/MSK144_Protocol_QEX.pdf[QEX] :msk144: https://physics.princeton.edu/pulsar/k1jt/MSK144_Protocol_QEX.pdf[QEX]
:msvcpp_redist: https://www.microsoft.com/en-ph/download/details.aspx?id=40784[Microsoft VC++ 2013 Redistributable] :msvcpp_redist: https://www.microsoft.com/en-ph/download/details.aspx?id=40784[Microsoft VC++ 2013 Redistributable]
:msys_url: https://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/[MSYS Download] :msys_url: https://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/[MSYS Download]
:n1mm_logger: https://n1mm.hamdocs.com/tiki-index.php[N1MM Logger+] :n1mm_logger: https://n1mm.hamdocs.com/tiki-index.php[N1MM Logger+]
:ntpsetup: https://www.satsignal.eu/ntp/setup.html[Network Time Protocol Setup] :ntpsetup: https://www.satsignal.eu/ntp/setup.html[Network Time Protocol Setup]
:osx_instructions: https://physics.princeton.edu/pulsar/K1JT/OSX_Readme[Mac OS X Install Instructions] :osx_instructions: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/OSX_Readme[Mac OS X Install Instructions]
:ppa: https://en.wikipedia.org/wiki/Personal_Package_Archive[PPA] :ppa: https://en.wikipedia.org/wiki/Personal_Package_Archive[PPA]
:projsummary: https://sourceforge.net/projects/wsjt/[Project Summary] :projsummary: https://sourceforge.net/projects/wsjt/[Project Summary]
:pskreporter: https://pskreporter.info/pskmap.html[PSK Reporter] :pskreporter: https://pskreporter.info/pskmap.html[PSK Reporter]
@ -99,32 +99,32 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes.
:writelog: https://writelog.com/[Writelog] :writelog: https://writelog.com/[Writelog]
:wsjtx_group: https://groups.io/g/WSJTX[WSJTX Group] :wsjtx_group: https://groups.io/g/WSJTX[WSJTX Group]
:wsjtx_group2: https://groups.io/g/WSJTX[join the group] :wsjtx_group2: https://groups.io/g/WSJTX[join the group]
:wsjtx: https://physics.princeton.edu/pulsar/K1JT/wsjtx.html[WSJT-X] :wsjtx: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx.html[WSJT-X]
:wspr0_guide: https://www.physics.princeton.edu/pulsar/K1JT/WSPR0_Instructions.TXT[WSPR0 Guide] :wspr0_guide: https://www.physics.princeton.edu/pulsar/K1JT/WSPR0_Instructions.TXT[WSPR0 Guide]
:wspr: https://physics.princeton.edu/pulsar/K1JT/wspr.html[WSPR Home Page] :wspr: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wspr.html[WSPR Home Page]
:wsprnet: https://wsprnet.org/drupal/[WSPRnet] :wsprnet: https://wsprnet.org/drupal/[WSPRnet]
:wsprnet_activity: https://wsprnet.org/drupal/wsprnet/activity[WSPRnet Activity page] :wsprnet_activity: https://wsprnet.org/drupal/wsprnet/activity[WSPRnet Activity page]
// Download Links // Download Links
:cty_dat: https://www.country-files.com/cty/[Amateur Radio Country Files] :cty_dat: https://www.country-files.com/cty/[Amateur Radio Country Files]
:jtbridge: https://jt-bridge.eller.nu/[JT-Bridge] :jtbridge: https://jt-bridge.eller.nu/[JT-Bridge]
:jtsdk_doc: https://physics.princeton.edu/pulsar/K1JT/JTSDK-DOC.exe[Download] :jtsdk_doc: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/JTSDK-DOC.exe[Download]
:jtsdk_installer: https://sourceforge.net/projects/jtsdk/files/win32/2.0.0/JTSDK-2.0.0-B2-Win32.exe/download[Download] :jtsdk_installer: https://sourceforge.net/projects/jtsdk/files/win32/2.0.0/JTSDK-2.0.0-B2-Win32.exe/download[Download]
:jtsdk_omnirig: https://sourceforge.net/projects/jtsdk/files/win32/2.0.0/base/contrib/OmniRig.zip/download[Download] :jtsdk_omnirig: https://sourceforge.net/projects/jtsdk/files/win32/2.0.0/base/contrib/OmniRig.zip/download[Download]
:jtsdk_py: https://physics.princeton.edu/pulsar/K1JT/JTSDK-PY.exe[Download] :jtsdk_py: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/JTSDK-PY.exe[Download]
:jtsdk_qt: https://physics.princeton.edu/pulsar/K1JT/JTSDK-QT.exe[Download] :jtsdk_qt: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/JTSDK-QT.exe[Download]
:jtsdk_vcredist: https://sourceforge.net/projects/jtsdk/files/win32/2.0.0/base/contrib/vcredist_x86.exe/download[Download] :jtsdk_vcredist: https://sourceforge.net/projects/jtsdk/files/win32/2.0.0/base/contrib/vcredist_x86.exe/download[Download]
:nh6z: http://www.nh6z.net/Amatuer_Radio_Station_NH6Z/Other_Peoples_Software.html[here] :nh6z: http://www.nh6z.net/Amatuer_Radio_Station_NH6Z/Other_Peoples_Software.html[here]
:omnirig: http://www.dxatlas.com/OmniRig/Files/OmniRig.zip[Omni-Rig] :omnirig: http://www.dxatlas.com/OmniRig/Files/OmniRig.zip[Omni-Rig]
:osx: https://physics.princeton.edu/pulsar/K1JT/wsjtx-{VERSION}-Darwin.dmg[wsjtx-{VERSION}-Darwin.dmg] :osx: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx-{VERSION}-Darwin.dmg[wsjtx-{VERSION}-Darwin.dmg]
:QRA64_EME: https://physics.princeton.edu/pulsar/K1JT/QRA64_EME.pdf[QRA64 for microwave EME] :QRA64_EME: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/QRA64_EME.pdf[QRA64 for microwave EME]
:svn: https://subversion.apache.org/packages.html#windows[Subversion] :svn: https://subversion.apache.org/packages.html#windows[Subversion]
:win32: https://physics.princeton.edu/pulsar/K1JT/wsjtx-{VERSION}-win32.exe[wsjtx-{VERSION}-win32.exe] :win32: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx-{VERSION}-win32.exe[wsjtx-{VERSION}-win32.exe]
:win64: https://physics.princeton.edu/pulsar/K1JT/wsjtx-{VERSION}-win64.exe[wsjtx-{VERSION}-win64.exe] :win64: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx-{VERSION}-win64.exe[wsjtx-{VERSION}-win64.exe]
:wsjt-devel: https://sourceforge.net/p/wsjt/mailman/wsjt-devel/[join the group] :wsjt-devel: https://sourceforge.net/p/wsjt/mailman/wsjt-devel/[join the group]
:wsjt-devel2: https://sourceforge.net/p/wsjt/mailman/wsjt-devel/[subscribe to the list] :wsjt-devel2: https://sourceforge.net/p/wsjt/mailman/wsjt-devel/[subscribe to the list]
:wsjt_repo: https://sourceforge.net/p/wsjt/wsjt_orig/ci/master/tree/[WSJT Source Repository] :wsjt_repo: https://sourceforge.net/p/wsjt/wsjt_orig/ci/master/tree/[WSJT Source Repository]
:wspr_code: https://physics.princeton.edu/pulsar/K1JT/WSPRcode.exe[WSPRcode.exe] :wspr_code: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/WSPRcode.exe[WSPRcode.exe]
:wspr_svn: https://sourceforge.net/p/wsjt/wspr/ci/master/tree/[WSPR Source Repository] :wspr_svn: https://sourceforge.net/p/wsjt/wspr/ci/master/tree/[WSPR Source Repository]
// MAIL-TO links // MAIL-TO links

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -4,26 +4,43 @@
- _WSJT-X 2.6_ implements new features supporting the ARRL - _WSJT-X 2.6_ implements new features supporting the ARRL
International Digital Contest and its distance based scoring. The International Digital Contest and its distance based scoring. The
*Call 1st* checkbox has been replaced by a drop-down control offering *Call 1st* checkbox has been replaced by a drop-down control offering
*CQ Max Dist* as an alternative. With this option selected, the *CQ Max Dist* as an alternative. A new window labeled *Active
program will select the reply to your CQ that yields the most contest Stations* displays a list of received but unworked callsigns, sorted
points. In addition, a new window labeled *Active Stations* displays in decreasing order of potential contest points. With option *CQ Max
a list of received but unworked callsigns, sorted in decreasing order Dist* selected, the program will select the reply to your CQ that
of potential contest points. Click on a line in this window to call yields the most contest points. You can click on a line in the Active
that station. Stations window to call that station.
- Decoding performance for FT8 and Q65 has been improved in a variety - Decoding performance for FT8 and Q65 has been improved in a variety
of situations with available _a priori_ (AP) information. of situations with available _a priori_ (AP) information.
- *Echo* mode now offers a *Clear Avg* button and produces reliable - *Echo* mode now offers a *Clear Avg* button and produces reliable
measurements of SNR even when Doppler spread is large. Its *Monitor* measurements of SNR even when Doppler spread is large. Its *Monitor*
function can be used to measure SNR for a received unmodulated function can be used to measure SNR for a received unmodulated carrier
carrier such as a key-down test signal emitted by another station and such as a key-down test signal emitted by another station and
reflected from the Moon, and to measure Sun, Moon, and ground noise as reflected from the Moon, and also to measure Sun, Moon, and ground
aids for optimizing an EME station's performance. noise as aids for optimizing an EME station's performance.
- New buttons on the main window allow quick changes between modes - New buttons on the main window allow quick changes between modes
FT4, FT8, MSK144, Q65, and JT65. Another new button allows toggling FT4, FT8, MSK144, Q65, and JT65, and toggling FT8 Hound mode ON/OFF.
FT8 Hound mode ON or OFF.
- New convenience features allow Fox operators to react more quickly
to particular QSO situations. A two-column table in Tab 2 provides an
overview of the queue and of callsigns with QSOs in progress. Fox
operator can change the ordering of callsigns in the queue, allowing
reaction to changes in propagation. Fox now responds automatically
for another two cycles to stations whose report has not been received,
increasing the success rate for difficult QSOs.
- The Working frequency table now offers save/restore capability and
better handling of more than one frequency per mode-band
combination. You can set preferred frequencies, and WSJT-X will select
these when you change band or mode. You can label a tabled frequency
with a description, for example a DXpedition callsign, and set Start
and End date and time so the frequencies automatically appear and
disappear from the displayed options. You can load a publicly
available frequency table from a file, to easily make such DXpedition
data available to the program.
- Optional color highlighting is provided for specified DX Call and DX - Optional color highlighting is provided for specified DX Call and DX
Grid, and for messages containing RR73 or 73. Grid, and for messages containing RR73 or 73.
@ -33,17 +50,19 @@ request automatic starting of a new file every month or every year,
and you can disable writing altogether. and you can disable writing altogether.
- Settings for T/R period and Submode are remembered by mode when you - Settings for T/R period and Submode are remembered by mode when you
switch directly between (for example) MSK144-15, Q65-60A, JT65-C, or switch directly between modes: for example, MSK144-15, Q65-60A, or
FST4-120. FST4-120.
- Tx and Rx audio frequencies are remembered and restored when you - Tx and Rx audio frequencies are remembered and restored when you
return from a mode that sets a default frequency 1500 Hz (MSK144, return from a mode that sets a default frequency 1500 Hz (MSK144,
FST4W, Echo, WSPR, FreqCal), then switching back to FT4, FT8, Q65, FST4W, Echo, WSPR, FreqCal), then switching back to FT4, FT8, Q65,
JT65, or FST4. FST4, or JT65.
- Other changes include bug fixes and rig control for some new radios. - Rig control is provided for some new radios, and bug fixes for
controlling others.
- _MAP65 3.0_ (available for Windows only) now sends additional
information to file azel.dat and offers digital scaling of input I/Q
data.
- New features in _MAP65_ (available for Windows only) include an aid
for measuring antenna pointing errors and an ability to read the file
wsjtx.log (kept by _WSJT-X_) to recognize EME contest dupes. In
addition, _MAP65_ now sends additional information to file azel.dat
and offers optional digital scaling of input I/Q data.

View File

@ -10,15 +10,17 @@ preference; you can modify the frequency table as desired.
image::settings-frequencies.png[align="center",alt="Frequency Screen"] image::settings-frequencies.png[align="center",alt="Frequency Screen"]
- To change an existing entry, double-click to edit it, type a desired - To change an existing entry, double-click to edit it, type a desired
frequency in MHz or select from the drop down list of options, then frequency in MHz or select from the drop-down list of options, then
hit *Enter* on the keyboard. The program will format your changed hit *Enter* on the keyboard. You can mark an entry as Preferred,
entry appropriately. provide a descriptive label, and indicate starting and ending dates
and times for it to be displayed on the band-select control. The
program will format your changed entries appropriately.
- To add a new entry, right-click anywhere on the frequency table and - To add a new entry, right-click anywhere on the frequency table and
select *Insert*. Enter a frequency in MHz in the pop-up box and select *Insert*. Enter your desired information and click *OK*. The
select the desired mode (or leave the Mode selection as *All*). Then table may include more than one frequency for a given mode and band.
click *OK*. The table may include more than one frequency for a given
band. image::Add_Frequency.png[align="center",alt="Add Frequency window"]
- To delete an entry, right-click it and select *Delete*, multiple - To delete an entry, right-click it and select *Delete*, multiple
entries can be deleted in a single operation by selecting them before entries can be deleted in a single operation by selecting them before

View File

@ -204,8 +204,8 @@ subroutine unpack77(c77,nrx,msg,unpk77_success)
! the value of nrx is used to decide when mycall13 or dxcall13 should ! the value of nrx is used to decide when mycall13 or dxcall13 should
! be used in place of a callsign from the hashtable ! be used in place of a callsign from the hashtable
! !
parameter (NSEC=85) !Number of ARRL Sections parameter (NSEC=86) !Number of ARRL Sections
parameter (NUSCAN=65) !Number of US states and Canadian provinces parameter (NUSCAN=171) !Number of States and Provinces
parameter (MAXGRID4=32400) parameter (MAXGRID4=32400)
integer*8 n58 integer*8 n58
integer ntel(3) integer ntel(3)
@ -229,14 +229,14 @@ subroutine unpack77(c77,nrx,msg,unpk77_success)
data c/' 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ/'/ data c/' 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ/'/
data csec/ & data csec/ &
"AB ","AK ","AL ","AR ","AZ ","BC ","CO ","CT ","DE ","EB ", & "AB ","AK ","AL ","AR ","AZ ","BC ","CO ","CT ","DE ","EB ", &
"EMA","ENY","EPA","EWA","GA ","GTA","IA ","ID ","IL ","IN ", & "EMA","ENY","EPA","EWA","GA ","GH ","IA ","ID ","IL ","IN ", &
"KS ","KY ","LA ","LAX","MAR","MB ","MDC","ME ","MI ","MN ", & "KS ","KY ","LA ","LAX","NS ","MB ","MDC","ME ","MI ","MN ", &
"MO ","MS ","MT ","NC ","ND ","NE ","NFL","NH ","NL ","NLI", & "MO ","MS ","MT ","NC ","ND ","NE ","NFL","NH ","NL ","NLI", &
"NM ","NNJ","NNY","NT ","NTX","NV ","OH ","OK ","ONE","ONN", & "NM ","NNJ","NNY","TER","NTX","NV ","OH ","OK ","ONE","ONN", &
"ONS","OR ","ORG","PAC","PR ","QC ","RI ","SB ","SC ","SCV", & "ONS","OR ","ORG","PAC","PR ","QC ","RI ","SB ","SC ","SCV", &
"SD ","SDG","SF ","SFL","SJV","SK ","SNJ","STX","SV ","TN ", & "SD ","SDG","SF ","SFL","SJV","SK ","SNJ","STX","SV ","TN ", &
"UT ","VA ","VI ","VT ","WCF","WI ","WMA","WNY","WPA","WTX", & "UT ","VA ","VI ","VT ","WCF","WI ","WMA","WNY","WPA","WTX", &
"WV ","WWA","WY ","DX ","PE "/ "WV ","WWA","WY ","DX ","PE ","NB "/
data cmult/ & data cmult/ &
"AL ","AK ","AZ ","AR ","CA ","CO ","CT ","DE ","FL ","GA ", & "AL ","AK ","AZ ","AR ","CA ","CO ","CT ","DE ","FL ","GA ", &
"HI ","ID ","IL ","IN ","IA ","KS ","KY ","LA ","ME ","MD ", & "HI ","ID ","IL ","IN ","IA ","KS ","KY ","LA ","ME ","MD ", &
@ -244,7 +244,18 @@ subroutine unpack77(c77,nrx,msg,unpk77_success)
"NM ","NY ","NC ","ND ","OH ","OK ","OR ","PA ","RI ","SC ", & "NM ","NY ","NC ","ND ","OH ","OK ","OR ","PA ","RI ","SC ", &
"SD ","TN ","TX ","UT ","VT ","VA ","WA ","WV ","WI ","WY ", & "SD ","TN ","TX ","UT ","VT ","VA ","WA ","WV ","WI ","WY ", &
"NB ","NS ","QC ","ON ","MB ","SK ","AB ","BC ","NWT","NF ", & "NB ","NS ","QC ","ON ","MB ","SK ","AB ","BC ","NWT","NF ", &
"LB ","NU ","YT ","PEI","DC "/ "LB ","NU ","YT ","PEI","DC ","DR ","FR ","GD ","GR ","OV ", &
"ZH ","ZL ","X01","X02","X03","X04","X05","X06","X07","X08", &
"X09","X10","X11","X12","X13","X14","X15","X16","X17","X18", &
"X19","X20","X21","X22","X23","X24","X25","X26","X27","X28", &
"X29","X30","X31","X32","X33","X34","X35","X36","X37","X38", &
"X39","X40","X41","X42","X43","X44","X45","X46","X47","X48", &
"X49","X50","X51","X52","X53","X54","X55","X56","X57","X58", &
"X59","X60","X61","X62","X63","X64","X65","X66","X67","X68", &
"X69","X70","X71","X72","X73","X74","X75","X76","X77","X78", &
"X79","X80","X81","X82","X83","X84","X85","X86","X87","X88", &
"X89","X90","X91","X92","X93","X94","X95","X96","X97","X98", &
"X99"/
data dxcall13_set/.false./ data dxcall13_set/.false./
data mycall13_set/.false./ data mycall13_set/.false./
data mycall13_0/''/ data mycall13_0/''/
@ -892,7 +903,7 @@ subroutine pack77_03(nwords,w,i3,n3,c77)
! Check 0.3 and 0.4 (ARRL Field Day exchange) ! Check 0.3 and 0.4 (ARRL Field Day exchange)
! Example message: WA9XYZ KA1ABC R 16A EMA 28 28 1 4 3 7 71 ! Example message: WA9XYZ KA1ABC R 16A EMA 28 28 1 4 3 7 71
parameter (NSEC=85) !Number of ARRL Sections parameter (NSEC=86) !Number of ARRL Sections
character*13 w(19) character*13 w(19)
character*77 c77 character*77 c77
character*6 bcall_1,bcall_2 character*6 bcall_1,bcall_2
@ -900,14 +911,14 @@ subroutine pack77_03(nwords,w,i3,n3,c77)
logical ok1,ok2 logical ok1,ok2
data csec/ & data csec/ &
"AB ","AK ","AL ","AR ","AZ ","BC ","CO ","CT ","DE ","EB ", & "AB ","AK ","AL ","AR ","AZ ","BC ","CO ","CT ","DE ","EB ", &
"EMA","ENY","EPA","EWA","GA ","GTA","IA ","ID ","IL ","IN ", & "EMA","ENY","EPA","EWA","GA ","GH ","IA ","ID ","IL ","IN ", &
"KS ","KY ","LA ","LAX","MAR","MB ","MDC","ME ","MI ","MN ", & "KS ","KY ","LA ","LAX","NS ","MB ","MDC","ME ","MI ","MN ", &
"MO ","MS ","MT ","NC ","ND ","NE ","NFL","NH ","NL ","NLI", & "MO ","MS ","MT ","NC ","ND ","NE ","NFL","NH ","NL ","NLI", &
"NM ","NNJ","NNY","NT ","NTX","NV ","OH ","OK ","ONE","ONN", & "NM ","NNJ","NNY","TER","NTX","NV ","OH ","OK ","ONE","ONN", &
"ONS","OR ","ORG","PAC","PR ","QC ","RI ","SB ","SC ","SCV", & "ONS","OR ","ORG","PAC","PR ","QC ","RI ","SB ","SC ","SCV", &
"SD ","SDG","SF ","SFL","SJV","SK ","SNJ","STX","SV ","TN ", & "SD ","SDG","SF ","SFL","SJV","SK ","SNJ","STX","SV ","TN ", &
"UT ","VA ","VI ","VT ","WCF","WI ","WMA","WNY","WPA","WTX", & "UT ","VA ","VI ","VT ","WCF","WI ","WMA","WNY","WPA","WTX", &
"WV ","WWA","WY ","DX ","PE "/ "WV ","WWA","WY ","DX ","PE ","NB "/
if(nwords.lt.4 .or. nwords.gt.5) return if(nwords.lt.4 .or. nwords.gt.5) return
call chkcall(w(1),bcall_1,ok1) call chkcall(w(1),bcall_1,ok1)
@ -1194,7 +1205,7 @@ subroutine pack77_3(nwords,w,i3,n3,c77)
! - DX: rpt serial R 559 0013 ! - DX: rpt serial R 559 0013
! Example message: TU; W9XYZ K1ABC R 579 MA 1 28 28 1 3 13 74 ! Example message: TU; W9XYZ K1ABC R 579 MA 1 28 28 1 3 13 74
parameter (NUSCAN=65) !Number of US states and Canadian provinces/territories parameter (NUSCAN=171) !Number of US states and Canadian provinces/territories
character*13 w(19) character*13 w(19)
character*77 c77 character*77 c77
character*6 bcall_1,bcall_2 character*6 bcall_1,bcall_2
@ -1208,7 +1219,18 @@ subroutine pack77_3(nwords,w,i3,n3,c77)
"NM ","NY ","NC ","ND ","OH ","OK ","OR ","PA ","RI ","SC ", & "NM ","NY ","NC ","ND ","OH ","OK ","OR ","PA ","RI ","SC ", &
"SD ","TN ","TX ","UT ","VT ","VA ","WA ","WV ","WI ","WY ", & "SD ","TN ","TX ","UT ","VT ","VA ","WA ","WV ","WI ","WY ", &
"NB ","NS ","QC ","ON ","MB ","SK ","AB ","BC ","NWT","NF ", & "NB ","NS ","QC ","ON ","MB ","SK ","AB ","BC ","NWT","NF ", &
"LB ","NU ","YT ","PEI","DC "/ "LB ","NU ","YT ","PEI","DC ","DR ","FR ","GD ","GR ","OV ", &
"ZH ","ZL ","X01","X02","X03","X04","X05","X06","X07","X08", &
"X09","X10","X11","X12","X13","X14","X15","X16","X17","X18", &
"X19","X20","X21","X22","X23","X24","X25","X26","X27","X28", &
"X29","X30","X31","X32","X33","X34","X35","X36","X37","X38", &
"X39","X40","X41","X42","X43","X44","X45","X46","X47","X48", &
"X49","X50","X51","X52","X53","X54","X55","X56","X57","X58", &
"X59","X60","X61","X62","X63","X64","X65","X66","X67","X68", &
"X69","X70","X71","X72","X73","X74","X75","X76","X77","X78", &
"X79","X80","X81","X82","X83","X84","X85","X86","X87","X88", &
"X89","X90","X91","X92","X93","X94","X95","X96","X97","X98", &
"X99"/
if(w(1)(1:1).eq.'<' .and. w(2)(1:1).eq.'<') go to 900 if(w(1)(1:1).eq.'<' .and. w(2)(1:1).eq.'<') go to 900
if(nwords.eq.4 .or. nwords.eq.5 .or. nwords.eq.6) then if(nwords.eq.4 .or. nwords.eq.5 .or. nwords.eq.6) then

View File

@ -2655,27 +2655,27 @@ void MainWindow::on_stopButton_clicked() //stopButton
void MainWindow::on_actionRelease_Notes_triggered () void MainWindow::on_actionRelease_Notes_triggered ()
{ {
QDesktopServices::openUrl (QUrl {"http://physics.princeton.edu/pulsar/k1jt/Release_Notes.txt"}); QDesktopServices::openUrl (QUrl {"https://wsjt.sourceforge.io/Release_Notes.txt"});
} }
void MainWindow::on_actionFT8_DXpedition_Mode_User_Guide_triggered() void MainWindow::on_actionFT8_DXpedition_Mode_User_Guide_triggered()
{ {
QDesktopServices::openUrl (QUrl {"http://physics.princeton.edu/pulsar/k1jt/FT8_DXpedition_Mode.pdf"}); QDesktopServices::openUrl (QUrl {"https://wsjt.sourceforge.io/FT8_DXpedition_Mode.pdf"});
} }
void MainWindow::on_actionQSG_FST4_triggered() void MainWindow::on_actionQSG_FST4_triggered()
{ {
QDesktopServices::openUrl (QUrl {"https://physics.princeton.edu/pulsar/k1jt/FST4_Quick_Start.pdf"}); QDesktopServices::openUrl (QUrl {"https://wsjt.sourceforge.io/FST4_Quick_Start.pdf"});
} }
void MainWindow::on_actionQSG_Q65_triggered() void MainWindow::on_actionQSG_Q65_triggered()
{ {
QDesktopServices::openUrl (QUrl {"https://physics.princeton.edu/pulsar/k1jt/Q65_Quick_Start.pdf"}); QDesktopServices::openUrl (QUrl {"https://wsjt.sourceforge.io/Q65_Quick_Start.pdf"});
} }
void MainWindow::on_actionQSG_X250_M3_triggered() void MainWindow::on_actionQSG_X250_M3_triggered()
{ {
QDesktopServices::openUrl (QUrl {"https://physics.princeton.edu/pulsar/k1jt/WSJTX_2.5.0_MAP65_3.0_Quick_Start.pdf"}); QDesktopServices::openUrl (QUrl {"https://wsjt.sourceforge.io/WSJTX_2.5.0_MAP65_3.0_Quick_Start.pdf"});
} }
void MainWindow::on_actionOnline_User_Guide_triggered() //Display manual void MainWindow::on_actionOnline_User_Guide_triggered() //Display manual
@ -5816,12 +5816,16 @@ void MainWindow::genCQMsg ()
( tlist.at(1)==my_callsign or ( tlist.at(1)==my_callsign or
tlist.at(2)==my_callsign ) and tlist.at(2)==my_callsign ) and
stdCall(my_callsign)) { stdCall(my_callsign)) {
if(m_config.Individual_Contest_Name()) {
m_cqStr = m_config.Contest_Name();
} else {
if(SpecOp::NA_VHF == m_specOp) m_cqStr="TEST"; if(SpecOp::NA_VHF == m_specOp) m_cqStr="TEST";
if(SpecOp::EU_VHF == m_specOp) m_cqStr="TEST"; if(SpecOp::EU_VHF == m_specOp) m_cqStr="TEST";
if(SpecOp::FIELD_DAY == m_specOp) m_cqStr="FD"; if(SpecOp::FIELD_DAY == m_specOp) m_cqStr="FD";
if(SpecOp::RTTY == m_specOp) m_cqStr="RU"; if(SpecOp::RTTY == m_specOp) m_cqStr="RU";
if(SpecOp::WW_DIGI == m_specOp) m_cqStr="WW"; if(SpecOp::WW_DIGI == m_specOp) m_cqStr="WW";
if(SpecOp::ARRL_DIGI == m_specOp) m_cqStr="TEST"; if(SpecOp::ARRL_DIGI == m_specOp) m_cqStr="TEST";
}
if( tlist.at(1)==my_callsign ) { if( tlist.at(1)==my_callsign ) {
t="CQ " + m_cqStr + " " + tlist.at(1) + " " + tlist.at(2); t="CQ " + m_cqStr + " " + tlist.at(1) + " " + tlist.at(2);
} else { } else {