diff --git a/Transceiver/DXLabSuiteCommanderTransceiver.cpp b/Transceiver/DXLabSuiteCommanderTransceiver.cpp index b0ee59ac3..02f8ad636 100644 --- a/Transceiver/DXLabSuiteCommanderTransceiver.cpp +++ b/Transceiver/DXLabSuiteCommanderTransceiver.cpp @@ -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 = ("" + f_string).arg (f_string.size ()); - simple_command (("CmdSetFreq" + params).arg (params.size ())); - if (UNK != m) + if (UNK != m && m != get_mode ()) { auto m_string = map_mode (m); auto params = ("" + f_string + "" + m_string + "Y").arg (f_string.size ()).arg (m_string.size ()); simple_command (("CmdSetFreqMode" + params).arg (params.size ())); update_mode (m); } + else + { + auto params = ("" + f_string).arg (f_string.size ()); + simple_command (("CmdSetFreq" + params).arg (params.size ())); + } update_rx_frequency (f); } diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 4d6393a80..e1727e26f 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -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))