mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-05-28 20:32:28 -04:00
Starting to implement SuperFox capability in WSJT-X.
This commit is contained in:
parent
ae17011aa4
commit
ae61764af3
@ -427,6 +427,7 @@ set (wsjt_FSRCS
|
|||||||
lib/fspread_lorentz.f90
|
lib/fspread_lorentz.f90
|
||||||
lib/ft8/foxfilt.f90
|
lib/ft8/foxfilt.f90
|
||||||
lib/ft8/foxgen.f90
|
lib/ft8/foxgen.f90
|
||||||
|
lib/superfox/foxgen2.f90
|
||||||
lib/ft8/foxgen_wrap.f90
|
lib/ft8/foxgen_wrap.f90
|
||||||
lib/freqcal.f90
|
lib/freqcal.f90
|
||||||
lib/ft8/ft8apset.f90
|
lib/ft8/ft8apset.f90
|
||||||
|
@ -725,6 +725,7 @@ private:
|
|||||||
bool decode_at_52s_;
|
bool decode_at_52s_;
|
||||||
bool single_decode_;
|
bool single_decode_;
|
||||||
bool twoPass_;
|
bool twoPass_;
|
||||||
|
bool bSuperFox_;
|
||||||
bool Individual_Contest_Name_;
|
bool Individual_Contest_Name_;
|
||||||
bool bSpecialOp_;
|
bool bSpecialOp_;
|
||||||
int SelectedActivity_;
|
int SelectedActivity_;
|
||||||
@ -833,6 +834,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::superFox() const {return m_->bSuperFox_;}
|
||||||
bool Configuration::Individual_Contest_Name() const {return m_->Individual_Contest_Name_;}
|
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_;}
|
||||||
@ -1463,6 +1465,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_->cbSuperFox->setChecked(bSuperFox_);
|
||||||
ui_->cbContestName->setChecked(Individual_Contest_Name_);
|
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);
|
||||||
@ -1731,6 +1734,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 ();
|
||||||
|
bSuperFox_ = settings_->value("SuperFox",true).toBool ();
|
||||||
Individual_Contest_Name_ = settings_->value("Individual_Contest_Name",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 ();
|
||||||
@ -1879,6 +1883,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 ("SuperFox", bSuperFox_);
|
||||||
settings_->setValue ("Individual_Contest_Name", Individual_Contest_Name_);
|
settings_->setValue ("Individual_Contest_Name", Individual_Contest_Name_);
|
||||||
settings_->setValue ("SelectedActivity", SelectedActivity_);
|
settings_->setValue ("SelectedActivity", SelectedActivity_);
|
||||||
settings_->setValue ("SpecialOpActivity", bSpecialOp_);
|
settings_->setValue ("SpecialOpActivity", bSpecialOp_);
|
||||||
@ -2308,6 +2313,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 ();
|
||||||
|
bSuperFox_ = ui_->cbSuperFox->isChecked ();
|
||||||
Individual_Contest_Name_ = ui_->cbContestName->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();
|
||||||
|
@ -137,6 +137,7 @@ public:
|
|||||||
bool decode_at_52s () const;
|
bool decode_at_52s () const;
|
||||||
bool single_decode () const;
|
bool single_decode () const;
|
||||||
bool twoPass() const;
|
bool twoPass() const;
|
||||||
|
bool superFox() const;
|
||||||
bool bFox() const;
|
bool bFox() const;
|
||||||
bool bHound() const;
|
bool bHound() const;
|
||||||
bool bLowSidelobes() const;
|
bool bLowSidelobes() const;
|
||||||
|
349
Configuration.ui
349
Configuration.ui
@ -2907,20 +2907,33 @@ Right click for insert and delete options.</string>
|
|||||||
<property name="checked">
|
<property name="checked">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_15" columnstretch="1,0,0,0">
|
<layout class="QGridLayout" name="gridLayout_15" columnstretch="1,0,0,0,0">
|
||||||
<item row="0" column="3">
|
<item row="0" column="2" rowspan="3">
|
||||||
<widget class="QRadioButton" name="rbHound">
|
<spacer name="horizontalSpacer_11">
|
||||||
<property name="toolTip">
|
<property name="orientation">
|
||||||
<string><html><head/><body><p>FT8 DXpedition mode: Hound operator calling the DX.</p></body></html></string>
|
<enum>Qt::Horizontal</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="accessibleName">
|
<property name="sizeHint" stdset="0">
|
||||||
<string>Hound</string>
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QRadioButton" name="rbQ65pileup">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>18</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string><html><head/><body><p>Exchange 4-character locator instead of signal report. Provides q3-level sensitivities for the DX operator. Especially useful for 6m EME DXpeditions.</p></body></html></string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Hound</string>
|
<string>Q65 Pileup</string>
|
||||||
</property>
|
|
||||||
<property name="checked">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
</property>
|
||||||
<attribute name="buttonGroup">
|
<attribute name="buttonGroup">
|
||||||
<string notr="true">special_op_activity_button_group</string>
|
<string notr="true">special_op_activity_button_group</string>
|
||||||
@ -2949,101 +2962,6 @@ Right click for insert and delete options.</string>
|
|||||||
</attribute>
|
</attribute>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</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><html><head/><body><p>ARRL Field Day exchange: number of transmitters, Class, and ARRL/RAC section or &quot;DX&quot;.</p></body></html></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><html><head/><body><p>ARRL Field Day exchange: number of transmitters, Class, and ARRL/RAC section or &quot;DX&quot;.</p></body></html></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><html><head/><body><p>ARRL International Digital Contest</p></body></html></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">
|
<item row="3" column="0">
|
||||||
<widget class="QRadioButton" name="rbWW_DIGI">
|
<widget class="QRadioButton" name="rbWW_DIGI">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
@ -3066,26 +2984,7 @@ Right click for insert and delete options.</string>
|
|||||||
</attribute>
|
</attribute>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="0">
|
<item row="2" column="4">
|
||||||
<widget class="QRadioButton" name="rbQ65pileup">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>18</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="toolTip">
|
|
||||||
<string><html><head/><body><p>Exchange 4-character locator instead of signal report. Provides q3-level sensitivities for the DX operator. Especially useful for 6m EME DXpeditions.</p></body></html></string>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Q65 Pileup</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">
|
<layout class="QHBoxLayout" name="horizontalLayout_18" stretch="2,1,1">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QRadioButton" name="rbRTTY_Roundup">
|
<widget class="QRadioButton" name="rbRTTY_Roundup">
|
||||||
@ -3154,48 +3053,7 @@ Right click for insert and delete options.</string>
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="0">
|
<item row="4" column="4">
|
||||||
<widget class="QRadioButton" name="rbFox">
|
|
||||||
<property name="toolTip">
|
|
||||||
<string><html><head/><body><p>FT8 DXpedition mode: Fox (DXpedition) operator.</p></body></html></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><html><head/><body><p>European VHF+ contests requiring a signal report, serial number, and 6-character locator.</p></body></html></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">
|
<layout class="QHBoxLayout" name="horizontalLayout_24">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="cbContestName">
|
<widget class="QCheckBox" name="cbContestName">
|
||||||
@ -3255,6 +3113,155 @@ Right click for insert and delete options.</string>
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="3" column="4">
|
||||||
|
<widget class="QRadioButton" name="rbARRL_Digi">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string><html><head/><body><p>ARRL International Digital Contest</p></body></html></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="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><html><head/><body><p>European VHF+ contests requiring a signal report, serial number, and 6-character locator.</p></body></html></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="0" column="0">
|
||||||
|
<widget class="QRadioButton" name="rbFox">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string><html><head/><body><p>FT8 DXpedition mode: Fox (DXpedition) operator.</p></body></html></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="1" column="4">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_17" stretch="2,1,1">
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="rbField_Day">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string><html><head/><body><p>ARRL Field Day exchange: number of transmitters, Class, and ARRL/RAC section or &quot;DX&quot;.</p></body></html></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><html><head/><body><p>ARRL Field Day exchange: number of transmitters, Class, and ARRL/RAC section or &quot;DX&quot;.</p></body></html></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="0" column="4">
|
||||||
|
<widget class="QRadioButton" name="rbHound">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string><html><head/><body><p>FT8 DXpedition mode: Hound operator calling the DX.</p></body></html></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="0" column="1">
|
||||||
|
<widget class="QCheckBox" name="cbSuperFox">
|
||||||
|
<property name="text">
|
||||||
|
<string>SuperFox</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -3498,13 +3505,13 @@ Right click for insert and delete options.</string>
|
|||||||
</connection>
|
</connection>
|
||||||
</connections>
|
</connections>
|
||||||
<buttongroups>
|
<buttongroups>
|
||||||
<buttongroup name="CAT_handshake_button_group"/>
|
|
||||||
<buttongroup name="split_mode_button_group"/>
|
<buttongroup name="split_mode_button_group"/>
|
||||||
<buttongroup name="TX_audio_source_button_group"/>
|
|
||||||
<buttongroup name="TX_mode_button_group"/>
|
<buttongroup name="TX_mode_button_group"/>
|
||||||
<buttongroup name="special_op_activity_button_group"/>
|
|
||||||
<buttongroup name="CAT_data_bits_button_group"/>
|
<buttongroup name="CAT_data_bits_button_group"/>
|
||||||
<buttongroup name="CAT_stop_bits_button_group"/>
|
<buttongroup name="CAT_stop_bits_button_group"/>
|
||||||
|
<buttongroup name="TX_audio_source_button_group"/>
|
||||||
<buttongroup name="PTT_method_button_group"/>
|
<buttongroup name="PTT_method_button_group"/>
|
||||||
|
<buttongroup name="CAT_handshake_button_group"/>
|
||||||
|
<buttongroup name="special_op_activity_button_group"/>
|
||||||
</buttongroups>
|
</buttongroups>
|
||||||
</ui>
|
</ui>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
subroutine foxgen()
|
subroutine foxgen(bSuperFox)
|
||||||
|
|
||||||
! Called from MainWindow::foxTxSequencer() to generate the Tx waveform in
|
! Called from MainWindow::foxTxSequencer() to generate the Tx waveform in
|
||||||
! FT8 Fox mode. The Tx message can contain up to 5 "slots", each carrying
|
! FT8 Fox mode. The Tx message can contain up to 5 "slots", each carrying
|
||||||
@ -17,6 +17,7 @@ subroutine foxgen()
|
|||||||
parameter (NN=79,ND=58,NSPS=4*1920)
|
parameter (NN=79,ND=58,NSPS=4*1920)
|
||||||
parameter (NWAVE=(160+2)*134400*4) !the biggest waveform we generate (FST4-1800 at 48kHz)
|
parameter (NWAVE=(160+2)*134400*4) !the biggest waveform we generate (FST4-1800 at 48kHz)
|
||||||
parameter (NFFT=614400,NH=NFFT/2)
|
parameter (NFFT=614400,NH=NFFT/2)
|
||||||
|
logical*1 bSuperFox
|
||||||
character*40 cmsg
|
character*40 cmsg
|
||||||
character*37 msg,msgsent
|
character*37 msg,msgsent
|
||||||
integer itone(79)
|
integer itone(79)
|
||||||
@ -29,6 +30,11 @@ subroutine foxgen()
|
|||||||
common/foxcom2/itone2(NN),msgbits2(77)
|
common/foxcom2/itone2(NN),msgbits2(77)
|
||||||
equivalence (x,cx),(y,cy)
|
equivalence (x,cx),(y,cy)
|
||||||
|
|
||||||
|
if(bSuperFox) then
|
||||||
|
call foxgen2(nslots,cmsg)
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
fstep=60.d0
|
fstep=60.d0
|
||||||
dfreq=6.25d0
|
dfreq=6.25d0
|
||||||
dt=1.d0/48000.d0
|
dt=1.d0/48000.d0
|
||||||
|
11
lib/superfox/foxgen2.f90
Normal file
11
lib/superfox/foxgen2.f90
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
subroutine foxgen2(nslots,cmsg)
|
||||||
|
|
||||||
|
character*40 cmsg(5)
|
||||||
|
|
||||||
|
print*,' '
|
||||||
|
do i=1,nslots
|
||||||
|
print*,i,cmsg(i)
|
||||||
|
enddo
|
||||||
|
|
||||||
|
return
|
||||||
|
end subroutine foxgen2
|
@ -176,7 +176,7 @@ extern "C" {
|
|||||||
void calibrate_(char const * data_dir, int* iz, double* a, double* b, double* rms,
|
void calibrate_(char const * data_dir, int* iz, double* a, double* b, double* rms,
|
||||||
double* sigmaa, double* sigmab, int* irc, fortran_charlen_t);
|
double* sigmaa, double* sigmab, int* irc, fortran_charlen_t);
|
||||||
|
|
||||||
void foxgen_();
|
void foxgen_(bool* bSuperFox);
|
||||||
|
|
||||||
void plotsave_(float swide[], int* m_w , int* m_h1, int* irow);
|
void plotsave_(float swide[], int* m_w , int* m_h1, int* irow);
|
||||||
|
|
||||||
@ -2224,13 +2224,13 @@ void MainWindow::keyPressEvent (QKeyEvent * e)
|
|||||||
case Qt::Key_Backspace:
|
case Qt::Key_Backspace:
|
||||||
qDebug() << "Key Backspace";
|
qDebug() << "Key Backspace";
|
||||||
return;
|
return;
|
||||||
#ifdef DEBUG_FOX
|
//#ifdef DEBUG_FOX
|
||||||
case Qt::Key_X:
|
case Qt::Key_X:
|
||||||
if(e->modifiers() & Qt::AltModifier) {
|
if(e->modifiers() & Qt::AltModifier) {
|
||||||
foxTest();
|
foxTest();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
//#endif
|
||||||
}
|
}
|
||||||
QMainWindow::keyPressEvent (e);
|
QMainWindow::keyPressEvent (e);
|
||||||
}
|
}
|
||||||
@ -4823,7 +4823,8 @@ void MainWindow::guiUpdate()
|
|||||||
if(m_config.split_mode()) foxcom_.nfreq = foxcom_.nfreq - m_XIT; //Fox Tx freq
|
if(m_config.split_mode()) foxcom_.nfreq = foxcom_.nfreq - m_XIT; //Fox Tx freq
|
||||||
QString foxCall=m_config.my_callsign() + " ";
|
QString foxCall=m_config.my_callsign() + " ";
|
||||||
::memcpy(foxcom_.mycall, foxCall.toLatin1(), sizeof foxcom_.mycall); //Copy Fox callsign into foxcom_
|
::memcpy(foxcom_.mycall, foxCall.toLatin1(), sizeof foxcom_.mycall); //Copy Fox callsign into foxcom_
|
||||||
foxgen_();
|
bool bSuperFox=m_config.superFox();
|
||||||
|
foxgen_(&bSuperFox);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -10297,7 +10298,8 @@ Transmit:
|
|||||||
if(m_config.split_mode()) foxcom_.nfreq = foxcom_.nfreq - m_XIT; //Fox Tx freq
|
if(m_config.split_mode()) foxcom_.nfreq = foxcom_.nfreq - m_XIT; //Fox Tx freq
|
||||||
QString foxCall=m_config.my_callsign() + " ";
|
QString foxCall=m_config.my_callsign() + " ";
|
||||||
::memcpy(foxcom_.mycall, foxCall.toLatin1(),sizeof foxcom_.mycall); //Copy Fox callsign into foxcom_
|
::memcpy(foxcom_.mycall, foxCall.toLatin1(),sizeof foxcom_.mycall); //Copy Fox callsign into foxcom_
|
||||||
foxgen_();
|
bool bSuperFox=m_config.superFox();
|
||||||
|
foxgen_(&bSuperFox);
|
||||||
m_tFoxTxSinceCQ++;
|
m_tFoxTxSinceCQ++;
|
||||||
|
|
||||||
for(QString hc: m_foxQSO.keys()) { //Check for strikeout or timeout
|
for(QString hc: m_foxQSO.keys()) { //Check for strikeout or timeout
|
||||||
|
Loading…
x
Reference in New Issue
Block a user