From 7223fb0766468fabe2c40b3a3d0e309c9b1abfa1 Mon Sep 17 00:00:00 2001 From: Daniele Forsi IU5HKX Date: Tue, 24 Jun 2025 22:08:46 +0200 Subject: [PATCH] Fix Rig.get_vfo_info() --- bindings/python/test_rig.py | 6 ++---- bindings/rig.swg | 16 +++++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/bindings/python/test_rig.py b/bindings/python/test_rig.py index a24ffe07d..7b3adc1b5 100755 --- a/bindings/python/test_rig.py +++ b/bindings/python/test_rig.py @@ -131,10 +131,8 @@ class TestClass: assert isinstance(rig.get_ts(), int) assert isinstance(rig.get_ts(Hamlib.RIG_VFO_CURR), int) assert isinstance(rig.get_vfo(), int) - with raises(TypeError): - assert rig.get_vfo_info(Hamlib.RIG_VFO_CURR) is None # FIXME - assert rig.get_vfo_info(Hamlib.RIG_VFO_CURR, 2) is None # FIXME - assert rig.get_vfo_info(Hamlib.RIG_VFO_CURR, 2, 3) is None # FIXME + assert isinstance(rig.get_vfo_info(), list) + assert isinstance(rig.get_vfo_info(Hamlib.RIG_VFO_CURR), list) assert isinstance(rig.get_xit(), int) assert isinstance(rig.get_xit(Hamlib.RIG_VFO_CURR), int) # assert rig_has_get_func(0) FIXME not defined diff --git a/bindings/rig.swg b/bindings/rig.swg index 1c60a6d45..5c086b330 100644 --- a/bindings/rig.swg +++ b/bindings/rig.swg @@ -30,8 +30,14 @@ %include %include -%apply unsigned int *OUTPUT { vfo_t * }; +%apply int *OUTPUT { int *}; + +%apply unsigned int *OUTPUT { ant_t * }; +%apply double *OUTPUT { freq_t * }; +%apply shortfreq_t *OUTPUT { pbwidth_t * }; +%apply uint64_t *OUTPUT { rmode_t * }; %apply int *OUTPUT { split_t * }; +%apply unsigned int *OUTPUT { vfo_t * }; %inline %{ @@ -468,7 +474,8 @@ typedef channel_t * const_channel_t_p; METHOD1VGET(get_xit, shortfreq_t) METHOD1VGET(get_ts, shortfreq_t) extern void get_ant(ant_t *OUTPUT, ant_t *OUTPUT, ant_t *OUTPUT, value_t *OUTPUT, ant_t ant, vfo_t vfo = RIG_VFO_CURR); - extern void get_vfo_info (int *satmode, split_t *split, pbwidth_t *width, rmode_t *mode, freq_t *freq, vfo_t vfo = RIG_VFO_CURR); + void get_vfo_info (int *satmode, split_t *split, pbwidth_t *width, rmode_t *mode, freq_t *freq, vfo_t vfo = RIG_VFO_CURR) + { self->error_status = rig_get_vfo_info(self->rig, vfo, freq, mode, width, split, satmode); } METHOD1VGET(get_mem, int) METHOD1GET(get_powerstat, powerstat_t) METHOD1GET(get_trn, int) @@ -620,11 +627,6 @@ void Rig_get_ant(Rig *self, ant_t *ant_rx, ant_t *ant_tx, ant_t *ant_curr, value { self->error_status = rig_get_ant(self->rig, vfo, ant, option, ant_curr, ant_tx, ant_rx); } -void Rig_get_vfo_info (Rig *self, int *satmode, split_t *split, pbwidth_t *width, rmode_t *mode, freq_t *freq, vfo_t vfo) -{ - self->error_status = rig_get_vfo_info(self->rig, vfo, freq, mode, width, split, satmode); -} - struct channel *Rig_get_chan_all(Rig *self) {