[Hamlib-commits] Hamlib -- Ham radio control libraries branch master updated. 803a8d9e5e3f153cee47c
Library to control radio transceivers and receivers
Brought to you by:
n0nb
From: Michael B. <mdb...@us...> - 2021-03-10 17:52:31
|
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 803a8d9e5e3f153cee47cb713ee411cee2d032bb (commit) via 7b58661d1270377264f6ffc12c6072191247459a (commit) via 74a10af560210e845d6928d87daf8aa9b9abdb7c (commit) via f7f6ea318e1b5a26a7e0707901148bc0f1580e1b (commit) via 0405375a1e65adb28b3dab12afb0d45644eb06dc (commit) via 70b6dbdeb6025979c2edc95bdc660f6824e53f36 (commit) from 309dc138c9ed6163516a66ea92065f5c512c3b56 (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 803a8d9e5e3f153cee47cb713ee411cee2d032bb Author: Michael Black W9MDB <mdb...@ya...> Date: Wed Mar 10 11:49:47 2021 -0600 Fix icom.c logic to not reject good answers https://github.com/Hamlib/Hamlib/issues/596 diff --git a/rigs/icom/frame.c b/rigs/icom/frame.c index 97e3ae6e..9968e2a3 100644 --- a/rigs/icom/frame.c +++ b/rigs/icom/frame.c @@ -279,6 +279,8 @@ int icom_one_transaction(RIG *rig, int cmd, int subcmd, if (NAK == buf[frm_len - 2]) { RETURNFUNC(-RIG_ERJCTED); } + if (ACK != buf[frm_len - 2]) { RETURNFUNC(-RIG_BUSBUSY); } + *data_len = frm_len - (ACKFRMLEN - 1); rig_debug(RIG_DEBUG_TRACE, "%s: data_len=%d, frm_len=%d\n", __func__, *data_len, frm_len); diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index ddaa9294..6cecd81b 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -3081,14 +3081,7 @@ int icom_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) lvl_len--; } - if (lvl_len >= 1 && lvlbuf[0] != ACK && lvlbuf[1] != NAK) - { - // if we don't get ACK/NAK some serial corruption occurred - // so we'll call it a timeout for retry purposes - RETURNFUNC(-RIG_ETIMEOUT); - } - - if (lvlbuf[0] != ACK && lvlbuf[0] != lvl_cn) + if (lvlbuf[0] != lvl_cn) { rig_debug(RIG_DEBUG_ERR, "%s: ack NG (%#.2x), len=%d\n", __func__, lvlbuf[0], lvl_len); @@ -3211,11 +3204,13 @@ 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); } 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); } break; diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h index 258519e1..b9eb6eaa 100644 --- a/rigs/icom/icom.h +++ b/rigs/icom/icom.h @@ -30,7 +30,7 @@ #include <sys/time.h> #endif -#define BACKEND_VER "20210306" +#define BACKEND_VER "20210310" /* * defines used by comp_cal_str in rig.c commit 7b58661d1270377264f6ffc12c6072191247459a Author: Michael Black W9MDB <mdb...@ya...> Date: Wed Mar 10 08:24:33 2021 -0600 Fix RETURNFUNC -- when RETURNFUNC(function) was used is was calling the function multiple times https://github.com/Hamlib/Hamlib/issues/595 diff --git a/src/misc.h b/src/misc.h index c0a3a995..517334a4 100644 --- a/src/misc.h +++ b/src/misc.h @@ -142,9 +142,12 @@ extern HAMLIB_EXPORT(int) parse_hoststr(char *host, char hoststr[256], char port void errmsg(int err, char *s, const char *func, const char *file, int line); #define ERRMSG(err, s) errmsg(err, s, __func__, __FILENAME__, __LINE__) #define ENTERFUNC rig_debug(RIG_DEBUG_VERBOSE, "%s(%d):%s entered\n", __FILENAME__, __LINE__, __func__) +// we need to refer to rc just once as it +// could be a function call #define RETURNFUNC(rc) do { \ - rig_debug(RIG_DEBUG_VERBOSE, "%s(%d):%s return(%ld)\n", __FILENAME__, __LINE__, __func__, (long int) (rc)); \ - return (rc); \ + int rctmp = rc; \ + rig_debug(RIG_DEBUG_VERBOSE, "%s(%d):%s return(%ld)\n", __FILENAME__, __LINE__, __func__, (long int) (rctmp)); \ + return (rctmp); \ } while(0) #if 0 // 5.0 commit 74a10af560210e845d6928d87daf8aa9b9abdb7c Author: Michael Black W9MDB <mdb...@ya...> Date: Tue Mar 9 17:29:29 2021 -0600 Increase msg size diff --git a/src/rig.c b/src/rig.c index 245fec3d..946f9729 100644 --- a/src/rig.c +++ b/src/rig.c @@ -305,7 +305,7 @@ const char *HAMLIB_API rigerror(int errnum) return "ERR_OUT_OF_RANGE"; } - static char msg[DEBUGMSGSAVE_SIZE * 2]; + static char msg[DEBUGMSGSAVE_SIZE * 3]; // we have to remove LF from debugmsgsave since calling function controls LF char *p = &debugmsgsave[strlen(debugmsgsave) - 1]; commit f7f6ea318e1b5a26a7e0707901148bc0f1580e1b Author: Michael Black W9MDB <mdb...@ya...> Date: Tue Mar 9 17:22:44 2021 -0600 Fix compilation warning diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index 897c8afa..4fdc0b45 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -2900,7 +2900,7 @@ extern HAMLIB_EXPORT_VAR(char) debugmsgsave3[DEBUGMSGSAVE_SIZE]; // last-2 debu #ifndef __cplusplus #ifdef __GNUC__ // doing the debug macro with a dummy sprintf allows gcc to check the format string -#define rig_debug(debug_level,fmt,...) do { strncpy(debugmsgsave3, debugmsgsave2,sizeof(debugmsgsave3)-1);strncpy(debugmsgsave2, debugmsgsave, sizeof(debugmsgsave2)-1);snprintf(debugmsgsave,sizeof(debugmsgsave)-1,fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); } while(0); +#define rig_debug(debug_level,fmt,...) do { strncpy(debugmsgsave3, debugmsgsave2,sizeof(debugmsgsave3));strncpy(debugmsgsave2, debugmsgsave, sizeof(debugmsgsave2));snprintf(debugmsgsave,sizeof(debugmsgsave),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); } while(0); #endif #endif extern HAMLIB_EXPORT(void) commit 0405375a1e65adb28b3dab12afb0d45644eb06dc Author: Michael Black W9MDB <mdb...@ya...> Date: Tue Mar 9 17:18:45 2021 -0600 Fix rig.h compile error diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index 988d6c11..897c8afa 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -2900,7 +2900,7 @@ extern HAMLIB_EXPORT_VAR(char) debugmsgsave3[DEBUGMSGSAVE_SIZE]; // last-2 debu #ifndef __cplusplus #ifdef __GNUC__ // doing the debug macro with a dummy sprintf allows gcc to check the format string -#define rig_debug(debug_level,fmt,...) do { strncpy(debugmsgsave3, debugmsgsave2,sizeof(debugmsgsave3)-1);strncpy(debugmsgsave2, debugmsgsavem sizeof(debugmsgsdave2)-1);snprintf(debugmsgsave,sizeof(debugmsgsave),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); } while(0); +#define rig_debug(debug_level,fmt,...) do { strncpy(debugmsgsave3, debugmsgsave2,sizeof(debugmsgsave3)-1);strncpy(debugmsgsave2, debugmsgsave, sizeof(debugmsgsave2)-1);snprintf(debugmsgsave,sizeof(debugmsgsave)-1,fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); } while(0); #endif #endif extern HAMLIB_EXPORT(void) commit 70b6dbdeb6025979c2edc95bdc660f6824e53f36 Author: Michael Black W9MDB <mdb...@ya...> Date: Tue Mar 9 17:14:38 2021 -0600 Change strcpy to strncpy on debugmsgsave diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index 569dd367..988d6c11 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -2900,7 +2900,7 @@ extern HAMLIB_EXPORT_VAR(char) debugmsgsave3[DEBUGMSGSAVE_SIZE]; // last-2 debu #ifndef __cplusplus #ifdef __GNUC__ // doing the debug macro with a dummy sprintf allows gcc to check the format string -#define rig_debug(debug_level,fmt,...) do { strcpy(debugmsgsave3, debugmsgsave2);strcpy(debugmsgsave2, debugmsgsave);snprintf(debugmsgsave,sizeof(debugmsgsave),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); } while(0); +#define rig_debug(debug_level,fmt,...) do { strncpy(debugmsgsave3, debugmsgsave2,sizeof(debugmsgsave3)-1);strncpy(debugmsgsave2, debugmsgsavem sizeof(debugmsgsdave2)-1);snprintf(debugmsgsave,sizeof(debugmsgsave),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); } while(0); #endif #endif extern HAMLIB_EXPORT(void) ----------------------------------------------------------------------- Summary of changes: include/hamlib/rig.h | 2 +- rigs/icom/frame.c | 2 ++ rigs/icom/icom.c | 11 +++-------- rigs/icom/icom.h | 2 +- src/misc.h | 7 +++++-- src/rig.c | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |