diff --git a/src/rig.c b/src/rig.c index d7cc9748e..448a61479 100644 --- a/src/rig.c +++ b/src/rig.c @@ -1326,15 +1326,6 @@ int HAMLIB_API rig_open(RIG *rig) rs->comm_state); hl_usleep(100 * 1000); // wait a bit after opening to give some serial ports time - status = morse_data_handler_start(rig); - - if (status < 0) - { - rig_debug(RIG_DEBUG_ERR, "%s: cw_data_handler_start failed: %s\n", __func__, rigerror(status)); - port_close(&rs->rigport, rs->rigport.type.rig); - RETURNFUNC2(status); - } - /* * Maybe the backend has something to initialize @@ -1430,6 +1421,15 @@ int HAMLIB_API rig_open(RIG *rig) } } + status = morse_data_handler_start(rig); + + if (status < 0) + { + rig_debug(RIG_DEBUG_ERR, "%s: cw_data_handler_start failed: %s\n", __func__, rigerror(status)); + port_close(&rs->rigport, rs->rigport.type.rig); + RETURNFUNC2(status); + } + if (rs->auto_disable_screensaver) { // try to turn off the screensaver if possible @@ -6876,12 +6876,14 @@ int HAMLIB_API rig_send_morse(RIG *rig, vfo_t vfo, const char *msg) if (msg[0]=='+') { keyspd.i += 5; + rig_debug(RIG_DEBUG_VERBOSE, "%s: change keyspd to %d\n", __func__, keyspd.i); rig_set_level(rig, RIG_VFO_CURR, RIG_LEVEL_KEYSPD, keyspd); return RIG_OK; } else if (msg[0]=='-') { keyspd.i -= 5; + rig_debug(RIG_DEBUG_VERBOSE, "%s: change keyspd to %d\n", __func__, keyspd.i); rig_set_level(rig, RIG_VFO_CURR, RIG_LEVEL_KEYSPD, keyspd); return RIG_OK; }