diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index 574c21bdd..5dbb5a7be 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -1675,7 +1675,7 @@ typedef struct cal_table_float cal_table_float_t; //! @cond Doxygen_Suppress #define EMPTY_FLOAT_CAL { 0, { { 0, 0f }, } } -typedef int (* chan_cb_t)(RIG *, channel_t **, int, const chan_t *, rig_ptr_t); +typedef int (* chan_cb_t)(RIG *, vfo_t vfo, channel_t **, int, const chan_t *, rig_ptr_t); typedef int (* confval_cb_t)(RIG *, const struct confparams *, value_t *, @@ -2024,10 +2024,12 @@ struct rig_caps { int (*get_chan_all_cb)(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t); int (*set_mem_all_cb)(RIG *rig, + vfo_t vfo, chan_cb_t chan_cb, confval_cb_t parm_cb, rig_ptr_t); int (*get_mem_all_cb)(RIG *rig, + vfo_t vfo, chan_cb_t chan_cb, confval_cb_t parm_cb, rig_ptr_t); diff --git a/rigs/aor/aor.c b/rigs/aor/aor.c index ad4331d92..3f69d7237 100644 --- a/rigs/aor/aor.c +++ b/rigs/aor/aor.c @@ -1364,7 +1364,7 @@ int aor_get_chan_all_cb(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t arg) * future data for channel channel_num */ chan = NULL; - retval = chan_cb(rig, &chan, chan_next, chan_list, arg); + retval = chan_cb(rig, vfo, &chan, chan_next, chan_list, arg); if (retval != RIG_OK) { @@ -1414,7 +1414,7 @@ int aor_get_chan_all_cb(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t arg) * provide application with channel data, * and ask for a new channel structure */ - chan_cb(rig, &chan, chan_next, chan_list, arg); + chan_cb(rig, vfo, &chan, chan_next, chan_list, arg); if (j >= LINES_PER_MA - 1) { diff --git a/src/mem.c b/src/mem.c index 8aa51e574..a6d72e599 100644 --- a/src/mem.c +++ b/src/mem.c @@ -954,7 +954,7 @@ int get_chan_all_cb_generic(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, * future data for channel channel_num */ chan = NULL; - retval = chan_cb(rig, &chan, chan_list[i].startc, chan_list, arg); + retval = chan_cb(rig, vfo, &chan, chan_list[i].startc, chan_list, arg); if (retval != RIG_OK) { @@ -995,7 +995,7 @@ int get_chan_all_cb_generic(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, chan_next = j < chan_list[i].endc ? j + 1 : j; - chan_cb(rig, &chan, chan_next, chan_list, arg); + chan_cb(rig, vfo, &chan, chan_next, chan_list, arg); } } @@ -1016,7 +1016,7 @@ int set_chan_all_cb_generic(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, for (j = chan_list[i].startc; j <= chan_list[i].endc; j++) { - chan_cb(rig, &chan, j, chan_list, arg); + chan_cb(rig, vfo, &chan, j, chan_list, arg); chan->vfo = RIG_VFO_MEM; retval = rig_set_channel(rig, vfo, chan); @@ -1044,6 +1044,7 @@ struct map_all_s * chan_cb_t to be used for non cb get/set_all */ static int map_chan(RIG *rig, + vfo_t vfo, channel_t **chan, int channel_num, const chan_t *chan_list, @@ -1343,7 +1344,7 @@ int HAMLIB_API rig_set_mem_all_cb(RIG *rig, if (rc->set_mem_all_cb) { - return rc->set_mem_all_cb(rig, chan_cb, parm_cb, arg); + return rc->set_mem_all_cb(rig, vfo, chan_cb, parm_cb, arg); } @@ -1411,7 +1412,7 @@ int HAMLIB_API rig_get_mem_all_cb(RIG *rig, if (rc->get_mem_all_cb) { - return rc->get_mem_all_cb(rig, chan_cb, parm_cb, arg); + return rc->get_mem_all_cb(rig, vfo, chan_cb, parm_cb, arg); } /* if not available, emulate it */ @@ -1480,7 +1481,7 @@ int HAMLIB_API rig_set_mem_all(RIG *rig, mem_all_arg.vals = (value_t *) vals; if (rc->set_mem_all_cb) - return rc->set_mem_all_cb(rig, map_chan, map_parm, + return rc->set_mem_all_cb(rig, vfo, map_chan, map_parm, (rig_ptr_t)&mem_all_arg); /* if not available, emulate it */ @@ -1548,7 +1549,7 @@ int HAMLIB_API rig_get_mem_all(RIG *rig, mem_all_arg.vals = vals; if (rc->get_mem_all_cb) - return rc->get_mem_all_cb(rig, map_chan, map_parm, + return rc->get_mem_all_cb(rig, vfo, map_chan, map_parm, (rig_ptr_t)&mem_all_arg); /* diff --git a/tests/testcaps.sh b/tests/testcaps.sh new file mode 100755 index 000000000..7032a2ce4 --- /dev/null +++ b/tests/testcaps.sh @@ -0,0 +1,12 @@ +#!/bin/sh +model=1 +riglist=`rigctl -l | cut -c1-8 | grep -v Rig | tr -d '\n'` +for model in $riglist +do + result=`rigctl -m $model -u 2>/dev/null | grep warnings` +# if [[ "$result" == *"warnings: 0"* ]];then + echo $model " " $result +# fi + + model=`expr $model + 1` +done