From 9e89c4455a33be2205a7bc3bf18d283f0aac6c8a Mon Sep 17 00:00:00 2001 From: Michael Black Date: Wed, 25 Mar 2020 23:07:42 -0500 Subject: [PATCH] Add VFO & ANT definitions to rigs that were missing them --- ChangeLog | 7 +++++++ include/hamlib/rig.h | 3 ++- rigs/prm80/prm80.c | 2 ++ rigs/yaesu/ft757gx.c | 38 ++++++++++++++++++++------------------ rigs/yaesu/ft767gx.c | 26 ++++++++++++++------------ rigs/yaesu/ft847.c | 16 ++++++++-------- src/misc.c | 3 ++- tests/sprintflst.c | 5 ++++- 8 files changed, 59 insertions(+), 41 deletions(-) diff --git a/ChangeLog b/ChangeLog index ed2f58d55..66a561fc2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ For a complete log of changes to Hamlib, please visit: http://sourceforge.net/p/hamlib/code/commit_browser + +Major changes in 4.0 affecting usage +Most rig model numbers have changed +RIG_LEVEL_VOX has been deprecated and replaced by RIG_LEVEL_VOXDELAY +rigctl 'f' command now returns VFO argument too +rigctl 'y' and 'Y' command now take/show antenna argument and option. +range_list items are undergoing changes towards a different model TBD diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index 58cb4c389..2ad481cf8 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -2399,7 +2399,8 @@ rigerror HAMLIB_PARAMS((int errnum)); extern HAMLIB_EXPORT(int) rig_setting2idx HAMLIB_PARAMS((setting_t s)); -extern setting_t rig_idx2setting(int i); +extern HAMLIB_EXPORT(setting_t) +rig_idx2setting(int i); /* * Even if these functions are prefixed with "rig_", they are not rig specific * Maybe "hamlib_" would have been better. Let me know. --SF diff --git a/rigs/prm80/prm80.c b/rigs/prm80/prm80.c index 03b6efc65..30c8121f1 100644 --- a/rigs/prm80/prm80.c +++ b/rigs/prm80/prm80.c @@ -431,11 +431,13 @@ int prm80_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) switch (level) { case RIG_LEVEL_AF: + // cppcheck-suppress * val->f = chan.levels[LVL_AF].f; break; case RIG_LEVEL_SQL: + // cppcheck-suppress * val->f = chan.levels[LVL_SQL].f; break; diff --git a/rigs/yaesu/ft757gx.c b/rigs/yaesu/ft757gx.c index 8593221eb..fac7b109d 100644 --- a/rigs/yaesu/ft757gx.c +++ b/rigs/yaesu/ft757gx.c @@ -49,6 +49,8 @@ #include "yaesu.h" #include "ft757gx.h" +#define FT757GX_VFOS (RIG_VFO_A|RIG_VFO_B) + /* Private helper function prototypes */ static int ft757_get_update_data(RIG *rig); static int mode2rig(RIG *rig, rmode_t mode, pbwidth_t width); @@ -139,23 +141,23 @@ const struct rig_caps ft757gx_caps = RIG_FRNG_END, }, /* rx range */ - .tx_range_list2 = { {kHz(1500), 1999900, FT757GX_ALL_TX_MODES, .low_power = 5000, .high_power = 100000}, + .tx_range_list2 = { {kHz(1500), 1999900, FT757GX_ALL_TX_MODES, .low_power = 5000, .high_power = 100000, FT757GX_VFOS, RIG_ANT_1}, - {.startf = kHz(3500), 3999900, FT757GX_ALL_TX_MODES, 5000, 100000}, + {.startf = kHz(3500), 3999900, FT757GX_ALL_TX_MODES, 5000, 100000, FT757GX_VFOS, RIG_ANT_1}, - {.startf = kHz(7000), 7499900, FT757GX_ALL_TX_MODES, 5000, 100000}, + {.startf = kHz(7000), 7499900, FT757GX_ALL_TX_MODES, 5000, 100000, FT757GX_VFOS, RIG_ANT_1}, - {.startf = MHz(10), 10499900, FT757GX_ALL_TX_MODES, 5000, 100000}, + {.startf = MHz(10), 10499900, FT757GX_ALL_TX_MODES, 5000, 100000, FT757GX_VFOS, RIG_ANT_1}, - {.startf = MHz(14), 14499900, FT757GX_ALL_TX_MODES, 5000, 100000}, + {.startf = MHz(14), 14499900, FT757GX_ALL_TX_MODES, 5000, 100000, FT757GX_VFOS, RIG_ANT_1}, - {.startf = MHz(18), 18499900, FT757GX_ALL_TX_MODES, 5000, 100000}, + {.startf = MHz(18), 18499900, FT757GX_ALL_TX_MODES, 5000, 100000, FT757GX_VFOS, RIG_ANT_1}, - {.startf = MHz(21), 21499900, FT757GX_ALL_TX_MODES, 5000, 100000}, + {.startf = MHz(21), 21499900, FT757GX_ALL_TX_MODES, 5000, 100000, FT757GX_VFOS, RIG_ANT_1}, - {.startf = kHz(24500), 24999900, FT757GX_ALL_TX_MODES, 5000, 100000}, + {.startf = kHz(24500), 24999900, FT757GX_ALL_TX_MODES, 5000, 100000, FT757GX_VFOS, RIG_ANT_1}, - {.startf = MHz(28), 29999900, FT757GX_ALL_TX_MODES, 5000, 100000}, + {.startf = MHz(28), 29999900, FT757GX_ALL_TX_MODES, 5000, 100000, FT757GX_VFOS, RIG_ANT_1}, RIG_FRNG_END, }, @@ -260,23 +262,23 @@ const struct rig_caps ft757gx2_caps = }, /* rx range */ /* FIXME: 10m is "less" and AM is 25W carrier */ - .tx_range_list2 = { {kHz(1500), 1999900, FT757GX_ALL_TX_MODES, .low_power = 5000, .high_power = 100000}, + .tx_range_list2 = { {kHz(1500), 1999900, FT757GX_ALL_TX_MODES, .low_power = 5000, .high_power = 100000, FT757GX_VFOS, RIG_ANT_1}, - {.startf = kHz(3500), 3999900, FT757GX_ALL_TX_MODES, 5000, 100000}, + {.startf = kHz(3500), 3999900, FT757GX_ALL_TX_MODES, 5000, 100000, FT757GX_VFOS, RIG_ANT_1}, - {.startf = kHz(7000), 7499900, FT757GX_ALL_TX_MODES, 5000, 100000}, + {.startf = kHz(7000), 7499900, FT757GX_ALL_TX_MODES, 5000, 100000, FT757GX_VFOS, RIG_ANT_1}, - {.startf = MHz(10), 10499900, FT757GX_ALL_TX_MODES, 5000, 100000}, + {.startf = MHz(10), 10499900, FT757GX_ALL_TX_MODES, 5000, 100000, FT757GX_VFOS, RIG_ANT_1}, - {.startf = MHz(14), 14499900, FT757GX_ALL_TX_MODES, 5000, 100000}, + {.startf = MHz(14), 14499900, FT757GX_ALL_TX_MODES, 5000, 100000, FT757GX_VFOS, RIG_ANT_1}, - {.startf = MHz(18), 18499900, FT757GX_ALL_TX_MODES, 5000, 100000}, + {.startf = MHz(18), 18499900, FT757GX_ALL_TX_MODES, 5000, 100000, FT757GX_VFOS, RIG_ANT_1}, - {.startf = MHz(21), 21499900, FT757GX_ALL_TX_MODES, 5000, 100000}, + {.startf = MHz(21), 21499900, FT757GX_ALL_TX_MODES, 5000, 100000, FT757GX_VFOS, RIG_ANT_1}, - {.startf = kHz(24500), 24999900, FT757GX_ALL_TX_MODES, 5000, 100000}, + {.startf = kHz(24500), 24999900, FT757GX_ALL_TX_MODES, 5000, 100000, FT757GX_VFOS, RIG_ANT_1}, - {.startf = MHz(28), 29999900, FT757GX_ALL_TX_MODES, 5000, 100000}, + {.startf = MHz(28), 29999900, FT757GX_ALL_TX_MODES, 5000, 100000, FT757GX_VFOS, RIG_ANT_1}, RIG_FRNG_END, }, diff --git a/rigs/yaesu/ft767gx.c b/rigs/yaesu/ft767gx.c index cf5894225..a60e35cff 100644 --- a/rigs/yaesu/ft767gx.c +++ b/rigs/yaesu/ft767gx.c @@ -108,6 +108,8 @@ static int rig2ctcss(RIG *rig, unsigned char tn, tone_t *tone); */ /* #define USE_YAESU_PUBLISHED_TONES */ +#define FT767GX_VFOS (RIG_VFO_A|RIG_VFO_B) + /* Valid command codes */ #define CMD_CAT_SW 0x00 #define CMD_CHECK 0x01 @@ -311,29 +313,29 @@ const struct rig_caps ft767gx_caps = RIG_FRNG_END, }, /* rx range */ - .tx_range_list2 = { {kHz(1500), 1999900, FT767GX_HF_TX_MODES, .low_power = 5000, .high_power = 100000}, + .tx_range_list2 = { {kHz(1500), 1999900, FT767GX_HF_TX_MODES, .low_power = 5000, .high_power = 100000, FT767GX_VFOS, RIG_ANT_CURR}, - {.startf = kHz(3500), 3999900, FT767GX_HF_TX_MODES, 5000, 100000}, + {.startf = kHz(3500), 3999900, FT767GX_HF_TX_MODES, 5000, 100000, FT767GX_VFOS, RIG_ANT_CURR}, - {.startf = kHz(7000), 7499900, FT767GX_HF_TX_MODES, 5000, 100000}, + {.startf = kHz(7000), 7499900, FT767GX_HF_TX_MODES, 5000, 100000, FT767GX_VFOS, RIG_ANT_CURR}, - {.startf = MHz(10), 10499900, FT767GX_HF_TX_MODES, 5000, 100000}, + {.startf = MHz(10), 10499900, FT767GX_HF_TX_MODES, 5000, 100000, FT767GX_VFOS, RIG_ANT_CURR}, - {.startf = MHz(14), 14499900, FT767GX_HF_TX_MODES, 5000, 100000}, + {.startf = MHz(14), 14499900, FT767GX_HF_TX_MODES, 5000, 100000, FT767GX_VFOS, RIG_ANT_CURR}, - {.startf = MHz(18), 18499900, FT767GX_HF_TX_MODES, 5000, 100000}, + {.startf = MHz(18), 18499900, FT767GX_HF_TX_MODES, 5000, 100000, FT767GX_VFOS, RIG_ANT_CURR}, - {.startf = MHz(21), 21499900, FT767GX_HF_TX_MODES, 5000, 100000}, + {.startf = MHz(21), 21499900, FT767GX_HF_TX_MODES, 5000, 100000, FT767GX_VFOS, RIG_ANT_CURR}, - {.startf = kHz(24500), 24999900, FT767GX_HF_TX_MODES, 5000, 100000}, + {.startf = kHz(24500), 24999900, FT767GX_HF_TX_MODES, 5000, 100000, FT767GX_VFOS, RIG_ANT_CURR}, - {.startf = MHz(28), 29999900, FT767GX_HF_TX_MODES, 5000, 100000}, + {.startf = MHz(28), 29999900, FT767GX_HF_TX_MODES, 5000, 100000, FT767GX_VFOS, RIG_ANT_CURR}, - {.startf = MHz(50), 59999900, FT767GX_ALL_TX_MODES, 5000, 10000}, + {.startf = MHz(50), 59999900, FT767GX_ALL_TX_MODES, 5000, 10000, FT767GX_VFOS, RIG_ANT_CURR}, - {.startf = MHz(144), 147999900, FT767GX_ALL_TX_MODES, 5000, 10000}, + {.startf = MHz(144), 147999900, FT767GX_ALL_TX_MODES, 5000, 10000, FT767GX_VFOS, RIG_ANT_CURR}, - {.startf = MHz(430), 449999990, FT767GX_ALL_TX_MODES, 5000, 10000}, + {.startf = MHz(430), 449999990, FT767GX_ALL_TX_MODES, 5000, 10000, FT767GX_VFOS, RIG_ANT_CURR}, RIG_FRNG_END, }, diff --git a/rigs/yaesu/ft847.c b/rigs/yaesu/ft847.c index 5e5668159..1d70705ae 100644 --- a/rigs/yaesu/ft847.c +++ b/rigs/yaesu/ft847.c @@ -256,10 +256,10 @@ const struct rig_caps ft847_caps = .chan_list = { RIG_CHAN_END, }, /* FIXME: memory chan list: 78, but only in clonable mode? */ .rx_range_list1 = { - {kHz(100), MHz(30), FT847_ALL_RX_MODES, -1, -1}, /* rx range begin */ - {MHz(36), MHz(76), FT847_ALL_RX_MODES, -1, -1}, - {MHz(108), MHz(174), FT847_ALL_RX_MODES, -1, -1}, - {MHz(420), MHz(512), FT847_ALL_RX_MODES, -1, -1}, + {kHz(100), MHz(30), FT847_ALL_RX_MODES, -1, -1, FT847_VFOS, FT847_ANTS}, /* rx range begin */ + {MHz(36), MHz(76), FT847_ALL_RX_MODES, -1, -1, FT847_VFOS, FT847_ANTS}, + {MHz(108), MHz(174), FT847_ALL_RX_MODES, -1, -1, FT847_VFOS, FT847_ANTS}, + {MHz(420), MHz(512), FT847_ALL_RX_MODES, -1, -1, FT847_VFOS, FT847_ANTS}, RIG_FRNG_END, }, /* rx range end */ @@ -281,10 +281,10 @@ const struct rig_caps ft847_caps = }, /* tx range end */ .rx_range_list2 = - { {kHz(100), MHz(30), FT847_ALL_RX_MODES, -1, -1}, /* rx range begin */ - {MHz(36), MHz(76), FT847_ALL_RX_MODES, -1, -1}, - {MHz(108), MHz(174), FT847_ALL_RX_MODES, -1, -1}, - {MHz(420), MHz(512), FT847_ALL_RX_MODES, -1, -1}, + { {kHz(100), MHz(30), FT847_ALL_RX_MODES, -1, -1, FT847_VFOS, FT847_ANTS}, /* rx range begin */ + {MHz(36), MHz(76), FT847_ALL_RX_MODES, -1, -1, FT847_VFOS, FT847_ANTS}, + {MHz(108), MHz(174), FT847_ALL_RX_MODES, -1, -1, FT847_VFOS, FT847_ANTS}, + {MHz(420), MHz(512), FT847_ALL_RX_MODES, -1, -1, FT847_VFOS, FT847_ANTS}, RIG_FRNG_END, }, /* rx range end */ diff --git a/src/misc.c b/src/misc.c index d3a930c8e..1e2c3f2d6 100644 --- a/src/misc.c +++ b/src/misc.c @@ -504,12 +504,13 @@ const char *HAMLIB_API rig_strvfo(vfo_t vfo) int i; //a bit too verbose - //rig_debug(RIG_DEBUG_TRACE, "%s called\n", __func__); + rig_debug(RIG_DEBUG_TRACE, "%s called\n", __func__); for (i = 0 ; vfo_str[i].str[0] != '\0'; i++) { if (vfo == vfo_str[i].vfo) { + rig_debug(RIG_DEBUG_TRACE, "%s returning %s\n", __func__, vfo_str[i].str); return vfo_str[i].str; } } diff --git a/tests/sprintflst.c b/tests/sprintflst.c index b4d834cfc..d7e456f44 100644 --- a/tests/sprintflst.c +++ b/tests/sprintflst.c @@ -45,6 +45,7 @@ int sprintf_vfo(char *str, vfo_t vfo) { unsigned int i, len = 0; + rig_debug(RIG_DEBUG_TRACE, "%s: vfo=%s\n", __func__, rig_strvfo(vfo)); *str = '\0'; if (vfo == RIG_VFO_NONE) @@ -57,7 +58,7 @@ int sprintf_vfo(char *str, vfo_t vfo) const char *sv; sv = rig_strvfo(vfo & RIG_VFO_N(i)); - if (sv && sv[0] && strstr(str, "None") == 0) + if (sv && sv[0] && (strstr(sv, "None") == 0)) { len += sprintf(str + len, "%s ", sv); } @@ -69,6 +70,7 @@ int sprintf_vfo(char *str, vfo_t vfo) int sprintf_mode(char *str, rmode_t mode) { + // cppcheck-suppress * uint64_t i, len = 0; *str = '\0'; @@ -146,6 +148,7 @@ int sprintf_ant(char *str, ant_t ant) int sprintf_func(char *str, setting_t func) { + // cppcheck-suppress * uint64_t i, len = 0; *str = '\0';