Prevent redundant network communication between WSJT-X and DX Lab Suite Commander.

This commit is contained in:
Uwe Risse 2023-09-30 18:44:03 +02:00
parent ea8737e9f1
commit 06d1469c10
2 changed files with 7 additions and 4 deletions

View File

@ -206,15 +206,18 @@ void DXLabSuiteCommanderTransceiver::do_frequency (Frequency f, MODE m, bool /*n
{
CAT_TRACE (f << ' ' << state ());
auto f_string = frequency_to_string (f);
auto params = ("<xcvrfreq:%1>" + f_string).arg (f_string.size ());
simple_command (("<command:10>CmdSetFreq<parameters:%1>" + params).arg (params.size ()));
if (UNK != m)
if (UNK != m && m != get_mode ())
{
auto m_string = map_mode (m);
auto params = ("<xcvrfreq:%1>" + f_string + "<xcvrmode:%2>" + m_string + "<preservesplitanddual:1>Y").arg (f_string.size ()).arg (m_string.size ());
simple_command (("<command:14>CmdSetFreqMode<parameters:%1>" + params).arg (params.size ()));
update_mode (m);
}
else
{
auto params = ("<xcvrfreq:%1>" + f_string).arg (f_string.size ());
simple_command (("<command:10>CmdSetFreq<parameters:%1>" + params).arg (params.size ()));
}
update_rx_frequency (f);
}

View File

@ -10500,7 +10500,7 @@ void MainWindow::remote_configure (QString const& mode, quint32 frequency_tolera
{
if (mode.size ())
{
set_mode (mode);
if (mode != m_mode) set_mode (mode);
}
auto is_FST4W = "FST4W" == m_mode;
if (frequency_tolerance != quint32_max && (ui->sbFtol->isVisible () || is_FST4W))