[Hamlib-commits] Hamlib -- Ham radio control libraries branch master updated. 2020f291858ebc8d7c98a
Library to control radio transceivers and receivers
Brought to you by:
n0nb
From: Michael B. <mdb...@us...> - 2020-09-10 15:07:30
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Hamlib -- Ham radio control libraries". The branch, master has been updated via 2020f291858ebc8d7c98adc1427ce1a57dd199b7 (commit) from c9c6b0c47c0e478a67b87c301492f7177c168173 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 2020f291858ebc8d7c98adc1427ce1a57dd199b7 Author: Michael Black W9MDB <mdb...@ya...> Date: Thu Sep 10 10:07:11 2020 -0500 Remove redundant RIG_LEVEL_BRIGHT diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index 57f9c32f..b382f9d1 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -880,7 +880,7 @@ enum rig_level_e { RIG_LEVEL_NOTCHF_RAW = CONSTANT_64BIT_FLAG(36), /*!< \c NOTCHF_RAW -- Notch Freq., arg float [0.0 ... 1.0] */ RIG_LEVEL_MONITOR_GAIN = CONSTANT_64BIT_FLAG(37), /*!< \c MONITOR_GAIN -- Monitor gain (level for monitoring of transmitted audio), arg float [0.0 ... 1.0] */ RIG_LEVEL_NB = CONSTANT_64BIT_FLAG(38), /*!< \c NB -- Noise Blanker level, arg float [0.0 ... 1.0] */ - RIG_LEVEL_BRIGHT = CONSTANT_64BIT_FLAG(39), /*!< \c Display brightness */ + RIG_LEVEL_39 = CONSTANT_64BIT_FLAG(39), /*!< \c Future use */ RIG_LEVEL_40 = CONSTANT_64BIT_FLAG(40), /*!< \c Future use */ RIG_LEVEL_41 = CONSTANT_64BIT_FLAG(41), /*!< \c Future use */ RIG_LEVEL_42 = CONSTANT_64BIT_FLAG(42), /*!< \c Future use */ diff --git a/rigs/icom/ic7300.c b/rigs/icom/ic7300.c index 26df43b9..985121e8 100644 --- a/rigs/icom/ic7300.c +++ b/rigs/icom/ic7300.c @@ -139,7 +139,7 @@ struct cmdparams ic705_extcmds[] = #define IC705_ALL_TX_MODES (RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_DSTAR) #define IC705_ALL_RX_MODES (RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_PKTLSB|RIG_MODE_PKTUSB|RIG_MODE_PKTFM|RIG_MODE_PKTAM|RIG_MODE_DSTAR) #define IC705_OTHER_TX_MODES (RIG_MODE_FM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_DSTAR) -#define IC705_LEVELS (RIG_LEVEL_PREAMP|RIG_LEVEL_ATT|RIG_LEVEL_AGC|RIG_LEVEL_COMP|RIG_LEVEL_BKINDL|RIG_LEVEL_NR|RIG_LEVEL_PBT_IN|RIG_LEVEL_PBT_OUT|RIG_LEVEL_CWPITCH|RIG_LEVEL_RFPOWER|RIG_LEVEL_MICGAIN|RIG_LEVEL_KEYSPD|RIG_LEVEL_NOTCHF_RAW|RIG_LEVEL_SQL|RIG_LEVEL_RAWSTR|RIG_LEVEL_STRENGTH|RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_VOXGAIN|RIG_LEVEL_ANTIVOX|RIG_LEVEL_VOXDELAY|RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER|RIG_LEVEL_MONITOR_GAIN|RIG_LEVEL_NB|RIG_LEVEL_BRIGHT) +#define IC705_LEVELS (RIG_LEVEL_PREAMP|RIG_LEVEL_ATT|RIG_LEVEL_AGC|RIG_LEVEL_COMP|RIG_LEVEL_BKINDL|RIG_LEVEL_NR|RIG_LEVEL_PBT_IN|RIG_LEVEL_PBT_OUT|RIG_LEVEL_CWPITCH|RIG_LEVEL_RFPOWER|RIG_LEVEL_MICGAIN|RIG_LEVEL_KEYSPD|RIG_LEVEL_NOTCHF_RAW|RIG_LEVEL_SQL|RIG_LEVEL_RAWSTR|RIG_LEVEL_STRENGTH|RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_VOXGAIN|RIG_LEVEL_ANTIVOX|RIG_LEVEL_VOXDELAY|RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER|RIG_LEVEL_MONITOR_GAIN|RIG_LEVEL_NB) /* * IC9700 items that differ from IC7300 diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 24a6cd32..059310bc 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -2653,11 +2653,6 @@ int icom_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) lvl_sc = S_LVL_MON; break; - case RIG_LEVEL_BRIGHT: - lvl_cn = C_CTL_LVL; - lvl_sc = S_LVL_BRIGHT; - break; - default: rig_debug(RIG_DEBUG_ERR, "%s: unsupported set_level %s", __func__, rig_strlevel(level)); diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h index b5959882..90fb245e 100644 --- a/rigs/icom/icom.h +++ b/rigs/icom/icom.h @@ -31,7 +31,7 @@ #include <sys/time.h> #endif -#define BACKEND_VER "20200906" +#define BACKEND_VER "20200910" /* * defines used by comp_cal_str in rig.c diff --git a/rigs/kenwood/flex6xxx.c b/rigs/kenwood/flex6xxx.c index a1f598c2..67959ac3 100644 --- a/rigs/kenwood/flex6xxx.c +++ b/rigs/kenwood/flex6xxx.c @@ -47,6 +47,9 @@ #define F6K_ANTS (RIG_ANT_1|RIG_ANT_2|RIG_ANT_3) +/* PowerSDR differences */ +#define POWERSDR_LEVEL_ALL (RIG_LEVEL_SLOPE_HIGH|RIG_LEVEL_SLOPE_LOW|RIG_LEVEL_KEYSPD|RIG_LEVEL_RFPOWER_METER) + static rmode_t flex_mode_table[KENWOOD_MODE_TABLE_MAX] = { @@ -628,6 +631,52 @@ int flex6k_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt) return err; } +/* + * powersdr_get_level + */ +int powersdr_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) +{ + char lvlbuf[KENWOOD_MAX_BUF_LEN]; + char *cmd; + int retval; + int len; + + rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); + + if (!val) + { + return -RIG_EINVAL; + } + + switch (level) + { + case RIG_LEVEL_RFPOWER_METER: + cmd = "ZZRM5"; + len = 5; + break; + default: + return kenwood_get_level(rig,vfo,level,val); + } + retval = kenwood_safe_transaction(rig, cmd, lvlbuf, 10, len + 3); + if (retval != RIG_OK) + { + return retval; + } + int n; + switch (level) + { + case RIG_LEVEL_RFPOWER_METER: + n = sscanf(lvlbuf + len, "%f", &val->f); + if (n != 1) { + rig_debug(RIG_DEBUG_ERR,"%s: Error parsing RFPOWER from lvlbuf='%s'\n",__func__,lvlbuf); + return -RIG_EPROTO; + } + val->f /= 100; + break; + } + return RIG_OK; +} + /* * F6K rig capabilities. @@ -785,7 +834,7 @@ const struct rig_caps powersdr_caps = .has_get_func = RIG_FUNC_NONE, /* has VOX but not implemented here */ .has_set_func = RIG_FUNC_NONE, - .has_get_level = F6K_LEVEL_ALL, + .has_get_level = POWERSDR_LEVEL_ALL, .has_set_level = F6K_LEVEL_ALL, .has_get_parm = RIG_PARM_NONE, .has_set_parm = RIG_PARM_NONE, /* FIXME: parms */ @@ -879,7 +928,8 @@ const struct rig_caps powersdr_caps = // TODO copy over kenwood_[set|get]_level and modify to handle DSP filter values // correctly - use actual values instead of indices .set_level = kenwood_set_level, - .get_level = kenwood_get_level, + .get_level = powersdr_get_level, //.set_ant = kenwood_set_ant_no_ack, //.get_ant = kenwood_get_ant, }; + diff --git a/src/misc.c b/src/misc.c index 56c3656a..a8c81175 100644 --- a/src/misc.c +++ b/src/misc.c @@ -683,7 +683,6 @@ static struct { RIG_LEVEL_NOTCHF_RAW, "NOTCHF_RAW" }, { RIG_LEVEL_MONITOR_GAIN, "MONITOR_GAIN" }, { RIG_LEVEL_NB, "NB" }, - { RIG_LEVEL_BRIGHT, "BRIGHT" }, { RIG_LEVEL_NONE, "" }, }; ----------------------------------------------------------------------- Summary of changes: include/hamlib/rig.h | 2 +- rigs/icom/ic7300.c | 2 +- rigs/icom/icom.c | 5 ----- rigs/icom/icom.h | 2 +- rigs/kenwood/flex6xxx.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++-- src/misc.c | 1 - 6 files changed, 55 insertions(+), 11 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |