Set split mode before and after setting Tx frequency

Also cleaned up duplicate trace output.

Using the  DX Lab  Suite Commander  CAT interface  with rigs  like the
TS-2000  requires  that  split  mode  be set  after  changing  the  Tx
frequency. This  is because  setting teh  Tx frequency  disables split
mode.

With some Icom rigs  the rig must be in split  mode before setting the
Tx frequency otherwise the Tx frequency change will not be honoured.

To fix  this the sequence set-split,  set-tx-frequency, set-split must
always be used to change the Tx frequency.

Support for new DX Lab Suite Commander TCP/IP commands

Dave AA6YQ has added two new commands to the Commander server to allow
more reliable control.

Requires DX Lab Suite Commander 11.1.4 or later.

Ensure split Tx frequency agrees with UI before transmitting

Ensure split works on Yaesu via Hamlib without breaking others

Also improved class HamlibTransceiver debug trace messages.

Merged r4776-r4779 from wsjtx-1.4 branch.



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4780 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Bill Somerville
2014-12-06 20:23:29 +00:00
parent d41bbee263
commit 4300b45e6a
18 changed files with 254 additions and 165 deletions
+5 -7
View File
@@ -431,8 +431,7 @@ MainWindow::MainWindow(bool multiple, QSettings * settings, QSharedMemory *shdme
ui->labDialFreq->setStyleSheet("QLabel { background-color : black; color : yellow; }");
m_config.transceiver_online (true);
qsy (m_lastMonitoredFrequency);
monitor (!m_config.monitor_off_at_startup ());
on_monitorButton_clicked (!m_config.monitor_off_at_startup ());
#if !WSJT_ENABLE_EXPERIMENTAL_FEATURES
ui->actionJT9W_1->setEnabled (false);
@@ -678,12 +677,13 @@ void MainWindow::on_monitorButton_clicked (bool checked)
auto prior = m_monitoring;
monitor (checked);
if (!prior)
if (checked && !prior)
{
m_diskData = false; // no longer reading WAV files
// put rig back where it was when last in control
Q_EMIT m_config.transceiver_frequency (m_lastMonitoredFrequency);
qsy (m_lastMonitoredFrequency);
setXIT (ui->TxFreqSpinBox->value ());
}
@@ -1504,6 +1504,7 @@ void MainWindow::guiUpdate()
if(g_iptt==0 and ((bTxTime and fTR<0.4) or m_tune )) {
icw[0]=m_ncw;
g_iptt = 1;
setXIT (ui->TxFreqSpinBox->value ()); // ensure correct offset
Q_EMIT m_config.transceiver_ptt (true);
ptt1Timer->start(200); //Sequencer delay
}
@@ -2877,10 +2878,7 @@ void MainWindow::handle_transceiver_failure (QString reason)
{
ui->readFreq->setStyleSheet("QPushButton{background-color: red;"
"border-width: 0px; border-radius: 5px;}");
m_btxok=false;
m_repeatMsg=0;
on_stopTxButton_clicked ();
rigFailure ("Rig Control Error", reason);
}