kopia lustrzana https://github.com/Hamlib/Hamlib
astyle files is preparation for 4.2 release
rodzic
288f82f963
commit
3bc39aaec1
|
@ -642,7 +642,8 @@ int aor_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
|
|||
}
|
||||
|
||||
/* should be caught by the front end */
|
||||
if ((val.i != 0) && (i >= HAMLIB_MAXDBLSTSIZ || RIG_IS_DBLST_END(rs->attenuator[i])))
|
||||
if ((val.i != 0) && (i >= HAMLIB_MAXDBLSTSIZ
|
||||
|| RIG_IS_DBLST_END(rs->attenuator[i])))
|
||||
{
|
||||
return -RIG_EINVAL;
|
||||
}
|
||||
|
|
|
@ -648,7 +648,8 @@ int sr2200_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
|
|||
}
|
||||
|
||||
/* should be caught by the front end */
|
||||
if ((val.i != 0) && (i >= HAMLIB_MAXDBLSTSIZ || RIG_IS_DBLST_END(rs->attenuator[i])))
|
||||
if ((val.i != 0) && (i >= HAMLIB_MAXDBLSTSIZ
|
||||
|| RIG_IS_DBLST_END(rs->attenuator[i])))
|
||||
{
|
||||
return -RIG_EINVAL;
|
||||
}
|
||||
|
|
|
@ -483,6 +483,7 @@ static int dummy_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
|||
{
|
||||
width = curr->width = rig_passband_normal(rig, mode);
|
||||
}
|
||||
|
||||
switch (vfo)
|
||||
{
|
||||
case RIG_VFO_A: priv->vfo_a.width = width; break;
|
||||
|
@ -504,7 +505,7 @@ static int dummy_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
|
|||
usleep(CMDSLEEP);
|
||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called: %s\n", __func__, rig_strvfo(vfo));
|
||||
|
||||
if (vfo == RIG_VFO_CURR) vfo = rig->state.current_vfo;
|
||||
if (vfo == RIG_VFO_CURR) { vfo = rig->state.current_vfo; }
|
||||
|
||||
switch (vfo)
|
||||
{
|
||||
|
@ -530,7 +531,7 @@ static int dummy_set_vfo(RIG *rig, vfo_t vfo)
|
|||
usleep(CMDSLEEP);
|
||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called: %s\n", __func__, rig_strvfo(vfo));
|
||||
|
||||
if (vfo == RIG_VFO_CURR) vfo = rig->state.current_vfo;
|
||||
if (vfo == RIG_VFO_CURR) { vfo = rig->state.current_vfo; }
|
||||
|
||||
priv->last_vfo = priv->curr_vfo;
|
||||
priv->curr_vfo = vfo;
|
||||
|
|
|
@ -432,7 +432,7 @@ static int read_transaction(RIG *rig, char *xml, int xml_len)
|
|||
{
|
||||
rig_debug(RIG_DEBUG_ERR, "%s: Expected 'HTTP/1.1 200 OK', got '%s'\n", __func__,
|
||||
tmp_buf);
|
||||
RETURNFUNC(-1);
|
||||
continue; // we'll try again
|
||||
}
|
||||
|
||||
if (len > 0) { retry = 3; }
|
||||
|
@ -756,6 +756,7 @@ static int flrig_open(RIG *rig)
|
|||
rigerror(retval));
|
||||
RETURNFUNC(retval);
|
||||
}
|
||||
|
||||
rig_debug(RIG_DEBUG_VERBOSE, "%s FlRig version %s\n", __func__, value);
|
||||
|
||||
retval = flrig_transaction(rig, "rig.get_xcvr", NULL, value, sizeof(value));
|
||||
|
@ -766,6 +767,7 @@ static int flrig_open(RIG *rig)
|
|||
rigerror(retval));
|
||||
RETURNFUNC(retval);
|
||||
}
|
||||
|
||||
retval = flrig_transaction(rig, "rig.get_xcvr", NULL, value, sizeof(value));
|
||||
|
||||
if (retval != RIG_OK)
|
||||
|
@ -774,6 +776,7 @@ static int flrig_open(RIG *rig)
|
|||
rigerror(retval));
|
||||
RETURNFUNC(retval);
|
||||
}
|
||||
|
||||
retval = flrig_transaction(rig, "rig.get_xcvr", NULL, value, sizeof(value));
|
||||
|
||||
if (retval != RIG_OK)
|
||||
|
@ -1002,6 +1005,7 @@ static int flrig_close(RIG *rig)
|
|||
static int flrig_cleanup(RIG *rig)
|
||||
{
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s\n", __func__);
|
||||
|
||||
if (!rig)
|
||||
{
|
||||
RETURNFUNC(-RIG_EINVAL);
|
||||
|
@ -1027,6 +1031,7 @@ static int flrig_cleanup(RIG *rig)
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
RETURNFUNC(RIG_OK);
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
#include <sys/time.h>
|
||||
#endif
|
||||
|
||||
#define BACKEND_VER "20210312"
|
||||
#define BACKEND_VER "20210315"
|
||||
|
||||
#define EOM "\r"
|
||||
#define TRUE 1
|
||||
|
|
|
@ -526,13 +526,15 @@ static int netrigctl_open(RIG *rig)
|
|||
gran_t parm_gran[RIG_SETTING_MAX]; /*!< parm granularity */
|
||||
#endif
|
||||
|
||||
for (i = 0; i < HAMLIB_FRQRANGESIZ && !RIG_IS_FRNG_END(rs->rx_range_list[i]); i++)
|
||||
for (i = 0; i < HAMLIB_FRQRANGESIZ
|
||||
&& !RIG_IS_FRNG_END(rs->rx_range_list[i]); i++)
|
||||
{
|
||||
rs->mode_list |= rs->rx_range_list[i].modes;
|
||||
rs->vfo_list |= rs->rx_range_list[i].vfo;
|
||||
}
|
||||
|
||||
for (i = 0; i < HAMLIB_FRQRANGESIZ && !RIG_IS_FRNG_END(rs->tx_range_list[i]); i++)
|
||||
for (i = 0; i < HAMLIB_FRQRANGESIZ
|
||||
&& !RIG_IS_FRNG_END(rs->tx_range_list[i]); i++)
|
||||
{
|
||||
rs->mode_list |= rs->tx_range_list[i].modes;
|
||||
rs->vfo_list |= rs->tx_range_list[i].vfo;
|
||||
|
|
|
@ -279,17 +279,21 @@ int icom_one_transaction(RIG *rig, int cmd, int subcmd,
|
|||
}
|
||||
|
||||
if (frm_len < ACKFRMLEN) { RETURNFUNC(-RIG_EPROTO); }
|
||||
|
||||
// if we send a bad command we will get back a NAK packet
|
||||
// e.g. fe fe e0 50 fa fd
|
||||
if (frm_len == 6 && NAK == buf[frm_len - 2]) { RETURNFUNC(-RIG_ERJCTED); }
|
||||
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: frm_len=%d, frm_len-1=%02x, frm_len-2=%02x\n", __func__, frm_len, buf[frm_len-1], buf[frm_len-2]);
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: frm_len=%d, frm_len-1=%02x, frm_len-2=%02x\n",
|
||||
__func__, frm_len, buf[frm_len - 1], buf[frm_len - 2]);
|
||||
|
||||
// has to be one of these two now or frame is corrupt
|
||||
if (FI != buf[frm_len - 1] && ACK != buf[frm_len - 1]) { RETURNFUNC(-RIG_BUSBUSY); }
|
||||
|
||||
*data_len = frm_len - (ACKFRMLEN - 1);
|
||||
|
||||
if (*data_len <= 0) { RETURNFUNC(-RIG_EPROTO); }
|
||||
|
||||
memcpy(data, buf + 4, *data_len);
|
||||
|
||||
/*
|
||||
|
|
|
@ -3204,13 +3204,16 @@ int icom_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
|||
{
|
||||
val->f =
|
||||
rig_raw2val_float(icom_val, &icom_default_rfpower_meter_cal);
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: using rig table to convert %d to %.01f\n", __func__, icom_val, val->f);
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: using rig table to convert %d to %.01f\n",
|
||||
__func__, icom_val, val->f);
|
||||
}
|
||||
else
|
||||
{
|
||||
val->f =
|
||||
rig_raw2val_float(icom_val, &rig->caps->rfpower_meter_cal);
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: using default icom table to convert %d to %.01f\n", __func__, icom_val, val->f);
|
||||
rig_debug(RIG_DEBUG_TRACE,
|
||||
"%s: using default icom table to convert %d to %.01f\n", __func__, icom_val,
|
||||
val->f);
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
|
@ -877,6 +877,7 @@ int powersdr_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
|||
|
||||
case RIG_LEVEL_AF:
|
||||
n = sscanf(lvlbuf, "ZZAG%f", &val->f);
|
||||
|
||||
if (n != 1)
|
||||
{
|
||||
rig_debug(RIG_DEBUG_ERR, "%s: Error parsing value from lvlbuf='%s'\n",
|
||||
|
@ -884,6 +885,7 @@ int powersdr_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
|||
val->f = 0;
|
||||
return -RIG_EPROTO;
|
||||
}
|
||||
|
||||
val->f /= 100.0;
|
||||
break;
|
||||
|
||||
|
|
|
@ -3752,6 +3752,7 @@ int kenwood_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
|
|||
|
||||
default: RETURNFUNC(-RIG_EINVAL);
|
||||
}
|
||||
|
||||
int retval = kenwood_transaction(rig, ptt_cmd, NULL, 0);
|
||||
|
||||
RETURNFUNC(retval);
|
||||
|
|
|
@ -307,7 +307,8 @@ int hiqsdr_init(RIG *rig)
|
|||
priv->split = RIG_SPLIT_OFF;
|
||||
priv->ref_clock = REFCLOCK;
|
||||
priv->sample_rate = DEFAULT_SAMPLE_RATE;
|
||||
strncpy(rig->state.rigport.pathname, "192.168.2.196:48248", HAMLIB_FILPATHLEN - 1);
|
||||
strncpy(rig->state.rigport.pathname, "192.168.2.196:48248",
|
||||
HAMLIB_FILPATHLEN - 1);
|
||||
|
||||
return RIG_OK;
|
||||
}
|
||||
|
|
|
@ -46,7 +46,8 @@
|
|||
int wr_rig_init(RIG *rig)
|
||||
{
|
||||
rig->state.rigport.type.rig = RIG_PORT_DEVICE;
|
||||
strncpy(rig->state.rigport.pathname, DEFAULT_WINRADIO_PATH, HAMLIB_FILPATHLEN - 1);
|
||||
strncpy(rig->state.rigport.pathname, DEFAULT_WINRADIO_PATH,
|
||||
HAMLIB_FILPATHLEN - 1);
|
||||
|
||||
return RIG_OK;
|
||||
}
|
||||
|
|
|
@ -1167,7 +1167,9 @@ int ft1000mp_get_vfo(RIG *rig, vfo_t *vfo)
|
|||
else // we are emulating vfo status
|
||||
{
|
||||
*vfo = rig->state.current_vfo;
|
||||
if (*vfo == RIG_VFO_CURR) {
|
||||
|
||||
if (*vfo == RIG_VFO_CURR)
|
||||
{
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: no get_vfo, defaulting to VFOA\n", __func__);
|
||||
*vfo = RIG_VFO_A;
|
||||
}
|
||||
|
|
|
@ -510,7 +510,8 @@ int newcat_open(RIG *rig)
|
|||
|
||||
ENTERFUNC;
|
||||
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: Rig=%s, version=%s\n", __func__, rig->caps->model_name, rig->caps->version);
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: Rig=%s, version=%s\n", __func__,
|
||||
rig->caps->model_name, rig->caps->version);
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: write_delay = %i msec\n",
|
||||
__func__, rig_s->rigport.write_delay);
|
||||
|
||||
|
@ -597,6 +598,7 @@ int newcat_close(RIG *rig)
|
|||
case it's not
|
||||
supported */
|
||||
}
|
||||
|
||||
if (priv->poweron != 0 && rig_s->auto_power_off)
|
||||
{
|
||||
rig_set_powerstat(rig, 0);
|
||||
|
@ -3182,7 +3184,8 @@ int newcat_set_powerstat(RIG *rig, powerstat_t status)
|
|||
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: Wait #%d for power up\n", __func__, i + 1);
|
||||
retval = write_block(&state->rigport, priv->cmd_str, strlen(priv->cmd_str));
|
||||
if (retval != RIG_OK) RETURNFUNC(retval);
|
||||
|
||||
if (retval != RIG_OK) { RETURNFUNC(retval); }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3471,7 +3474,8 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
|
|||
|
||||
fpf = newcat_scale_float(scale, val.f);
|
||||
|
||||
if (is_ft950 || is_ft891 || is_ft991 || is_ftdx3000 || is_ftdx101d || is_ftdx101mp || is_ftdx10)
|
||||
if (is_ft950 || is_ft891 || is_ft991 || is_ftdx3000 || is_ftdx101d
|
||||
|| is_ftdx101mp || is_ftdx10)
|
||||
{
|
||||
// Minimum is 5 watts on these rigs
|
||||
if (fpf < 5)
|
||||
|
@ -3661,7 +3665,8 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
|
|||
|
||||
if (val.f > 1.0) { RETURNFUNC(-RIG_EINVAL); }
|
||||
|
||||
if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101d || is_ftdx101mp
|
||||
if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101d
|
||||
|| is_ftdx101mp
|
||||
|| is_ftdx10)
|
||||
{
|
||||
fpf = newcat_scale_float(100, val.f);
|
||||
|
@ -3691,7 +3696,8 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
|
|||
RETURNFUNC(-RIG_ENAVAIL);
|
||||
}
|
||||
|
||||
if (is_ftdx101d || is_ftdx101mp) // new format for the command with VFO selection
|
||||
if (is_ftdx101d
|
||||
|| is_ftdx101mp) // new format for the command with VFO selection
|
||||
{
|
||||
format = "MS0%d;";
|
||||
|
||||
|
@ -4216,7 +4222,8 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
|
|||
|
||||
if (val.f > 1.0) { RETURNFUNC(-RIG_EINVAL); }
|
||||
|
||||
if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101d || is_ftdx101mp
|
||||
if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101d
|
||||
|| is_ftdx101mp
|
||||
|| is_ftdx10)
|
||||
{
|
||||
fpf = newcat_scale_float(100, val.f);
|
||||
|
@ -4859,7 +4866,8 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
|||
break;
|
||||
|
||||
case RIG_LEVEL_MICGAIN:
|
||||
if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101d || is_ftdx101mp
|
||||
if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101d
|
||||
|| is_ftdx101mp
|
||||
|| is_ftdx10)
|
||||
{
|
||||
scale = 100.;
|
||||
|
@ -5171,7 +5179,8 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
|||
break;
|
||||
|
||||
case RIG_LEVEL_MONITOR_GAIN:
|
||||
if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101d || is_ftdx101mp)
|
||||
if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101d
|
||||
|| is_ftdx101mp)
|
||||
{
|
||||
scale = 100.;
|
||||
}
|
||||
|
@ -5422,7 +5431,8 @@ int newcat_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
|
|||
newcat_get_mode(rig, vfo, &mode, &width);
|
||||
}
|
||||
|
||||
if (is_ft891 || is_ft991 || is_ftdx1200 || is_ftdx3000 || is_ftdx101d || is_ftdx101mp)
|
||||
if (is_ft891 || is_ft991 || is_ftdx1200 || is_ftdx3000 || is_ftdx101d
|
||||
|| is_ftdx101mp)
|
||||
{
|
||||
// There seems to be an error in the manuals for some of these rigs stating that values should be 1 = OFF and 2 = ON, but they are 0 = OFF and 1 = ON instead
|
||||
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "PR0%d%c", status ? 1 : 0,
|
||||
|
@ -5662,7 +5672,8 @@ int newcat_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status)
|
|||
RETURNFUNC(-RIG_ENAVAIL);
|
||||
}
|
||||
|
||||
if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101d || is_ftdx101mp)
|
||||
if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101d
|
||||
|| is_ftdx101mp)
|
||||
{
|
||||
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "PR0%c", cat_term);
|
||||
}
|
||||
|
@ -6623,7 +6634,8 @@ ncboolean newcat_valid_command(RIG *rig, char const *const command)
|
|||
is_ftdx10 = newcat_is_rig(rig, RIG_MODEL_FTDX10);
|
||||
|
||||
if (!is_ft450 && !is_ft950 && !is_ft891 && !is_ft991 && !is_ft2000
|
||||
&& !is_ftdx5000 && !is_ftdx9000 && !is_ftdx1200 && !is_ftdx3000 && !is_ftdx101d && !is_ftdx101mp && !is_ftdx10)
|
||||
&& !is_ftdx5000 && !is_ftdx9000 && !is_ftdx1200 && !is_ftdx3000 && !is_ftdx101d
|
||||
&& !is_ftdx101mp && !is_ftdx10)
|
||||
{
|
||||
rig_debug(RIG_DEBUG_ERR, "%s: '%s' is unknown\n", __func__, caps->model_name);
|
||||
RETURNFUNC(FALSE);
|
||||
|
|
155
src/rig.c
155
src/rig.c
|
@ -311,7 +311,8 @@ const char *HAMLIB_API rigerror(int errnum)
|
|||
|
||||
if (*p == '\n') { *p = 0; }
|
||||
|
||||
snprintf(msg, sizeof(msg), "%.80s\n%.15000s%.15000s%.15000s", rigerror_table[errnum],
|
||||
snprintf(msg, sizeof(msg), "%.80s\n%.15000s%.15000s%.15000s",
|
||||
rigerror_table[errnum],
|
||||
debugmsgsave3, debugmsgsave2, debugmsgsave);
|
||||
return msg;
|
||||
}
|
||||
|
@ -518,25 +519,29 @@ RIG *HAMLIB_API rig_init(rig_model_t rig_model)
|
|||
rs->vfo_list = 0;
|
||||
rs->mode_list = 0;
|
||||
|
||||
for (i = 0; i < HAMLIB_FRQRANGESIZ && !RIG_IS_FRNG_END(caps->rx_range_list1[i]); i++)
|
||||
for (i = 0; i < HAMLIB_FRQRANGESIZ
|
||||
&& !RIG_IS_FRNG_END(caps->rx_range_list1[i]); i++)
|
||||
{
|
||||
rs->vfo_list |= caps->rx_range_list1[i].vfo;
|
||||
rs->mode_list |= caps->rx_range_list1[i].modes;
|
||||
}
|
||||
|
||||
for (i = 0; i < HAMLIB_FRQRANGESIZ && !RIG_IS_FRNG_END(caps->tx_range_list1[i]); i++)
|
||||
for (i = 0; i < HAMLIB_FRQRANGESIZ
|
||||
&& !RIG_IS_FRNG_END(caps->tx_range_list1[i]); i++)
|
||||
{
|
||||
rs->vfo_list |= caps->tx_range_list1[i].vfo;
|
||||
rs->mode_list |= caps->tx_range_list1[i].modes;
|
||||
}
|
||||
|
||||
for (i = 0; i < HAMLIB_FRQRANGESIZ && !RIG_IS_FRNG_END(caps->rx_range_list2[i]); i++)
|
||||
for (i = 0; i < HAMLIB_FRQRANGESIZ
|
||||
&& !RIG_IS_FRNG_END(caps->rx_range_list2[i]); i++)
|
||||
{
|
||||
rs->vfo_list |= caps->rx_range_list2[i].vfo;
|
||||
rs->mode_list |= caps->rx_range_list2[i].modes;
|
||||
}
|
||||
|
||||
for (i = 0; i < HAMLIB_FRQRANGESIZ && !RIG_IS_FRNG_END(caps->tx_range_list2[i]); i++)
|
||||
for (i = 0; i < HAMLIB_FRQRANGESIZ
|
||||
&& !RIG_IS_FRNG_END(caps->tx_range_list2[i]); i++)
|
||||
{
|
||||
rs->vfo_list |= caps->tx_range_list2[i].vfo;
|
||||
rs->mode_list |= caps->tx_range_list2[i].modes;
|
||||
|
@ -1324,13 +1329,16 @@ int HAMLIB_API rig_get_twiddle(RIG *rig, int *seconds)
|
|||
static int set_cache_mode(RIG *rig, vfo_t vfo, mode_t mode, pbwidth_t width)
|
||||
{
|
||||
ENTERFUNC;
|
||||
|
||||
if (vfo == RIG_VFO_CURR)
|
||||
{
|
||||
// if CURR then update this before we figure out the real VFO
|
||||
vfo = rig->state.current_vfo;
|
||||
}
|
||||
|
||||
// pick a sane default
|
||||
if (vfo == RIG_VFO_NONE || vfo == RIG_VFO_CURR) vfo = RIG_VFO_A;
|
||||
if (vfo == RIG_VFO_NONE || vfo == RIG_VFO_CURR) { vfo = RIG_VFO_A; }
|
||||
|
||||
switch (vfo)
|
||||
{
|
||||
case RIG_VFO_ALL: // we'll use NONE to reset all VFO caches
|
||||
|
@ -1341,29 +1349,39 @@ static int set_cache_mode(RIG *rig, vfo_t vfo, mode_t mode, pbwidth_t width)
|
|||
elapsed_ms(&rig->state.cache.time_widthMainB, HAMLIB_ELAPSED_INVALIDATE);
|
||||
elapsed_ms(&rig->state.cache.time_widthMainC, HAMLIB_ELAPSED_INVALIDATE);
|
||||
break;
|
||||
|
||||
case RIG_VFO_A:
|
||||
case RIG_VFO_MAIN:
|
||||
case RIG_VFO_MAIN_A:
|
||||
rig->state.cache.modeMainA = mode;
|
||||
if (width > 0) rig->state.cache.widthMainA = width;
|
||||
|
||||
if (width > 0) { rig->state.cache.widthMainA = width; }
|
||||
|
||||
elapsed_ms(&rig->state.cache.time_modeMainA, HAMLIB_ELAPSED_SET);
|
||||
elapsed_ms(&rig->state.cache.time_widthMainA, HAMLIB_ELAPSED_SET);
|
||||
break;
|
||||
|
||||
case RIG_VFO_B:
|
||||
case RIG_VFO_SUB:
|
||||
case RIG_VFO_MAIN_B:
|
||||
rig->state.cache.modeMainB = mode;
|
||||
if (width > 0) rig->state.cache.widthMainB = width;
|
||||
|
||||
if (width > 0) { rig->state.cache.widthMainB = width; }
|
||||
|
||||
elapsed_ms(&rig->state.cache.time_modeMainB, HAMLIB_ELAPSED_SET);
|
||||
elapsed_ms(&rig->state.cache.time_widthMainB, HAMLIB_ELAPSED_SET);
|
||||
break;
|
||||
|
||||
case RIG_VFO_C:
|
||||
case RIG_VFO_MAIN_C:
|
||||
rig->state.cache.modeMainC = mode;
|
||||
if (width > 0) rig->state.cache.widthMainC = width;
|
||||
|
||||
if (width > 0) { rig->state.cache.widthMainC = width; }
|
||||
|
||||
elapsed_ms(&rig->state.cache.time_modeMainC, HAMLIB_ELAPSED_SET);
|
||||
elapsed_ms(&rig->state.cache.time_widthMainC, HAMLIB_ELAPSED_SET);
|
||||
break;
|
||||
|
||||
default:
|
||||
rig_debug(RIG_DEBUG_ERR, "%s: unknown vfo=%s\n", __func__, rig_strvfo(vfo));
|
||||
RETURNFUNC(-RIG_EINTERNAL);
|
||||
|
@ -1383,8 +1401,9 @@ static int set_cache_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
|||
// if CURR then update this before we figure out the real VFO
|
||||
vfo = rig->state.current_vfo;
|
||||
}
|
||||
|
||||
// pick a sane default
|
||||
if (vfo == RIG_VFO_NONE || vfo == RIG_VFO_CURR) vfo = RIG_VFO_A;
|
||||
if (vfo == RIG_VFO_NONE || vfo == RIG_VFO_CURR) { vfo = RIG_VFO_A; }
|
||||
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: set vfo=%s to freq=%.0f\n", __func__,
|
||||
rig_strvfo(vfo), freq);
|
||||
|
@ -1459,13 +1478,15 @@ static int set_cache_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
|||
RETURNFUNC(RIG_OK);
|
||||
}
|
||||
|
||||
int rig_get_cache(RIG *rig, vfo_t vfo, freq_t *freq, int *cache_ms_freq, rmode_t *mode, int *cache_ms_mode, pbwidth_t *width, int *cache_ms_width)
|
||||
int rig_get_cache(RIG *rig, vfo_t vfo, freq_t *freq, int *cache_ms_freq,
|
||||
rmode_t *mode, int *cache_ms_mode, pbwidth_t *width, int *cache_ms_width)
|
||||
{
|
||||
ENTERFUNC;
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: vfo=%s, current_vfo=%s\n", __func__,
|
||||
rig_strvfo(vfo), rig_strvfo(rig->state.current_vfo));
|
||||
|
||||
if (vfo == RIG_VFO_CURR) { vfo = rig->state.current_vfo; }
|
||||
|
||||
// pick a sane default
|
||||
if (vfo == RIG_VFO_CURR || vfo == RIG_VFO_NONE) { vfo = RIG_VFO_A; }
|
||||
|
||||
|
@ -1478,9 +1499,12 @@ int rig_get_cache(RIG *rig, vfo_t vfo, freq_t *freq, int *cache_ms_freq, rmode_t
|
|||
*freq = rig->state.cache.freqMainA;
|
||||
*mode = rig->state.cache.modeMainA;
|
||||
*width = rig->state.cache.widthMainA;
|
||||
*cache_ms_freq = elapsed_ms(&rig->state.cache.time_freqMainA, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_mode = elapsed_ms(&rig->state.cache.time_modeMainA, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_width = elapsed_ms(&rig->state.cache.time_widthMainA, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_freq = elapsed_ms(&rig->state.cache.time_freqMainA,
|
||||
HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_mode = elapsed_ms(&rig->state.cache.time_modeMainA,
|
||||
HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_width = elapsed_ms(&rig->state.cache.time_widthMainA,
|
||||
HAMLIB_ELAPSED_GET);
|
||||
break;
|
||||
|
||||
case RIG_VFO_B:
|
||||
|
@ -1488,27 +1512,36 @@ int rig_get_cache(RIG *rig, vfo_t vfo, freq_t *freq, int *cache_ms_freq, rmode_t
|
|||
*freq = rig->state.cache.freqMainB;
|
||||
*mode = rig->state.cache.modeMainB;
|
||||
*width = rig->state.cache.widthMainB;
|
||||
*cache_ms_freq = elapsed_ms(&rig->state.cache.time_freqMainB, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_mode = elapsed_ms(&rig->state.cache.time_modeMainB, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_width = elapsed_ms(&rig->state.cache.time_widthMainB, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_freq = elapsed_ms(&rig->state.cache.time_freqMainB,
|
||||
HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_mode = elapsed_ms(&rig->state.cache.time_modeMainB,
|
||||
HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_width = elapsed_ms(&rig->state.cache.time_widthMainB,
|
||||
HAMLIB_ELAPSED_GET);
|
||||
break;
|
||||
|
||||
case RIG_VFO_SUB_A:
|
||||
*freq = rig->state.cache.freqSubA;
|
||||
*mode = rig->state.cache.modeSubA;
|
||||
*width = rig->state.cache.widthSubA;
|
||||
*cache_ms_freq = elapsed_ms(&rig->state.cache.time_freqSubA, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_mode = elapsed_ms(&rig->state.cache.time_modeSubA, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_width = elapsed_ms(&rig->state.cache.time_widthSubA, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_freq = elapsed_ms(&rig->state.cache.time_freqSubA,
|
||||
HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_mode = elapsed_ms(&rig->state.cache.time_modeSubA,
|
||||
HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_width = elapsed_ms(&rig->state.cache.time_widthSubA,
|
||||
HAMLIB_ELAPSED_GET);
|
||||
break;
|
||||
|
||||
case RIG_VFO_SUB_B:
|
||||
*freq = rig->state.cache.freqSubB;
|
||||
*mode = rig->state.cache.modeSubB;
|
||||
*width = rig->state.cache.widthSubB;
|
||||
*cache_ms_freq = elapsed_ms(&rig->state.cache.time_freqSubB, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_mode = elapsed_ms(&rig->state.cache.time_modeSubB, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_width = elapsed_ms(&rig->state.cache.time_widthSubB, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_freq = elapsed_ms(&rig->state.cache.time_freqSubB,
|
||||
HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_mode = elapsed_ms(&rig->state.cache.time_modeSubB,
|
||||
HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_width = elapsed_ms(&rig->state.cache.time_widthSubB,
|
||||
HAMLIB_ELAPSED_GET);
|
||||
break;
|
||||
|
||||
case RIG_VFO_C:
|
||||
|
@ -1516,18 +1549,24 @@ int rig_get_cache(RIG *rig, vfo_t vfo, freq_t *freq, int *cache_ms_freq, rmode_t
|
|||
*freq = rig->state.cache.freqMainC;
|
||||
*mode = rig->state.cache.modeMainC;
|
||||
*width = rig->state.cache.widthMainC;
|
||||
*cache_ms_freq = elapsed_ms(&rig->state.cache.time_freqMainC, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_mode = elapsed_ms(&rig->state.cache.time_modeMainC, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_width = elapsed_ms(&rig->state.cache.time_widthMainC, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_freq = elapsed_ms(&rig->state.cache.time_freqMainC,
|
||||
HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_mode = elapsed_ms(&rig->state.cache.time_modeMainC,
|
||||
HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_width = elapsed_ms(&rig->state.cache.time_widthMainC,
|
||||
HAMLIB_ELAPSED_GET);
|
||||
break;
|
||||
|
||||
case RIG_VFO_SUB_C:
|
||||
*freq = rig->state.cache.freqSubC;
|
||||
*mode = rig->state.cache.modeSubC;
|
||||
*width = rig->state.cache.widthSubC;
|
||||
*cache_ms_freq = elapsed_ms(&rig->state.cache.time_freqSubC, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_mode = elapsed_ms(&rig->state.cache.time_modeSubC, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_width = elapsed_ms(&rig->state.cache.time_widthSubC, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_freq = elapsed_ms(&rig->state.cache.time_freqSubC,
|
||||
HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_mode = elapsed_ms(&rig->state.cache.time_modeSubC,
|
||||
HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_width = elapsed_ms(&rig->state.cache.time_widthSubC,
|
||||
HAMLIB_ELAPSED_GET);
|
||||
break;
|
||||
|
||||
case RIG_VFO_MEM:
|
||||
|
@ -1536,7 +1575,8 @@ int rig_get_cache(RIG *rig, vfo_t vfo, freq_t *freq, int *cache_ms_freq, rmode_t
|
|||
*width = rig->state.cache.widthMem;
|
||||
*cache_ms_freq = elapsed_ms(&rig->state.cache.time_freqMem, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_mode = elapsed_ms(&rig->state.cache.time_modeMem, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_width = elapsed_ms(&rig->state.cache.time_widthMem, HAMLIB_ELAPSED_GET);
|
||||
*cache_ms_width = elapsed_ms(&rig->state.cache.time_widthMem,
|
||||
HAMLIB_ELAPSED_GET);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -1694,7 +1734,9 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
|||
|
||||
if (retry == 0 && tfreq != freq)
|
||||
{
|
||||
rig_debug(RIG_DEBUG_ERR, "%s: unable to set frequency!!, asked for %.0f, got %.0f\n", __func__, freq, tfreq);
|
||||
rig_debug(RIG_DEBUG_ERR,
|
||||
"%s: unable to set frequency!!, asked for %.0f, got %.0f\n", __func__, freq,
|
||||
tfreq);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -1774,6 +1816,7 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
|||
|
||||
// update our current freq too
|
||||
if (vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { rig->state.current_freq = freq_new; }
|
||||
|
||||
set_cache_freq(rig, vfo, freq_new);
|
||||
|
||||
RETURNFUNC(retcode);
|
||||
|
@ -1831,7 +1874,8 @@ int HAMLIB_API rig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
|
|||
rig_strvfo(rig->state.tx_vfo));
|
||||
// always return the cached freq for this clause
|
||||
int cache_ms_freq, cache_ms_mode, cache_ms_width;
|
||||
rig_get_cache(rig, vfo, freq, &cache_ms_freq, &mode, &cache_ms_mode, &width, &cache_ms_width);
|
||||
rig_get_cache(rig, vfo, freq, &cache_ms_freq, &mode, &cache_ms_mode, &width,
|
||||
&cache_ms_width);
|
||||
RETURNFUNC(RIG_OK);
|
||||
}
|
||||
|
||||
|
@ -1862,8 +1906,10 @@ int HAMLIB_API rig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
|
|||
}
|
||||
|
||||
int cache_ms_freq, cache_ms_mode, cache_ms_width;
|
||||
rig_get_cache(rig, vfo, freq, &cache_ms_freq, &mode, &cache_ms_mode, &width, &cache_ms_width);
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: cache check1 age=%dms\n", __func__, cache_ms_freq);
|
||||
rig_get_cache(rig, vfo, freq, &cache_ms_freq, &mode, &cache_ms_mode, &width,
|
||||
&cache_ms_width);
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: cache check1 age=%dms\n", __func__,
|
||||
cache_ms_freq);
|
||||
|
||||
if (freq != 0 && cache_ms_freq < rig->state.cache.timeout_ms)
|
||||
{
|
||||
|
@ -1874,7 +1920,8 @@ int HAMLIB_API rig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
|
|||
else
|
||||
{
|
||||
rig_debug(RIG_DEBUG_TRACE,
|
||||
"%s: cache miss age=%dms, cached_vfo=%s, asked_vfo=%s\n", __func__, cache_ms_freq,
|
||||
"%s: cache miss age=%dms, cached_vfo=%s, asked_vfo=%s\n", __func__,
|
||||
cache_ms_freq,
|
||||
rig_strvfo(vfo), rig_strvfo(vfo));
|
||||
}
|
||||
|
||||
|
@ -1902,7 +1949,8 @@ int HAMLIB_API rig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
|
|||
|
||||
// sometimes a network rig like FLRig will return freq=0
|
||||
// so we'll just reuse the cache for that condition
|
||||
if (*freq == 0) {
|
||||
if (*freq == 0)
|
||||
{
|
||||
rmode_t mode;
|
||||
pbwidth_t width;
|
||||
int freq_ms, mode_ms, width_ms;
|
||||
|
@ -2033,7 +2081,8 @@ int HAMLIB_API rig_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
|||
|| vfo == rig->state.current_vfo)
|
||||
{
|
||||
retcode = caps->set_mode(rig, vfo, mode, width);
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: targetable retcode after set_mode=%d\n", __func__,
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: targetable retcode after set_mode=%d\n",
|
||||
__func__,
|
||||
retcode);
|
||||
}
|
||||
else
|
||||
|
@ -2042,6 +2091,7 @@ int HAMLIB_API rig_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
|||
vfo_t curr_vfo;
|
||||
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: not targetable need vfo swap\n", __func__);
|
||||
|
||||
if (!caps->set_vfo)
|
||||
{
|
||||
RETURNFUNC(-RIG_ENAVAIL);
|
||||
|
@ -2066,7 +2116,7 @@ int HAMLIB_API rig_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
|||
}
|
||||
}
|
||||
|
||||
if (retcode != RIG_OK) RETURNFUNC(retcode);
|
||||
if (retcode != RIG_OK) { RETURNFUNC(retcode); }
|
||||
|
||||
set_cache_mode(rig, vfo, mode, width);
|
||||
|
||||
|
@ -2117,19 +2167,23 @@ int HAMLIB_API rig_get_mode(RIG *rig,
|
|||
}
|
||||
|
||||
int cache_ms_freq, cache_ms_mode, cache_ms_width;
|
||||
rig_get_cache(rig, vfo, &freq, &cache_ms_freq, mode, &cache_ms_mode, width, &cache_ms_width);
|
||||
rig_get_cache(rig, vfo, &freq, &cache_ms_freq, mode, &cache_ms_mode, width,
|
||||
&cache_ms_width);
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: %s cache check age=%dms\n", __func__,
|
||||
rig_strvfo(vfo), cache_ms_freq);
|
||||
|
||||
if (cache_ms_mode < rig->state.cache.timeout_ms || cache_ms_width < rig->state.cache.timeout_ms)
|
||||
if (cache_ms_mode < rig->state.cache.timeout_ms
|
||||
|| cache_ms_width < rig->state.cache.timeout_ms)
|
||||
{
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: cache hit age mode=%dms, width=%dms\n", __func__, cache_ms_mode, cache_ms_width);
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: cache hit age mode=%dms, width=%dms\n",
|
||||
__func__, cache_ms_mode, cache_ms_width);
|
||||
|
||||
RETURNFUNC(RIG_OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: cache miss age mode=%dms, width=%dms\n", __func__, cache_ms_mode, cache_ms_width);
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: cache miss age mode=%dms, width=%dms\n",
|
||||
__func__, cache_ms_mode, cache_ms_width);
|
||||
}
|
||||
|
||||
if ((caps->targetable_vfo & RIG_TARGETABLE_MODE)
|
||||
|
@ -2425,7 +2479,8 @@ int HAMLIB_API rig_set_vfo(RIG *rig, vfo_t vfo)
|
|||
rigerror(retcode));
|
||||
}
|
||||
else
|
||||
{ // if no get_freq clear all cache to be sure we refresh whatever we can
|
||||
{
|
||||
// if no get_freq clear all cache to be sure we refresh whatever we can
|
||||
set_cache_freq(rig, RIG_VFO_ALL, (freq_t)0);
|
||||
}
|
||||
|
||||
|
@ -3900,9 +3955,12 @@ int HAMLIB_API rig_set_split_freq_mode(RIG *rig,
|
|||
{
|
||||
retcode = caps->set_split_freq_mode(rig, vfo, tx_freq, tx_mode, tx_width);
|
||||
retcode2 = rig_get_split_freq(rig, vfo, &tfreq);
|
||||
|
||||
if (tfreq != tx_freq)
|
||||
{
|
||||
rig_debug(RIG_DEBUG_ERR, "%s: txfreq!=tfreq %.0f!=%.0f, retry=%d, rc1=%d, rc2=%d\n", __func__, tx_freq, tfreq, retry, retcode, retcode2);
|
||||
rig_debug(RIG_DEBUG_ERR,
|
||||
"%s: txfreq!=tfreq %.0f!=%.0f, retry=%d, rc1=%d, rc2=%d\n", __func__, tx_freq,
|
||||
tfreq, retry, retcode, retcode2);
|
||||
hl_usleep(50 * 1000); // 50ms sleep may help here
|
||||
}
|
||||
}
|
||||
|
@ -5799,13 +5857,16 @@ int HAMLIB_API rig_get_vfo_info(RIG *rig, vfo_t vfo, freq_t *freq,
|
|||
// we can't use the cached values as some clients may only call this function
|
||||
// like Log4OM which mostly does polling
|
||||
retval = rig_get_freq(rig, vfo, freq);
|
||||
if (retval != RIG_OK) RETURNFUNC(retval);
|
||||
|
||||
if (retval != RIG_OK) { RETURNFUNC(retval); }
|
||||
|
||||
retval = rig_get_mode(rig, vfo, mode, width);
|
||||
if (retval != RIG_OK) RETURNFUNC(retval);
|
||||
|
||||
if (retval != RIG_OK) { RETURNFUNC(retval); }
|
||||
|
||||
retval = rig_get_split(rig, vfo, split);
|
||||
if (retval != RIG_OK) RETURNFUNC(retval);
|
||||
|
||||
if (retval != RIG_OK) { RETURNFUNC(retval); }
|
||||
|
||||
RETURNFUNC(RIG_OK);
|
||||
}
|
||||
|
|
|
@ -340,7 +340,8 @@ int dumpcaps(RIG *rig, FILE *fout)
|
|||
fprintf(fout, "Extra functions:\n");
|
||||
rig_ext_func_foreach(rig, print_ext, fout);
|
||||
|
||||
rig_sprintf_level_gran(prntbuf, sizeof(prntbuf), caps->has_get_level, caps->level_gran);
|
||||
rig_sprintf_level_gran(prntbuf, sizeof(prntbuf), caps->has_get_level,
|
||||
caps->level_gran);
|
||||
fprintf(fout, "Get level: %s\n", prntbuf);
|
||||
|
||||
if ((caps->has_get_level & RIG_LEVEL_SQLSTAT))
|
||||
|
@ -359,7 +360,8 @@ int dumpcaps(RIG *rig, FILE *fout)
|
|||
backend_warnings++;
|
||||
}
|
||||
|
||||
rig_sprintf_level_gran(prntbuf, sizeof(prntbuf), caps->has_set_level, caps->level_gran);
|
||||
rig_sprintf_level_gran(prntbuf, sizeof(prntbuf), caps->has_set_level,
|
||||
caps->level_gran);
|
||||
fprintf(fout, "Set level: %s\n", prntbuf);
|
||||
|
||||
if (caps->has_set_level & RIG_LEVEL_READONLY_LIST)
|
||||
|
@ -371,10 +373,12 @@ int dumpcaps(RIG *rig, FILE *fout)
|
|||
fprintf(fout, "Extra levels:\n");
|
||||
rig_ext_level_foreach(rig, print_ext, fout);
|
||||
|
||||
rig_sprintf_parm_gran(prntbuf, sizeof(prntbuf), caps->has_get_parm, caps->parm_gran);
|
||||
rig_sprintf_parm_gran(prntbuf, sizeof(prntbuf), caps->has_get_parm,
|
||||
caps->parm_gran);
|
||||
fprintf(fout, "Get parameters: %s\n", prntbuf);
|
||||
|
||||
rig_sprintf_parm_gran(prntbuf, sizeof(prntbuf), caps->has_set_parm, caps->parm_gran);
|
||||
rig_sprintf_parm_gran(prntbuf, sizeof(prntbuf), caps->has_set_parm,
|
||||
caps->parm_gran);
|
||||
fprintf(fout, "Set parameters: %s\n", prntbuf);
|
||||
|
||||
if (caps->has_set_parm & RIG_PARM_READONLY_LIST)
|
||||
|
|
|
@ -166,7 +166,8 @@ int dumpcaps_rot(ROT *rot, FILE *fout)
|
|||
fprintf(fout, "Extra functions:\n");
|
||||
rot_ext_func_foreach(rot, print_ext, fout);
|
||||
|
||||
rot_sprintf_level_gran(prntbuf, sizeof(prntbuf), caps->has_get_level, caps->level_gran);
|
||||
rot_sprintf_level_gran(prntbuf, sizeof(prntbuf), caps->has_get_level,
|
||||
caps->level_gran);
|
||||
fprintf(fout, "Get level: %s\n", prntbuf);
|
||||
|
||||
if ((caps->has_get_level & RIG_LEVEL_SQLSTAT))
|
||||
|
@ -175,7 +176,8 @@ int dumpcaps_rot(ROT *rot, FILE *fout)
|
|||
backend_warnings++;
|
||||
}
|
||||
|
||||
rot_sprintf_level_gran(prntbuf, sizeof(prntbuf), caps->has_set_level, caps->level_gran);
|
||||
rot_sprintf_level_gran(prntbuf, sizeof(prntbuf), caps->has_set_level,
|
||||
caps->level_gran);
|
||||
fprintf(fout, "Set level: %s\n", prntbuf);
|
||||
|
||||
if (caps->has_set_level & ROT_LEVEL_READONLY_LIST)
|
||||
|
@ -187,10 +189,12 @@ int dumpcaps_rot(ROT *rot, FILE *fout)
|
|||
fprintf(fout, "Extra levels:\n");
|
||||
rot_ext_level_foreach(rot, print_ext, fout);
|
||||
|
||||
rot_sprintf_parm_gran(prntbuf, sizeof(prntbuf), caps->has_get_parm, caps->parm_gran);
|
||||
rot_sprintf_parm_gran(prntbuf, sizeof(prntbuf), caps->has_get_parm,
|
||||
caps->parm_gran);
|
||||
fprintf(fout, "Get parameters: %s\n", prntbuf);
|
||||
|
||||
rot_sprintf_parm_gran(prntbuf, sizeof(prntbuf), caps->has_set_parm, caps->parm_gran);
|
||||
rot_sprintf_parm_gran(prntbuf, sizeof(prntbuf), caps->has_set_parm,
|
||||
caps->parm_gran);
|
||||
fprintf(fout, "Set parameters: %s\n", prntbuf);
|
||||
|
||||
if (caps->has_set_parm & ROT_PARM_READONLY_LIST)
|
||||
|
|
|
@ -4223,7 +4223,8 @@ declare_proto_rig(dump_state)
|
|||
fprintf(fout, "%d\n", 0);
|
||||
#endif
|
||||
|
||||
for (i = 0; i < HAMLIB_FRQRANGESIZ && !RIG_IS_FRNG_END(rs->rx_range_list[i]); i++)
|
||||
for (i = 0; i < HAMLIB_FRQRANGESIZ
|
||||
&& !RIG_IS_FRNG_END(rs->rx_range_list[i]); i++)
|
||||
{
|
||||
fprintf(fout,
|
||||
"%"FREQFMT" %"FREQFMT" 0x%"PRXll" %d %d 0x%x 0x%x\n",
|
||||
|
@ -4238,7 +4239,8 @@ declare_proto_rig(dump_state)
|
|||
|
||||
fprintf(fout, "0 0 0 0 0 0 0\n");
|
||||
|
||||
for (i = 0; i < HAMLIB_FRQRANGESIZ && !RIG_IS_FRNG_END(rs->tx_range_list[i]); i++)
|
||||
for (i = 0; i < HAMLIB_FRQRANGESIZ
|
||||
&& !RIG_IS_FRNG_END(rs->tx_range_list[i]); i++)
|
||||
{
|
||||
fprintf(fout,
|
||||
"%"FREQFMT" %"FREQFMT" 0x%"PRXll" %d %d 0x%x 0x%x\n",
|
||||
|
|
|
@ -133,14 +133,20 @@ int main(int argc, char *argv[])
|
|||
ptt_t ptt;
|
||||
printf("PTT get ptt ON\n");
|
||||
rig_get_ptt(my_rig, RIG_VFO_CURR, &ptt);
|
||||
|
||||
if (ptt != RIG_PTT_ON) { printf("ptt != ON\n"); exit(1); }
|
||||
|
||||
hl_usleep(1000 * 1000);
|
||||
rig_get_ptt(my_rig, RIG_VFO_CURR, &ptt);
|
||||
printf("PTT get ptt ON\n");
|
||||
|
||||
if (ptt != RIG_PTT_ON) { printf("ptt != ON\n"); exit(1); }
|
||||
|
||||
printf("PTT ptt OFF\n");
|
||||
rig_set_ptt(my_rig, RIG_VFO_CURR, RIG_PTT_OFF);
|
||||
|
||||
if (ptt != RIG_PTT_ON) { printf("ptt != ON\n"); exit(1); }
|
||||
|
||||
rig_get_ptt(my_rig, RIG_VFO_CURR, &ptt);
|
||||
printf("PTT get ptt OFF\n");
|
||||
|
||||
|
@ -148,11 +154,14 @@ int main(int argc, char *argv[])
|
|||
split_t split;
|
||||
rig_get_split_vfo(my_rig, RIG_VFO_A, &split, &tx_vfo);
|
||||
printf("split=%d, tx_vfo=%s\n", split, rig_strvfo(tx_vfo));
|
||||
|
||||
if (split != 0 || tx_vfo != RIG_VFO_A) { printf("split#1 failed\n"); exit(1); }
|
||||
|
||||
rig_set_split_vfo(my_rig, RIG_VFO_A, RIG_SPLIT_ON, RIG_VFO_B);
|
||||
hl_usleep(1000 * 1000);
|
||||
rig_get_split_vfo(my_rig, RIG_VFO_A, &split, &tx_vfo);
|
||||
printf("split=%d, tx_vfo=%s\n", split, rig_strvfo(tx_vfo));
|
||||
|
||||
if (split != RIG_SPLIT_ON || tx_vfo != RIG_VFO_B) { printf("split#2 failed\n"); exit(1); }
|
||||
|
||||
printf("All OK\n");
|
||||
|
|
Ładowanie…
Reference in New Issue