diff --git a/rigs/anytone/anytone.c b/rigs/anytone/anytone.c index 675eb4229..8c4ca1fdf 100644 --- a/rigs/anytone/anytone.c +++ b/rigs/anytone/anytone.c @@ -97,6 +97,7 @@ DECLARE_PROBERIG_BACKEND(anytone) void *anytone_thread(void *vrig) { RIG *rig = (RIG *)vrig; + hamlib_port_t *rp = RIGPORT(rig); anytone_priv_data_t *p = rig->state.priv; rig_debug(RIG_DEBUG_TRACE, "%s: anytone_thread started\n", __func__); p->runflag = 1; @@ -115,9 +116,9 @@ void *anytone_thread(void *vrig) rig_set_debug(RIG_DEBUG_WARN); // only show WARN debug otherwise too verbose } - write_block(&rig->state.rigport, (unsigned char *)c, strlen(c)); + write_block(rp, (unsigned char *)c, strlen(c)); char buf[32]; - read_block(&rig->state.rigport, (unsigned char *)buf, 22); + read_block(rp, (unsigned char *)buf, 22); if (rig_need_debug(RIG_DEBUG_CACHE) == 0) { @@ -138,13 +139,13 @@ int anytone_send(RIG *rig, unsigned char *cmd, int cmd_len) { int retval = RIG_OK; - struct rig_state *rs = &rig->state; + hamlib_port_t *rp = RIGPORT(rig); ENTERFUNC; - rig_flush(&rs->rigport); + rig_flush(rp); - retval = write_block(&rs->rigport, (unsigned char *) cmd, + retval = write_block(rp, (unsigned char *) cmd, cmd_len); RETURNFUNC(retval); @@ -156,13 +157,13 @@ int anytone_send(RIG *rig, int anytone_receive(RIG *rig, unsigned char *buf, int buf_len, int expected) { int retval = RIG_OK; - struct rig_state *rs = &rig->state; + hamlib_port_t *rp = RIGPORT(rig); ENTERFUNC; -// retval = read_string(&rs->rigport, (unsigned char *) buf, buf_len, +// retval = read_string(rp, (unsigned char *) buf, buf_len, // NULL, 0, 0, expected); - retval = read_block(&rs->rigport, buf, expected); + retval = read_block(rp, buf, expected); if (retval > 0) { @@ -257,15 +258,16 @@ int anytone_cleanup(RIG *rig) int anytone_open(RIG *rig) { int retval = RIG_OK; + hamlib_port_t *rp = RIGPORT(rig); ENTERFUNC; unsigned char cmd[] = { 0x2B, 0x41, 0x44, 0x41, 0x54, 0x41, 0x3A, 0x30, 0x30, 0x2C, 0x30, 0x30, 0x31, 0x0d, 0x0a, 'a', 0x0d, 0x0a }; - write_block(&rig->state.rigport, cmd, sizeof(cmd)); + write_block(rp, cmd, sizeof(cmd)); hl_usleep(500 * 1000); char cmd2[64]; SNPRINTF(cmd2, sizeof(cmd2), "+ADATA:00,016\r\n%cD578UV COM MODE\r\n", 0x01); - write_block(&rig->state.rigport, (unsigned char *)cmd2, strlen(cmd2)); + write_block(rp, (unsigned char *)cmd2, strlen(cmd2)); SNPRINTF(cmd2, sizeof(cmd2), "+ADATA:00,000\r\n"); unsigned char reply[512]; anytone_transaction(rig, (unsigned char *)cmd2, strlen(cmd2), reply, @@ -382,6 +384,7 @@ int anytone_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) { char cmd[32]; int retval; + hamlib_port_t *rp = RIGPORT(rig); SNPRINTF(cmd, sizeof(cmd), "+ADATA:00,006\r\n"); cmd[15] = 0x04; @@ -398,13 +401,13 @@ int anytone_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) int retry = 2; MUTEX_LOCK(p->priv.mutex); - rig_flush(&rig->state.rigport); + rig_flush(rp); do { - write_block(&rig->state.rigport, (unsigned char *)cmd, 25); + write_block(rp, (unsigned char *)cmd, 25); unsigned char buf[512]; - retval = read_block(&rig->state.rigport, buf, 138); + retval = read_block(rp, buf, 138); if (retval == 138) { @@ -423,6 +426,7 @@ int anytone_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) int anytone_set_freq(RIG *rig, vfo_t vfo, freq_t freq) { char cmd[64]; + hamlib_port_t *rp = RIGPORT(rig); if (vfo == RIG_VFO_A) { @@ -434,14 +438,14 @@ int anytone_set_freq(RIG *rig, vfo_t vfo, freq_t freq) } MUTEX_LOCK(p->priv.mutex); - rig_flush(&rig->state.rigport); - write_block(&rig->state.rigport, (unsigned char *) cmd, 20); + rig_flush(rp); + write_block(rp, (unsigned char *) cmd, 20); unsigned char backend[] = { 0x2f, 0x03, 0x00, 0xff, 0xff, 0xff, 0xff, 0x15, 0x50, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x09, 0x00, 0x00, 0x0d, 0x0a}; snprintf(cmd, sizeof(cmd), "ADATA:00,023\r\n"); int bytes = strlen(cmd) + sizeof(backend); memcpy(&cmd[15], backend, sizeof(backend)); hl_usleep(10 * 1000); - write_block(&rig->state.rigport, (unsigned char *)cmd, bytes); + write_block(rp, (unsigned char *)cmd, bytes); MUTEX_UNLOCK(p->priv.mutex); return -RIG_ENIMPL; diff --git a/rigs/barrett/barrett.c b/rigs/barrett/barrett.c index 7c5d1d998..b407322ff 100644 --- a/rigs/barrett/barrett.c +++ b/rigs/barrett/barrett.c @@ -58,12 +58,11 @@ DECLARE_INITRIG_BACKEND(barrett) int barrett_transaction2(RIG *rig, char *cmd, int expected, char **result) { char cmd_buf[MAXCMDLEN]; - struct rig_state *rs = &rig->state; struct barrett_priv_data *priv = rig->state.priv; int retval; SNPRINTF(cmd_buf, sizeof(cmd_buf), "%c%s%s", 0x0a, cmd, EOM); - retval = read_block(&rs->rigport, (unsigned char *) priv->ret_data, expected); + retval = read_block(RIGPORT(rig), (unsigned char *) priv->ret_data, expected); if (retval < 0) { @@ -80,7 +79,7 @@ int barrett_transaction(RIG *rig, char *cmd, int expected, char **result) char *p; char xon; char xoff; - struct rig_state *rs = &rig->state; + hamlib_port_t *rp = RIGPORT(rig); struct barrett_priv_data *priv = rig->state.priv; rig_debug(RIG_DEBUG_VERBOSE, "%s: cmd=%s\n", __func__, cmd); @@ -93,8 +92,8 @@ int barrett_transaction(RIG *rig, char *cmd, int expected, char **result) SNPRINTF(cmd_buf, sizeof(cmd_buf), "%s%s", cmd, EOM); } - rig_flush(&rs->rigport); - retval = write_block(&rs->rigport, (unsigned char *) cmd_buf, strlen(cmd_buf)); + rig_flush(rp); + retval = write_block(rp, (unsigned char *) cmd_buf, strlen(cmd_buf)); if (retval < 0) { @@ -104,7 +103,7 @@ int barrett_transaction(RIG *rig, char *cmd, int expected, char **result) if (expected == 0) { // response format is 0x11,data...,0x0d,0x0a,0x13 - retval = read_string(&rs->rigport, (unsigned char *) priv->ret_data, + retval = read_string(rp, (unsigned char *) priv->ret_data, sizeof(priv->ret_data), "\x11", 1, 0, 1); rig_debug(RIG_DEBUG_VERBOSE, "%s: resultlen=%d\n", __func__, @@ -118,7 +117,7 @@ int barrett_transaction(RIG *rig, char *cmd, int expected, char **result) } else { - retval = read_block(&rs->rigport, (unsigned char *) priv->ret_data, expected); + retval = read_block(rp, (unsigned char *) priv->ret_data, expected); if (retval < 0) { @@ -704,7 +703,7 @@ int barrett_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) int barrett_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) { char cmd_buf[MAXCMDLEN]; - struct rig_state *rs = &rig->state; + hamlib_port_t *rp = RIGPORT(rig); int retval; switch (level) @@ -716,8 +715,8 @@ int barrett_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) default: return -RIG_ENIMPL; } - rig_flush(&rs->rigport); - retval = write_block(&rs->rigport, (unsigned char *) cmd_buf, strlen(cmd_buf)); + rig_flush(rp); + retval = write_block(rp, (unsigned char *) cmd_buf, strlen(cmd_buf)); if (retval < 0) { diff --git a/rigs/codan/codan.c b/rigs/codan/codan.c index f419b61b9..6f9fc1cb8 100644 --- a/rigs/codan/codan.c +++ b/rigs/codan/codan.c @@ -46,7 +46,7 @@ int codan_transaction(RIG *rig, char *cmd, int expected, char **result) { char cmd_buf[MAXCMDLEN]; int retval; - struct rig_state *rs = &rig->state; + hamlib_port_t *rp = RIGPORT(rig); struct codan_priv_data *priv = rig->state.priv; //int retry = 3; @@ -54,8 +54,8 @@ int codan_transaction(RIG *rig, char *cmd, int expected, char **result) SNPRINTF(cmd_buf, sizeof(cmd_buf), "%s%s", cmd, EOM); - rig_flush(&rs->rigport); - retval = write_block(&rs->rigport, (unsigned char *) cmd_buf, strlen(cmd_buf)); + rig_flush(rp); + retval = write_block(rp, (unsigned char *) cmd_buf, strlen(cmd_buf)); hl_usleep(rig->caps->post_write_delay); if (retval < 0) @@ -66,7 +66,7 @@ int codan_transaction(RIG *rig, char *cmd, int expected, char **result) if (expected == 0) { // response format is response...0x0d0x0a - retval = read_string(&rs->rigport, (unsigned char *) priv->ret_data, + retval = read_string(rp, (unsigned char *) priv->ret_data, sizeof(priv->ret_data), "\x0a", 1, 0, 1); rig_debug(RIG_DEBUG_VERBOSE, "%s: result=%s, resultlen=%d\n", __func__, @@ -79,7 +79,7 @@ int codan_transaction(RIG *rig, char *cmd, int expected, char **result) } else { - retval = read_string(&rs->rigport, (unsigned char *) priv->ret_data, + retval = read_string(rp, (unsigned char *) priv->ret_data, sizeof(priv->ret_data), "\x0a", 1, 0, 1); @@ -91,7 +91,7 @@ int codan_transaction(RIG *rig, char *cmd, int expected, char **result) if (strncmp(priv->ret_data, "LEVELS:", 7) == 0) { rig_debug(RIG_DEBUG_VERBOSE, "%s: %s\n", __func__, priv->ret_data); - retval = read_string(&rs->rigport, (unsigned char *) priv->ret_data, + retval = read_string(rp, (unsigned char *) priv->ret_data, sizeof(priv->ret_data), "\x0a", 1, 0, 1); rig_debug(RIG_DEBUG_VERBOSE, "%s: %s\n", __func__, priv->ret_data); @@ -105,7 +105,7 @@ int codan_transaction(RIG *rig, char *cmd, int expected, char **result) && sscanf(priv->ret_data, "%d:%d:%d", &hr, &min, &sec) != 3) { char tmpbuf[256]; - retval = read_string(&rs->rigport, (unsigned char *) tmpbuf, + retval = read_string(rp, (unsigned char *) tmpbuf, sizeof(priv->ret_data), "\x0a", 1, 0, 1); diff --git a/src/rig.c b/src/rig.c index a2c707457..225910513 100644 --- a/src/rig.c +++ b/src/rig.c @@ -3301,6 +3301,7 @@ int HAMLIB_API rig_set_vfo(RIG *rig, vfo_t vfo) int HAMLIB_API rig_get_vfo(RIG *rig, vfo_t *vfo) { const struct rig_caps *caps; + struct rig_cache *cachep = CACHE(rig); int retcode = -RIG_EINTERNAL; int cache_ms;