Change #warn on get_channel to RIG_ENIMPL errors

This needs to be validated on the rigs to see the individual behavior
It only gives an error when read_only=0, read_only=1 does not give any error
We want the behavior of actually setting the rig display to be based on this flag
https://github.com/Hamlib/Hamlib/issues/227
pull/252/head
mdblack98 2020-05-06 08:06:14 -05:00
rodzic f8321a36f4
commit 8ad431a344
21 zmienionych plików z 65 dodań i 41 usunięć

2
NEWS
Wyświetl plik

@ -24,6 +24,8 @@ Version 4.0
* rigctl(d) f command also returns VFO now
* caching of vfo, frequency, mode, and ptt speeds up rigctld for all
* caching of kenwood/yaesu "IF" speeds up polling from WSJTX/JTDX
* rig_get_channel now has read_only flag but it still needs to be implemented based on rig behavior
* So if you use rig_get_channel you may get a RIG_ENIMPL error to contact us for fixing it
Version 3.3
2018-08-12

Wyświetl plik

@ -1330,11 +1330,12 @@ int aor_get_channel(RIG *rig, channel_t *chan, int read_only)
retval = parse_chan_line(rig, chan, chanbuf, mem_caps);
#warning Need to add setting rig to channel values
if (!read_only)
{
// Set rig to channel values
rig_debug(RIG_DEBUG_ERR, "%s: please contact hamlib mailing list to implement this\n", __func__);
rig_debug(RIG_DEBUG_ERR, "%s: need to know if rig updates when channel read or not\n", __func__);
return -RIG_ENIMPL;
}
return retval;

Wyświetl plik

@ -805,11 +805,12 @@ int ar3030_get_channel(RIG *rig, channel_t *chan, int read_only)
chan->levels[LVL_AGC].i = infobuf[8] == '0' ? RIG_AGC_SLOW : RIG_AGC_FAST;
chan->flags = infobuf[4] == '1' ? RIG_CHFLAG_SKIP : RIG_CHFLAG_NONE;
#warning Need to add setting rig to channel values
if (!read_only)
{
// Set rig to channel values
rig_debug(RIG_DEBUG_ERR, "%s: please contact hamlib mailing list to implement this\n", __func__);
rig_debug(RIG_DEBUG_ERR, "%s: need to know if rig updates when channel read or not\n", __func__);
return -RIG_ENIMPL;
}
return RIG_OK;

Wyświetl plik

@ -1754,11 +1754,12 @@ static int ar7030p_get_channel(RIG *rig, channel_t *chan, int read_only)
rc = lockRx(rig, LOCK_0);
}
#warning Need to add setting rig to channel values
if (!read_only)
{
// Set rig to channel values
rig_debug(RIG_DEBUG_ERR, "%s: please contact hamlib mailing list to implement this\n", __func__);
rig_debug(RIG_DEBUG_ERR, "%s: need to know if rig updates when channel read or not\n", __func__);
return -RIG_ENIMPL;
}
return (rc);

Wyświetl plik

@ -1053,11 +1053,12 @@ int ic746pro_get_channel(RIG *rig, channel_t *chan, int read_only)
chan->channel_desc);
}
#warning Need to add setting rig to channel values
if (!read_only)
{
// Set rig to channel values
rig_debug(RIG_DEBUG_ERR, "%s: please contact hamlib mailing list to implement this\n", __func__);
rig_debug(RIG_DEBUG_ERR, "%s: need to know if rig updates when channel read or not\n", __func__);
return -RIG_ENIMPL;
}
return RIG_OK;

Wyświetl plik

@ -416,11 +416,12 @@ int icr75_get_channel(RIG *rig, channel_t *chan, int read_only)
strncpy(chan->channel_desc, (char *)(chanbuf + chan_len), 8);
}
#warning Need to add setting rig to channel values
if (!read_only)
{
// Set rig to channel values
rig_debug(RIG_DEBUG_ERR, "%s: please contact hamlib mailing list to implement this\n", __func__);
rig_debug(RIG_DEBUG_ERR, "%s: need to know if rig updates when channel read or not\n", __func__);
return -RIG_ENIMPL;
}
return RIG_OK;

Wyświetl plik

@ -717,11 +717,12 @@ int ic10_get_channel(RIG *rig, channel_t *chan, int read_only)
}
}
#warning Need to add setting rig to channel values
if (!read_only)
{
// Set rig to channel values
rig_debug(RIG_DEBUG_ERR, "%s: please contact hamlib mailing list to implement this\n", __func__);
rig_debug(RIG_DEBUG_ERR, "%s: need to know if rig updates when channel read or not\n", __func__);
return -RIG_ENIMPL;
}
return RIG_OK;

Wyświetl plik

@ -3917,11 +3917,12 @@ int kenwood_get_channel(RIG *rig, channel_t *chan, int read_only)
chan->split = RIG_SPLIT_ON;
}
#warning Need to add setting rig to channel values
if (!read_only)
{
// Set rig to channel values
rig_debug(RIG_DEBUG_ERR, "%s: please contact hamlib mailing list to implement this\n", __func__);
rig_debug(RIG_DEBUG_ERR, "%s: need to know if rig updates when channel read or not\n", __func__);
return -RIG_ENIMPL;
}
return RIG_OK;

Wyświetl plik

@ -566,11 +566,12 @@ int pihspdr_get_channel(RIG *rig, channel_t *chan, int read_only)
chan->split = RIG_SPLIT_ON;
}
#warning Need to add setting rig to channel values
if (!read_only)
{
// Set rig to channel values
rig_debug(RIG_DEBUG_ERR, "%s: please contact hamlib mailing list to implement this\n", __func__);
rig_debug(RIG_DEBUG_ERR, "%s: need to know if rig updates when channel read or not\n", __func__);
return -RIG_ENIMPL;
}
return RIG_OK;

Wyświetl plik

@ -2226,11 +2226,12 @@ int th_get_channel(RIG *rig, channel_t *chan, int read_only)
chan->channel_desc[ack_len] = '\0';
}
#warning Need to add setting rig to channel values
if (!read_only)
{
// Set rig to channel values
rig_debug(RIG_DEBUG_ERR, "%s: please contact hamlib mailing list to implement this\n", __func__);
rig_debug(RIG_DEBUG_ERR, "%s: need to know if rig updates when channel read or not\n", __func__);
return -RIG_ENIMPL;
}
return RIG_OK;

Wyświetl plik

@ -1407,11 +1407,12 @@ static int thd72_get_channel(RIG *rig, channel_t *chan, int read_only)
return thd72_parse_channel(0, buf, chan);
}
#warning Need to add setting rig to channel values
if (!read_only)
{
// Set rig to channel values
rig_debug(RIG_DEBUG_ERR, "%s: please contact hamlib mailing list to implement this\n", __func__);
rig_debug(RIG_DEBUG_ERR, "%s: need to know if rig updates when channel read or not\n", __func__);
return -RIG_ENIMPL;
}
return RIG_OK;

Wyświetl plik

@ -1324,11 +1324,12 @@ static int thd74_get_channel(RIG *rig, channel_t *chan, int read_only)
return thd74_parse_channel(0, buf, chan);
}
#warning Need to add setting rig to channel values
if (!read_only)
{
// Set rig to channel values
rig_debug(RIG_DEBUG_ERR, "%s: please contact hamlib mailing list to implement this\n", __func__);
rig_debug(RIG_DEBUG_ERR, "%s: need to know if rig updates when channel read or not\n", __func__);
return -RIG_ENIMPL;
}
return RIG_OK;

Wyświetl plik

@ -1933,11 +1933,12 @@ int tmd710_get_channel(RIG *rig, channel_t *chan, int read_only)
// TODO: chan->levels
chan->ext_levels = NULL;
#warning Need to add setting rig to channel values
if (!read_only)
{
// Set rig to channel values
rig_debug(RIG_DEBUG_ERR, "%s: please contact hamlib mailing list to implement this\n", __func__);
rig_debug(RIG_DEBUG_ERR, "%s: need to know if rig updates when channel read or not\n", __func__);
return -RIG_ENIMPL;
}
return RIG_OK;

Wyświetl plik

@ -649,11 +649,12 @@ int tmv7_get_channel(RIG *rig, channel_t *chan, int read_only)
memcpy(chan->channel_desc, &ackbuf[10], 7);
}
#warning Need to add setting rig to channel values
if (!read_only)
{
// Set rig to channel values
rig_debug(RIG_DEBUG_ERR, "%s: please contact hamlib mailing list to implement this\n", __func__);
rig_debug(RIG_DEBUG_ERR, "%s: need to know if rig updates when channel read or not\n", __func__);
return -RIG_ENIMPL;
}
return RIG_OK;

Wyświetl plik

@ -593,11 +593,12 @@ int ts2000_get_channel(RIG *rig, channel_t *chan, int read_only)
chan->split = RIG_SPLIT_ON;
}
#warning Need to add setting rig to channel values
if (!read_only)
{
// Set rig to channel values
rig_debug(RIG_DEBUG_ERR, "%s: please contact hamlib mailing list to implement this\n", __func__);
rig_debug(RIG_DEBUG_ERR, "%s: need to know if rig updates when channel read or not\n", __func__);
return -RIG_ENIMPL;
}
return RIG_OK;

Wyświetl plik

@ -329,11 +329,12 @@ int prm80_get_channel(RIG *rig, channel_t *chan, int read_only)
chan->tx_freq = ((hhtoi(statebuf + 16) << 8) + hhtoi(statebuf + 18)) * 12500;
chan->rptr_offs = chan->tx_freq - chan->freq;
#warning Need to add setting rig to channel values
if (!read_only)
{
// Set rig to channel values
rig_debug(RIG_DEBUG_ERR, "%s: please contact hamlib mailing list to implement this\n", __func__);
rig_debug(RIG_DEBUG_ERR, "%s: need to know if rig updates when channel read or not\n", __func__);
return -RIG_ENIMPL;
}
return RIG_OK;

Wyświetl plik

@ -641,11 +641,12 @@ int uniden_get_channel(RIG *rig, channel_t *chan, int read_only)
strncpy(chan->channel_desc, membuf + 9, rig->caps->chan_desc_sz);
}
#warning Need to add setting rig to channel values
if (!read_only)
{
// Set rig to channel values
rig_debug(RIG_DEBUG_ERR, "%s: please contact hamlib mailing list to implement this\n", __func__);
rig_debug(RIG_DEBUG_ERR, "%s: need to know if rig updates when channel read or not\n", __func__);
return -RIG_ENIMPL;
}
return RIG_OK;

Wyświetl plik

@ -3168,11 +3168,12 @@ int ft1000d_get_channel(RIG *rig, channel_t *chan, int read_only)
chan->flags |= RIG_CHFLAG_SKIP;
}
#warning Need to add setting rig to channel values
if (!read_only)
{
// Set rig to channel values
rig_debug(RIG_DEBUG_ERR, "%s: please contact hamlib mailing list to implement this\n", __func__);
rig_debug(RIG_DEBUG_ERR, "%s: need to know if rig updates when channel read or not\n", __func__);
return -RIG_ENIMPL;
}
return RIG_OK;

Wyświetl plik

@ -3115,11 +3115,12 @@ int ft990_get_channel(RIG *rig, channel_t *chan, int read_only)
chan->flags |= RIG_CHFLAG_SKIP;
}
#warning Need to add setting rig to channel values
if (!read_only)
{
// Set rig to channel values
rig_debug(RIG_DEBUG_ERR, "%s: please contact hamlib mailing list to implement this\n", __func__);
rig_debug(RIG_DEBUG_ERR, "%s: need to know if rig updates when channel read or not\n", __func__);
return -RIG_ENIMPL;
}
return RIG_OK;

Wyświetl plik

@ -4443,11 +4443,12 @@ int newcat_get_channel(RIG *rig, channel_t *chan, int read_only)
retval = priv->ret_data + 5;
chan->freq = atof(retval);
#warning Need to add setting rig to channel values
if (!read_only)
{
// Set rig to channel values
rig_debug(RIG_DEBUG_ERR, "%s: please contact hamlib mailing list to implement this\n", __func__);
rig_debug(RIG_DEBUG_ERR, "%s: need to know if rig updates when channel read or not\n", __func__);
return -RIG_ENIMPL;
}
return RIG_OK;

Wyświetl plik

@ -283,8 +283,8 @@ static struct test_table test_list[] =
{ 't', "get_ptt", ACTION(get_ptt), ARG_OUT, "PTT" },
{ 'E', "set_mem", ACTION(set_mem), ARG_IN, "Memory#" },
{ 'e', "get_mem", ACTION(get_mem), ARG_OUT, "Memory#" },
{ 'H', "set_channel", ACTION(set_channel), ARG_IN | ARG_NOVFO, "Channel" },
{ 'h', "get_channel", ACTION(get_channel), ARG_IN | ARG_NOVFO, "Channel" },
{ 'H', "set_channel", ACTION(set_channel), ARG_IN | ARG_NOVFO, "Channel"},
{ 'h', "get_channel", ACTION(get_channel), ARG_IN | ARG_NOVFO, "Channel", "Read Only" },
{ 'B', "set_bank", ACTION(set_bank), ARG_IN, "Bank" },
{ '_', "get_info", ACTION(get_info), ARG_OUT | ARG_NOVFO, "Info" },
{ 'J', "set_rit", ACTION(set_rit), ARG_IN, "RIT" },
@ -3607,6 +3607,7 @@ declare_proto_rig(set_channel)
declare_proto_rig(get_channel)
{
int status;
int read_only = 0;
channel_t chan;
memset(&chan, 0, sizeof(channel_t));
@ -3622,7 +3623,9 @@ declare_proto_rig(get_channel)
chan.channel_num = 0;
}
status = rig_get_channel(rig, &chan, 0);
CHKSCN1ARG(sscanf(arg2, "%d", &read_only));
status = rig_get_channel(rig, &chan, read_only);
if (status != RIG_OK)
{