diff --git a/rotators/easycomm/easycomm.c b/rotators/easycomm/easycomm.c index defe6a4f7..507761fa5 100644 --- a/rotators/easycomm/easycomm.c +++ b/rotators/easycomm/easycomm.c @@ -29,6 +29,7 @@ #include "serial.h" #include "register.h" #include "idx_builtin.h" +#include "misc.h" #include "easycomm.h" @@ -508,6 +509,11 @@ static int easycomm_rot_set_conf(ROT *rot, hamlib_token_t token, const char *val rig_debug(RIG_DEBUG_TRACE, "%s: cmdstr = %s, *val = %c\n", __func__, cmdstr, *val); + if (!ROTSTATE(rot)->comm_state) + { + return queue_deferred_config(&ROTSTATE(rot)->config_queue, token, val); + } + retval = easycomm_transaction(rot, cmdstr, NULL, 0); if (retval != RIG_OK) diff --git a/rotators/grbltrk/grbltrk.c b/rotators/grbltrk/grbltrk.c index 795cc7ef3..bedc9b748 100644 --- a/rotators/grbltrk/grbltrk.c +++ b/rotators/grbltrk/grbltrk.c @@ -35,6 +35,7 @@ #include "hamlib/rotator.h" #include "hamlib/rig.h" +#include "misc.h" #include "serial.h" #include "token.h" @@ -419,6 +420,11 @@ grbltrk_rot_set_conf(ROT *rot, hamlib_token_t token, const char *val) char req[RSIZE] = {0}; char rsp[RSIZE]; + if (!ROTSTATE(rot)->comm_state) + { + return queue_deferred_config(&ROTSTATE(rot)->config_queue, token, val); + } + for (i = 0; i < len; i++) { diff --git a/rotators/meade/meade.c b/rotators/meade/meade.c index 5c43fddab..d63b0fe2c 100644 --- a/rotators/meade/meade.c +++ b/rotators/meade/meade.c @@ -493,9 +493,6 @@ const struct rot_caps meade_caps = .move = meade_move, .get_info = meade_get_info, - - .get_conf = rot_get_conf, - .set_conf = rot_set_conf, }; DECLARE_INITROT_BACKEND(meade)