Add checkboxes for use of 77-bit messages.

This commit is contained in:
Joe Taylor 2018-07-02 15:19:17 -04:00
parent acb25dd13c
commit ed7f2a2aa6
3 changed files with 133 additions and 74 deletions

View File

@ -568,6 +568,8 @@ private:
bool twoPass_;
bool bFox_;
bool bHound_;
bool bGenerate77_;
bool bDecode77_;
bool x2ToneSpacing_;
bool x4ToneSpacing_;
bool use_dynamic_grid_;
@ -669,6 +671,8 @@ bool Configuration::single_decode () const {return m_->single_decode_;}
bool Configuration::twoPass() const {return m_->twoPass_;}
bool Configuration::bFox() const {return m_->bFox_;}
bool Configuration::bHound() const {return m_->bHound_;}
bool Configuration::bGenerate77() const {return m_->bGenerate77_;}
bool Configuration::bDecode77() const {return m_->bDecode77_;}
bool Configuration::x2ToneSpacing() const {return m_->x2ToneSpacing_;}
bool Configuration::x4ToneSpacing() const {return m_->x4ToneSpacing_;}
bool Configuration::split_mode () const {return m_->split_mode ();}
@ -1160,6 +1164,8 @@ void Configuration::impl::initialize_models ()
ui_->cbTwoPass->setChecked(twoPass_);
ui_->cbFox->setChecked(bFox_);
ui_->cbHound->setChecked(bHound_);
ui_->cbGenerate77->setChecked(bGenerate77_);
ui_->cbDecode77->setChecked(bDecode77_);
ui_->cbx2ToneSpacing->setChecked(x2ToneSpacing_);
ui_->cbx4ToneSpacing->setChecked(x4ToneSpacing_);
ui_->type_2_msg_gen_combo_box->setCurrentIndex (type_2_msg_gen_);
@ -1397,6 +1403,8 @@ void Configuration::impl::read_settings ()
twoPass_ = settings_->value("TwoPass",true).toBool ();
bFox_ = settings_->value("Fox",false).toBool ();
bHound_ = settings_->value("Hound",false).toBool ();
bGenerate77_ = settings_->value("Generate77",false).toBool ();
bDecode77_ = settings_->value("Decode77",false).toBool ();
x2ToneSpacing_ = settings_->value("x2ToneSpacing",false).toBool ();
x4ToneSpacing_ = settings_->value("x4ToneSpacing",false).toBool ();
rig_params_.poll_interval = settings_->value ("Polling", 0).toInt ();
@ -1502,6 +1510,8 @@ void Configuration::impl::write_settings ()
settings_->setValue ("TwoPass", twoPass_);
settings_->setValue ("Fox", bFox_);
settings_->setValue ("Hound", bHound_);
settings_->setValue ("Generate77", bGenerate77_);
settings_->setValue ("Decode77", bDecode77_);
settings_->setValue ("x2ToneSpacing", x2ToneSpacing_);
settings_->setValue ("x4ToneSpacing", x4ToneSpacing_);
settings_->setValue ("OpCall", opCall_);
@ -1905,6 +1915,8 @@ void Configuration::impl::accept ()
twoPass_ = ui_->cbTwoPass->isChecked ();
bFox_ = ui_->cbFox->isChecked ();
bHound_ = ui_->cbHound->isChecked ();
bGenerate77_ = ui_->cbGenerate77->isChecked();
bDecode77_ = ui_->cbDecode77->isChecked();
x2ToneSpacing_ = ui_->cbx2ToneSpacing->isChecked ();
x4ToneSpacing_ = ui_->cbx4ToneSpacing->isChecked ();
calibration_.intercept = ui_->calibration_intercept_spin_box->value ();

View File

@ -128,6 +128,8 @@ public:
bool twoPass() const;
bool bFox() const;
bool bHound() const;
bool bGenerate77() const;
bool bDecode77() const;
bool x2ToneSpacing() const;
bool x4ToneSpacing() const;
bool contestMode() const;

View File

@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>530</width>
<width>535</width>
<height>550</height>
</rect>
</property>
@ -2397,6 +2397,74 @@ Right click for insert and delete options.</string>
<string>Advanced</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_9">
<item row="0" column="0">
<widget class="QGroupBox" name="groupBox_6">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;User-selectable parameters for JT65 VHF/UHF/Microwave decoding.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="title">
<string>JT65 VHF/UHF/Microwave decoding parameters</string>
</property>
<layout class="QFormLayout" name="formLayout_11">
<item row="2" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Random erasure patterns:</string>
</property>
<property name="buddy">
<cstring>sbNtrials</cstring>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="sbNtrials">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Maximum number of erasure patterns for stochastic soft-decision Reed Solomon decoder is 10^(n/2).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>12</number>
</property>
<property name="value">
<number>6</number>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Aggressive decoding level:</string>
</property>
<property name="buddy">
<cstring>sbAggressive</cstring>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="sbAggressive">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Higher levels will increase the probability of decoding, but will also increase probability of a false decode.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="maximum">
<number>10</number>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="cbTwoPass">
<property name="text">
<string>Two-pass decoding</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="1">
<widget class="QGroupBox" name="groupBox_5">
<property name="title">
@ -2516,75 +2584,7 @@ Right click for insert and delete options.</string>
</layout>
</widget>
</item>
<item row="0" column="0">
<widget class="QGroupBox" name="groupBox_6">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;User-selectable parameters for JT65 VHF/UHF/Microwave decoding.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="title">
<string>JT65 VHF/UHF/Microwave decoding parameters</string>
</property>
<layout class="QFormLayout" name="formLayout_11">
<item row="2" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Random erasure patterns:</string>
</property>
<property name="buddy">
<cstring>sbNtrials</cstring>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="sbNtrials">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Maximum number of erasure patterns for stochastic soft-decision Reed Solomon decoder is 10^(n/2).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>12</number>
</property>
<property name="value">
<number>6</number>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Aggressive decoding level:</string>
</property>
<property name="buddy">
<cstring>sbAggressive</cstring>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="sbAggressive">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Higher levels will increase the probability of decoding, but will also increase probability of a false decode.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="maximum">
<number>10</number>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="cbTwoPass">
<property name="text">
<string>Two-pass decoding</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="2" column="0" colspan="2">
<item row="3" column="0" colspan="2">
<spacer name="verticalSpacer_8">
<property name="orientation">
<enum>Qt::Vertical</enum>
@ -2642,6 +2642,51 @@ Right click for insert and delete options.</string>
</widget>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="QGroupBox" name="groupBox_8">
<property name="minimumSize">
<size>
<width>0</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="title">
<string>FT8 and MSK144 message types</string>
</property>
<widget class="QWidget" name="horizontalLayoutWidget_2">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>356</width>
<height>31</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_15">
<item>
<widget class="QCheckBox" name="cbGenerate77">
<property name="text">
<string>Always generate 77-bit messages</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="cbDecode77">
<property name="text">
<string>Decode only 77-bit messages</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</widget>
@ -2822,12 +2867,12 @@ soundcard changes</string>
</connection>
</connections>
<buttongroups>
<buttongroup name="CAT_data_bits_button_group"/>
<buttongroup name="split_mode_button_group"/>
<buttongroup name="TX_mode_button_group"/>
<buttongroup name="CAT_stop_bits_button_group"/>
<buttongroup name="PTT_method_button_group"/>
<buttongroup name="TX_audio_source_button_group"/>
<buttongroup name="CAT_stop_bits_button_group"/>
<buttongroup name="CAT_handshake_button_group"/>
<buttongroup name="split_mode_button_group"/>
<buttongroup name="CAT_data_bits_button_group"/>
<buttongroup name="TX_mode_button_group"/>
</buttongroups>
</ui>