kopia lustrzana https://github.com/Hamlib/Hamlib
Add some dumpcaps values to allow for set/get_freq and set/get_vfo functions
https://github.com/Hamlib/Hamlib/issues/490pull/506/head
rodzic
6a52370531
commit
0089964af7
|
@ -578,7 +578,28 @@ static int netrigctl_open(RIG *rig)
|
||||||
}
|
}
|
||||||
else if (strcmp(setting, "targetable_vfo") == 0)
|
else if (strcmp(setting, "targetable_vfo") == 0)
|
||||||
{
|
{
|
||||||
rig->caps->targetable_vfo = strtol(value, NULL, 0);
|
int has = strtol(value, NULL, 0);
|
||||||
|
if (!has) rig->caps->targetable_vfo = strtol(value, NULL, 0);
|
||||||
|
}
|
||||||
|
else if (strcmp(setting, "has_set_vfo") == 0)
|
||||||
|
{
|
||||||
|
int has = strtol(value, NULL, 0);
|
||||||
|
if (!has) rig->caps->set_vfo = NULL;
|
||||||
|
}
|
||||||
|
else if (strcmp(setting, "has_get_vfo") == 0)
|
||||||
|
{
|
||||||
|
int has = strtol(value, NULL, 0);
|
||||||
|
if (!has) rig->caps->get_vfo = NULL;
|
||||||
|
}
|
||||||
|
else if (strcmp(setting, "has_set_freq") == 0)
|
||||||
|
{
|
||||||
|
int has = strtol(value, NULL, 0);
|
||||||
|
if (!has) rig->caps->set_freq = NULL;
|
||||||
|
}
|
||||||
|
else if (strcmp(setting, "has_get_freq") == 0)
|
||||||
|
{
|
||||||
|
int has = strtol(value, NULL, 0);
|
||||||
|
if (!has) rig->caps->get_freq= NULL;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -775,12 +796,11 @@ static int netrigctl_set_vfo(RIG *rig, vfo_t vfo)
|
||||||
char cmd[CMD_MAX];
|
char cmd[CMD_MAX];
|
||||||
char buf[BUF_MAX];
|
char buf[BUF_MAX];
|
||||||
char vfostr[16] = "";
|
char vfostr[16] = "";
|
||||||
|
struct netrigctl_priv_data *priv;
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
||||||
|
|
||||||
//ret = netrigctl_vfostr(rig, vfostr, sizeof(vfostr), RIG_VFO_A);
|
priv = (struct netrigctl_priv_data *)rig->state.priv;
|
||||||
|
|
||||||
//if (ret != RIG_OK) { return ret; }
|
|
||||||
|
|
||||||
len = sprintf(cmd, "V%s %s\n", vfostr, rig_strvfo(vfo));
|
len = sprintf(cmd, "V%s %s\n", vfostr, rig_strvfo(vfo));
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s: cmd='%s'\n", __func__, cmd);
|
rig_debug(RIG_DEBUG_VERBOSE, "%s: cmd='%s'\n", __func__, cmd);
|
||||||
|
@ -790,10 +810,9 @@ static int netrigctl_set_vfo(RIG *rig, vfo_t vfo)
|
||||||
{
|
{
|
||||||
return -RIG_EPROTO;
|
return -RIG_EPROTO;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
priv->vfo_curr = vfo; // remember our vfo
|
||||||
return ret;
|
return ret;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -817,7 +836,12 @@ static int netrigctl_get_vfo(RIG *rig, vfo_t *vfo)
|
||||||
|
|
||||||
ret = netrigctl_transaction(rig, cmd, len, buf);
|
ret = netrigctl_transaction(rig, cmd, len, buf);
|
||||||
|
|
||||||
if (ret == -RIG_ENAVAIL) { return ret; }
|
if (ret == -RIG_ENAVAIL || ret == -RIG_ENIMPL)
|
||||||
|
{
|
||||||
|
// for rigs without get_vfo we'll use our saved vfo
|
||||||
|
*vfo = priv->vfo_curr;
|
||||||
|
return RIG_OK;
|
||||||
|
}
|
||||||
|
|
||||||
if (ret <= 0)
|
if (ret <= 0)
|
||||||
{
|
{
|
||||||
|
@ -2255,7 +2279,7 @@ struct rig_caps netrigctl_caps =
|
||||||
RIG_MODEL(RIG_MODEL_NETRIGCTL),
|
RIG_MODEL(RIG_MODEL_NETRIGCTL),
|
||||||
.model_name = "NET rigctl",
|
.model_name = "NET rigctl",
|
||||||
.mfg_name = "Hamlib",
|
.mfg_name = "Hamlib",
|
||||||
.version = "20200503.0",
|
.version = "20210108.0",
|
||||||
.copyright = "LGPL",
|
.copyright = "LGPL",
|
||||||
.status = RIG_STATUS_STABLE,
|
.status = RIG_STATUS_STABLE,
|
||||||
.rig_type = RIG_TYPE_OTHER,
|
.rig_type = RIG_TYPE_OTHER,
|
||||||
|
|
|
@ -4109,6 +4109,10 @@ declare_proto_rig(dump_state)
|
||||||
fprintf(fout, "vfo_ops=0x%x\n", rig->caps->vfo_ops);
|
fprintf(fout, "vfo_ops=0x%x\n", rig->caps->vfo_ops);
|
||||||
fprintf(fout, "ptt_type=0x%x\n", rig->state.pttport.type.ptt);
|
fprintf(fout, "ptt_type=0x%x\n", rig->state.pttport.type.ptt);
|
||||||
fprintf(fout, "targetable_vfo=0x%x\n", rig->caps->targetable_vfo);
|
fprintf(fout, "targetable_vfo=0x%x\n", rig->caps->targetable_vfo);
|
||||||
|
fprintf(fout, "has_set_vfo=%d\n", rig->caps->set_vfo!=NULL);
|
||||||
|
fprintf(fout, "has_get_vfo=%d\n", rig->caps->get_vfo!=NULL);
|
||||||
|
fprintf(fout, "has_set_freq=%d\n", rig->caps->set_freq!=NULL);
|
||||||
|
fprintf(fout, "has_get_freq=%d\n", rig->caps->get_freq!=NULL);
|
||||||
fprintf(fout, "done\n");
|
fprintf(fout, "done\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue