kopia lustrzana https://github.com/Hamlib/Hamlib
Port rigs/anytone/, rigs/barrett/ and rigs/codan/
Fixup git rebase SMerge error.pull/1508/head
rodzic
02f0ad067a
commit
23d5d53248
|
@ -97,6 +97,7 @@ DECLARE_PROBERIG_BACKEND(anytone)
|
||||||
void *anytone_thread(void *vrig)
|
void *anytone_thread(void *vrig)
|
||||||
{
|
{
|
||||||
RIG *rig = (RIG *)vrig;
|
RIG *rig = (RIG *)vrig;
|
||||||
|
hamlib_port_t *rp = RIGPORT(rig);
|
||||||
anytone_priv_data_t *p = rig->state.priv;
|
anytone_priv_data_t *p = rig->state.priv;
|
||||||
rig_debug(RIG_DEBUG_TRACE, "%s: anytone_thread started\n", __func__);
|
rig_debug(RIG_DEBUG_TRACE, "%s: anytone_thread started\n", __func__);
|
||||||
p->runflag = 1;
|
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
|
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];
|
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)
|
if (rig_need_debug(RIG_DEBUG_CACHE) == 0)
|
||||||
{
|
{
|
||||||
|
@ -138,13 +139,13 @@ int anytone_send(RIG *rig,
|
||||||
unsigned char *cmd, int cmd_len)
|
unsigned char *cmd, int cmd_len)
|
||||||
{
|
{
|
||||||
int retval = RIG_OK;
|
int retval = RIG_OK;
|
||||||
struct rig_state *rs = &rig->state;
|
hamlib_port_t *rp = RIGPORT(rig);
|
||||||
|
|
||||||
ENTERFUNC;
|
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);
|
cmd_len);
|
||||||
|
|
||||||
RETURNFUNC(retval);
|
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 anytone_receive(RIG *rig, unsigned char *buf, int buf_len, int expected)
|
||||||
{
|
{
|
||||||
int retval = RIG_OK;
|
int retval = RIG_OK;
|
||||||
struct rig_state *rs = &rig->state;
|
hamlib_port_t *rp = RIGPORT(rig);
|
||||||
|
|
||||||
ENTERFUNC;
|
ENTERFUNC;
|
||||||
|
|
||||||
// retval = read_string(&rs->rigport, (unsigned char *) buf, buf_len,
|
// retval = read_string(rp, (unsigned char *) buf, buf_len,
|
||||||
// NULL, 0, 0, expected);
|
// NULL, 0, 0, expected);
|
||||||
retval = read_block(&rs->rigport, buf, expected);
|
retval = read_block(rp, buf, expected);
|
||||||
|
|
||||||
if (retval > 0)
|
if (retval > 0)
|
||||||
{
|
{
|
||||||
|
@ -257,15 +258,16 @@ int anytone_cleanup(RIG *rig)
|
||||||
int anytone_open(RIG *rig)
|
int anytone_open(RIG *rig)
|
||||||
{
|
{
|
||||||
int retval = RIG_OK;
|
int retval = RIG_OK;
|
||||||
|
hamlib_port_t *rp = RIGPORT(rig);
|
||||||
|
|
||||||
ENTERFUNC;
|
ENTERFUNC;
|
||||||
|
|
||||||
unsigned char cmd[] = { 0x2B, 0x41, 0x44, 0x41, 0x54, 0x41, 0x3A, 0x30, 0x30, 0x2C, 0x30, 0x30, 0x31, 0x0d, 0x0a, 'a', 0x0d, 0x0a };
|
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);
|
hl_usleep(500 * 1000);
|
||||||
char cmd2[64];
|
char cmd2[64];
|
||||||
SNPRINTF(cmd2, sizeof(cmd2), "+ADATA:00,016\r\n%cD578UV COM MODE\r\n", 0x01);
|
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");
|
SNPRINTF(cmd2, sizeof(cmd2), "+ADATA:00,000\r\n");
|
||||||
unsigned char reply[512];
|
unsigned char reply[512];
|
||||||
anytone_transaction(rig, (unsigned char *)cmd2, strlen(cmd2), reply,
|
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];
|
char cmd[32];
|
||||||
int retval;
|
int retval;
|
||||||
|
hamlib_port_t *rp = RIGPORT(rig);
|
||||||
|
|
||||||
SNPRINTF(cmd, sizeof(cmd), "+ADATA:00,006\r\n");
|
SNPRINTF(cmd, sizeof(cmd), "+ADATA:00,006\r\n");
|
||||||
cmd[15] = 0x04;
|
cmd[15] = 0x04;
|
||||||
|
@ -398,13 +401,13 @@ int anytone_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
|
||||||
|
|
||||||
int retry = 2;
|
int retry = 2;
|
||||||
MUTEX_LOCK(p->priv.mutex);
|
MUTEX_LOCK(p->priv.mutex);
|
||||||
rig_flush(&rig->state.rigport);
|
rig_flush(rp);
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
write_block(&rig->state.rigport, (unsigned char *)cmd, 25);
|
write_block(rp, (unsigned char *)cmd, 25);
|
||||||
unsigned char buf[512];
|
unsigned char buf[512];
|
||||||
retval = read_block(&rig->state.rigport, buf, 138);
|
retval = read_block(rp, buf, 138);
|
||||||
|
|
||||||
if (retval == 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)
|
int anytone_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
||||||
{
|
{
|
||||||
char cmd[64];
|
char cmd[64];
|
||||||
|
hamlib_port_t *rp = RIGPORT(rig);
|
||||||
|
|
||||||
if (vfo == RIG_VFO_A)
|
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);
|
MUTEX_LOCK(p->priv.mutex);
|
||||||
rig_flush(&rig->state.rigport);
|
rig_flush(rp);
|
||||||
write_block(&rig->state.rigport, (unsigned char *) cmd, 20);
|
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};
|
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");
|
snprintf(cmd, sizeof(cmd), "ADATA:00,023\r\n");
|
||||||
int bytes = strlen(cmd) + sizeof(backend);
|
int bytes = strlen(cmd) + sizeof(backend);
|
||||||
memcpy(&cmd[15], backend, sizeof(backend));
|
memcpy(&cmd[15], backend, sizeof(backend));
|
||||||
hl_usleep(10 * 1000);
|
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);
|
MUTEX_UNLOCK(p->priv.mutex);
|
||||||
|
|
||||||
return -RIG_ENIMPL;
|
return -RIG_ENIMPL;
|
||||||
|
|
|
@ -58,12 +58,11 @@ DECLARE_INITRIG_BACKEND(barrett)
|
||||||
int barrett_transaction2(RIG *rig, char *cmd, int expected, char **result)
|
int barrett_transaction2(RIG *rig, char *cmd, int expected, char **result)
|
||||||
{
|
{
|
||||||
char cmd_buf[MAXCMDLEN];
|
char cmd_buf[MAXCMDLEN];
|
||||||
struct rig_state *rs = &rig->state;
|
|
||||||
struct barrett_priv_data *priv = rig->state.priv;
|
struct barrett_priv_data *priv = rig->state.priv;
|
||||||
int retval;
|
int retval;
|
||||||
|
|
||||||
SNPRINTF(cmd_buf, sizeof(cmd_buf), "%c%s%s", 0x0a, cmd, EOM);
|
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)
|
if (retval < 0)
|
||||||
{
|
{
|
||||||
|
@ -80,7 +79,7 @@ int barrett_transaction(RIG *rig, char *cmd, int expected, char **result)
|
||||||
char *p;
|
char *p;
|
||||||
char xon;
|
char xon;
|
||||||
char xoff;
|
char xoff;
|
||||||
struct rig_state *rs = &rig->state;
|
hamlib_port_t *rp = RIGPORT(rig);
|
||||||
struct barrett_priv_data *priv = rig->state.priv;
|
struct barrett_priv_data *priv = rig->state.priv;
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s: cmd=%s\n", __func__, cmd);
|
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);
|
SNPRINTF(cmd_buf, sizeof(cmd_buf), "%s%s", cmd, EOM);
|
||||||
}
|
}
|
||||||
|
|
||||||
rig_flush(&rs->rigport);
|
rig_flush(rp);
|
||||||
retval = write_block(&rs->rigport, (unsigned char *) cmd_buf, strlen(cmd_buf));
|
retval = write_block(rp, (unsigned char *) cmd_buf, strlen(cmd_buf));
|
||||||
|
|
||||||
if (retval < 0)
|
if (retval < 0)
|
||||||
{
|
{
|
||||||
|
@ -104,7 +103,7 @@ int barrett_transaction(RIG *rig, char *cmd, int expected, char **result)
|
||||||
if (expected == 0)
|
if (expected == 0)
|
||||||
{
|
{
|
||||||
// response format is 0x11,data...,0x0d,0x0a,0x13
|
// 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),
|
sizeof(priv->ret_data),
|
||||||
"\x11", 1, 0, 1);
|
"\x11", 1, 0, 1);
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s: resultlen=%d\n", __func__,
|
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
|
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)
|
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)
|
int barrett_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
|
||||||
{
|
{
|
||||||
char cmd_buf[MAXCMDLEN];
|
char cmd_buf[MAXCMDLEN];
|
||||||
struct rig_state *rs = &rig->state;
|
hamlib_port_t *rp = RIGPORT(rig);
|
||||||
int retval;
|
int retval;
|
||||||
|
|
||||||
switch (level)
|
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;
|
default: return -RIG_ENIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
rig_flush(&rs->rigport);
|
rig_flush(rp);
|
||||||
retval = write_block(&rs->rigport, (unsigned char *) cmd_buf, strlen(cmd_buf));
|
retval = write_block(rp, (unsigned char *) cmd_buf, strlen(cmd_buf));
|
||||||
|
|
||||||
if (retval < 0)
|
if (retval < 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -46,7 +46,7 @@ int codan_transaction(RIG *rig, char *cmd, int expected, char **result)
|
||||||
{
|
{
|
||||||
char cmd_buf[MAXCMDLEN];
|
char cmd_buf[MAXCMDLEN];
|
||||||
int retval;
|
int retval;
|
||||||
struct rig_state *rs = &rig->state;
|
hamlib_port_t *rp = RIGPORT(rig);
|
||||||
struct codan_priv_data *priv = rig->state.priv;
|
struct codan_priv_data *priv = rig->state.priv;
|
||||||
//int retry = 3;
|
//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);
|
SNPRINTF(cmd_buf, sizeof(cmd_buf), "%s%s", cmd, EOM);
|
||||||
|
|
||||||
rig_flush(&rs->rigport);
|
rig_flush(rp);
|
||||||
retval = write_block(&rs->rigport, (unsigned char *) cmd_buf, strlen(cmd_buf));
|
retval = write_block(rp, (unsigned char *) cmd_buf, strlen(cmd_buf));
|
||||||
hl_usleep(rig->caps->post_write_delay);
|
hl_usleep(rig->caps->post_write_delay);
|
||||||
|
|
||||||
if (retval < 0)
|
if (retval < 0)
|
||||||
|
@ -66,7 +66,7 @@ int codan_transaction(RIG *rig, char *cmd, int expected, char **result)
|
||||||
if (expected == 0)
|
if (expected == 0)
|
||||||
{
|
{
|
||||||
// response format is response...0x0d0x0a
|
// 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),
|
sizeof(priv->ret_data),
|
||||||
"\x0a", 1, 0, 1);
|
"\x0a", 1, 0, 1);
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s: result=%s, resultlen=%d\n", __func__,
|
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
|
else
|
||||||
{
|
{
|
||||||
retval = read_string(&rs->rigport, (unsigned char *) priv->ret_data,
|
retval = read_string(rp, (unsigned char *) priv->ret_data,
|
||||||
sizeof(priv->ret_data),
|
sizeof(priv->ret_data),
|
||||||
"\x0a", 1, 0, 1);
|
"\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)
|
if (strncmp(priv->ret_data, "LEVELS:", 7) == 0)
|
||||||
{
|
{
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s: %s\n", __func__, priv->ret_data);
|
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),
|
sizeof(priv->ret_data),
|
||||||
"\x0a", 1, 0, 1);
|
"\x0a", 1, 0, 1);
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s: %s\n", __func__, priv->ret_data);
|
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)
|
&& sscanf(priv->ret_data, "%d:%d:%d", &hr, &min, &sec) != 3)
|
||||||
{
|
{
|
||||||
char tmpbuf[256];
|
char tmpbuf[256];
|
||||||
retval = read_string(&rs->rigport, (unsigned char *) tmpbuf,
|
retval = read_string(rp, (unsigned char *) tmpbuf,
|
||||||
sizeof(priv->ret_data),
|
sizeof(priv->ret_data),
|
||||||
"\x0a", 1, 0, 1);
|
"\x0a", 1, 0, 1);
|
||||||
|
|
||||||
|
|
|
@ -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)
|
int HAMLIB_API rig_get_vfo(RIG *rig, vfo_t *vfo)
|
||||||
{
|
{
|
||||||
const struct rig_caps *caps;
|
const struct rig_caps *caps;
|
||||||
|
struct rig_cache *cachep = CACHE(rig);
|
||||||
int retcode = -RIG_EINTERNAL;
|
int retcode = -RIG_EINTERNAL;
|
||||||
int cache_ms;
|
int cache_ms;
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue