mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-17 09:31:59 -05:00
Add the W9MDB patch (very slightly modified) for band-by-band memory
of power settings for Transmit and Tune. Also an interim update of v1.7_Features.txt. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7229 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
40cf903db5
commit
0441986ccc
@ -548,6 +548,8 @@ private:
|
||||
bool udpWindowToFront_;
|
||||
bool udpWindowRestore_;
|
||||
DataMode data_mode_;
|
||||
bool pwrBandTxMemory_;
|
||||
bool pwrBandTuneMemory_;
|
||||
|
||||
QAudioDeviceInfo audio_input_device_;
|
||||
bool default_audio_input_device_selected_;
|
||||
@ -646,6 +648,8 @@ QStringListModel const * Configuration::macros () const {return &m_->macros_;}
|
||||
QDir Configuration::save_directory () const {return m_->save_directory_;}
|
||||
QDir Configuration::azel_directory () const {return m_->azel_directory_;}
|
||||
QString Configuration::rig_name () const {return m_->rig_params_.rig_name;}
|
||||
bool Configuration::pwrBandTxMemory () const {return m_->pwrBandTxMemory_;}
|
||||
bool Configuration::pwrBandTuneMemory () const {return m_->pwrBandTuneMemory_;}
|
||||
|
||||
bool Configuration::is_transceiver_online () const
|
||||
{
|
||||
@ -1066,6 +1070,8 @@ void Configuration::impl::initialize_models ()
|
||||
ui_->CAT_data_bits_button_group->button (rig_params_.data_bits)->setChecked (true);
|
||||
ui_->CAT_stop_bits_button_group->button (rig_params_.stop_bits)->setChecked (true);
|
||||
ui_->CAT_handshake_button_group->button (rig_params_.handshake)->setChecked (true);
|
||||
ui_->checkBoxPwrBandTxMemory->setChecked(pwrBandTxMemory_);
|
||||
ui_->checkBoxPwrBandTuneMemory->setChecked(pwrBandTuneMemory_);
|
||||
if (rig_params_.force_dtr)
|
||||
{
|
||||
ui_->force_DTR_combo_box->setCurrentIndex (rig_params_.dtr_high ? 1 : 2);
|
||||
@ -1293,6 +1299,8 @@ void Configuration::impl::read_settings ()
|
||||
udpWindowRestore_ = settings_->value ("udpWindowRestore",false).toBool ();
|
||||
frequency_calibration_intercept_ = settings_->value ("CalibrationIntercept", 0.).toDouble ();
|
||||
frequency_calibration_slope_ppm_ = settings_->value ("CalibrationSlopePPM", 0.).toDouble ();
|
||||
pwrBandTxMemory_ = settings_->value("pwrBandTxMemory",false).toBool ();
|
||||
pwrBandTuneMemory_ = settings_->value("pwrBandTuneMemory",false).toBool ();
|
||||
}
|
||||
|
||||
void Configuration::impl::write_settings ()
|
||||
@ -1389,6 +1397,8 @@ void Configuration::impl::write_settings ()
|
||||
settings_->setValue ("udpWindowRestore", udpWindowRestore_);
|
||||
settings_->setValue ("CalibrationIntercept", frequency_calibration_intercept_);
|
||||
settings_->setValue ("CalibrationSlopePPM", frequency_calibration_slope_ppm_);
|
||||
settings_->setValue ("pwrBandTxMemory", pwrBandTxMemory_);
|
||||
settings_->setValue ("pwrBandTuneMemory", pwrBandTuneMemory_);
|
||||
}
|
||||
|
||||
void Configuration::impl::set_rig_invariants ()
|
||||
@ -1778,7 +1788,8 @@ void Configuration::impl::accept ()
|
||||
offsetRxFreq_ = ui_->offset_Rx_freq_check_box->isChecked();
|
||||
frequency_calibration_intercept_ = ui_->calibration_intercept_spin_box->value ();
|
||||
frequency_calibration_slope_ppm_ = ui_->calibration_slope_ppm_spin_box->value ();
|
||||
|
||||
pwrBandTxMemory_ = ui_->checkBoxPwrBandTxMemory->isChecked ();
|
||||
pwrBandTuneMemory_ = ui_->checkBoxPwrBandTuneMemory->isChecked ();
|
||||
auto new_server = ui_->udp_server_line_edit->text ();
|
||||
if (new_server != udp_server_name_)
|
||||
{
|
||||
|
@ -153,7 +153,8 @@ public:
|
||||
QColor color_TxMsg () const;
|
||||
QColor color_DXCC () const;
|
||||
QColor color_NewCall () const;
|
||||
|
||||
bool pwrBandTxMemory () const;
|
||||
bool pwrBandTuneMemory () const;
|
||||
// This method queries if a CAT and PTT connection is operational.
|
||||
bool is_transceiver_online () const;
|
||||
|
||||
|
535
Configuration.ui
535
Configuration.ui
@ -6,7 +6,7 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>545</width>
|
||||
<width>628</width>
|
||||
<height>591</height>
|
||||
</rect>
|
||||
</property>
|
||||
@ -14,8 +14,29 @@
|
||||
<string>Settings</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="configuration_dialog_button_box">
|
||||
<property name="toolTip">
|
||||
<string>Discard or apply configuration changes including
|
||||
resetting the radio interface and applying any
|
||||
soundcard changes</string>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTabWidget" name="configuration_tabs">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Select tab to change configuration parameters.</string>
|
||||
</property>
|
||||
@ -1231,237 +1252,297 @@ radio interface behave as expected.</string>
|
||||
<attribute name="toolTip">
|
||||
<string>Audio interface settings</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="5" column="0">
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="Line" name="line_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QGroupBox" name="save_path_group_box">
|
||||
<property name="title">
|
||||
<string>Save Directory</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||
<item>
|
||||
<widget class="QLabel" name="save_path_label">
|
||||
<property name="text">
|
||||
<string>Loc&ation:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>save_path_select_push_button</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="save_path_display_label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>1</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Path to which .WAV files are saved.</string>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(255, 255, 255);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="save_path_select_push_button">
|
||||
<property name="toolTip">
|
||||
<string>Click to select a different save directory for .WAV files.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>S&elect</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QGroupBox" name="soundcard_group_box">
|
||||
<property name="title">
|
||||
<string>Soundcard</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_6">
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="sound_output_combo_box">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>1</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Select the audio CODEC to use for transmitting.
|
||||
<widget class="QWidget" name="layoutWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>9</x>
|
||||
<y>10</y>
|
||||
<width>511</width>
|
||||
<height>431</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_9">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="soundcard_group_box">
|
||||
<property name="toolTip">
|
||||
<string>Souncard</string>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Soundcard</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_6">
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="sound_output_combo_box">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>1</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Select the audio CODEC to use for transmitting.
|
||||
If this is your default device for system sounds then
|
||||
ensure that all system sounds are disabled otherwise
|
||||
you will broadcast any systems sounds generated during
|
||||
transmitting periods.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="sound_input_combo_box">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>1</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Select the audio CODEC to use for receiving.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="sound_input_label">
|
||||
<property name="text">
|
||||
<string>&Input:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>sound_input_combo_box</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QComboBox" name="sound_input_channel_combo_box">
|
||||
<property name="toolTip">
|
||||
<string>Select the channel to use for receiving.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Mono</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Left</string>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="sound_input_combo_box">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>1</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Right</string>
|
||||
<property name="toolTip">
|
||||
<string>Select the audio CODEC to use for receiving.</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="sound_input_label">
|
||||
<property name="text">
|
||||
<string>Both</string>
|
||||
<string>&Input:</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QComboBox" name="sound_output_channel_combo_box">
|
||||
<property name="toolTip">
|
||||
<string>Select the audio channel used for transmission.
|
||||
<property name="buddy">
|
||||
<cstring>sound_input_combo_box</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QComboBox" name="sound_input_channel_combo_box">
|
||||
<property name="toolTip">
|
||||
<string>Select the channel to use for receiving.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Mono</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Left</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Right</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Both</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QComboBox" name="sound_output_channel_combo_box">
|
||||
<property name="toolTip">
|
||||
<string>Select the audio channel used for transmission.
|
||||
Unless you have multiple radios connected on different
|
||||
channels; then you will usually want to select mono or
|
||||
both here.</string>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Mono</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Mono</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Left</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Right</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Both</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="sound_output_label">
|
||||
<property name="text">
|
||||
<string>Left</string>
|
||||
<string>Ou&tput:</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="buddy">
|
||||
<cstring>sound_output_combo_box</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="save_path_group_box">
|
||||
<property name="toolTip">
|
||||
<string>Save Directory</string>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Save Directory</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||
<item>
|
||||
<widget class="QLabel" name="save_path_label">
|
||||
<property name="text">
|
||||
<string>Right</string>
|
||||
<string>Loc&ation:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>save_path_select_push_button</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="save_path_display_label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>1</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Path to which .WAV files are saved.</string>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(255, 255, 255);</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Both</string>
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="sound_output_label">
|
||||
<property name="text">
|
||||
<string>Ou&tput:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>sound_output_combo_box</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QGroupBox" name="azel_path_group_box">
|
||||
<property name="title">
|
||||
<string>AzEl Directory</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_10">
|
||||
<item>
|
||||
<widget class="QLabel" name="azel_path_label">
|
||||
<property name="text">
|
||||
<string>Location:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>azel_path_select_push_button</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="azel_path_display_label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>1</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(255, 255, 255);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="azel_path_select_push_button">
|
||||
<property name="text">
|
||||
<string>Select</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="save_path_select_push_button">
|
||||
<property name="toolTip">
|
||||
<string>Click to select a different save directory for .WAV files.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>S&elect</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="azel_path_group_box">
|
||||
<property name="toolTip">
|
||||
<string>AzEl Directory</string>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>AzEl Directory</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_10">
|
||||
<item>
|
||||
<widget class="QLabel" name="azel_path_label">
|
||||
<property name="text">
|
||||
<string>Location:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>azel_path_select_push_button</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="azel_path_display_label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>1</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(255, 255, 255);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="azel_path_select_push_button">
|
||||
<property name="text">
|
||||
<string>Select</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="split_operation_group_box_2">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>55</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Power Memory By Band</string>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Remember Power Settings By Band</string>
|
||||
</property>
|
||||
<widget class="QCheckBox" name="checkBoxPwrBandTxMemory">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>23</y>
|
||||
<width>90</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Enable power memory during transmit</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Transmit</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="checkBoxPwrBandTuneMemory">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>100</x>
|
||||
<y>23</y>
|
||||
<width>90</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Enable power memory during tuning</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Tune</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tx_macros_tab">
|
||||
<attribute name="title">
|
||||
@ -1992,7 +2073,7 @@ Right click for insert and delete options.</string>
|
||||
<attribute name="title">
|
||||
<string>Colors</string>
|
||||
</attribute>
|
||||
<widget class="QWidget" name="layoutWidget">
|
||||
<widget class="QWidget" name="layoutWidget1">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>44</x>
|
||||
@ -2378,25 +2459,9 @@ Right click for insert and delete options.</string>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="configuration_dialog_button_box">
|
||||
<property name="toolTip">
|
||||
<string>Discard or apply configuration changes including
|
||||
resetting the radio interface and applying any
|
||||
soundcard changes</string>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>configuration_tabs</tabstop>
|
||||
<tabstop>callsign_line_edit</tabstop>
|
||||
<tabstop>grid_line_edit</tabstop>
|
||||
<tabstop>type_2_msg_gen_combo_box</tabstop>
|
||||
@ -2539,12 +2604,12 @@ soundcard changes</string>
|
||||
</connection>
|
||||
</connections>
|
||||
<buttongroups>
|
||||
<buttongroup name="split_mode_button_group"/>
|
||||
<buttongroup name="CAT_handshake_button_group"/>
|
||||
<buttongroup name="CAT_stop_bits_button_group"/>
|
||||
<buttongroup name="PTT_method_button_group"/>
|
||||
<buttongroup name="CAT_data_bits_button_group"/>
|
||||
<buttongroup name="TX_mode_button_group"/>
|
||||
<buttongroup name="split_mode_button_group"/>
|
||||
<buttongroup name="TX_audio_source_button_group"/>
|
||||
<buttongroup name="PTT_method_button_group"/>
|
||||
<buttongroup name="CAT_stop_bits_button_group"/>
|
||||
<buttongroup name="CAT_data_bits_button_group"/>
|
||||
<buttongroup name="CAT_handshake_button_group"/>
|
||||
</buttongroups>
|
||||
</ui>
|
||||
|
@ -25,3 +25,6 @@ subtracted out, allowing the decoding of weaker signals.
|
||||
|
||||
- Many corrections and improvements to the Hamlib library, fixing
|
||||
balky rig-control features
|
||||
|
||||
- Power settings for Transmit and Tune optionally remembered for
|
||||
each band.
|
@ -33,3 +33,8 @@ calculated Doppler shift for the specified EME path. The file is
|
||||
updated once per second whenever the <<ASTRODATA,Astronomical Data>>
|
||||
window is displayed.
|
||||
|
||||
- _Power Memory By Band_: Checking one or both of these will cause
|
||||
_WSJT-X_ to remember the *Pwr* slider setting for that operation on a
|
||||
band-by-band basis. For example, when *Tune* is enabled here and you
|
||||
click the *Tune* on the main window, the power slider will change to
|
||||
the most recent setting used for *Tune* on that band.
|
||||
|
@ -327,9 +327,8 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
||||
m_transmitting {false},
|
||||
m_tune {false},
|
||||
m_tx_watchdog {false},
|
||||
m_tune_attenuation {0},
|
||||
m_tune_attenuation_restore {0},
|
||||
m_block_pwr_tooltip {false},
|
||||
m_PwrBandSetOK {true},
|
||||
m_lastMonitoredFrequency {default_frequency},
|
||||
m_toneSpacing {0.},
|
||||
m_firstDecode {0},
|
||||
@ -934,8 +933,10 @@ void MainWindow::writeSettings()
|
||||
m_settings->setValue("FastMode",m_bFastMode);
|
||||
m_settings->setValue("Fast9",m_bFast9);
|
||||
m_settings->setValue("CQRxfreq",m_freqCQ);
|
||||
m_settings->setValue("TuneAttenuation",m_tune_attenuation);
|
||||
m_settings->setValue("pwrBandTxMemory",m_pwrBandTxMemory);
|
||||
m_settings->setValue("pwrBandTuneMemory",m_pwrBandTuneMemory);
|
||||
m_settings->endGroup();
|
||||
|
||||
}
|
||||
|
||||
//---------------------------------------------------------- readSettings()
|
||||
@ -994,7 +995,6 @@ void MainWindow::readSettings()
|
||||
m_block_pwr_tooltip = true;
|
||||
ui->outAttenuation->setValue (m_settings->value ("OutAttenuation", 0).toInt ());
|
||||
m_block_pwr_tooltip = false;
|
||||
m_tune_attenuation = m_settings->value ("TuneAttenuation", 0).toInt ();
|
||||
m_freqCQ=m_settings->value("CQRxFreq",285).toInt();
|
||||
m_noSuffix=m_settings->value("NoSuffix",false).toBool();
|
||||
int n=m_settings->value("GUItab",0).toInt();
|
||||
@ -1002,6 +1002,8 @@ void MainWindow::readSettings()
|
||||
outBufSize=m_settings->value("OutBufSize",4096).toInt();
|
||||
m_lockTxFreq=m_settings->value("LockTxFreq",false).toBool();
|
||||
m_TRindex=m_settings->value("TRindex",4).toInt();
|
||||
m_pwrBandTxMemory=m_settings->value("pwrBandTxMemory").toHash();
|
||||
m_pwrBandTuneMemory=m_settings->value("pwrBandTuneMemory").toHash();
|
||||
m_settings->endGroup();
|
||||
|
||||
// use these initialisation settings to tune the audio o/p buffer
|
||||
@ -4490,6 +4492,12 @@ void MainWindow::on_bandComboBox_activated (int index)
|
||||
|
||||
void MainWindow::band_changed (Frequency f)
|
||||
{
|
||||
// Set the attenuation value if options are checked
|
||||
QString curBand = ui->bandComboBox->currentText();
|
||||
if (m_config.pwrBandTxMemory() && !m_tune) {
|
||||
ui->outAttenuation->setValue(m_pwrBandTxMemory[curBand].toInt());
|
||||
}
|
||||
|
||||
if (m_bandEdited) {
|
||||
if (!m_mode.startsWith ("WSPR")) { // band hopping preserves auto Tx
|
||||
if (f + m_wideGraph->nStartFreq () > m_freqNominal + ui->TxFreqSpinBox->value ()
|
||||
@ -4644,19 +4652,32 @@ void MainWindow::on_rptSpinBox_valueChanged(int n)
|
||||
|
||||
void MainWindow::on_tuneButton_clicked (bool checked)
|
||||
{
|
||||
static bool lastChecked = false;
|
||||
if (lastChecked == checked) return;
|
||||
lastChecked = checked;
|
||||
QString curBand = ui->bandComboBox->currentText();
|
||||
if (checked && m_tune==false) { // we're starting tuning so remember Tx and change pwr to Tune value
|
||||
if (m_config.pwrBandTuneMemory ()) {
|
||||
m_pwrBandTxMemory[curBand] = ui->outAttenuation->value(); // remember our Tx pwr
|
||||
m_PwrBandSetOK = false;
|
||||
ui->outAttenuation->setValue(m_pwrBandTuneMemory[curBand].toInt()); // set to Tune pwr
|
||||
m_PwrBandSetOK = true;
|
||||
}
|
||||
}
|
||||
else { // we're turning off so remember our Tune pwr setting and reset to Tx pwr
|
||||
if (m_config.pwrBandTuneMemory() || m_config.pwrBandTxMemory()) {
|
||||
m_pwrBandTuneMemory[curBand] = ui->outAttenuation->value(); // remember our Tune pwr
|
||||
m_PwrBandSetOK = false;
|
||||
ui->outAttenuation->setValue(m_pwrBandTxMemory[curBand].toInt()); // set to Tx pwr
|
||||
m_PwrBandSetOK = true;
|
||||
}
|
||||
}
|
||||
if (m_tune) {
|
||||
tuneButtonTimer.start(250);
|
||||
} else {
|
||||
m_sentFirst73=false;
|
||||
itone[0]=0;
|
||||
on_monitorButton_clicked (true);
|
||||
m_tune_attenuation_restore = ui->outAttenuation->value();
|
||||
if (m_tune_attenuation)
|
||||
{
|
||||
m_block_pwr_tooltip = true;
|
||||
ui->outAttenuation->setValue(m_tune_attenuation);
|
||||
m_block_pwr_tooltip = false;
|
||||
}
|
||||
m_tune=true;
|
||||
}
|
||||
Q_EMIT tune (checked);
|
||||
@ -4668,12 +4689,6 @@ void MainWindow::stop_tuning ()
|
||||
ui->tuneButton->setChecked (false);
|
||||
m_bTxTime=false;
|
||||
m_tune=false;
|
||||
if (m_tune_attenuation)
|
||||
{
|
||||
m_block_pwr_tooltip = true;
|
||||
ui->outAttenuation->setValue(m_tune_attenuation_restore);
|
||||
m_block_pwr_tooltip = false;
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::stopTuneATU()
|
||||
@ -5034,30 +5049,32 @@ void MainWindow::on_outAttenuation_valueChanged (int a)
|
||||
{
|
||||
QString tt_str;
|
||||
qreal dBAttn {a / 10.}; // slider interpreted as dB / 100
|
||||
if (m_tune && Qt::ShiftModifier == QGuiApplication::keyboardModifiers ())
|
||||
if (m_tune && m_config.pwrBandTuneMemory())
|
||||
{
|
||||
// special attenuation value for Tune button
|
||||
m_tune_attenuation = a;
|
||||
if (a)
|
||||
{
|
||||
tt_str = tr ("Tune digital gain ")
|
||||
+ (a ? QString::number (-dBAttn, 'f', 1) : "0") + "dB\n"
|
||||
"Set at top to cancel";
|
||||
}
|
||||
else
|
||||
{
|
||||
tt_str = tr ("Tune power = Tx power");
|
||||
}
|
||||
tt_str = tr ("Tune digital gain");
|
||||
}
|
||||
else
|
||||
{
|
||||
tt_str = tr ("Transmit digital gain ")
|
||||
+ (a ? QString::number (-dBAttn, 'f', 1) : "0") + "dB";
|
||||
tt_str = tr ("Transmit digital gain");
|
||||
}
|
||||
tt_str += (a ? QString::number (-dBAttn, 'f', 1) : "0") + "dB";
|
||||
if (!m_block_pwr_tooltip)
|
||||
{
|
||||
QToolTip::showText (QCursor::pos (), tt_str, ui->outAttenuation);
|
||||
}
|
||||
QString curBand = ui->bandComboBox->currentText();
|
||||
if (m_PwrBandSetOK && !m_tune && m_config.pwrBandTxMemory ())
|
||||
{
|
||||
m_pwrBandTxMemory[curBand] = a; // remember our Tx pwr
|
||||
qDebug () << "Tx=" << QString::number(a);
|
||||
}
|
||||
if (m_PwrBandSetOK && m_tune && m_config.pwrBandTuneMemory())
|
||||
{
|
||||
m_pwrBandTuneMemory[curBand] = a; // remember our Tune pwr
|
||||
qDebug () << "Tune=" << QString::number(a);
|
||||
}
|
||||
// Updating attenuation for tuning is done in stop_tuning
|
||||
|
||||
Q_EMIT outAttenuationChanged (dBAttn);
|
||||
}
|
||||
|
||||
|
@ -504,9 +504,8 @@ private:
|
||||
bool m_transmitting;
|
||||
bool m_tune;
|
||||
bool m_tx_watchdog; // true when watchdog triggered
|
||||
int m_tune_attenuation;
|
||||
int m_tune_attenuation_restore;
|
||||
bool m_block_pwr_tooltip;
|
||||
bool m_PwrBandSetOK;
|
||||
Frequency m_lastMonitoredFrequency;
|
||||
double m_toneSpacing;
|
||||
int m_firstDecode;
|
||||
@ -515,6 +514,8 @@ private:
|
||||
MessageClient * m_messageClient;
|
||||
PSK_Reporter *psk_Reporter;
|
||||
DisplayManual m_manual;
|
||||
QHash<QString, QVariant> m_pwrBandTxMemory; // Remembers power level by band
|
||||
QHash<QString, QVariant> m_pwrBandTuneMemory; // Remembers power level by band for tuning
|
||||
|
||||
//---------------------------------------------------- private functions
|
||||
void readSettings();
|
||||
|
@ -16,42 +16,39 @@ Short list of new features
|
||||
|
||||
New Modes
|
||||
---------
|
||||
1. MSK144 is intended for meteor scatter at 50 MHz and higher.
|
||||
Designed and tested by K9AN and K1JT, it uses a low-density parity
|
||||
check code (LDPC) -- one of the latest-and-greatest areas of active
|
||||
research in communication theory.
|
||||
|
||||
MSK144 is a direct descendant of the now-defunct mode JTMSK, with a
|
||||
1. MSK144 is intended for meteor scatter at 50 MHz and higher. It
|
||||
uses a low-density parity check code (LDPC) designed by K9AN. The
|
||||
mode is a direct descendant of the now-defunct mode JTMSK, with a
|
||||
number of improvements for better performance on weak and short meteor
|
||||
pings. The effective character transmission rate is about 250 cps,
|
||||
compared with 147 cps for FSK441 and 154 cps for JTMSK. Like JT4,
|
||||
JT9, JT65, and JTMSK, MSK144 uses strong forward error correction, so
|
||||
message decoding is essentially "all or nothing". You will see little
|
||||
or no garbage on your screen.
|
||||
compared with 147 cps for FSK441. Like JT4, JT9, JT65, and QRA64,
|
||||
MSK144 uses strong forward error correction. Message decoding is
|
||||
essentially "all or nothing": partial decodes do not occur, and you
|
||||
will see little or no garbage on your screen.
|
||||
|
||||
Standard MSK144 message frames are 72 ms long, compared to 117 ms for
|
||||
JTMSK. The MSK144 waveform allows coherent demodulation, allowing up
|
||||
to 3 dB better sensitivity. After QSO partners have exchanged
|
||||
callsigns, MSK144 can use even shorter messages, only 20 ms long. As
|
||||
in all the fast modes in WSJT-X, the 20 ms or 72 ms messages are
|
||||
repeated without gaps for the duration of a transmission cycle. For
|
||||
most purposes we recommend a T/R cycle duration of 15 s, but 5 s and
|
||||
10 s sequences are also supported.
|
||||
Standard MSK144 message frames are 72 ms long, compared to about 120
|
||||
ms for FSK441. The MSK144 waveform allows coherent demodulation,
|
||||
allowing up to 3 dB better sensitivity. After QSO partners have
|
||||
exchanged callsigns, MSK144 can use even shorter messages, only 20 ms
|
||||
long. As in all the fast modes in WSJT-X, the 20 ms or 72 ms messages
|
||||
are repeated without gaps for the duration of a transmission cycle.
|
||||
For most purposes we recommend a T/R cycle duration of 15 s, but 5 s
|
||||
and 10 s sequences are also supported.
|
||||
|
||||
Short ("Sh") messages in MSK144 are intended primarily for 144 MHz,
|
||||
where most pings are short. These messages do not contain full
|
||||
callsigns; instead, they contain a hash of the entire transmitted
|
||||
message along with a report. They are not encrypted -- the report is
|
||||
sent in the clear along with the hash. Short messages are fully
|
||||
Short ("Sh") messages in MSK144 are intended primarily for 144 MHz and
|
||||
higher, where many pings are short. These messages do not contain
|
||||
full callsigns; instead, they contain a hash of the two callsigns
|
||||
along with a report, acknowledgement, or 73. Short messages are fully
|
||||
decodable only by the station to whom they are addressed, as part of
|
||||
an ongoing QSO, because only then will the received hash match that
|
||||
calculated using the known strings for "My Call" and "DX Call" and the
|
||||
received report, RRR, or 73. If you are monitoring someone else's
|
||||
QSO, you will not be able to decode its Sh messages.
|
||||
calculated using the known strings for "My Call" and "DX Call". If
|
||||
you are monitoring someone else's QSO, you will not be able to decode
|
||||
its Sh messages.
|
||||
|
||||
An MSK144 signal occupies the full bandwidth of a typical SSB
|
||||
transmitter, so transmissions are always centered at an offset of
|
||||
1500Hz. For best results, selectable/adjustable Rx and Tx filters
|
||||
1500Hz. For best results, selectable or adjustable Rx and Tx filters
|
||||
should be set to provide the flattest possible response over at least
|
||||
300 - 2700 Hz. The maximum permissible frequency offset between you
|
||||
and your QSO partner is 200 Hz, and less is better.
|
||||
|
Loading…
Reference in New Issue
Block a user