diff --git a/src/dialogs/fl_digi.cxx b/src/dialogs/fl_digi.cxx index 434626ba..f526665f 100644 --- a/src/dialogs/fl_digi.cxx +++ b/src/dialogs/fl_digi.cxx @@ -3829,8 +3829,6 @@ void cb_qso_opBrowser(Fl_Browser*, void*) void show_frequency(long long freq) { - dl_fldigi::hbtint::rig_set_freq(freq); - qsoFreqDisp1->value(freq); qsoFreqDisp2->value(freq); qsoFreqDisp3->value(freq); @@ -3838,8 +3836,6 @@ void show_frequency(long long freq) void show_mode(const string& sMode) { - dl_fldigi::hbtint::rig_set_mode(sMode); - REQ_SYNC(&Fl_ComboBox::put_value, qso_opMODE, sMode.c_str()); } diff --git a/src/rigcontrol/hamlib.cxx b/src/rigcontrol/hamlib.cxx index 86c9e0ce..50ff8d43 100644 --- a/src/rigcontrol/hamlib.cxx +++ b/src/rigcontrol/hamlib.cxx @@ -51,6 +51,8 @@ #include "debug.h" #include "re.h" +#include "dl_fldigi/hbtint.h" + LOG_FILE_SOURCE(debug::LOG_RIGCONTROL); using namespace std; @@ -540,6 +542,9 @@ static void *hamlib_loop(void *args) wf->rfcarrier(hamlib_freq); } + if (freqok && freq) + dl_fldigi::hbtint::rig_set_freq(freq); + if (modeok && (hamlib_rmode != numode)) { hamlib_rmode = numode; show_mode(modeString(hamlib_rmode)); @@ -553,6 +558,9 @@ static void *hamlib_loop(void *args) hamlib_rmode == RIG_MODE_RTTY)); } + if (modeok) + dl_fldigi::hbtint::rig_set_mode(modeString(numode)); + if (hamlib_exit) break; } diff --git a/src/rigcontrol/rigMEM.cxx b/src/rigcontrol/rigMEM.cxx index 3555f369..a1463e12 100644 --- a/src/rigcontrol/rigMEM.cxx +++ b/src/rigcontrol/rigMEM.cxx @@ -49,6 +49,8 @@ #include "debug.h" +#include "dl_fldigi/hbtint.h" + using namespace std; LOG_FILE_SOURCE(debug::LOG_RIGCONTROL); @@ -228,6 +230,9 @@ static void *rigMEM_loop(void *args) show_frequency(freqflag->freq); wf->USB(sb); REQ (&Fl_ComboBox::put_value, qso_opMODE, sb ? "USB" : "LSB"); + + dl_fldigi::hbtint::rig_set_freq(freqflag->freq); + dl_fldigi::hbtint::rig_set_mode(sb ? "USB" : "LSB"); } } diff --git a/src/rigcontrol/rigio.cxx b/src/rigcontrol/rigio.cxx index 0d81b76b..05eb1410 100644 --- a/src/rigcontrol/rigio.cxx +++ b/src/rigcontrol/rigio.cxx @@ -48,6 +48,8 @@ #include "confdialog.h" #include "status.h" +#include "dl_fldigi/hbtint.h" + LOG_FILE_SOURCE(debug::LOG_RIGCONTROL); using namespace std; @@ -1236,6 +1238,9 @@ static void *rigCAT_loop(void *args) wf->rfcarrier(freq); } + if (freq > 0) + dl_fldigi::hbtint::rig_set_freq(freq); + if (sWidth.size() && sWidth != sRigWidth) { sRigWidth = sWidth; show_bw(sWidth); @@ -1249,6 +1254,9 @@ static void *rigCAT_loop(void *args) wf->USB(true); show_mode(sMode); } + + if (sMode.size()) + dl_fldigi::hbtint::rig_set_mode(sMode); } wf->USB(true);