hamlib-cvs-digest Mailing List for Ham Radio Control Libraries (Page 7)
Library to control radio transceivers and receivers
Brought to you by:
n0nb
You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(57) |
Nov
(27) |
Dec
(25) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(41) |
Feb
(101) |
Mar
(60) |
Apr
(32) |
May
(32) |
Jun
(198) |
Jul
(95) |
Aug
(60) |
Sep
(48) |
Oct
(96) |
Nov
(27) |
Dec
(222) |
2002 |
Jan
(180) |
Feb
(46) |
Mar
(68) |
Apr
(11) |
May
(36) |
Jun
(34) |
Jul
(113) |
Aug
(42) |
Sep
(71) |
Oct
(65) |
Nov
(116) |
Dec
(40) |
2003 |
Jan
(32) |
Feb
(92) |
Mar
(29) |
Apr
(102) |
May
(21) |
Jun
(34) |
Jul
(3) |
Aug
(60) |
Sep
(30) |
Oct
(62) |
Nov
(57) |
Dec
(33) |
2004 |
Jan
(28) |
Feb
(46) |
Mar
(16) |
Apr
(14) |
May
(31) |
Jun
(21) |
Jul
(10) |
Aug
(80) |
Sep
(42) |
Oct
(11) |
Nov
(28) |
Dec
(13) |
2005 |
Jan
(35) |
Feb
(26) |
Mar
(20) |
Apr
(118) |
May
(2) |
Jun
(5) |
Jul
|
Aug
|
Sep
(5) |
Oct
(1) |
Nov
(13) |
Dec
(1) |
2006 |
Jan
(9) |
Feb
(25) |
Mar
(22) |
Apr
(6) |
May
|
Jun
|
Jul
(2) |
Aug
(1) |
Sep
(3) |
Oct
(46) |
Nov
(13) |
Dec
(7) |
2007 |
Jan
(9) |
Feb
(14) |
Mar
(3) |
Apr
|
May
(6) |
Jun
(1) |
Jul
|
Aug
(11) |
Sep
(7) |
Oct
(8) |
Nov
(41) |
Dec
(3) |
2008 |
Jan
(27) |
Feb
(16) |
Mar
(13) |
Apr
(23) |
May
(39) |
Jun
(4) |
Jul
(7) |
Aug
(1) |
Sep
(13) |
Oct
(52) |
Nov
(44) |
Dec
(55) |
2009 |
Jan
(72) |
Feb
(69) |
Mar
|
Apr
|
May
|
Jun
(13) |
Jul
(1) |
Aug
(6) |
Sep
(15) |
Oct
(11) |
Nov
(31) |
Dec
(20) |
2010 |
Jan
(24) |
Feb
(21) |
Mar
(22) |
Apr
(40) |
May
(38) |
Jun
(4) |
Jul
(2) |
Aug
(22) |
Sep
(19) |
Oct
(14) |
Nov
(5) |
Dec
(8) |
2011 |
Jan
(14) |
Feb
(36) |
Mar
(6) |
Apr
|
May
|
Jun
(23) |
Jul
(13) |
Aug
(8) |
Sep
(7) |
Oct
|
Nov
(3) |
Dec
(9) |
2012 |
Jan
(17) |
Feb
(13) |
Mar
(10) |
Apr
|
May
(1) |
Jun
(14) |
Jul
(4) |
Aug
(12) |
Sep
(2) |
Oct
(24) |
Nov
(14) |
Dec
(2) |
2013 |
Jan
(4) |
Feb
(3) |
Mar
(3) |
Apr
(3) |
May
(10) |
Jun
(4) |
Jul
(7) |
Aug
|
Sep
(15) |
Oct
(5) |
Nov
(1) |
Dec
(2) |
2014 |
Jan
|
Feb
(8) |
Mar
(1) |
Apr
(3) |
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
(3) |
Oct
(7) |
Nov
(6) |
Dec
(3) |
2015 |
Jan
(4) |
Feb
(5) |
Mar
(8) |
Apr
(8) |
May
(2) |
Jun
|
Jul
(4) |
Aug
(7) |
Sep
(8) |
Oct
|
Nov
(6) |
Dec
(4) |
2016 |
Jan
(6) |
Feb
(26) |
Mar
(3) |
Apr
(10) |
May
(6) |
Jun
(5) |
Jul
(1) |
Aug
(4) |
Sep
(3) |
Oct
(4) |
Nov
(3) |
Dec
(10) |
2017 |
Jan
(11) |
Feb
(11) |
Mar
(2) |
Apr
(1) |
May
(7) |
Jun
(2) |
Jul
(11) |
Aug
(9) |
Sep
(5) |
Oct
(5) |
Nov
(1) |
Dec
(2) |
2018 |
Jan
(5) |
Feb
(2) |
Mar
(19) |
Apr
(7) |
May
(11) |
Jun
(3) |
Jul
(4) |
Aug
(10) |
Sep
(2) |
Oct
(8) |
Nov
(6) |
Dec
(9) |
2019 |
Jan
(9) |
Feb
(6) |
Mar
(2) |
Apr
(4) |
May
(6) |
Jun
(9) |
Jul
(6) |
Aug
(3) |
Sep
(5) |
Oct
(2) |
Nov
(8) |
Dec
(9) |
2020 |
Jan
(15) |
Feb
(1) |
Mar
(18) |
Apr
(33) |
May
(43) |
Jun
(87) |
Jul
(45) |
Aug
(8) |
Sep
(43) |
Oct
(3) |
Nov
(5) |
Dec
(42) |
2021 |
Jan
(116) |
Feb
(40) |
Mar
(58) |
Apr
(48) |
May
(29) |
Jun
(2) |
Jul
|
Aug
(22) |
Sep
(18) |
Oct
(1) |
Nov
|
Dec
(3) |
2022 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
(1) |
May
(2) |
Jun
(1) |
Jul
|
Aug
(1) |
Sep
|
Oct
(6) |
Nov
(2) |
Dec
(9) |
2023 |
Jan
(10) |
Feb
|
Mar
|
Apr
(10) |
May
(3) |
Jun
(1) |
Jul
(2) |
Aug
(4) |
Sep
(1) |
Oct
|
Nov
(2) |
Dec
(3) |
2024 |
Jan
(4) |
Feb
(1) |
Mar
(2) |
Apr
(2) |
May
(5) |
Jun
(3) |
Jul
(1) |
Aug
(2) |
Sep
|
Oct
(2) |
Nov
(3) |
Dec
(9) |
2025 |
Jan
(5) |
Feb
(5) |
Mar
|
Apr
(10) |
May
(20) |
Jun
(43) |
Jul
(24) |
Aug
(47) |
Sep
(38) |
Oct
(4) |
Nov
|
Dec
|
From: n0nb <n0...@us...> - 2025-06-06 02:39:46
|
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, Hamlib-4.6.3 has been updated via 26340d9a8a2f98d10b0477c4b70f584ae313ec23 (commit) via cffa440c38ac05a80a9f170244ed8f8be9e7ce8d (commit) via 1a740dfbe225a84fea405416ec295c930710538e (commit) via f876f951ba2ce3a00ba51b7ffbb5cce82a4d2685 (commit) from a640201ad768137a787d9a158533f3ad3b6da727 (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 26340d9a8a2f98d10b0477c4b70f584ae313ec23 Author: Nate Bargmann <n0...@n0...> Date: Thu Jun 5 21:37:59 2025 -0500 Update NEWS for JRC 535D and 545 diff --git a/NEWS b/NEWS index 7e2378205..596fadb61 100644 --- a/NEWS +++ b/NEWS @@ -22,6 +22,8 @@ Version 4.6.3 five years from 2020 to 2025. Mike passed away on March 28, 2025 due to complications from ALS (Lou Gehrig's disease). + * JRC: Removed RIG_FUNC_FAGC from 535D as erroneous, Added RIG_FUNC_NB2 + functionality to both 535D and 545. (TNX Mark Fine) * Restore IC-7300 spectrum data callback - regression in 4.6 (n3gb) * Add locking to rig_[gs]et_level() - fixes sending CW from tlf (n3gb) * Fix attempt to use memory returned by setlocale() after being freed (TNX Mooneer Salem) commit cffa440c38ac05a80a9f170244ed8f8be9e7ce8d Author: markjfine <mar...@fi...> Date: Thu Jun 5 18:45:54 2025 -0400 Added NB2 Added RIG_FUNC_NB2 to the function list to complement RIG_FUNC_NB. (cherry picked from commit 735e1810dff3ddd10c54ccee303ccf9b9478f289) diff --git a/rigs/jrc/nrd545.c b/rigs/jrc/nrd545.c index 60ba7604f..d463bfc5a 100644 --- a/rigs/jrc/nrd545.c +++ b/rigs/jrc/nrd545.c @@ -28,7 +28,7 @@ #define NRD545_MODES (RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_SSB|RIG_MODE_FM|RIG_MODE_RTTY|RIG_MODE_AMS|RIG_MODE_ECSS) -#define NRD545_FUNC (RIG_FUNC_FAGC|RIG_FUNC_NB|RIG_FUNC_LOCK|RIG_FUNC_BC|RIG_FUNC_NR|RIG_FUNC_MN) +#define NRD545_FUNC (RIG_FUNC_FAGC|RIG_FUNC_NB|RIG_FUNC_NB2|RIG_FUNC_LOCK|RIG_FUNC_BC|RIG_FUNC_NR|RIG_FUNC_MN) #define NRD545_LEVEL (RIG_LEVEL_RAWSTR|RIG_LEVEL_STRENGTH|RIG_LEVEL_ATT|RIG_LEVEL_RF|RIG_LEVEL_AF|RIG_LEVEL_AGC|RIG_LEVEL_IF|RIG_LEVEL_NR|RIG_LEVEL_NOTCHF|RIG_LEVEL_SQL|RIG_LEVEL_IF|RIG_LEVEL_CWPITCH) /*RIG_LEVEL_BWC*/ @@ -213,4 +213,3 @@ struct rig_caps nrd545_caps = /* * Function definitions below */ - commit 1a740dfbe225a84fea405416ec295c930710538e Author: markjfine <mar...@fi...> Date: Thu Jun 5 18:42:18 2025 -0400 Removed FAGC and added NB2 Removed FAGC from the function list as erroneous for this model. Added RIG_FUNC_NB2 to the function list to complement RIG_FUNC_NB. (cherry picked from commit 472154a131a38c1a1513ccc331f1d65c60104a54) diff --git a/rigs/jrc/nrd535.c b/rigs/jrc/nrd535.c index e5eabb598..b56bc8f4f 100644 --- a/rigs/jrc/nrd535.c +++ b/rigs/jrc/nrd535.c @@ -28,7 +28,7 @@ #define NRD535_MODES (RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_SSB|RIG_MODE_FM|RIG_MODE_RTTY|RIG_MODE_ECSS|RIG_MODE_FAX) /* + FAX */ -#define NRD535_FUNC (RIG_FUNC_FAGC|RIG_FUNC_NB) +#define NRD535_FUNC (RIG_FUNC_NB|RIG_FUNC_NB2) #define NRD535_LEVEL (RIG_LEVEL_RAWSTR|RIG_LEVEL_STRENGTH|RIG_LEVEL_ATT|RIG_LEVEL_IF|RIG_LEVEL_AGC|RIG_LEVEL_CWPITCH) /*RIG_LEVEL_BWC*/ @@ -69,7 +69,6 @@ .freq = 1, \ .mode = 1, \ .width = 1, \ - .funcs = RIG_FUNC_FAGC, \ .levels = RIG_LEVEL_ATT|RIG_LEVEL_AGC, \ } @@ -211,4 +210,3 @@ struct rig_caps nrd535_caps = * Function definitions below */ - commit f876f951ba2ce3a00ba51b7ffbb5cce82a4d2685 Author: markjfine <mar...@fi...> Date: Thu Jun 5 18:35:27 2025 -0400 Fix NB and NB2 used by 535 and 545 JRC uses one command to switch between NB and NB2. Combined both in the get and set switch blocks to better accommodate this. (cherry picked from commit 6115a6ddf1001456c319f7e5d88e38da99f01ff8) diff --git a/rigs/jrc/jrc.c b/rigs/jrc/jrc.c index 91b9378d7..8f24f1e41 100644 --- a/rigs/jrc/jrc.c +++ b/rigs/jrc/jrc.c @@ -466,6 +466,7 @@ int jrc_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) int jrc_set_func(RIG *rig, vfo_t vfo, setting_t func, int status) { char cmdbuf[BUFSZ]; + int blanker; /* Optimize: * sort the switch cases with the most frequent first @@ -479,11 +480,18 @@ int jrc_set_func(RIG *rig, vfo_t vfo, setting_t func, int status) return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL); case RIG_FUNC_NB: - /* FIXME: NB1 and NB2 */ - SNPRINTF(cmdbuf, sizeof(cmdbuf), "N%d" EOM, status ? 1 : 0); - + case RIG_FUNC_NB2: + if (!status) + blanker = 0; + else if (func == RIG_FUNC_NB) + blanker = 1; + else if (func == RIG_FUNC_NB2) + blanker = 2; + + SNPRINTF(cmdbuf, sizeof(cmdbuf), "N%d" EOM, blanker); + return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL); - + /* * FIXME: which BB mode for NR and BC at same time ? */ @@ -555,7 +563,7 @@ int jrc_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status) return RIG_OK; case RIG_FUNC_NB: - /* FIXME: NB1 and NB2 */ + case RIG_FUNC_NB2: retval = jrc_transaction(rig, "N" EOM, 2, funcbuf, &func_len); if (retval != RIG_OK) @@ -570,7 +578,7 @@ int jrc_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status) return -RIG_ERJCTED; } - *status = funcbuf[1] != '0'; + *status = (((func == RIG_FUNC_NB) && (funcbuf[1] == '1')) || ((func == RIG_FUNC_NB2) && (funcbuf[1] == '2'))); return RIG_OK; @@ -1679,4 +1687,3 @@ DECLARE_INITRIG_BACKEND(jrc) return RIG_OK; } - ----------------------------------------------------------------------- Summary of changes: NEWS | 2 ++ rigs/jrc/jrc.c | 21 ++++++++++++++------- rigs/jrc/nrd535.c | 4 +--- rigs/jrc/nrd545.c | 3 +-- 4 files changed, 18 insertions(+), 12 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-06-06 02:34:22
|
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 735e1810dff3ddd10c54ccee303ccf9b9478f289 (commit) via 472154a131a38c1a1513ccc331f1d65c60104a54 (commit) via 6115a6ddf1001456c319f7e5d88e38da99f01ff8 (commit) from edef3747878659fb08f5c5b00d91fdb6014b8437 (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 735e1810dff3ddd10c54ccee303ccf9b9478f289 Author: markjfine <mar...@fi...> Date: Thu Jun 5 18:45:54 2025 -0400 Added NB2 Added RIG_FUNC_NB2 to the function list to complement RIG_FUNC_NB. diff --git a/rigs/jrc/nrd545.c b/rigs/jrc/nrd545.c index 60ba7604f..d463bfc5a 100644 --- a/rigs/jrc/nrd545.c +++ b/rigs/jrc/nrd545.c @@ -28,7 +28,7 @@ #define NRD545_MODES (RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_SSB|RIG_MODE_FM|RIG_MODE_RTTY|RIG_MODE_AMS|RIG_MODE_ECSS) -#define NRD545_FUNC (RIG_FUNC_FAGC|RIG_FUNC_NB|RIG_FUNC_LOCK|RIG_FUNC_BC|RIG_FUNC_NR|RIG_FUNC_MN) +#define NRD545_FUNC (RIG_FUNC_FAGC|RIG_FUNC_NB|RIG_FUNC_NB2|RIG_FUNC_LOCK|RIG_FUNC_BC|RIG_FUNC_NR|RIG_FUNC_MN) #define NRD545_LEVEL (RIG_LEVEL_RAWSTR|RIG_LEVEL_STRENGTH|RIG_LEVEL_ATT|RIG_LEVEL_RF|RIG_LEVEL_AF|RIG_LEVEL_AGC|RIG_LEVEL_IF|RIG_LEVEL_NR|RIG_LEVEL_NOTCHF|RIG_LEVEL_SQL|RIG_LEVEL_IF|RIG_LEVEL_CWPITCH) /*RIG_LEVEL_BWC*/ @@ -213,4 +213,3 @@ struct rig_caps nrd545_caps = /* * Function definitions below */ - commit 472154a131a38c1a1513ccc331f1d65c60104a54 Author: markjfine <mar...@fi...> Date: Thu Jun 5 18:42:18 2025 -0400 Removed FAGC and added NB2 Removed FAGC from the function list as erroneous for this model. Added RIG_FUNC_NB2 to the function list to complement RIG_FUNC_NB. diff --git a/rigs/jrc/nrd535.c b/rigs/jrc/nrd535.c index e5eabb598..b56bc8f4f 100644 --- a/rigs/jrc/nrd535.c +++ b/rigs/jrc/nrd535.c @@ -28,7 +28,7 @@ #define NRD535_MODES (RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_SSB|RIG_MODE_FM|RIG_MODE_RTTY|RIG_MODE_ECSS|RIG_MODE_FAX) /* + FAX */ -#define NRD535_FUNC (RIG_FUNC_FAGC|RIG_FUNC_NB) +#define NRD535_FUNC (RIG_FUNC_NB|RIG_FUNC_NB2) #define NRD535_LEVEL (RIG_LEVEL_RAWSTR|RIG_LEVEL_STRENGTH|RIG_LEVEL_ATT|RIG_LEVEL_IF|RIG_LEVEL_AGC|RIG_LEVEL_CWPITCH) /*RIG_LEVEL_BWC*/ @@ -69,7 +69,6 @@ .freq = 1, \ .mode = 1, \ .width = 1, \ - .funcs = RIG_FUNC_FAGC, \ .levels = RIG_LEVEL_ATT|RIG_LEVEL_AGC, \ } @@ -211,4 +210,3 @@ struct rig_caps nrd535_caps = * Function definitions below */ - commit 6115a6ddf1001456c319f7e5d88e38da99f01ff8 Author: markjfine <mar...@fi...> Date: Thu Jun 5 18:35:27 2025 -0400 Fix NB and NB2 used by 535 and 545 JRC uses one command to switch between NB and NB2. Combined both in the get and set switch blocks to better accommodate this. diff --git a/rigs/jrc/jrc.c b/rigs/jrc/jrc.c index 91b9378d7..8f24f1e41 100644 --- a/rigs/jrc/jrc.c +++ b/rigs/jrc/jrc.c @@ -466,6 +466,7 @@ int jrc_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) int jrc_set_func(RIG *rig, vfo_t vfo, setting_t func, int status) { char cmdbuf[BUFSZ]; + int blanker; /* Optimize: * sort the switch cases with the most frequent first @@ -479,11 +480,18 @@ int jrc_set_func(RIG *rig, vfo_t vfo, setting_t func, int status) return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL); case RIG_FUNC_NB: - /* FIXME: NB1 and NB2 */ - SNPRINTF(cmdbuf, sizeof(cmdbuf), "N%d" EOM, status ? 1 : 0); - + case RIG_FUNC_NB2: + if (!status) + blanker = 0; + else if (func == RIG_FUNC_NB) + blanker = 1; + else if (func == RIG_FUNC_NB2) + blanker = 2; + + SNPRINTF(cmdbuf, sizeof(cmdbuf), "N%d" EOM, blanker); + return jrc_transaction(rig, cmdbuf, strlen(cmdbuf), NULL, NULL); - + /* * FIXME: which BB mode for NR and BC at same time ? */ @@ -555,7 +563,7 @@ int jrc_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status) return RIG_OK; case RIG_FUNC_NB: - /* FIXME: NB1 and NB2 */ + case RIG_FUNC_NB2: retval = jrc_transaction(rig, "N" EOM, 2, funcbuf, &func_len); if (retval != RIG_OK) @@ -570,7 +578,7 @@ int jrc_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status) return -RIG_ERJCTED; } - *status = funcbuf[1] != '0'; + *status = (((func == RIG_FUNC_NB) && (funcbuf[1] == '1')) || ((func == RIG_FUNC_NB2) && (funcbuf[1] == '2'))); return RIG_OK; @@ -1679,4 +1687,3 @@ DECLARE_INITRIG_BACKEND(jrc) return RIG_OK; } - ----------------------------------------------------------------------- Summary of changes: rigs/jrc/jrc.c | 21 ++++++++++++++------- rigs/jrc/nrd535.c | 4 +--- rigs/jrc/nrd545.c | 3 +-- 3 files changed, 16 insertions(+), 12 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-06-04 14:43:08
|
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 edef3747878659fb08f5c5b00d91fdb6014b8437 (commit) from b0d5d606fef17e349f5a2fd587fa429f8f89be30 (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 edef3747878659fb08f5c5b00d91fdb6014b8437 Author: Nate Bargmann <n0...@n0...> Date: Wed Jun 4 09:41:38 2025 -0500 Set the correct ABI_REVISION value diff --git a/configure.ac b/configure.ac index ce96ad667..4ef857e1d 100644 --- a/configure.ac +++ b/configure.ac @@ -75,7 +75,7 @@ dnl See README.release on setting these values # Values given to -version-info when linking. See libtool documentation. # Set them here to keep c++/Makefile and src/Makefile in sync. ABI_VERSION=4 -ABI_REVISION=6 +ABI_REVISION=7 ABI_PATCH=0 ABI_AGE=0 ----------------------------------------------------------------------- Summary of changes: configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-06-04 14:39:28
|
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 b0d5d606fef17e349f5a2fd587fa429f8f89be30 (commit) via 1532432236a526a5d019eb1ece48eb8643b1fd7d (commit) via 3bdfdebacb59ab5d044515edd1954d4eba414469 (commit) via 29924af2f123e96241b69beb2185455f94706f64 (commit) via f5eb8f19e9dcdaabf654b095d671135f46ae5c90 (commit) via 1fca93a5a25b1afb6cc591d1769924bbaa746099 (commit) via 6f8bf815149f535831f8e1ced44d2b5e6a01bb97 (commit) via 7d28822273dec229da1ceca809a3d4f241e4749f (commit) via 4d322337c1d6d06edaa42887b2ba8430c53aa4f7 (commit) via 3bc9e5261be8359203419f8d8fe0d100b40f3eb0 (commit) via 6b5c5b48f9c7a0582beb0259f00a1bf1c81bf451 (commit) via 7fa0c863f262a937cae95450fd15056a0fbce12f (commit) via 63e1bb4c0096a974ad3388357c47c4398a587a84 (commit) from cccee9b7916548c2c48a1bfd55116fded3d3a6ed (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 b0d5d606fef17e349f5a2fd587fa429f8f89be30 Author: George Baltz N3GB <Geo...@gm...> Date: Wed Jun 4 09:46:51 2025 -0400 Update NEWS diff --git a/NEWS b/NEWS index 7e2378205..d11a05a6e 100644 --- a/NEWS +++ b/NEWS @@ -14,6 +14,8 @@ Version 5.x -- future Version 4.7.0 * 2025-12-01 (target) + * Move rig_cache to separate(calloc) storage. Prepare for other moves. + Issue #1420 Version 4.6.3 * 2025-06-10 commit 1532432236a526a5d019eb1ece48eb8643b1fd7d Author: George Baltz N3GB <Geo...@gm...> Date: Wed May 21 13:49:18 2025 -0400 Move more rig_cache infrastructure to cache.[ch] Macros from rig.h, routines from misc.c Add some error checks and comments diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index b9cd59908..6656c5aeb 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -2522,7 +2522,7 @@ typedef hamlib_port_t port_t; #define RIGPORT(r) (&r->state.rigport) #define PTTPORT(r) (&r->state.pttport) #define DCDPORT(r) (&r->state.dcdport) -#define CACHE(r) ((r)->cache_addr) +//Moved to cache.h #define CACHE(r) ((r)->cache_addr) #define AMPPORT(a) (&a->state.ampport) #define ROTPORT(r) (&r->state.rotport) #define ROTPORT2(r) (&r->state.rotport2) @@ -2539,7 +2539,7 @@ typedef hamlib_port_t port_t; #define HAMLIB_RIGPORT(r) ((hamlib_port_t *)rig_data_pointer(r, RIG_PTRX_RIGPORT)) #define HAMLIB_PTTPORT(r) ((hamlib_port_t *)rig_data_pointer(r, RIG_PTRX_PTTPORT)) #define HAMLIB_DCDPORT(r) ((hamlib_port_t *)rig_data_pointer(r, RIG_PTRX_DCDPORT)) -#define HAMLIB_CACHE(r) ((struct rig_cache *)rig_data_pointer(r, RIG_PTRX_CACHE)) +//#define HAMLIB_CACHE(r) ((struct rig_cache *)rig_data_pointer(r, RIG_PTRX_CACHE)) #define HAMLIB_AMPPORT(a) ((hamlib_port_t *)amp_data_pointer(a, RIG_PTRX_AMPPORT)) #define HAMLIB_ROTPORT(r) ((hamlib_port_t *)rot_data_pointer(r, RIG_PTRX_ROTPORT)) #define HAMLIB_ROTPORT2(r) ((hamlib_port_t *)rot_data_pointer(r, RIG_PTRX_ROTPORT2)) diff --git a/src/cache.c b/src/cache.c index 3ae4e11ee..d66b64af4 100644 --- a/src/cache.c +++ b/src/cache.c @@ -310,8 +310,8 @@ int rig_set_cache_freq(RIG *rig, vfo_t vfo, freq_t freq) int rig_get_cache(RIG *rig, vfo_t vfo, freq_t *freq, int *cache_ms_freq, rmode_t *mode, int *cache_ms_mode, pbwidth_t *width, int *cache_ms_width) { - struct rig_cache *cachep = CACHE(rig); - struct rig_state *rs = STATE(rig); + struct rig_cache *cachep; + struct rig_state *rs; if (CHECK_RIG_ARG(rig) || !freq || !cache_ms_freq || !mode || !cache_ms_mode || !width || !cache_ms_width) @@ -319,6 +319,9 @@ int rig_get_cache(RIG *rig, vfo_t vfo, freq_t *freq, int *cache_ms_freq, return -RIG_EINVAL; } + cachep = CACHE(rig); + rs = STATE(rig); + if (rig_need_debug(RIG_DEBUG_CACHE)) { ENTERFUNC2; @@ -565,6 +568,25 @@ int rig_get_cache_freq(RIG *rig, vfo_t vfo, freq_t *freq, int *cache_ms_freq_p) return retval; } +/* Get cache timeout period + * Returns value in msec, -1 if error + */ +int HAMLIB_API rig_get_cache_timeout_ms(RIG *rig, hamlib_cache_t selection) +{ + rig_debug(RIG_DEBUG_TRACE, "%s: called selection=%d\n", __func__, selection); + if (!rig) {return -1;} + return CACHE(rig)->timeout_ms; +} + +int HAMLIB_API rig_set_cache_timeout_ms(RIG *rig, hamlib_cache_t selection, + int ms) +{ + rig_debug(RIG_DEBUG_TRACE, "%s: called selection=%d, ms=%d\n", __func__, + selection, ms); + if (!rig) {return -RIG_EINVAL;} + CACHE(rig)->timeout_ms = ms; + return RIG_OK; +} void rig_cache_show(RIG *rig, const char *func, int line) { diff --git a/src/cache.h b/src/cache.h index e977273de..80ee340b8 100644 --- a/src/cache.h +++ b/src/cache.h @@ -28,6 +28,14 @@ __BEGIN_DECLS +/* It should be noted that there are two distinct cache implementations + * in Hamlib. This one is for the app-facing side, providing cached status + * (freq, mode, band, etc) for application queries. The other is used by + * backends for rig status probes, watchdog timers, and other hardware related + * tasks. Also note that they use different times - timespec vs timeval. + * - n3gb 2025-05-14 + */ + /** * \brief Rig cache data * @@ -108,6 +116,13 @@ struct rig_cache { int satmode; // if rig is in satellite mode }; +/* Access macros */ +#define CACHE(r) ((r)->cache_addr) +//#define HAMLIB_CACHE(r) ((struct rig_cache *)rig_data_pointer(r, RIG_PTRX_CACHE)) + +/* Function templates + * Does not include those marked as part of HAMLIB_API + */ int rig_set_cache_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width); int rig_set_cache_freq(RIG *rig, vfo_t vfo, freq_t freq); void rig_cache_show(RIG *rig, const char *func, int line); diff --git a/src/misc.c b/src/misc.c index b81f5b37c..b65722182 100644 --- a/src/misc.c +++ b/src/misc.c @@ -1967,6 +1967,7 @@ double HAMLIB_API elapsed_ms(struct timespec *start, int option) break; } + // Casts used to make sure the add is done as double elapsed_msec = (double)((stop.tv_sec - start->tv_sec) * 1000) + // sec -> ms (double)(stop.tv_nsec - start->tv_nsec) / 1e6; // ns -> ms @@ -1978,22 +1979,6 @@ double HAMLIB_API elapsed_ms(struct timespec *start, int option) } //! @endcond - -int HAMLIB_API rig_get_cache_timeout_ms(RIG *rig, hamlib_cache_t selection) -{ - rig_debug(RIG_DEBUG_TRACE, "%s: called selection=%d\n", __func__, selection); - return CACHE(rig)->timeout_ms; -} - -int HAMLIB_API rig_set_cache_timeout_ms(RIG *rig, hamlib_cache_t selection, - int ms) -{ - rig_debug(RIG_DEBUG_TRACE, "%s: called selection=%d, ms=%d\n", __func__, - selection, ms); - CACHE(rig)->timeout_ms = ms; - return RIG_OK; -} - static char *funcname = "Unknown"; static int linenum = 0; commit 3bdfdebacb59ab5d044515edd1954d4eba414469 Author: George Baltz N3GB <Geo...@gm...> Date: Wed May 14 15:21:24 2025 -0400 Simplify elapsed time computation Do as much of the arithmetic in integers as possible. Convert both parts to final units(msec) and add. The casts are actually unneeded, but show when the conversions are done. And drop an unreachable break. diff --git a/src/misc.c b/src/misc.c index 37566539d..b81f5b37c 100644 --- a/src/misc.c +++ b/src/misc.c @@ -1959,7 +1959,6 @@ double HAMLIB_API elapsed_ms(struct timespec *start, int option) //rig_debug(RIG_DEBUG_TRACE, "%s: after gettime, start = %ld,%ld\n", __func__, // (long)start->tv_sec, (long)start->tv_nsec); return 999 * 1000; // so we can tell the difference in debug where we came from - break; case HAMLIB_ELAPSED_INVALIDATE: clock_gettime(CLOCK_REALTIME, start); @@ -1968,8 +1967,8 @@ double HAMLIB_API elapsed_ms(struct timespec *start, int option) break; } - elapsed_msec = ((stop.tv_sec - start->tv_sec) + (stop.tv_nsec / 1e9 - - start->tv_nsec / 1e9)) * 1e3; + elapsed_msec = (double)((stop.tv_sec - start->tv_sec) * 1000) + // sec -> ms + (double)(stop.tv_nsec - start->tv_nsec) / 1e6; // ns -> ms //rig_debug(RIG_DEBUG_TRACE, "%s: elapsed_msecs=%.0f\n", __func__, elapsed_msec); commit 29924af2f123e96241b69beb2185455f94706f64 Author: George Baltz N3GB <Geo...@gm...> Date: Mon May 12 15:05:51 2025 -0400 Minor cleanups Noticed while perusing cache code. diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 828731d2e..38e12e82b 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -6030,10 +6030,10 @@ int icom_get_split_freq(RIG *rig, vfo_t vfo, freq_t *tx_freq) if (ptt) { int cache_ms_freq; - rig_get_cache_freq(rig, vfo, tx_freq, &cache_ms_freq); + retval = rig_get_cache_freq(rig, vfo, tx_freq, &cache_ms_freq); rig_debug(RIG_DEBUG_TRACE, "%s: ptt is on so returning last known freq\n", __func__); - RETURNFUNC2(RIG_OK); + RETURNFUNC2(retval); } } diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index 45bd5012f..1596c2dfe 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -666,19 +666,13 @@ transaction_read: * the decoder for callback. That way we don't ignore any * commands. */ - // if we got FA or FB unexpectedly then perhaps RIG_TRN is enabled and we just need to handle it - if (strncmp(buffer, "FA", 2) == 0) + // If we got FA or FB unexpectedly then perhaps RIG_TRN is enabled + // and we just need to handle it + if (buffer[0] == 'F' && (buffer[1] == 'A' || buffer[1] == 'B')) { freq_t freq; - sscanf(buffer, "FA%lg", &freq); - rig_set_cache_freq(rig, RIG_VFO_A, freq); - goto transaction_read; - } - else if (strncmp(buffer, "FB", 2) == 0) - { - freq_t freq; - sscanf(buffer, "FB%lg", &freq); - rig_set_cache_freq(rig, RIG_VFO_B, freq); + sscanf(buffer + 2, "%lg", &freq); + rig_set_cache_freq(rig, buffer[1] == 'A' ? RIG_VFO_A : RIG_VFO_B, freq); goto transaction_read; } commit f5eb8f19e9dcdaabf654b095d671135f46ae5c90 Author: George Baltz N3GB <Geo...@gm...> Date: Sat May 3 21:56:45 2025 -0400 Add utility routine to release all allocated buffers, including rig itself. One stop shopping for all your rig data cleanup needs. diff --git a/src/rig.c b/src/rig.c index 922f45912..71944b292 100644 --- a/src/rig.c +++ b/src/rig.c @@ -529,6 +529,27 @@ static int rig_check_rig_caps() return (rc); } +/* Final cleanup of rig structure + * + * Release all allocations for this rig, including the rig_struct + * Clear them to catch use-after-free errors + */ +static void vaporize(RIG *rig) +{ + if (CACHE(rig)) + { + free(CACHE(rig)); + CACHE(rig) = NULL; + } + + /* Other buffers go here, as they are converted + * to pointers/calloc - WIP + */ + + free(rig); + return; +} + /** * \brief Allocate a new #RIG handle. * \param rig_model The rig model for this new handle @@ -638,7 +659,7 @@ RIG *HAMLIB_API rig_init(rig_model_t rig_model) if (!CACHE(rig)) { rig_debug(RIG_DEBUG_ERR, "%s:Cache calloc failed\n", __func__); - free(rig); //TODO Replace with cleanup routine + vaporize(rig); return NULL; } cachep = CACHE(rig); @@ -943,7 +964,7 @@ RIG *HAMLIB_API rig_init(rig_model_t rig_model) "%s: backend_init failed!\n", __func__); /* cleanup and exit */ - free(rig); + vaporize(rig); return (NULL); } } @@ -1885,15 +1906,8 @@ int HAMLIB_API rig_cleanup(RIG *rig) //pthread_mutex_destroy(&STATE(rig)->api_mutex); - //TODO Release and null any allocated data - - // state, ports, cache, etc. - if (CACHE(rig)) - { - free(CACHE(rig)); - CACHE(rig) = NULL; - } - - free(rig); + /* Release all buffers, and the rig_struct itself */ + vaporize(rig); return (RIG_OK); } commit 1fca93a5a25b1afb6cc591d1769924bbaa746099 Author: George Baltz N3GB <Geo...@gm...> Date: Fri May 2 16:21:43 2025 -0400 Deprecate rig_cache definition in rig.h Add new rig_cache definition in cache.h diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index cb2d7c48f..b9cd59908 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -2589,9 +2589,10 @@ typedef enum { * \brief Rig cache data * * This struct contains all the items we cache at the highest level - * DO NOT MODIFY THIS STRUCTURE AT ALL -- we need a new cache that is a pointer rather than a structure + * DO NOT MODIFY THIS STRUCTURE AT ALL -- should go away in 5.0 + * see cache.h - new cache is a pointer rather than an embedded structure */ -struct rig_cache { +struct rig_cache_deprecated { int timeout_ms; // the cache timeout for invalidating itself vfo_t vfo; //freq_t freq; // to be deprecated in 4.1 when full Main/Sub/A/B caching is implemented in 4.1 @@ -2784,7 +2785,7 @@ struct rig_state { int twiddle_timeout; /*!< timeout to resume from twiddling */ // uplink allows gpredict to behave better by no reading the uplink VFO int uplink; /*!< uplink=1 will not read Sub, uplink=2 will not read Main */ - struct rig_cache cache; + struct rig_cache_deprecated cache; // Only here for backward compatability int vfo_opt; /*!< Is -o switch turned on? */ int auto_power_on; /*!< Allow Hamlib to power on rig automatically if supported */ @@ -2984,7 +2985,7 @@ struct rig_state_deprecated { int twiddle_timeout; /*!< timeout to resume from twiddling */ // uplink allows gpredict to behave better by no reading the uplink VFO int uplink; /*!< uplink=1 will not read Sub, uplink=2 will not read Main */ - struct rig_cache cache; + struct rig_cache_deprecated cache; // Here for backward compatibility int vfo_opt; /*!< Is -o switch turned on? */ int auto_power_on; /*!< Allow Hamlib to power on rig automatically if supported */ diff --git a/src/cache.h b/src/cache.h index 08d98ea5f..e977273de 100644 --- a/src/cache.h +++ b/src/cache.h @@ -19,14 +19,99 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #ifndef _CACHE_H #define _CACHE_H #include <hamlib/rig.h> +__BEGIN_DECLS + +/** + * \brief Rig cache data + * + * This struct contains all the items we cache at the highest level + * Replaces cache structure(s) in state + */ +struct rig_cache { + int timeout_ms; // the cache timeout for invalidating itself + vfo_t vfo; + //freq_t freq; // to be deprecated in 4.1 when full Main/Sub/A/B caching is implemented in 4.1 + // other abstraction here is based on dual vfo rigs and mapped to all others + // So we have four possible states of rig + // MainA, MainB, SubA, SubB + // Main is the Main VFO and Sub is for the 2nd VFO + // Most rigs have MainA and MainB + // Dual VFO rigs can have SubA and SubB too + // For dual VFO rigs simplex operations are all done on MainA/MainB -- ergo this abstraction + freq_t freqCurr; // Other VFO + freq_t freqOther; // Other VFO + freq_t freqMainA; // VFO_A, VFO_MAIN, and VFO_MAINA + freq_t freqMainB; // VFO_B, VFO_SUB, and VFO_MAINB + freq_t freqMainC; // VFO_C, VFO_MAINC + freq_t freqSubA; // VFO_SUBA -- only for rigs with dual Sub VFOs + freq_t freqSubB; // VFO_SUBB -- only for rigs with dual Sub VFOs + freq_t freqSubC; // VFO_SUBC -- only for rigs with 3 Sub VFOs + freq_t freqMem; // VFO_MEM -- last MEM channel + rmode_t modeCurr; + rmode_t modeOther; + rmode_t modeMainA; + rmode_t modeMainB; + rmode_t modeMainC; + rmode_t modeSubA; + rmode_t modeSubB; + rmode_t modeSubC; + rmode_t modeMem; + pbwidth_t widthCurr; // if non-zero then rig has separate width for MainA + pbwidth_t widthOther; // if non-zero then rig has separate width for MainA + pbwidth_t widthMainA; // if non-zero then rig has separate width for MainA + pbwidth_t widthMainB; // if non-zero then rig has separate width for MainB + pbwidth_t widthMainC; // if non-zero then rig has separate width for MainC + pbwidth_t widthSubA; // if non-zero then rig has separate width for SubA + pbwidth_t widthSubB; // if non-zero then rig has separate width for SubB + pbwidth_t widthSubC; // if non-zero then rig has separate width for SubC + pbwidth_t widthMem; // if non-zero then rig has separate width for Mem + ptt_t ptt; + split_t split; + vfo_t split_vfo; // split caches two values + struct timespec time_freqCurr; + struct timespec time_freqOther; + struct timespec time_freqMainA; + struct timespec time_freqMainB; + struct timespec time_freqMainC; + struct timespec time_freqSubA; + struct timespec time_freqSubB; + struct timespec time_freqSubC; + struct timespec time_freqMem; + struct timespec time_vfo; + struct timespec time_modeCurr; + struct timespec time_modeOther; + struct timespec time_modeMainA; + struct timespec time_modeMainB; + struct timespec time_modeMainC; + struct timespec time_modeSubA; + struct timespec time_modeSubB; + struct timespec time_modeSubC; + struct timespec time_modeMem; + struct timespec time_widthCurr; + struct timespec time_widthOther; + struct timespec time_widthMainA; + struct timespec time_widthMainB; + struct timespec time_widthMainC; + struct timespec time_widthSubA; + struct timespec time_widthSubB; + struct timespec time_widthSubC; + struct timespec time_widthMem; + struct timespec time_ptt; + struct timespec time_split; + int satmode; // if rig is in satellite mode +}; + int rig_set_cache_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width); int rig_set_cache_freq(RIG *rig, vfo_t vfo, freq_t freq); void rig_cache_show(RIG *rig, const char *func, int line); +__END_DECLS + #endif commit 6f8bf815149f535831f8e1ced44d2b5e6a01bb97 Author: George Baltz N3GB <Geo...@gm...> Date: Tue Apr 29 02:57:52 2025 -0400 Allocate separate storage for cache buffer Add address to rig_struct, change CACHE() macro to use it. Free it when done. Issue #1420 diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index 814eb2921..cb2d7c48f 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -253,10 +253,14 @@ enum rig_debug_level_e { /* --------------- Rig capabilities -----------------*/ -/* Forward struct references */ +/* Forward struct references + * may also include structures defined elsewhere, + * but pointed to by rig + */ struct rig; struct rig_state; +struct rig_cache; /** * \brief Rig structure definition (see rig for details). @@ -2518,7 +2522,7 @@ typedef hamlib_port_t port_t; #define RIGPORT(r) (&r->state.rigport) #define PTTPORT(r) (&r->state.pttport) #define DCDPORT(r) (&r->state.dcdport) -#define CACHE(r) (&r->state.cache) +#define CACHE(r) ((r)->cache_addr) #define AMPPORT(a) (&a->state.ampport) #define ROTPORT(r) (&r->state.rotport) #define ROTPORT2(r) (&r->state.rotport2) @@ -3101,6 +3105,10 @@ struct s_rig { struct rig_callbacks callbacks; /*!< registered event callbacks */ // state should really be a pointer but that's a LOT of changes involved struct rig_state state; /*!< Rig state */ +/* Data beyond this line is for hamlib internal use only, + * and should *NOT* be referenced by applications, as layout will change! + */ + struct rig_cache *cache_addr; }; diff --git a/src/rig.c b/src/rig.c index 1be0bad4a..922f45912 100644 --- a/src/rig.c +++ b/src/rig.c @@ -549,6 +549,7 @@ RIG *HAMLIB_API rig_init(rig_model_t rig_model) hamlib_port_t *rp, *pttp, *dcdp; struct rig_cache *cachep; int i; + size_t needed; if (rig_test_2038(NULL)) { @@ -598,7 +599,9 @@ RIG *HAMLIB_API rig_init(rig_model_t rig_model) * okay, we've found it. Allocate some memory and set it to zeros, * and especially the callbacks */ - rig = calloc(1, sizeof(RIG)); + needed = sizeof(RIG); + rig_debug(RIG_DEBUG_TRACE, "Requesting %zd bytes for rig_struct\n", needed); + rig = calloc(1, needed); if (rig == NULL) { @@ -628,7 +631,16 @@ RIG *HAMLIB_API rig_init(rig_model_t rig_model) pttp = PTTPORT(rig); dcdp = DCDPORT(rig); - //TODO Ditto for cache + // Allocate space for cached data + needed = sizeof(struct rig_cache); + rig_debug(RIG_DEBUG_TRACE, "Requesting %zd bytes for rig_cache\n", needed); + CACHE(rig) = calloc(1, needed); + if (!CACHE(rig)) + { + rig_debug(RIG_DEBUG_ERR, "%s:Cache calloc failed\n", __func__); + free(rig); //TODO Replace with cleanup routine + return NULL; + } cachep = CACHE(rig); rs->rig_model = caps->rig_model; @@ -1875,6 +1887,11 @@ int HAMLIB_API rig_cleanup(RIG *rig) //TODO Release and null any allocated data - // state, ports, cache, etc. + if (CACHE(rig)) + { + free(CACHE(rig)); + CACHE(rig) = NULL; + } free(rig); commit 7d28822273dec229da1ceca809a3d4f241e4749f Author: George Baltz N3GB <Geo...@gm...> Date: Fri Apr 25 15:11:56 2025 -0400 Add '#include "cache.h"' to all files that reference cache structure. Issue #1420 diff --git a/rigs/dummy/dummy.c b/rigs/dummy/dummy.c index a43a8fe23..edf4155bc 100644 --- a/rigs/dummy/dummy.c +++ b/rigs/dummy/dummy.c @@ -43,6 +43,7 @@ #include "tones.h" #include "idx_builtin.h" #include "register.h" +#include "cache.h" #include "dummy.h" diff --git a/rigs/dummy/flrig.c b/rigs/dummy/flrig.c index 7d41e1df9..a150e1bc9 100644 --- a/rigs/dummy/flrig.c +++ b/rigs/dummy/flrig.c @@ -32,6 +32,7 @@ #include "dummy_common.h" #include "flrig.h" +#include "cache.h" #define DEBUG 1 #define DEBUG_TRACE DEBUG_VERBOSE diff --git a/rigs/icom/frame.c b/rigs/icom/frame.c index 5fa28a110..b7c6c817c 100644 --- a/rigs/icom/frame.c +++ b/rigs/icom/frame.c @@ -33,7 +33,6 @@ #include "icom.h" #include "icom_defs.h" #include "frame.h" -#include "cache.h" /* * Build a CI-V frame. diff --git a/rigs/icom/ic7300.c b/rigs/icom/ic7300.c index fe633a77e..3c495563b 100644 --- a/rigs/icom/ic7300.c +++ b/rigs/icom/ic7300.c @@ -30,6 +30,7 @@ #include "icom.h" #include "icom_defs.h" #include "misc.h" +#include "cache.h" #include "bandplan.h" #include "tones.h" #include "ic7300.h" diff --git a/rigs/icom/ic821h.c b/rigs/icom/ic821h.c index 9c1e4b2ba..83527e30a 100644 --- a/rigs/icom/ic821h.c +++ b/rigs/icom/ic821h.c @@ -25,7 +25,7 @@ #include <hamlib/rig.h> #include "icom.h" #include "misc.h" - +#include "cache.h" #define IC821H_MODES (RIG_MODE_SSB|RIG_MODE_CW|RIG_MODE_FM) diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index c25c713da..828731d2e 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -39,6 +39,7 @@ #include "frame.h" #include "misc.h" #include "event.h" +#include "cache.h" // we automatically determine availability of the 1A 03 command enum { ENUM_1A_03_UNK, ENUM_1A_03_YES, ENUM_1A_03_NO }; diff --git a/rigs/icom/id5100.c b/rigs/icom/id5100.c index 9e86b2a5f..deeada4aa 100644 --- a/rigs/icom/id5100.c +++ b/rigs/icom/id5100.c @@ -26,6 +26,7 @@ #include "icom_defs.h" #include "frame.h" #include "misc.h" +#include "cache.h" enum { diff --git a/rigs/icom/xiegu.c b/rigs/icom/xiegu.c index b35382fa6..d1e19a886 100644 --- a/rigs/icom/xiegu.c +++ b/rigs/icom/xiegu.c @@ -38,6 +38,7 @@ #include "icom_defs.h" #include "frame.h" #include "misc.h" +#include "cache.h" #include "tones.h" #include "bandplan.h" diff --git a/rigs/jrc/jst145.c b/rigs/jrc/jst145.c index 573fd268d..a309b3ba4 100644 --- a/rigs/jrc/jst145.c +++ b/rigs/jrc/jst145.c @@ -24,6 +24,7 @@ #include <string.h> #include "hamlib/rig.h" +#include "cache.h" #include "iofunc.h" #include "jrc.h" diff --git a/rigs/kenwood/ts2000.c b/rigs/kenwood/ts2000.c index b7c1ac5ad..5c25d3461 100644 --- a/rigs/kenwood/ts2000.c +++ b/rigs/kenwood/ts2000.c @@ -28,6 +28,7 @@ #include "kenwood.h" #include "token.h" #include "misc.h" +#include "cache.h" #include "iofunc.h" #include "cal.h" diff --git a/rigs/kenwood/ts590.c b/rigs/kenwood/ts590.c index a21528cc5..3cc9cc786 100644 --- a/rigs/kenwood/ts590.c +++ b/rigs/kenwood/ts590.c @@ -27,6 +27,7 @@ #include "hamlib/rig.h" #include "kenwood.h" #include "misc.h" +#include "cache.h" #include "cal.h" #include "iofunc.h" diff --git a/rigs/tentec/orion.c b/rigs/tentec/orion.c index fbed4962d..2ad454553 100644 --- a/rigs/tentec/orion.c +++ b/rigs/tentec/orion.c @@ -77,6 +77,7 @@ #include <hamlib/rig.h> #include "serial.h" #include "misc.h" +#include "cache.h" #include "orion.h" #ifdef TT565_TIME diff --git a/rigs/yaesu/ft100.c b/rigs/yaesu/ft100.c index 94b7cbb3c..ec4084ddd 100644 --- a/rigs/yaesu/ft100.c +++ b/rigs/yaesu/ft100.c @@ -34,6 +34,7 @@ #include "yaesu.h" #include "ft100.h" #include "misc.h" +#include "cache.h" #include "bandplan.h" enum ft100_native_cmd_e diff --git a/rigs/yaesu/ft1000d.c b/rigs/yaesu/ft1000d.c index e6a7d4745..0ae60a82e 100644 --- a/rigs/yaesu/ft1000d.c +++ b/rigs/yaesu/ft1000d.c @@ -35,6 +35,7 @@ #include "bandplan.h" #include "serial.h" #include "misc.h" +#include "cache.h" #include "yaesu.h" #include "ft1000d.h" diff --git a/rigs/yaesu/ft1000mp.c b/rigs/yaesu/ft1000mp.c index 86b5b63c0..9b16ba60b 100644 --- a/rigs/yaesu/ft1000mp.c +++ b/rigs/yaesu/ft1000mp.c @@ -38,6 +38,7 @@ #include "bandplan.h" #include "serial.h" #include "misc.h" +#include "cache.h" #include "yaesu.h" #include "ft1000mp.h" diff --git a/rigs/yaesu/ft747.c b/rigs/yaesu/ft747.c index b8ad27ffa..6426fcaa0 100644 --- a/rigs/yaesu/ft747.c +++ b/rigs/yaesu/ft747.c @@ -39,6 +39,7 @@ #include "hamlib/rig.h" #include "serial.h" #include "misc.h" +#include "cache.h" #include "yaesu.h" #include "ft747.h" diff --git a/rigs/yaesu/ft817.c b/rigs/yaesu/ft817.c index 125e2696b..49bf79981 100644 --- a/rigs/yaesu/ft817.c +++ b/rigs/yaesu/ft817.c @@ -57,6 +57,7 @@ #include "yaesu.h" #include "ft817.h" #include "misc.h" +#include "cache.h" #include "tones.h" #include "bandplan.h" #include "cal.h" diff --git a/rigs/yaesu/ft857.c b/rigs/yaesu/ft857.c index eee908bc2..e514bc2fb 100644 --- a/rigs/yaesu/ft857.c +++ b/rigs/yaesu/ft857.c @@ -63,6 +63,7 @@ #include "ft857.h" #include "ft817.h" /* We use functions from the 817 code */ #include "misc.h" +#include "cache.h" #include "tones.h" #include "bandplan.h" #include "cal.h" diff --git a/rigs/yaesu/ft990v12.c b/rigs/yaesu/ft990v12.c index f56d1bdc3..bd99ce350 100644 --- a/rigs/yaesu/ft990v12.c +++ b/rigs/yaesu/ft990v12.c @@ -45,6 +45,7 @@ #include "bandplan.h" #include "serial.h" #include "misc.h" +//#include "cache.h" #include "yaesu.h" #include "ft990v12.h" diff --git a/rigs/yaesu/ft991.c b/rigs/yaesu/ft991.c index c68b8e920..6417d523e 100644 --- a/rigs/yaesu/ft991.c +++ b/rigs/yaesu/ft991.c @@ -33,6 +33,7 @@ #include <string.h> #include "hamlib/rig.h" #include "misc.h" +#include "cache.h" #include "newcat.h" #include "yaesu.h" #include "ft991.h" diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c index b64cce03a..82ed2caf7 100644 --- a/rigs/yaesu/newcat.c +++ b/rigs/yaesu/newcat.c @@ -34,6 +34,7 @@ #include "hamlib/rig.h" #include "iofunc.h" #include "misc.h" +#include "cache.h" #include "cal.h" #include "newcat.h" #include "serial.h" diff --git a/rigs/yaesu/pmr171.c b/rigs/yaesu/pmr171.c index 260395fdc..8c5758c86 100644 --- a/rigs/yaesu/pmr171.c +++ b/rigs/yaesu/pmr171.c @@ -43,6 +43,7 @@ //#include "pmr171.h" #include "misc.h" #include "tones.h" +#include "cache.h" #include "bandplan.h" #include "cal.h" diff --git a/src/misc.c b/src/misc.c index 091655dca..37566539d 100644 --- a/src/misc.c +++ b/src/misc.c @@ -50,6 +50,7 @@ #include <hamlib/amplifier.h> #include "misc.h" +#include "cache.h" #include "serial.h" #include "network.h" #include "sprintflst.h" diff --git a/src/multicast.c b/src/multicast.c index e68e4efd1..6822ea51d 100644 --- a/src/multicast.c +++ b/src/multicast.c @@ -13,6 +13,7 @@ #endif #include "hamlib/rig.h" #include "misc.h" +#include "cache.h" #include "multicast.h" #include "network.h" #include "sprintflst.h" diff --git a/src/snapshot_data.c b/src/snapshot_data.c index c68f13a90..c89b43617 100644 --- a/src/snapshot_data.c +++ b/src/snapshot_data.c @@ -4,6 +4,7 @@ #include <hamlib/config.h> #include <hamlib/rig.h> #include "misc.h" +#include "cache.h" #include "snapshot_data.h" #include "hamlibdatetime.h" #include "sprintflst.h" diff --git a/tests/rigctlcom.c b/tests/rigctlcom.c index e7b8fbf07..8570c33f7 100644 --- a/tests/rigctlcom.c +++ b/tests/rigctlcom.c @@ -78,6 +78,7 @@ #include <hamlib/rig.h> #include "misc.h" +#include "cache.h" #include "iofunc.h" #include "rigctl_parse.h" #include "riglist.h" commit 4d322337c1d6d06edaa42887b2ba8430c53aa4f7 Author: George Baltz N3GB <Geo...@gm...> Date: Sun Jun 1 10:55:32 2025 -0400 Update NEWS diff --git a/NEWS b/NEWS index 090e4ed3b..7e2378205 100644 --- a/NEWS +++ b/NEWS @@ -22,6 +22,8 @@ Version 4.6.3 five years from 2020 to 2025. Mike passed away on March 28, 2025 due to complications from ALS (Lou Gehrig's disease). + * Restore IC-7300 spectrum data callback - regression in 4.6 (n3gb) + * Add locking to rig_[gs]et_level() - fixes sending CW from tlf (n3gb) * Fix attempt to use memory returned by setlocale() after being freed (TNX Mooneer Salem) * Language bindings configuration and build fixes (TNX Daniele Forsi) * Various build system and compilation fixes (TNX Daniele Forsi) commit 3bc9e5261be8359203419f8d8fe0d100b40f3eb0 Author: George Baltz N3GB <Geo...@gm...> Date: Sat May 31 14:17:10 2025 -0400 Still more functions made static. diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 5fec748b5..c25c713da 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -812,7 +812,7 @@ int icom_cleanup(RIG *rig) * Returns 0 when USB ECHO is on * \return Returns < 0 when error occurs (e.g. timeout, nimple, navail) */ -int icom_get_usb_echo_off(RIG *rig) +static int icom_get_usb_echo_off(RIG *rig) { int retval; unsigned char ackbuf[MAXFRAMELEN]; @@ -1419,7 +1419,7 @@ static int icom_set_default_vfo(RIG *rig) // return true if band is changing from last set_freq // Assumes rig is currently on the VFO being changed // This handles the case case Main/Sub cannot be on the same band -int icom_band_changing(RIG *rig, freq_t test_freq) +static int icom_band_changing(RIG *rig, freq_t test_freq) { freq_t curr_freq, freq1, freq2; int retval; @@ -3423,7 +3423,7 @@ int icom_set_vfo(RIG *rig, vfo_t vfo) RETURNFUNC2(RIG_OK); } -int icom_set_cmd(RIG *rig, vfo_t vfo, struct cmdparams *par, value_t val) +static int icom_set_cmd(RIG *rig, vfo_t vfo, struct cmdparams *par, value_t val) { ENTERFUNC; @@ -3491,7 +3491,7 @@ int icom_set_cmd(RIG *rig, vfo_t vfo, struct cmdparams *par, value_t val) &ack_len)); } -int icom_get_cmd(RIG *rig, vfo_t vfo, struct cmdparams *par, value_t *val) +static int icom_get_cmd(RIG *rig, vfo_t vfo, struct cmdparams *par, value_t *val) { ENTERFUNC; @@ -5363,7 +5363,7 @@ int icom_set_conf(RIG *rig, hamlib_token_t token, const char *val) * Assumes rig!=NULL, STATE(rig)->priv!=NULL * and val points to a buffer big enough to hold the conf value. */ -int icom_get_conf2(RIG *rig, hamlib_token_t token, char *val, int val_len) +static int icom_get_conf2(RIG *rig, hamlib_token_t token, char *val, int val_len) { struct icom_priv_data *priv; struct rig_state *rs; @@ -7647,7 +7647,7 @@ int icom_set_parm(RIG *rig, setting_t parm, value_t val) RETURNFUNC(-RIG_EINVAL); } -const char *icom_get_band(RIG *rig, int band) +static const char *icom_get_band(RIG *rig, int band) { rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); commit 6b5c5b48f9c7a0582beb0259f00a1bf1c81bf451 Author: George Baltz N3GB <Geo...@gm...> Date: Sat May 31 14:10:05 2025 -0400 Don't try to process short spectrum frames. diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 9f753ebf1..5fec748b5 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -9016,7 +9016,6 @@ int icom_mW2power(RIG *rig, float *power, unsigned int mwpower, freq_t freq, RETURNFUNC(RIG_OK); } - #if defined(HAVE_PTHREAD) static int icom_parse_spectrum_frame(RIG *rig, size_t length, const unsigned char *frame_data) @@ -9025,15 +9024,20 @@ static int icom_parse_spectrum_frame(RIG *rig, size_t length, struct icom_priv_caps *priv_caps = (struct icom_priv_caps *) caps->priv; struct icom_priv_data *priv = (struct icom_priv_data *) STATE(rig)->priv; struct icom_spectrum_scope_cache *cache; - - int division = (int) from_bcd(frame_data + 1, 1 * 2); - int max_division = (int) from_bcd(frame_data + 2, 1 * 2); - + int division, max_division; size_t spectrum_data_length_in_frame; const unsigned char *spectrum_data_start_in_frame; ENTERFUNC; + if (length < 3) + { + rig_debug(RIG_DEBUG_WARN, "%s: Short scope data - len=%zu\n", __func__, length); + RETURNFUNC(-RIG_EPROTO); + } + division = (int) from_bcd(frame_data + 1, 1 * 2); + max_division = (int) from_bcd(frame_data + 2, 1 * 2); + // The first byte indicates spectrum scope ID/VFO: 0 = Main, 1 = Sub int spectrum_id = frame_data[0]; @@ -9048,9 +9052,17 @@ static int icom_parse_spectrum_frame(RIG *rig, size_t length, if (division == 1) { - int spectrum_scope_mode = frame_data[3]; - int out_of_range = frame_data[14]; + int spectrum_scope_mode; + int out_of_range; + if (length < 15) + { + rig_debug(RIG_DEBUG_WARN, "%s: Short scope header - len=%zu\n", __func__, length); + RETURNFUNC(-RIG_EPROTO); + } + + spectrum_scope_mode = frame_data[3]; + out_of_range = frame_data[14]; cache->spectrum_mode = RIG_SPECTRUM_MODE_NONE; switch (spectrum_scope_mode) @@ -9155,9 +9167,7 @@ static int icom_parse_spectrum_frame(RIG *rig, size_t length, .spectrum_data = cache->spectrum_data, }; -#if defined(HAVE_PTHREAD) rig_fire_spectrum_event(rig, &spectrum_line); -#endif cache->spectrum_metadata_valid = 0; } commit 7fa0c863f262a937cae95450fd15056a0fbce12f Author: George Baltz N3GB <Geo...@gm...> Date: Fri May 30 12:39:29 2025 -0400 Don't start async_data_handler until rig is fully opened. Let the <model>_rig_open() finish its setup before trying to read status. diff --git a/src/rig.c b/src/rig.c index 227a4aa15..1be0bad4a 100644 --- a/src/rig.c +++ b/src/rig.c @@ -1422,22 +1422,6 @@ int HAMLIB_API rig_open(RIG *rig) RETURNFUNC2(status); } -#if defined(HAVE_PTHREAD) - - if (!skip_init) - { - status = async_data_handler_start(rig); - - if (status < 0) - { - port_close(rp, rp->type.rig); - rs->comm_status = RIG_COMM_STATUS_ERROR; - RETURNFUNC2(status); - } - } - -#endif - rs->comm_state = 1; rig_debug(RIG_DEBUG_VERBOSE, "%s: %p rs->comm_state==1?=%d\n", __func__, &rs->comm_state, @@ -1488,15 +1472,6 @@ int HAMLIB_API rig_open(RIG *rig) if (status != RIG_OK) { remove_opened_rig(rig); -#if defined(HAVE_PTHREAD) - - if (!skip_init) - { - async_data_handler_stop(rig); - morse_data_handler_stop(rig); - } - -#endif port_close(rp, rp->type.rig); memcpy(&rs->rigport_deprecated, rp, sizeof(hamlib_port_t_deprecated)); rs->comm_state = 0; @@ -1542,6 +1517,15 @@ int HAMLIB_API rig_open(RIG *rig) #if defined(HAVE_PTHREAD) + status = async_data_handler_start(rig); + + if (status < 0) + { + port_close(rp, rp->type.rig); + rs->comm_status = RIG_COMM_STATUS_ERROR; + RETURNFUNC2(status); + } + // Some models don't support CW so don't need morse handler if (rig->caps->send_morse) { commit 63e1bb4c0096a974ad3388357c47c4398a587a84 Author: George Baltz N3GB <Geo...@gm...> Date: Sun May 18 10:49:25 2025 -0400 Pass spectrum data through to callback Fixes issue #1734 diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 77564a4b1..9f753ebf1 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -772,8 +772,6 @@ int icom_init(RIG *rig) // Reset 0x25/0x26 command detection for the rigs that may support it icom_set_x25x26_ability(rig, -1); - rig_debug(RIG_DEBUG_TRACE, "%s: done\n", __func__); - RETURNFUNC(RIG_OK); } @@ -9201,12 +9199,12 @@ int icom_process_async_frame(RIG *rig, size_t frame_length, * the rest is data * and don't forget one byte at the end for the EOM */ - if (frame[2] != 0x00 || frame[2] == 0x01) + if (frame[2] != BCASTID && frame[2] != CTRLID) { // just ignoring 0x01 for now // fe fe 01 94 1c 03 00 80 07 07 00 fd - rig_debug(RIG_DEBUG_VERBOSE, "%s: 3rd byte not 0x00 or is 0x01...not async\n", - __func__); + rig_debug(RIG_DEBUG_VERBOSE, "%s: Unknown/invalid destination - %#x\n", + __func__, frame[2]); RETURNFUNC(RIG_OK); } diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h index 47d99d91d..1ceedec12 100644 --- a/rigs/icom/icom.h +++ b/rigs/icom/icom.h @@ -35,7 +35,7 @@ #include <sys/time.h> #endif -#define BACKEND_VER "20250107" +#define BACKEND_VER "20250517" #define ICOM_IS_ID31 rig_is_model(rig, RIG_MODEL_ID31) #define ICOM_IS_ID51 rig_is_model(rig, RIG_MODEL_ID51) ----------------------------------------------------------------------- Summary of changes: NEWS | 4 ++ include/hamlib/rig.h | 23 ++++++++---- rigs/dummy/dummy.c | 1 + rigs/dummy/flrig.c | 1 + rigs/icom/frame.c | 1 - rigs/icom/ic7300.c | 1 + rigs/icom/ic821h.c | 2 +- rigs/icom/icom.c | 53 +++++++++++++++----------- rigs/icom/icom.h | 2 +- rigs/icom/id5100.c | 1 + rigs/icom/xiegu.c | 1 + rigs/jrc/jst145.c | 1 + rigs/kenwood/kenwood.c | 16 +++----- rigs/kenwood/ts2000.c | 1 + rigs/kenwood/ts590.c | 1 + rigs/tentec/orion.c | 1 + rigs/yaesu/ft100.c | 1 + rigs/yaesu/ft1000d.c | 1 + rigs/yaesu/ft1000mp.c | 1 + rigs/yaesu/ft747.c | 1 + rigs/yaesu/ft817.c | 1 + rigs/yaesu/ft857.c | 1 + rigs/yaesu/ft990v12.c | 1 + rigs/yaesu/ft991.c | 1 + rigs/yaesu/newcat.c | 1 + rigs/yaesu/pmr171.c | 1 + src/cache.c | 26 ++++++++++++- src/cache.h | 100 +++++++++++++++++++++++++++++++++++++++++++++++++ src/misc.c | 23 ++---------- src/multicast.c | 1 + src/rig.c | 79 ++++++++++++++++++++++---------------- src/snapshot_data.c | 1 + tests/rigctlcom.c | 1 + 33 files changed, 255 insertions(+), 96 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-06-04 14:21:54
|
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, Hamlib-4.6.3 has been updated via a640201ad768137a787d9a158533f3ad3b6da727 (commit) from 04af313f7d0953217b64fc4e1fdbb3dc1baa7e10 (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 a640201ad768137a787d9a158533f3ad3b6da727 Author: Nate Bargmann <n0...@n0...> Date: Tue Jun 3 11:05:13 2025 -0500 Advance to 4.6.3~rc2 diff --git a/configure.ac b/configure.ac index 2cee3461e..f7f73afa2 100644 --- a/configure.ac +++ b/configure.ac @@ -14,7 +14,7 @@ dnl Please do not use '-' in the version number, as package managers will fail, dnl however, the use of '~' should be fine as apt (others?) will treat dnl it as an earlier version than the actual release. TNX KA6MAL dnl PACKAGE_NAME + " " + PACKAGE_VERSION must not exceed 20 chars! -AC_INIT([Hamlib],[4.6.3~rc1],[ham...@li...],[hamlib],[http://www.hamlib.org]) +AC_INIT([Hamlib],[4.6.3~rc2],[ham...@li...],[hamlib],[http://www.hamlib.org]) #AC_INIT([PRODUCT_NAME], [Hamlib]) #AC_DEFINE([Hamlib], [PRODUCT_VERSION_RESOURCE]) @@ -76,7 +76,7 @@ dnl See README.release on setting these values # Set them here to keep c++/Makefile and src/Makefile in sync. ABI_VERSION=4 ABI_REVISION=6 -ABI_PATCH=0 +ABI_PATCH=3 ABI_AGE=0 AC_DEFINE_UNQUOTED([ABI_VERSION], [$ABI_VERSION], [Frontend ABI version]) ----------------------------------------------------------------------- Summary of changes: configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-06-03 15:59:53
|
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, Hamlib-4.6.3 has been updated via 04af313f7d0953217b64fc4e1fdbb3dc1baa7e10 (commit) via 3abac287677804f517c415dce047157e00eb4aca (commit) via 3249598cbf3b9e8e9ca1d360930c8d66217c3375 (commit) from 6150ee94c703b8d02d200ed685c497408394fc2a (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 04af313f7d0953217b64fc4e1fdbb3dc1baa7e10 Author: George Baltz N3GB <Geo...@gm...> Date: Sun Jun 1 10:55:32 2025 -0400 Update NEWS (cherry picked from commit 4d322337c1d6d06edaa42887b2ba8430c53aa4f7) diff --git a/NEWS b/NEWS index 090e4ed3b..7e2378205 100644 --- a/NEWS +++ b/NEWS @@ -22,6 +22,8 @@ Version 4.6.3 five years from 2020 to 2025. Mike passed away on March 28, 2025 due to complications from ALS (Lou Gehrig's disease). + * Restore IC-7300 spectrum data callback - regression in 4.6 (n3gb) + * Add locking to rig_[gs]et_level() - fixes sending CW from tlf (n3gb) * Fix attempt to use memory returned by setlocale() after being freed (TNX Mooneer Salem) * Language bindings configuration and build fixes (TNX Daniele Forsi) * Various build system and compilation fixes (TNX Daniele Forsi) commit 3abac287677804f517c415dce047157e00eb4aca Author: George Baltz N3GB <Geo...@gm...> Date: Fri May 30 12:39:29 2025 -0400 Don't start async_data_handler until rig is fully opened. Let the <model>_rig_open() finish its setup before trying to read status. (cherry picked from commit 7fa0c863f262a937cae95450fd15056a0fbce12f) diff --git a/src/rig.c b/src/rig.c index 227a4aa15..1be0bad4a 100644 --- a/src/rig.c +++ b/src/rig.c @@ -1422,22 +1422,6 @@ int HAMLIB_API rig_open(RIG *rig) RETURNFUNC2(status); } -#if defined(HAVE_PTHREAD) - - if (!skip_init) - { - status = async_data_handler_start(rig); - - if (status < 0) - { - port_close(rp, rp->type.rig); - rs->comm_status = RIG_COMM_STATUS_ERROR; - RETURNFUNC2(status); - } - } - -#endif - rs->comm_state = 1; rig_debug(RIG_DEBUG_VERBOSE, "%s: %p rs->comm_state==1?=%d\n", __func__, &rs->comm_state, @@ -1488,15 +1472,6 @@ int HAMLIB_API rig_open(RIG *rig) if (status != RIG_OK) { remove_opened_rig(rig); -#if defined(HAVE_PTHREAD) - - if (!skip_init) - { - async_data_handler_stop(rig); - morse_data_handler_stop(rig); - } - -#endif port_close(rp, rp->type.rig); memcpy(&rs->rigport_deprecated, rp, sizeof(hamlib_port_t_deprecated)); rs->comm_state = 0; @@ -1542,6 +1517,15 @@ int HAMLIB_API rig_open(RIG *rig) #if defined(HAVE_PTHREAD) + status = async_data_handler_start(rig); + + if (status < 0) + { + port_close(rp, rp->type.rig); + rs->comm_status = RIG_COMM_STATUS_ERROR; + RETURNFUNC2(status); + } + // Some models don't support CW so don't need morse handler if (rig->caps->send_morse) { commit 3249598cbf3b9e8e9ca1d360930c8d66217c3375 Author: George Baltz N3GB <Geo...@gm...> Date: Sun May 18 10:49:25 2025 -0400 Pass spectrum data through to callback Fixes issue #1734 (cherry picked from commit 63e1bb4c0096a974ad3388357c47c4398a587a84) diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 77564a4b1..9f753ebf1 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -772,8 +772,6 @@ int icom_init(RIG *rig) // Reset 0x25/0x26 command detection for the rigs that may support it icom_set_x25x26_ability(rig, -1); - rig_debug(RIG_DEBUG_TRACE, "%s: done\n", __func__); - RETURNFUNC(RIG_OK); } @@ -9201,12 +9199,12 @@ int icom_process_async_frame(RIG *rig, size_t frame_length, * the rest is data * and don't forget one byte at the end for the EOM */ - if (frame[2] != 0x00 || frame[2] == 0x01) + if (frame[2] != BCASTID && frame[2] != CTRLID) { // just ignoring 0x01 for now // fe fe 01 94 1c 03 00 80 07 07 00 fd - rig_debug(RIG_DEBUG_VERBOSE, "%s: 3rd byte not 0x00 or is 0x01...not async\n", - __func__); + rig_debug(RIG_DEBUG_VERBOSE, "%s: Unknown/invalid destination - %#x\n", + __func__, frame[2]); RETURNFUNC(RIG_OK); } diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h index 47d99d91d..1ceedec12 100644 --- a/rigs/icom/icom.h +++ b/rigs/icom/icom.h @@ -35,7 +35,7 @@ #include <sys/time.h> #endif -#define BACKEND_VER "20250107" +#define BACKEND_VER "20250517" #define ICOM_IS_ID31 rig_is_model(rig, RIG_MODEL_ID31) #define ICOM_IS_ID51 rig_is_model(rig, RIG_MODEL_ID51) ----------------------------------------------------------------------- Summary of changes: NEWS | 2 ++ rigs/icom/icom.c | 8 +++----- rigs/icom/icom.h | 2 +- src/rig.c | 34 +++++++++------------------------- 4 files changed, 15 insertions(+), 31 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-05-29 17:40:45
|
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, Hamlib-4.6.3 has been updated via 6150ee94c703b8d02d200ed685c497408394fc2a (commit) via 59ab35248703d5b492817c1d1e2511da41ede88e (commit) from 8f919a5a54d7318afea557790d34ddb74c1c6b56 (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 6150ee94c703b8d02d200ed685c497408394fc2a Author: George Baltz N3GB <Geo...@gm...> Date: Wed May 28 09:57:04 2025 -0400 Fix backward frequency tests in ft857.c Found by cppcheck.sh (cherry picked from commit 00d285576cae5c5db3cdac03f3b9abc13508a964) diff --git a/rigs/yaesu/ft857.c b/rigs/yaesu/ft857.c index fa7530922..eee908bc2 100644 --- a/rigs/yaesu/ft857.c +++ b/rigs/yaesu/ft857.c @@ -928,11 +928,11 @@ int ft857_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) rig_get_cache(rig, vfo, &freq, &freq_ms, &mode, &mode_ms, &width, &width_ms); - if (144000000.0f >= freq && 148000000.0f <= freq) + if (144000000.0f <= freq && 148000000.0f > freq) { return ft857_get_pometer_level(rig, val, &rig->caps->rfpower_meter_cal, 2.0); } - else if (420000000.0f >= freq && 450000000.0f <= freq) + else if (420000000.0f <= freq && 450000000.0f > freq) { return ft857_get_pometer_level(rig, val, &rig->caps->rfpower_meter_cal, 5.0); } commit 59ab35248703d5b492817c1d1e2511da41ede88e Author: George Baltz N3GB <Geo...@gm...> Date: Sat May 17 14:22:09 2025 -0400 Fix out of sequence merge for issue #1634 Still undetermined if fix is needed for TS-590SG (cherry picked from commit a4b6ef4fd73dce67de5cb859f111d819d40313ed) diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index c4449c5d6..45bd5012f 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -231,7 +231,7 @@ struct confparams kenwood_cfg_params[] = { RIG_CONF_END, NULL, } }; -int remove_nonprint(char *s) +static int remove_nonprint(char *s) { int i, j = 0; if (s == NULL) return 0; @@ -392,7 +392,7 @@ transaction_write: skip |= strncmp(cmdstr, "RD", 2) == 0; skip |= strncmp(cmdstr, "KYW", 3) == 0; skip |= strncmp(cmdstr, "KY ", 3) == 0; - skip |= strncmp(cmdstr, "KY0", 3) == 0; + skip |= strncmp(cmdstr, "KY0", 3) == 0; skip |= strncmp(cmdstr, "KY2", 3) == 0; skip |= strncmp(cmdstr, "PS1", 3) == 0; skip |= strncmp(cmdstr, "PS0", 3) == 0; @@ -770,7 +770,7 @@ int kenwood_safe_transaction(RIG *rig, const char *cmd, char *buf, if (checklen && length != expected) /* worth retrying as some rigs occasionally send short results */ { - // QRPLABS can't seem top decide if they give 37 or 38 bytes for IF command + // QRPLABS can't seem to decide if they give 37 or 38 bytes for IF command if (strncmp(cmd, "IF", 2) == 0 && rig->caps->rig_model == RIG_MODEL_QRPLABS) { break; } struct kenwood_priv_data *priv = STATE(rig)->priv; @@ -5575,6 +5575,14 @@ int kenwood_send_morse(RIG *rig, vfo_t vfo, const char *msg) SNPRINTF(morsebuf, sizeof(morsebuf), "KY %s", m2); break; + case RIG_MODEL_TS590S: + //??case RIG_MODEL_TS590SG: + /* The command must consist of 28 bytes right aligned. + * See https://github.com/Hamlib/Hamlib/issues/1634 + */ + SNPRINTF(morsebuf, sizeof(morsebuf), "KY %24s", m2); + break; + case RIG_MODEL_TS890S: SNPRINTF(morsebuf, sizeof morsebuf, "KY2%s", m2); break; @@ -5589,11 +5597,6 @@ int kenwood_send_morse(RIG *rig, vfo_t vfo, const char *msg) } /* FALL THROUGH */ - case RIG_MODEL_TS590S: - /* the command must consist of 28 bytes right aligned */ - SNPRINTF(morsebuf, sizeof(morsebuf), "KY %24s", m2); - break; - default: /* the command must consist of 28 bytes 0x20 padded */ SNPRINTF(morsebuf, sizeof(morsebuf), "KY %-24s", m2); diff --git a/rigs/kenwood/kenwood.h b/rigs/kenwood/kenwood.h index f553cadc4..36783db08 100644 --- a/rigs/kenwood/kenwood.h +++ b/rigs/kenwood/kenwood.h @@ -28,7 +28,7 @@ #include "token.h" #include "idx_builtin.h" -#define BACKEND_VER "20250107" +#define BACKEND_VER "20250515" #define EOM_KEN ';' #define EOM_TH '\r' ----------------------------------------------------------------------- Summary of changes: rigs/kenwood/kenwood.c | 19 +++++++++++-------- rigs/kenwood/kenwood.h | 2 +- rigs/yaesu/ft857.c | 4 ++-- 3 files changed, 14 insertions(+), 11 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-05-29 17:37:38
|
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 cccee9b7916548c2c48a1bfd55116fded3d3a6ed (commit) via b74bd31b408369ddb1e09de52036b8b3d9002385 (commit) via 00d285576cae5c5db3cdac03f3b9abc13508a964 (commit) via 0a6d07a1adaec907facee2fd8e3428fded978672 (commit) via 9f43659831c22fa210732b8fd6a88d11fd6aa603 (commit) via a4b6ef4fd73dce67de5cb859f111d819d40313ed (commit) from 9fdf8f201ce78a2c3b8b0a245bdd2cacf17cbb68 (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 cccee9b7916548c2c48a1bfd55116fded3d3a6ed Author: George Baltz N3GB <Geo...@gm...> Date: Thu May 29 05:40:06 2025 -0400 Still more cppcheck complaints dealt with. diff --git a/amplifiers/elecraft/kpa.c b/amplifiers/elecraft/kpa.c index 8ffbbe28e..b7bf05a05 100644 --- a/amplifiers/elecraft/kpa.c +++ b/amplifiers/elecraft/kpa.c @@ -90,7 +90,7 @@ int kpa_close(AMP *amp) return RIG_OK; } -int kpa_flushbuffer(AMP *amp) +static int kpa_flushbuffer(AMP *amp) { rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index f165dca29..814eb2921 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -3888,7 +3888,7 @@ locator2longlat HAMLIB_PARAMS((double *longitude, double *latitude, const char *locator)); -extern HAMLIB_EXPORT(char*) rig_make_md5(char *pass); +extern HAMLIB_EXPORT(char*) rig_make_md5(const char *pass); extern HAMLIB_EXPORT(int) rig_set_lock_mode(RIG *rig, int lock); extern HAMLIB_EXPORT(int) rig_get_lock_mode(RIG *rig, int *lock); diff --git a/rigs/kenwood/xg3.c b/rigs/kenwood/xg3.c index 271bebca2..de65d8282 100644 --- a/rigs/kenwood/xg3.c +++ b/rigs/kenwood/xg3.c @@ -75,22 +75,22 @@ static struct kenwood_priv_caps xg3_priv_caps = /* XG3 specific rig_caps API function declarations */ -int xg3_init(RIG *rig); -int xg3_open(RIG *rig); -int xg3_set_vfo(RIG *rig, vfo_t vfo); -int xg3_get_vfo(RIG *rig, vfo_t *vfo); -int xg3_set_freq(RIG *rig, vfo_t vfo, freq_t freq); -int xg3_get_freq(RIG *rig, vfo_t vfo, freq_t *freq); -int xg3_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt); -int xg3_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt); -int xg3_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val); -int xg3_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val); -int xg3_set_powerstat(RIG *rig, powerstat_t status); -int xg3_get_powerstat(RIG *rig, powerstat_t *status); -int xg3_set_mem(RIG *rig, vfo_t vfo, int ch); -int xg3_get_mem(RIG *rig, vfo_t vfo, int *ch); -int xg3_set_parm(RIG *rig, setting_t parm, value_t val); -int xg3_get_parm(RIG *rig, setting_t parm, value_t *val); +static int xg3_init(RIG *rig); +static int xg3_open(RIG *rig); +static int xg3_set_vfo(RIG *rig, vfo_t vfo); +static int xg3_get_vfo(RIG *rig, vfo_t *vfo); +static int xg3_set_freq(RIG *rig, vfo_t vfo, freq_t freq); +static int xg3_get_freq(RIG *rig, vfo_t vfo, freq_t *freq); +static int xg3_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt); +static int xg3_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt); +static int xg3_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val); +static int xg3_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val); +static int xg3_set_powerstat(RIG *rig, powerstat_t status); +static int xg3_get_powerstat(RIG *rig, powerstat_t *status); +static int xg3_set_mem(RIG *rig, vfo_t vfo, int ch); +static int xg3_get_mem(RIG *rig, vfo_t vfo, int *ch); +static int xg3_set_parm(RIG *rig, setting_t parm, value_t val); +static int xg3_get_parm(RIG *rig, setting_t parm, value_t *val); /* @@ -183,7 +183,7 @@ struct rig_caps xg3_caps = /* * xg3_init() */ -int xg3_init(RIG *rig) +static int xg3_init(RIG *rig) { struct kenwood_priv_data *priv; int i; @@ -225,7 +225,7 @@ int xg3_init(RIG *rig) /* * xg3_open() */ -int xg3_open(RIG *rig) +static int xg3_open(RIG *rig) { int err; ptt_t ptt; @@ -245,7 +245,7 @@ int xg3_open(RIG *rig) } -int xg3_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) +static int xg3_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) { char levelbuf[16]; @@ -275,7 +275,7 @@ int xg3_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) /* * kenwood_get_level */ -int xg3_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) +static int xg3_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) { char cmdbuf[32], replybuf[32]; int retval; @@ -343,7 +343,7 @@ int xg3_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) /* * xg3_get_vfo */ -int xg3_get_vfo(RIG *rig, vfo_t *vfo) +static int xg3_get_vfo(RIG *rig, vfo_t *vfo) { rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); @@ -359,7 +359,7 @@ int xg3_get_vfo(RIG *rig, vfo_t *vfo) /* * xg3_set_vfo */ -int xg3_set_vfo(RIG *rig, vfo_t vfo) +static int xg3_set_vfo(RIG *rig, vfo_t vfo) { rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); @@ -379,7 +379,7 @@ int xg3_set_vfo(RIG *rig, vfo_t vfo) /* * xg3_set_freq */ -int xg3_set_freq(RIG *rig, vfo_t vfo, freq_t freq) +static int xg3_set_freq(RIG *rig, vfo_t vfo, freq_t freq) { int err; vfo_t tvfo; @@ -422,7 +422,7 @@ int xg3_set_freq(RIG *rig, vfo_t vfo, freq_t freq) /* * xg3_get_freq */ -int xg3_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) +static int xg3_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) { struct hamlib_port *rp; char freqbuf[50]; @@ -494,7 +494,7 @@ int xg3_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) /* * xg3_set_powerstat */ -int xg3_set_powerstat(RIG *rig, powerstat_t status) +static int xg3_set_powerstat(RIG *rig, powerstat_t status) { rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); @@ -514,7 +514,7 @@ int xg3_set_powerstat(RIG *rig, powerstat_t status) /* * xg3_get_powerstat */ -int xg3_get_powerstat(RIG *rig, powerstat_t *status) +static int xg3_get_powerstat(RIG *rig, powerstat_t *status) { const char *cmd = "G"; // any command to test will do char buf[6]; @@ -540,7 +540,7 @@ int xg3_get_powerstat(RIG *rig, powerstat_t *status) /* * xg3_set_mem */ -int xg3_set_mem(RIG *rig, vfo_t vfo, int ch) +static int xg3_set_mem(RIG *rig, vfo_t vfo, int ch) { char cmdbuf[32]; int retval; @@ -569,7 +569,7 @@ int xg3_set_mem(RIG *rig, vfo_t vfo, int ch) /* * xg3_get_mem */ -int xg3_get_mem(RIG *rig, vfo_t vfo, int *ch) +static int xg3_get_mem(RIG *rig, vfo_t vfo, int *ch) { char cmdbuf[32]; char reply[32]; @@ -602,7 +602,7 @@ int xg3_get_mem(RIG *rig, vfo_t vfo, int *ch) /* * xg3_set_ptt */ -int xg3_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt) +static int xg3_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt) { int retval; @@ -622,7 +622,7 @@ int xg3_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt) /* * kenwood_get_ptt */ -int xg3_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt) +static int xg3_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt) { char pttbuf[6]; int retval; @@ -650,7 +650,7 @@ int xg3_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt) /* * xg3_set_parm */ -int xg3_set_parm(RIG *rig, setting_t parm, value_t val) +static int xg3_set_parm(RIG *rig, setting_t parm, value_t val) { int ival; char cmdbuf[16]; @@ -679,7 +679,7 @@ int xg3_set_parm(RIG *rig, setting_t parm, value_t val) /* * xg3_get_parm */ -int xg3_get_parm(RIG *rig, setting_t parm, value_t *val) +static int xg3_get_parm(RIG *rig, setting_t parm, value_t *val) { int ival; char replybuf[6]; diff --git a/rigs/tentec/jupiter.c b/rigs/tentec/jupiter.c index 3a28dc677..ed9bcf8f6 100644 --- a/rigs/tentec/jupiter.c +++ b/rigs/tentec/jupiter.c @@ -257,7 +257,7 @@ static int tt538_transaction(RIG *rig, const char *cmd, int cmd_len, retval = tentec_transaction(rig, cmd, cmd_len, data, data_len); - if (data == NULL || (data != NULL && data_len > 0)) + if (data == NULL || data_len > 0) { return retval; } diff --git a/security/aes.c b/security/aes.c index a46bdfdb4..9333b8a04 100644 --- a/security/aes.c +++ b/security/aes.c @@ -434,7 +434,7 @@ uint32 KT3[256]; /* AES key scheduling routine */ -int aes_set_key(aes_context *ctx, uint8 *key, int nbits) +int aes_set_key(aes_context *ctx, const uint8 *key, int nbits) { int i; uint32 *RK, *SK; @@ -591,7 +591,7 @@ int aes_set_key(aes_context *ctx, uint8 *key, int nbits) /* AES 128-bit block encryption routine */ -void aes_encrypt(aes_context *ctx, uint8 input[16], uint8 output[16]) +void aes_encrypt(aes_context *ctx, const uint8 input[16], uint8 output[16]) { uint32 *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3; @@ -681,7 +681,7 @@ void aes_encrypt(aes_context *ctx, uint8 input[16], uint8 output[16]) /* AES 128-bit block decryption routine */ -void aes_decrypt(aes_context *ctx, uint8 input[16], uint8 output[16]) +void aes_decrypt(aes_context *ctx, const uint8 input[16], uint8 output[16]) { uint32 *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3; diff --git a/security/aes.h b/security/aes.h index 7c39f9eed..8b960ac3f 100755 --- a/security/aes.h +++ b/security/aes.h @@ -17,8 +17,8 @@ typedef struct } aes_context; -int aes_set_key( aes_context *ctx, uint8 *key, int nbits ); -void aes_encrypt( aes_context *ctx, uint8 input[16], uint8 output[16] ); -void aes_decrypt( aes_context *ctx, uint8 input[16], uint8 output[16] ); +int aes_set_key( aes_context *ctx, const uint8 *key, int nbits ); +void aes_encrypt( aes_context *ctx, const uint8 input[16], uint8 output[16] ); +void aes_decrypt( aes_context *ctx, const uint8 input[16], uint8 output[16] ); #endif /* aes.h */ diff --git a/security/md5.c b/security/md5.c index b5ceb3883..9baf0a048 100644 --- a/security/md5.c +++ b/security/md5.c @@ -292,7 +292,7 @@ unsigned char *make_hash(const char *arg) return digest; } -char *rig_make_md5(char *pass) +char *rig_make_md5(const char *pass) { const unsigned char *hash = make_hash(pass); char *md5str = make_digest(hash, 16); diff --git a/security/sha256.c b/security/sha256.c index 73224a3e9..811cee623 100644 --- a/security/sha256.c +++ b/security/sha256.c @@ -53,7 +53,7 @@ void sha256_starts(sha256_context *ctx) ctx->state[7] = 0x5BE0CD19; } -void sha256_process(sha256_context *ctx, uint8 data[64]) +void sha256_process(sha256_context *ctx, const uint8 data[64]) { uint32 temp1, temp2, W[64]; uint32 A, B, C, D, E, F, G, H; commit b74bd31b408369ddb1e09de52036b8b3d9002385 Author: George Baltz N3GB <Geo...@gm...> Date: Wed May 28 14:26:34 2025 -0400 Quiet a few more cppcheck gripes. Making these functions static also reduces the possibilities of collisions with app names and may shorten load time. And I can finally make meter_type1 and meter_type2 const, like I tried to do in the beginning. diff --git a/.gitignore b/.gitignore index caa28b297..5da00dd4e 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,7 @@ config.sub config.log config.status configure +cppcheck.log depcomp hamlib.pc hamlib.spec diff --git a/rigs/dummy/dummy.c b/rigs/dummy/dummy.c index dccebd215..a43a8fe23 100644 --- a/rigs/dummy/dummy.c +++ b/rigs/dummy/dummy.c @@ -2312,7 +2312,7 @@ static int dummy_mW2power(RIG *rig, float *power, unsigned int mwpower, static int m_year, m_month, m_day, m_hour, m_min, m_sec, m_utc_offset; static double m_msec; -int dummy_set_clock(RIG *rig, int year, int month, int day, int hour, int min, +static int dummy_set_clock(RIG *rig, int year, int month, int day, int hour, int min, int sec, double msec, int utc_offset) { int retval = RIG_OK; @@ -2337,7 +2337,7 @@ int dummy_set_clock(RIG *rig, int year, int month, int day, int hour, int min, return retval; } -int dummy_get_clock(RIG *rig, int *year, int *month, int *day, int *hour, +static int dummy_get_clock(RIG *rig, int *year, int *month, int *day, int *hour, int *min, int *sec, double *msec, int *utc_offset) { int retval = RIG_OK; diff --git a/rigs/flexradio/dttsp.c b/rigs/flexradio/dttsp.c index 217e73b90..2a24b70f1 100644 --- a/rigs/flexradio/dttsp.c +++ b/rigs/flexradio/dttsp.c @@ -439,7 +439,7 @@ int dttsp_set_conf(RIG *rig, hamlib_token_t token, const char *val) * Assumes rig!=NULL, STATE(rig)->priv!=NULL * and val points to a buffer big enough to hold the conf value. */ -int dttsp_get_conf2(RIG *rig, hamlib_token_t token, char *val, int val_len) +static int dttsp_get_conf2(RIG *rig, hamlib_token_t token, char *val, int val_len) { struct dttsp_priv_data *priv; struct rig_state *rs; diff --git a/rigs/icom/ic7100.c b/rigs/icom/ic7100.c index de5b3b2a1..9f500ddcc 100644 --- a/rigs/icom/ic7100.c +++ b/rigs/icom/ic7100.c @@ -211,7 +211,7 @@ static const struct icom_priv_caps ic7100_priv_caps = }; // if hour < 0 then only date will be set -int ic7100_set_clock(RIG *rig, int year, int month, int day, int hour, int min, +static int ic7100_set_clock(RIG *rig, int year, int month, int day, int hour, int min, int sec, double msec, int utc_offset) { int cmd = 0x1a; @@ -265,7 +265,7 @@ int ic7100_set_clock(RIG *rig, int year, int month, int day, int hour, int min, return retval; } -int ic7100_get_clock(RIG *rig, int *year, int *month, int *day, int *hour, +static int ic7100_get_clock(RIG *rig, int *year, int *month, int *day, int *hour, int *min, int *sec, double *msec, int *utc_offset) { int cmd = 0x1a; diff --git a/rigs/icom/ic7200.c b/rigs/icom/ic7200.c index 0824d6780..0d413de58 100644 --- a/rigs/icom/ic7200.c +++ b/rigs/icom/ic7200.c @@ -95,8 +95,8 @@ } } -int ic7200_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val); -int ic7200_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val); +static int ic7200_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val); +static int ic7200_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val); /* * IC-7200 rig capabilities. @@ -295,7 +295,7 @@ struct rig_caps ic7200_caps = .hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS }; -int ic7200_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) +static int ic7200_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) { unsigned char cmdbuf[MAXFRAMELEN]; @@ -312,7 +312,7 @@ int ic7200_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) } } -int ic7200_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) +static int ic7200_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) { unsigned char cmdbuf[MAXFRAMELEN]; diff --git a/rigs/kenwood/ts890s.c b/rigs/kenwood/ts890s.c index 32d8c4533..74f3c22b5 100644 --- a/rigs/kenwood/ts890s.c +++ b/rigs/kenwood/ts890s.c @@ -290,13 +290,13 @@ static int kenwood_ts890_get_level(RIG *rig, vfo_t vfo, setting_t level, case RIG_LEVEL_STRENGTH: case RIG_LEVEL_RFPOWER_METER_WATTS: { - cal_table_float_t *table; + const cal_table_float_t *table; ptt_t ptt = RIG_PTT_OFF; /* Values taken from the TS-890S In-Depth Manual (IDM), p. 8 * 0.03 - 21.5 MHz, Preamp 1 */ /* Meter Type 1 - Kenwood specific, factory default */ - static cal_table_float_t meter_type1 = + static const cal_table_float_t meter_type1 = { 9, { { 0, -28.4f}, { 3, -26}, {11, -19.5f}, {19, -13}, {27, -6.5f}, {35, 0}, @@ -304,7 +304,7 @@ static int kenwood_ts890_get_level(RIG *rig, vfo_t vfo, setting_t level, } }; /* Meter Type 2 - IARU recommended */ - static cal_table_float_t meter_type2 = + static const cal_table_float_t meter_type2 = { 9, { { 0, -54}, { 3, -48}, {11, -36}, {19, -24}, {27, -12}, {35, 0}, @@ -462,7 +462,7 @@ static int ts890_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status) return retval; } - *status = current[2] & mask ? 1 : 0; + *status = (current[2] & mask) ? 1 : 0; return RIG_OK; } diff --git a/rigs/yaesu/ft3000.c b/rigs/yaesu/ft3000.c index 505821a00..9ba104f41 100644 --- a/rigs/yaesu/ft3000.c +++ b/rigs/yaesu/ft3000.c @@ -144,7 +144,7 @@ int ftdx3000_ext_tokens[] = TOK_BACKEND_NONE }; -int ft3000_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option) +static int ft3000_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option) { char *cmd; int err; @@ -181,7 +181,7 @@ int ft3000_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option) RETURNFUNC(RIG_OK); } -int ft3000_get_ant(RIG *rig, vfo_t vfo, ant_t dummy, value_t *option, +static int ft3000_get_ant(RIG *rig, vfo_t vfo, ant_t dummy, value_t *option, ant_t *ant_curr, ant_t *ant_tx, ant_t *ant_rx) { struct newcat_priv_data *priv = (struct newcat_priv_data *)STATE(rig)->priv; diff --git a/rigs/yaesu/pmr171.c b/rigs/yaesu/pmr171.c index 2abe30e6e..260395fdc 100644 --- a/rigs/yaesu/pmr171.c +++ b/rigs/yaesu/pmr171.c @@ -333,7 +333,7 @@ struct rig_caps pmr171_caps = //*****************************************************/ #include <stdint.h> -uint16_t CRC16Check(const unsigned char *buf, int len) +static uint16_t CRC16Check(const unsigned char *buf, int len) { uint16_t crc = 0xFFFF; // Initial value uint16_t polynomial = 0x1021; // Polynomial x^16 + x^12 + x^5 + 1 @@ -479,7 +479,7 @@ rmode_t pmr171_modes[GUOHE_MODE_TABLE_MAX] = RIG_MODE_RTTY // not functioning }; -rmode_t guohe2rmode(unsigned char mode, const rmode_t mode_table[]) +static rmode_t guohe2rmode(unsigned char mode, const rmode_t mode_table[]) { rig_debug(RIG_DEBUG_VERBOSE, "%s called, mode=0x%02x\n", __func__, mode); @@ -494,7 +494,7 @@ rmode_t guohe2rmode(unsigned char mode, const rmode_t mode_table[]) return (mode_table[mode]); } -unsigned char rmode2guohe(rmode_t mode, const rmode_t mode_table[]) +static unsigned char rmode2guohe(rmode_t mode, const rmode_t mode_table[]) { rig_debug(RIG_DEBUG_VERBOSE, "%s called, mode=%s\n", __func__, rig_strrmode(mode)); @@ -519,7 +519,7 @@ unsigned char rmode2guohe(rmode_t mode, const rmode_t mode_table[]) /** * Converting to Big-endian bytes */ -unsigned char *to_be(unsigned char data[], +static unsigned char *to_be(unsigned char data[], unsigned long long freq, unsigned int byte_len) { @@ -538,7 +538,7 @@ unsigned char *to_be(unsigned char data[], } -unsigned long long from_be(const unsigned char data[], +static unsigned long long from_be(const unsigned char data[], unsigned int byte_len) { int i; diff --git a/src/sprintflst.c b/src/sprintflst.c index 06b381316..b1fe66bb9 100644 --- a/src/sprintflst.c +++ b/src/sprintflst.c @@ -40,7 +40,7 @@ // just doing a warning message for now // eventually should make this -RIG_EINTERNAL -int check_buffer_overflow(char *str, int len, int nlen) +static int check_buffer_overflow(char *str, int len, int nlen) { if (len + 32 >= nlen) // make sure at least 32 bytes are available { commit 00d285576cae5c5db3cdac03f3b9abc13508a964 Author: George Baltz N3GB <Geo...@gm...> Date: Wed May 28 09:57:04 2025 -0400 Fix backward frequency tests in ft857.c Found by cppcheck.sh diff --git a/rigs/yaesu/ft857.c b/rigs/yaesu/ft857.c index fa7530922..eee908bc2 100644 --- a/rigs/yaesu/ft857.c +++ b/rigs/yaesu/ft857.c @@ -928,11 +928,11 @@ int ft857_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) rig_get_cache(rig, vfo, &freq, &freq_ms, &mode, &mode_ms, &width, &width_ms); - if (144000000.0f >= freq && 148000000.0f <= freq) + if (144000000.0f <= freq && 148000000.0f > freq) { return ft857_get_pometer_level(rig, val, &rig->caps->rfpower_meter_cal, 2.0); } - else if (420000000.0f >= freq && 450000000.0f <= freq) + else if (420000000.0f <= freq && 450000000.0f > freq) { return ft857_get_pometer_level(rig, val, &rig->caps->rfpower_meter_cal, 5.0); } commit 0a6d07a1adaec907facee2fd8e3428fded978672 Author: George Baltz N3GB <Geo...@gm...> Date: Tue May 27 19:26:23 2025 -0400 Make a few more functions static All rig-specific overrides should only be used in one file. Keep the definitions local. diff --git a/rigs/kenwood/ts2000.c b/rigs/kenwood/ts2000.c index 7e24a20ef..b7c1ac5ad 100644 --- a/rigs/kenwood/ts2000.c +++ b/rigs/kenwood/ts2000.c @@ -266,7 +266,7 @@ static struct kenwood_priv_caps ts2000_priv_caps = * Function definitions below */ -int ts2000_init(RIG *rig) +static int ts2000_init(RIG *rig) { struct kenwood_priv_data *priv; int retval; diff --git a/rigs/kenwood/ts480.c b/rigs/kenwood/ts480.c index 043f25334..17cb9a1c5 100644 --- a/rigs/kenwood/ts480.c +++ b/rigs/kenwood/ts480.c @@ -169,7 +169,7 @@ const struct confparams ts480_ext_levels[] = * kenwood_ts480_get_info * Assumes rig!=NULL */ -const char * +static const char * kenwood_ts480_get_info(RIG *rig) { char firmbuf[50]; @@ -313,7 +313,7 @@ static int ts480_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status) * WARNING: The commands differ slightly from the general versions in kenwood.c * e.g.: "SQ"=>"SQ0" , "AG"=>"AG0" */ -int kenwood_ts480_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) +static int kenwood_ts480_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) { char levelbuf[16]; int kenwood_val; @@ -489,7 +489,7 @@ static int ts480_read_meters(RIG *rig, int *swr, int *comp, int *alc) * kenwood_ts480_get_level * Assumes rig!=NULL, val!=NULL */ -int +static int kenwood_ts480_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) { char ackbuf[50]; @@ -1204,7 +1204,7 @@ static struct kenwood_priv_caps ts480_priv_caps = .slope_filter_low = ts480_slope_filter_low, }; -int ts480_init(RIG *rig) +static int ts480_init(RIG *rig) { struct kenwood_priv_data *priv; int retval; @@ -1227,7 +1227,7 @@ int ts480_init(RIG *rig) RETURNFUNC(RIG_OK); } -int qrplabs_open(RIG *rig) +static int qrplabs_open(RIG *rig) { int retval; char buf[64]; @@ -1279,7 +1279,7 @@ int qdx_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt) } -int qrplabs_get_clock(RIG *rig, int *year, int *month, int *day, int *hour, +static int qrplabs_get_clock(RIG *rig, int *year, int *month, int *day, int *hour, int *min, int *sec, double *msec, int *utc_offset) { char tm_cmd[32]; @@ -1295,7 +1295,7 @@ int qrplabs_get_clock(RIG *rig, int *year, int *month, int *day, int *hour, return retval; } -int qrplabs_set_clock(RIG *rig, int year, int month, int day, int hour, int min, +static int qrplabs_set_clock(RIG *rig, int year, int month, int day, int hour, int min, int sec, double msec, int utc_offset) { char tm_cmd[32]; @@ -2356,7 +2356,7 @@ const struct confparams malachite_cfg_parms[] = { RIG_CONF_END, NULL, } }; -int malachite_init(RIG *rig) +static int malachite_init(RIG *rig) { struct kenwood_priv_data *priv; int retval; @@ -2374,7 +2374,7 @@ int malachite_init(RIG *rig) RETURNFUNC(RIG_OK); } -int malachite_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) +static int malachite_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) { int post_write_delay_save = STATE(rig)->post_write_delay; STATE(rig)->post_write_delay = 0; @@ -2383,7 +2383,7 @@ int malachite_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) return retval; } -int malachite_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) +static int malachite_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) { int post_write_delay_save = STATE(rig)->post_write_delay; ENTERFUNC; @@ -2393,7 +2393,7 @@ int malachite_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) RETURNFUNC(retval); } -int malachite_set_freq(RIG *rig, vfo_t vfo, freq_t freq) +static int malachite_set_freq(RIG *rig, vfo_t vfo, freq_t freq) { int retval; struct rig_cache *cachep = CACHE(rig); diff --git a/rigs/kenwood/ts570.c b/rigs/kenwood/ts570.c index 72710db2d..0d6cf9c1e 100644 --- a/rigs/kenwood/ts570.c +++ b/rigs/kenwood/ts570.c @@ -242,7 +242,7 @@ static int ts570_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) * extends kenwood_set_func * Assumes rig!=NULL, val!=NULL */ -int ts570_set_func(RIG *rig, vfo_t vfo, setting_t func, int status) +static int ts570_set_func(RIG *rig, vfo_t vfo, setting_t func, int status) { char fctbuf[6]; @@ -278,7 +278,7 @@ int ts570_set_func(RIG *rig, vfo_t vfo, setting_t func, int status) * extends kenwood_get_func * Assumes rig!=NULL, val!=NULL */ -int ts570_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status) +static int ts570_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status) { char fctbuf[50]; size_t fct_len; @@ -342,7 +342,7 @@ int ts570_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status) * * set levels of most functions */ -int +static int ts570_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) { char levelbuf[16]; @@ -400,7 +400,7 @@ ts570_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) * ts570_get_level * Assumes rig!=NULL, val!=NULL */ -int +static int ts570_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) { char ackbuf[50]; @@ -515,7 +515,7 @@ ts570_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) /* * ts570_get_split_vfo */ -int ts570_get_split_vfo(RIG *rig, vfo_t vfo, split_t *split, vfo_t *tx_vfo) +static int ts570_get_split_vfo(RIG *rig, vfo_t vfo, split_t *split, vfo_t *tx_vfo) { char ack[10]; char ack2[10]; @@ -568,7 +568,7 @@ int ts570_get_split_vfo(RIG *rig, vfo_t vfo, split_t *split, vfo_t *tx_vfo) /* * ts570_set_split_vfo */ -int ts570_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t txvfo) +static int ts570_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t txvfo) { char cmdbuf[16], ackbuf[20]; int retval; @@ -683,7 +683,7 @@ int ts570_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t txvfo) .ctcss_tone=1 \ } -int ts570_set_channel(RIG *rig, vfo_t vfo, const channel_t *chan) +static int ts570_set_channel(RIG *rig, vfo_t vfo, const channel_t *chan) { char cmdbuf[30]; int retval; @@ -746,7 +746,7 @@ int ts570_set_channel(RIG *rig, vfo_t vfo, const channel_t *chan) return RIG_OK; } -int ts570_get_xit(RIG *rig, vfo_t vfo, shortfreq_t *rit) +static int ts570_get_xit(RIG *rig, vfo_t vfo, shortfreq_t *rit) { char infobuf[50]; int retval; @@ -780,7 +780,7 @@ int ts570_get_xit(RIG *rig, vfo_t vfo, shortfreq_t *rit) return RIG_OK; } -int ts570_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit) +static int ts570_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit) { char buf[50]; unsigned char c; @@ -840,7 +840,7 @@ int ts570_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit) return RIG_OK; } -int ts570_set_xit(RIG *rig, vfo_t vfo, shortfreq_t rit) +static int ts570_set_xit(RIG *rig, vfo_t vfo, shortfreq_t rit) { char buf[50]; unsigned char c; diff --git a/rigs/kenwood/ts590.c b/rigs/kenwood/ts590.c index bbe80b940..a21528cc5 100644 --- a/rigs/kenwood/ts590.c +++ b/rigs/kenwood/ts590.c @@ -185,7 +185,7 @@ const struct confparams ts590_ext_levels[] = * This is not documented in the manual as of 3/11/15 but confirmed from Kenwood * "TY" produces "TYK 00" for example */ -const char *ts590_get_info(RIG *rig) +static const char *ts590_get_info(RIG *rig) { char firmbuf[10]; int retval; diff --git a/rigs/kenwood/ts870s.c b/rigs/kenwood/ts870s.c index 98343310d..a2299e781 100644 --- a/rigs/kenwood/ts870s.c +++ b/rigs/kenwood/ts870s.c @@ -265,7 +265,7 @@ static int ts870s_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) return retval; } -int ts870s_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) +static int ts870s_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) { char levelbuf[16]; int intval; commit 9f43659831c22fa210732b8fd6a88d11fd6aa603 Author: George Baltz N3GB <Geo...@gm...> Date: Tue May 27 15:34:16 2025 -0400 Fix gain controls in simts890.c And a couple of other hiccups found by cppcheck diff --git a/simulators/simts890.c b/simulators/simts890.c index 854a1e96e..4c2982f97 100644 --- a/simulators/simts890.c +++ b/simulators/simts890.c @@ -180,9 +180,9 @@ const int stepvalues[4][10] = // Step sizes in Hz int stepsize[4] = { 1000, 500, 10000, 5000}; // Defaults by modeclass /* Function prototypes */ -int freq2band(int freq); -kvfop_t newvfo(kvfop_t ovfo, int band); -void swapvfos(kvfop_t *vfoset[]); +static int freq2band(int freq); +static kvfop_t newvfo(kvfop_t ovfo, int band); +static void swapvfos(kvfop_t *vfoset[]); // Extracted from rig.h int hl_usleep(unsigned long usec); // Until it's replaced @@ -410,24 +410,6 @@ int main(int argc, char *argv[]) { sscanf(buf, "RA%d", &ra); } - else if (strcmp(buf, "RG;") == 0) - { - hl_usleep(mysleep * 000); - pbuf = "RG255;"; - OUTPUT(pbuf); - } - else if (strcmp(buf, "MG;") == 0) - { - hl_usleep(mysleep * 1000); - pbuf = "MG050;"; - OUTPUT(pbuf); - } - else if (strcmp(buf, "AG;") == 0) - { - hl_usleep(mysleep * 1000); - pbuf = "AG100;"; - OUTPUT(pbuf); - } else if (strcmp(buf, "FV;") == 0) { hl_usleep(mysleep * 1000); @@ -1529,7 +1511,7 @@ int main(int argc, char *argv[]) * * Returns band # or negative if invalid input */ -int freq2band(int freq) +static int freq2band(int freq) { int i, retval = -1; // Assume the worst @@ -1553,7 +1535,7 @@ int freq2band(int freq) * new band * Return: new vfo pointer */ -kvfop_t newvfo(kvfop_t ovfo, int band) +static kvfop_t newvfo(kvfop_t ovfo, int band) { int vfonum, slot; @@ -1566,7 +1548,7 @@ kvfop_t newvfo(kvfop_t ovfo, int band) /* Reverse the function of vfoA and vfoB * No status returned */ -void swapvfos(kvfop_t *vfoset[]) +static void swapvfos(kvfop_t *vfoset[]) { kvfop_t *temp; diff --git a/simulators/simts990.c b/simulators/simts990.c index 1b2c93fbf..84b4d7c82 100644 --- a/simulators/simts990.c +++ b/simulators/simts990.c @@ -197,13 +197,6 @@ int main(int argc, char *argv[]) write(fd, pbuf, strlen(pbuf)); continue; } - else if (strcmp(buf, "MG;") == 0) - { - hl_usleep(mysleep * 1000); - pbuf = "MG050;"; - write(fd, pbuf, strlen(pbuf)); - continue; - } else if (strcmp(buf, "AG;") == 0) { hl_usleep(mysleep * 1000); commit a4b6ef4fd73dce67de5cb859f111d819d40313ed Author: George Baltz N3GB <Geo...@gm...> Date: Sat May 17 14:22:09 2025 -0400 Fix out of sequence merge for issue #1634 Still undetermined if fix is needed for TS-590SG diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index c4449c5d6..45bd5012f 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -231,7 +231,7 @@ struct confparams kenwood_cfg_params[] = { RIG_CONF_END, NULL, } }; -int remove_nonprint(char *s) +static int remove_nonprint(char *s) { int i, j = 0; if (s == NULL) return 0; @@ -392,7 +392,7 @@ transaction_write: skip |= strncmp(cmdstr, "RD", 2) == 0; skip |= strncmp(cmdstr, "KYW", 3) == 0; skip |= strncmp(cmdstr, "KY ", 3) == 0; - skip |= strncmp(cmdstr, "KY0", 3) == 0; + skip |= strncmp(cmdstr, "KY0", 3) == 0; skip |= strncmp(cmdstr, "KY2", 3) == 0; skip |= strncmp(cmdstr, "PS1", 3) == 0; skip |= strncmp(cmdstr, "PS0", 3) == 0; @@ -770,7 +770,7 @@ int kenwood_safe_transaction(RIG *rig, const char *cmd, char *buf, if (checklen && length != expected) /* worth retrying as some rigs occasionally send short results */ { - // QRPLABS can't seem top decide if they give 37 or 38 bytes for IF command + // QRPLABS can't seem to decide if they give 37 or 38 bytes for IF command if (strncmp(cmd, "IF", 2) == 0 && rig->caps->rig_model == RIG_MODEL_QRPLABS) { break; } struct kenwood_priv_data *priv = STATE(rig)->priv; @@ -5575,6 +5575,14 @@ int kenwood_send_morse(RIG *rig, vfo_t vfo, const char *msg) SNPRINTF(morsebuf, sizeof(morsebuf), "KY %s", m2); break; + case RIG_MODEL_TS590S: + //??case RIG_MODEL_TS590SG: + /* The command must consist of 28 bytes right aligned. + * See https://github.com/Hamlib/Hamlib/issues/1634 + */ + SNPRINTF(morsebuf, sizeof(morsebuf), "KY %24s", m2); + break; + case RIG_MODEL_TS890S: SNPRINTF(morsebuf, sizeof morsebuf, "KY2%s", m2); break; @@ -5589,11 +5597,6 @@ int kenwood_send_morse(RIG *rig, vfo_t vfo, const char *msg) } /* FALL THROUGH */ - case RIG_MODEL_TS590S: - /* the command must consist of 28 bytes right aligned */ - SNPRINTF(morsebuf, sizeof(morsebuf), "KY %24s", m2); - break; - default: /* the command must consist of 28 bytes 0x20 padded */ SNPRINTF(morsebuf, sizeof(morsebuf), "KY %-24s", m2); diff --git a/rigs/kenwood/kenwood.h b/rigs/kenwood/kenwood.h index f553cadc4..36783db08 100644 --- a/rigs/kenwood/kenwood.h +++ b/rigs/kenwood/kenwood.h @@ -28,7 +28,7 @@ #include "token.h" #include "idx_builtin.h" -#define BACKEND_VER "20250107" +#define BACKEND_VER "20250515" #define EOM_KEN ';' #define EOM_TH '\r' ----------------------------------------------------------------------- Summary of changes: .gitignore | 1 + amplifiers/elecraft/kpa.c | 2 +- include/hamlib/rig.h | 2 +- rigs/dummy/dummy.c | 4 +-- rigs/flexradio/dttsp.c | 2 +- rigs/icom/ic7100.c | 4 +-- rigs/icom/ic7200.c | 8 +++--- rigs/kenwood/kenwood.c | 19 ++++++++------ rigs/kenwood/kenwood.h | 2 +- rigs/kenwood/ts2000.c | 2 +- rigs/kenwood/ts480.c | 22 ++++++++-------- rigs/kenwood/ts570.c | 20 +++++++-------- rigs/kenwood/ts590.c | 2 +- rigs/kenwood/ts870s.c | 2 +- rigs/kenwood/ts890s.c | 8 +++--- rigs/kenwood/xg3.c | 64 +++++++++++++++++++++++------------------------ rigs/tentec/jupiter.c | 2 +- rigs/yaesu/ft3000.c | 4 +-- rigs/yaesu/ft857.c | 4 +-- rigs/yaesu/pmr171.c | 10 ++++---- security/aes.c | 6 ++--- security/aes.h | 6 ++--- security/md5.c | 2 +- security/sha256.c | 2 +- simulators/simts890.c | 30 +++++----------------- simulators/simts990.c | 7 ------ src/sprintflst.c | 2 +- 27 files changed, 109 insertions(+), 130 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-05-29 08:14:24
|
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, Hamlib-4.6.3 has been updated via 8f919a5a54d7318afea557790d34ddb74c1c6b56 (commit) from 53d2eed741d36fd87622a601590d8e860f048bc3 (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 8f919a5a54d7318afea557790d34ddb74c1c6b56 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Tue May 27 08:58:56 2025 +0200 Fix list of dependecies of aclocal.m4 Adds missing ax_lib_readline.m4 and ax_lua.m4 to the list of MACROS. Also sorts the list. (cherry picked from commit 9fdf8f201ce78a2c3b8b0a245bdd2cacf17cbb68) diff --git a/macros/Makefile.am b/macros/Makefile.am index 5bbf29963..295d473d8 100644 --- a/macros/Makefile.am +++ b/macros/Makefile.am @@ -3,12 +3,14 @@ MACROS = \ ax_append_flag.m4 \ ax_cflags_warn_all.m4 \ + ax_cxx_compile_stdcxx.m4 \ + ax_lib_indi.m4 \ + ax_lib_nova.m4 \ + ax_lib_readline.m4 \ + ax_lua.m4 \ ax_pkg_swig.m4 \ ax_pthread.m4 \ ax_python_devel.m4 \ - ax_lib_indi.m4 \ - ax_lib_nova.m4 \ - ax_cxx_compile_stdcxx.m4 \ gr_doxygen.m4 \ gr_pwin32.m4 \ hl_getaddrinfo.m4 \ ----------------------------------------------------------------------- Summary of changes: macros/Makefile.am | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-05-29 08:10:20
|
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 9fdf8f201ce78a2c3b8b0a245bdd2cacf17cbb68 (commit) from 717d720a3605745a47812908b088117580e4e10c (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 9fdf8f201ce78a2c3b8b0a245bdd2cacf17cbb68 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Tue May 27 08:58:56 2025 +0200 Fix list of dependecies of aclocal.m4 Adds missing ax_lib_readline.m4 and ax_lua.m4 to the list of MACROS. Also sorts the list. diff --git a/macros/Makefile.am b/macros/Makefile.am index 5bbf29963..295d473d8 100644 --- a/macros/Makefile.am +++ b/macros/Makefile.am @@ -3,12 +3,14 @@ MACROS = \ ax_append_flag.m4 \ ax_cflags_warn_all.m4 \ + ax_cxx_compile_stdcxx.m4 \ + ax_lib_indi.m4 \ + ax_lib_nova.m4 \ + ax_lib_readline.m4 \ + ax_lua.m4 \ ax_pkg_swig.m4 \ ax_pthread.m4 \ ax_python_devel.m4 \ - ax_lib_indi.m4 \ - ax_lib_nova.m4 \ - ax_cxx_compile_stdcxx.m4 \ gr_doxygen.m4 \ gr_pwin32.m4 \ hl_getaddrinfo.m4 \ ----------------------------------------------------------------------- Summary of changes: macros/Makefile.am | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-05-26 16:17:49
|
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, Hamlib-4.6.3 has been updated via 53d2eed741d36fd87622a601590d8e860f048bc3 (commit) from f0ac83bcba5b7bf0a6a2db18d31069bbd118cd41 (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 53d2eed741d36fd87622a601590d8e860f048bc3 Author: George Baltz N3GB <Geo...@gm...> Date: Sat May 24 20:20:10 2025 -0400 Add locking around get/set levels (cherry picked from commit b5df48d8d9839460e13201765b278c6a32741158) diff --git a/src/settings.c b/src/settings.c index 8dfbb6731..0667160b0 100644 --- a/src/settings.c +++ b/src/settings.c @@ -90,6 +90,7 @@ int HAMLIB_API rig_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) return -RIG_ENAVAIL; } + rig_lock(rig, 1); if ((caps->targetable_vfo & RIG_TARGETABLE_LEVEL) || vfo == RIG_VFO_CURR || vfo == STATE(rig)->current_vfo) @@ -103,12 +104,14 @@ int HAMLIB_API rig_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) } #endif - - return caps->set_level(rig, vfo, level, val); + retcode = caps->set_level(rig, vfo, level, val); + rig_lock(rig, 0); + return retcode; } if (!caps->set_vfo) { + rig_lock(rig, 0); return -RIG_ENTARGET; } @@ -117,11 +120,13 @@ int HAMLIB_API rig_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) if (retcode != RIG_OK) { + rig_lock(rig, 0); return retcode; } retcode = caps->set_level(rig, vfo, level, val); caps->set_vfo(rig, curr_vfo); + rig_lock(rig, 0); return retcode; } @@ -172,6 +177,7 @@ int HAMLIB_API rig_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) return -RIG_ENAVAIL; } + rig_lock(rig, 1); // Keep Out! /* * Special case(frontend emulation): calibrated S-meter reading */ @@ -187,10 +193,12 @@ int HAMLIB_API rig_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) if (retcode != RIG_OK) { + rig_lock(rig, 0); return retcode; } val->i = (int)rig_raw2val(rawstr.i, &rs->str_cal); + rig_lock(rig, 0); return RIG_OK; } @@ -199,12 +207,14 @@ int HAMLIB_API rig_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) || vfo == RIG_VFO_CURR || vfo == rs->current_vfo) { - - return caps->get_level(rig, vfo, level, val); + retcode = caps->get_level(rig, vfo, level, val); + rig_lock(rig, 0); + return retcode; } if (!caps->set_vfo) { + rig_lock(rig, 0); return -RIG_ENTARGET; } @@ -213,11 +223,13 @@ int HAMLIB_API rig_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) if (retcode != RIG_OK) { + rig_lock(rig, 0); return retcode; } retcode = caps->get_level(rig, vfo, level, val); caps->set_vfo(rig, curr_vfo); + rig_lock(rig, 0); return retcode; } ----------------------------------------------------------------------- Summary of changes: src/settings.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-05-26 16:16:01
|
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 717d720a3605745a47812908b088117580e4e10c (commit) via b5df48d8d9839460e13201765b278c6a32741158 (commit) from 43017b38f08c6ed75fa9c5a4d88bdb0875e7c15a (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 717d720a3605745a47812908b088117580e4e10c Merge: 43017b38f b5df48d8d Author: Nate Bargmann <n0...@n0...> Date: Mon May 26 11:09:36 2025 -0500 Merge GitHub PR #1744 commit b5df48d8d9839460e13201765b278c6a32741158 Author: George Baltz N3GB <Geo...@gm...> Date: Sat May 24 20:20:10 2025 -0400 Add locking around get/set levels diff --git a/src/settings.c b/src/settings.c index 8dfbb6731..0667160b0 100644 --- a/src/settings.c +++ b/src/settings.c @@ -90,6 +90,7 @@ int HAMLIB_API rig_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) return -RIG_ENAVAIL; } + rig_lock(rig, 1); if ((caps->targetable_vfo & RIG_TARGETABLE_LEVEL) || vfo == RIG_VFO_CURR || vfo == STATE(rig)->current_vfo) @@ -103,12 +104,14 @@ int HAMLIB_API rig_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) } #endif - - return caps->set_level(rig, vfo, level, val); + retcode = caps->set_level(rig, vfo, level, val); + rig_lock(rig, 0); + return retcode; } if (!caps->set_vfo) { + rig_lock(rig, 0); return -RIG_ENTARGET; } @@ -117,11 +120,13 @@ int HAMLIB_API rig_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) if (retcode != RIG_OK) { + rig_lock(rig, 0); return retcode; } retcode = caps->set_level(rig, vfo, level, val); caps->set_vfo(rig, curr_vfo); + rig_lock(rig, 0); return retcode; } @@ -172,6 +177,7 @@ int HAMLIB_API rig_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) return -RIG_ENAVAIL; } + rig_lock(rig, 1); // Keep Out! /* * Special case(frontend emulation): calibrated S-meter reading */ @@ -187,10 +193,12 @@ int HAMLIB_API rig_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) if (retcode != RIG_OK) { + rig_lock(rig, 0); return retcode; } val->i = (int)rig_raw2val(rawstr.i, &rs->str_cal); + rig_lock(rig, 0); return RIG_OK; } @@ -199,12 +207,14 @@ int HAMLIB_API rig_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) || vfo == RIG_VFO_CURR || vfo == rs->current_vfo) { - - return caps->get_level(rig, vfo, level, val); + retcode = caps->get_level(rig, vfo, level, val); + rig_lock(rig, 0); + return retcode; } if (!caps->set_vfo) { + rig_lock(rig, 0); return -RIG_ENTARGET; } @@ -213,11 +223,13 @@ int HAMLIB_API rig_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) if (retcode != RIG_OK) { + rig_lock(rig, 0); return retcode; } retcode = caps->get_level(rig, vfo, level, val); caps->set_vfo(rig, curr_vfo); + rig_lock(rig, 0); return retcode; } ----------------------------------------------------------------------- Summary of changes: src/settings.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-05-26 15:53:43
|
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 43017b38f08c6ed75fa9c5a4d88bdb0875e7c15a (commit) via 3034631b2f99f32680e2939035f45019a2fc38c3 (commit) from f459eea516a3e5c9b74c72dd4a430fcde1764f71 (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 43017b38f08c6ed75fa9c5a4d88bdb0875e7c15a Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Mon May 26 08:25:17 2025 +0200 Fix typo Add closing tag for example text. diff --git a/doc/man1/rotctld.1 b/doc/man1/rotctld.1 index 234b71a04..d1cd13ed1 100644 --- a/doc/man1/rotctld.1 +++ b/doc/man1/rotctld.1 @@ -159,6 +159,7 @@ rotctld -T 127.0.0.1 (bind only to 127.0.0.1) .in +4n rotctl -m 2 (binds to all interfaces) rotctl -m 2 -r 127.0.0.1 (bind only to 127.0.0.1) +.EE . .TP .BR \-t ", " \-\-port = \fInumber\fP commit 3034631b2f99f32680e2939035f45019a2fc38c3 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sat May 24 20:03:33 2025 +0200 Fix typo diff --git a/rigs/dummy/amp_dummy.c b/rigs/dummy/amp_dummy.c index d04d586e6..1b94884a5 100644 --- a/rigs/dummy/amp_dummy.c +++ b/rigs/dummy/amp_dummy.c @@ -186,7 +186,7 @@ static int dummy_amp_get_level(AMP *amp, setting_t level, value_t *val) return RIG_OK; case AMP_LEVEL_NH: - rig_debug(RIG_DEBUG_VERBOSE, "%s AMP_LEVEL_UH\n", __func__); + rig_debug(RIG_DEBUG_VERBOSE, "%s AMP_LEVEL_NH\n", __func__); val->i = flag == 0 ? 0 : 8370; return RIG_OK; ----------------------------------------------------------------------- Summary of changes: doc/man1/rotctld.1 | 1 + rigs/dummy/amp_dummy.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-05-26 15:52: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, Hamlib-4.6.3 has been updated via f0ac83bcba5b7bf0a6a2db18d31069bbd118cd41 (commit) via ffb61c29a5aa0eca95d4cf62e3cb15c610a223ce (commit) from e641162a6be7570a20b6e0189a53063cdbca1a39 (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 f0ac83bcba5b7bf0a6a2db18d31069bbd118cd41 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Mon May 26 08:25:17 2025 +0200 Fix typo Add closing tag for example text. (cherry picked from commit 43017b38f08c6ed75fa9c5a4d88bdb0875e7c15a) diff --git a/doc/man1/rotctld.1 b/doc/man1/rotctld.1 index 234b71a04..d1cd13ed1 100644 --- a/doc/man1/rotctld.1 +++ b/doc/man1/rotctld.1 @@ -159,6 +159,7 @@ rotctld -T 127.0.0.1 (bind only to 127.0.0.1) .in +4n rotctl -m 2 (binds to all interfaces) rotctl -m 2 -r 127.0.0.1 (bind only to 127.0.0.1) +.EE . .TP .BR \-t ", " \-\-port = \fInumber\fP commit ffb61c29a5aa0eca95d4cf62e3cb15c610a223ce Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sat May 24 20:03:33 2025 +0200 Fix typo (cherry picked from commit 3034631b2f99f32680e2939035f45019a2fc38c3) diff --git a/rigs/dummy/amp_dummy.c b/rigs/dummy/amp_dummy.c index d04d586e6..1b94884a5 100644 --- a/rigs/dummy/amp_dummy.c +++ b/rigs/dummy/amp_dummy.c @@ -186,7 +186,7 @@ static int dummy_amp_get_level(AMP *amp, setting_t level, value_t *val) return RIG_OK; case AMP_LEVEL_NH: - rig_debug(RIG_DEBUG_VERBOSE, "%s AMP_LEVEL_UH\n", __func__); + rig_debug(RIG_DEBUG_VERBOSE, "%s AMP_LEVEL_NH\n", __func__); val->i = flag == 0 ? 0 : 8370; return RIG_OK; ----------------------------------------------------------------------- Summary of changes: doc/man1/rotctld.1 | 1 + rigs/dummy/amp_dummy.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-05-26 02:24:01
|
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, Hamlib-4.6.3 has been created at e641162a6be7570a20b6e0189a53063cdbca1a39 (commit) - Log ----------------------------------------------------------------- commit e641162a6be7570a20b6e0189a53063cdbca1a39 Author: Nate Bargmann <n0...@n0...> Date: Sun May 25 21:00:13 2025 -0500 Advance to 4.6.3~rc1 diff --git a/configure.ac b/configure.ac index ce96ad667..2cee3461e 100644 --- a/configure.ac +++ b/configure.ac @@ -14,7 +14,7 @@ dnl Please do not use '-' in the version number, as package managers will fail, dnl however, the use of '~' should be fine as apt (others?) will treat dnl it as an earlier version than the actual release. TNX KA6MAL dnl PACKAGE_NAME + " " + PACKAGE_VERSION must not exceed 20 chars! -AC_INIT([Hamlib],[4.7~git],[ham...@li...],[hamlib],[http://www.hamlib.org]) +AC_INIT([Hamlib],[4.6.3~rc1],[ham...@li...],[hamlib],[http://www.hamlib.org]) #AC_INIT([PRODUCT_NAME], [Hamlib]) #AC_DEFINE([Hamlib], [PRODUCT_VERSION_RESOURCE]) ----------------------------------------------------------------------- hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-05-26 01:53:00
|
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 f459eea516a3e5c9b74c72dd4a430fcde1764f71 (commit) from 0fd094f4765737c00f852838c739c702a2e7376f (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 f459eea516a3e5c9b74c72dd4a430fcde1764f71 Author: Nate Bargmann <n0...@n0...> Date: Sun May 25 20:46:16 2025 -0500 Update NEWS for 4.6.3 release diff --git a/NEWS b/NEWS index 7da905aae..090e4ed3b 100644 --- a/NEWS +++ b/NEWS @@ -2,7 +2,7 @@ Hamlib -- History of visible changes. Copyright (C) 2000-2003 Frank Singleton Copyright (C) 2000-2023 Stephane Fillod, and others -Copyright (C) 2000-2023 Michael Black W9MDB, and others +Copyright (C) 2000-2025 Michael Black W9MDB, and others Please send Hamlib bug reports to ham...@li... @@ -12,7 +12,24 @@ Version 5.x -- future * rot_get_conf deprecated and replaced by rot_get_conf2 * Change FT1000MP Mark V model names to align with FT1000MP +Version 4.7.0 + * 2025-12-01 (target) + Version 4.6.3 + * 2025-06-10 + * Release dedicated to the memory of Michael Black, W9MDB (SK). Mike was a + long-time contributor to Hamlib and led development of the project for over + five years from 2020 to 2025. Mike passed away on March 28, 2025 due to + complications from ALS (Lou Gehrig's disease). + + * Fix attempt to use memory returned by setlocale() after being freed (TNX Mooneer Salem) + * Language bindings configuration and build fixes (TNX Daniele Forsi) + * Various build system and compilation fixes (TNX Daniele Forsi) + * IC-705 filter selection bandwidth for FM and WFM (TNX Kenji Rikitake) + * IC-705 COMP, VD, and ID meter calibration values (TNX Kenji Rikitake) + * Fix ACLog thousands separator + * Documentation updates, typo fixes, man page fixes (TNX Daniele Forsi) + * Drop redundant token lookups and make local functions static (TNX George Baltz) * Fix rigctl showing hamlib_verson when connecting to rigctld * Add rig CODAN 2110 ----------------------------------------------------------------------- Summary of changes: NEWS | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-05-23 02:20:42
|
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 0fd094f4765737c00f852838c739c702a2e7376f (commit) from 9570d9963b44a4ee2ad8d2a6befb982fd4dcb6fc (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 0fd094f4765737c00f852838c739c702a2e7376f Author: Mooneer Salem <mo...@gm...> Date: Thu May 22 08:10:53 2025 -0700 Fix issue where Hamlib attempts to use memory returned by setlocale() after being freed. diff --git a/include/num_stdio.h b/include/num_stdio.h index 4ba063a95..f564f097a 100644 --- a/include/num_stdio.h +++ b/include/num_stdio.h @@ -23,6 +23,9 @@ #define _NUM_STDIO_H 1 #include <locale.h> +#include <stdlib.h> +#include <string.h> +#include <assert.h> /* * This header file is internal to Hamlib and its backends, @@ -36,27 +39,42 @@ #define num_sscanf(a...) \ ({ int __ret; char *__savedlocale; \ __savedlocale = setlocale(LC_NUMERIC, NULL); \ + if (__savedlocale != NULL) { \ + __savedlocale = strdup(__savedlocale); \ + assert(__savedlocale != NULL); \ + } \ setlocale(LC_NUMERIC, "C"); \ __ret = sscanf(a); \ setlocale(LC_NUMERIC, __savedlocale); \ + if (__savedlocale != NULL) free(__savedlocale); \ __ret; \ }) #define num_sprintf(s, a...) \ ({ int __ret; char *__savedlocale; \ __savedlocale = setlocale(LC_NUMERIC, NULL); \ + if (__savedlocale != NULL) { \ + __savedlocale = strdup(__savedlocale); \ + assert(__savedlocale != NULL); \ + } \ setlocale(LC_NUMERIC, "C"); \ __ret = sprintf(s, a); \ setlocale(LC_NUMERIC, __savedlocale); \ + if (__savedlocale != NULL) free(__savedlocale); \ __ret; \ }) #define num_snprintf(s, n, a...) \ ({ int __ret; char *__savedlocale; \ __savedlocale = setlocale(LC_NUMERIC, NULL); \ + if (__savedlocale != NULL) { \ + __savedlocale = strdup(__savedlocale); \ + assert(__savedlocale != NULL); \ + } \ setlocale(LC_NUMERIC, "C"); \ __ret = snprintf(s, n, a); \ setlocale(LC_NUMERIC, __savedlocale); \ + if (__savedlocale != NULL) free(__savedlocale); \ __ret; \ }) ----------------------------------------------------------------------- Summary of changes: include/num_stdio.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-05-22 23:29:25
|
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 9570d9963b44a4ee2ad8d2a6befb982fd4dcb6fc (commit) via dbe89b2092f808e4fe3d7286b6459a9803cd5361 (commit) via 87311035ea67d73a1a02d99e55b2a522486bead7 (commit) via 4109d606b598a8ca84ebdbe6d06b740928b4e5bf (commit) via 84376c45616d0a50023815f10b89eafe6f45e02a (commit) from 9b177cd8b3bcbc47126961377e6b14c689918af2 (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 9570d9963b44a4ee2ad8d2a6befb982fd4dcb6fc Merge: 9b177cd8b dbe89b209 Author: Nate Bargmann <n0...@n0...> Date: Thu May 22 18:17:59 2025 -0500 Merge GitHub PR #1742 commit dbe89b2092f808e4fe3d7286b6459a9803cd5361 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Thu May 22 21:51:55 2025 +0200 Remove duplicated comment diff --git a/configure.ac b/configure.ac index 4a453abdb..b88734859 100644 --- a/configure.ac +++ b/configure.ac @@ -817,10 +817,6 @@ echo Build_OS is $build_os dnl otherwise parallel 'make -jn' will fail -## ---------------------------------- ## -## Prepare rig backend dependencies ## -## ---------------------------------- ## - for be in ${RIG_BACKEND_LIST} ; do RIGDIR=$(echo $be | awk -F "/" '{print $2}') RIG_BACKENDEPS="${RIG_BACKENDEPS} \$(top_builddir)/rigs/${RIGDIR}/libhamlib-${RIGDIR}.la" commit 87311035ea67d73a1a02d99e55b2a522486bead7 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Tue May 20 19:42:42 2025 +0200 Also mention amplifiers diff --git a/README.md b/README.md index 3b1093697..9b4410138 100644 --- a/README.md +++ b/README.md @@ -27,15 +27,15 @@ to reach the Wiki. Hamlib Design ------------- -The library provides functions for both radio and rotator control, -and data retrieval from the radio or rotator. A number of functions useful +The library provides functions for radio, rotator and amplifier control, +and data retrieval for supported devices. A number of functions useful for calculating distance and bearing and grid square conversion are included. libhamlib.so - library that provides generic API for all RIG types. This is what Application programmers will "see". Will have different names on other platforms, e.g. libhamlib-2.dll on MS windows. Also - contains all radio and rotator "backends" (formerly in their own - dlopen'ed libraries) provided by Hamlib. + contains all radio, rotator and amplifier "backends" (formerly in their + own dlopen'ed libraries) provided by Hamlib. Backend Examples are: --------------------- diff --git a/scripts/build-w32.sh b/scripts/build-w32.sh index d6ca19c61..9bf25dd93 100755 --- a/scripts/build-w32.sh +++ b/scripts/build-w32.sh @@ -124,8 +124,9 @@ Testing with the Hamlib Utilities To continue, be sure you have read the README.betatester file, especially the "Testing Hamlib" section. The primary means of testing is by way of the -rigctl utility for radios and rotctl utility for rotators. Each is a command -line program that is interactive or can act on a single command and exit. +rigctl utility for radios, the rotctl utility for rotators and the ampctl +utility for amplifiers. Each is a command line program that is interactive +or can act on a single command and exit. Documentation for each utility can be found as an HTML file in the doc directory. diff --git a/scripts/build-w64.sh b/scripts/build-w64.sh index ca4b89571..2215bc86b 100755 --- a/scripts/build-w64.sh +++ b/scripts/build-w64.sh @@ -124,8 +124,9 @@ Testing with the Hamlib Utilities To continue, be sure you have read the README.betatester file, especially the "Testing Hamlib" section. The primary means of testing is by way of the -rigctl utility for radios and rotctl utility for rotators. Each is a command -line program that is interactive or can act on a single command and exit. +rigctl utility for radios, the rotctl utility for rotators and the ampctl +utility for amplifiers. Each is a command line program that is interactive +or can act on a single command and exit. Documentation for each utility can be found as an HTML file in the doc directory. commit 4109d606b598a8ca84ebdbe6d06b740928b4e5bf Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Mon May 19 23:01:26 2025 +0200 Fix typos diff --git a/rigs/aor/ar7030.c b/rigs/aor/ar7030.c index 45be50a72..858dd2f95 100644 --- a/rigs/aor/ar7030.c +++ b/rigs/aor/ar7030.c @@ -485,7 +485,7 @@ static int ar7030_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) } // fltbw Mem_Page=0 Address=38 - // Filter bandwidth dezimal in Hz. + // Filter bandwidth decimal in Hz. // Filter bandwidth (2 BCD digits : x.x kHz). setMemPtr(rig, 0, 0x38); diff --git a/rigs/dummy/aclog.c b/rigs/dummy/aclog.c index c236003df..52dc49e4d 100644 --- a/rigs/dummy/aclog.c +++ b/rigs/dummy/aclog.c @@ -74,7 +74,7 @@ struct aclog_priv_data struct ext_list *ext_parms; }; -//Structure for mapping aclog dynmamic modes to hamlib modes +//Structure for mapping aclog dynamic modes to hamlib modes //aclog displays modes as the rig displays them struct s_modeMap { diff --git a/rigs/dummy/flrig.c b/rigs/dummy/flrig.c index 505f803bb..7d41e1df9 100644 --- a/rigs/dummy/flrig.c +++ b/rigs/dummy/flrig.c @@ -217,7 +217,7 @@ struct rig_caps flrig_caps = .hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS }; -//Structure for mapping flrig dynmamic modes to hamlib modes +//Structure for mapping flrig dynamic modes to hamlib modes //flrig displays modes as the rig displays them struct s_modeMap { diff --git a/rigs/dummy/tci1x.c b/rigs/dummy/tci1x.c index 7fdaa64d1..cf9123c7b 100644 --- a/rigs/dummy/tci1x.c +++ b/rigs/dummy/tci1x.c @@ -212,7 +212,7 @@ struct rig_caps tci1x_caps = .hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS }; -//Structure for mapping tci1x dynmamic modes to hamlib modes +//Structure for mapping tci1x dynamic modes to hamlib modes //tci1x displays modes as the rig displays them struct s_modeMap { diff --git a/rigs/elad/elad.c b/rigs/elad/elad.c index 9e257f81c..87e8f71b6 100644 --- a/rigs/elad/elad.c +++ b/rigs/elad/elad.c @@ -152,7 +152,7 @@ const struct confparams elad_cfg_params[] = * indicating that only a reply is needed (nothing will be sent). * data: Buffer for reply string. Can be NULL, indicating that no reply * is needed and will return with RIG_OK after command was sent. - * datasize: Size of buffer. It is the caller's responsibily to provide + * datasize: Size of buffer. It is the caller's responsibility to provide * a large enough buffer for all possible replies for a command. * * returns: diff --git a/rigs/icom/frame.c b/rigs/icom/frame.c index df2019e09..5fa28a110 100644 --- a/rigs/icom/frame.c +++ b/rigs/icom/frame.c @@ -291,7 +291,7 @@ again1: } // first 2 bytes of everything are 0xfe so we won't test those - // this allows some corruptin of the 0xfe bytes which has been seen in the wild + // this allows some corruption of the 0xfe bytes which has been seen in the wild if (memcmp(&buf[2], &sendbuf[2], frm_len - 2) != 0) { /* Frames are different? */ @@ -620,7 +620,7 @@ static int read_icom_frame_generic(hamlib_port_t *p, while ((read < rxbuffer_len) && (rxbuffer[read - 1] != FI) && (rxbuffer[read - 1] != COL)); - // Check that we have a valid frame preamble (which might be just a single preable character) + // Check that we have a valid frame preamble (which might be just a single preamble character) // Or an error code if (rxbuffer[0] != PR && rxbuffer[0] != COL) { diff --git a/rigs/icom/ic746.c b/rigs/icom/ic746.c index 6ace9675b..45e398205 100644 --- a/rigs/icom/ic746.c +++ b/rigs/icom/ic746.c @@ -357,7 +357,7 @@ struct rig_caps ic746_caps = #define S_MEM_2M_DUP_OFST 0x516 /* default 144 MHz duplex offset 3 byte little endian */ #define S_MEM_AUTO_RPTR 0x518 /* auto repeater set 0=OFF; 1=ON-1; 2=ON-2 */ #define S_MEM_LANG 0x523 /* 0=English 1=Japanese for voice announcer */ -#define S_MEM_TRCV 0x536 /* CI-V trancieve mode */ +#define S_MEM_TRCV 0x536 /* CI-V transceive mode */ #define S_MEM_CMP_LVL 0x538 /* speech compressor level 0-10 */ #define S_MEM_SBASS 0x539 /* SSB TX tone bass level */ #define S_MEM_RTTY_FL_PB 0x562 /* 0=250 Hz, 1=300' 2 = 350, 3 = 500, 4 = 1 KHz */ diff --git a/rigs/icom/ic756.c b/rigs/icom/ic756.c index 347fa7a41..45aca0a2e 100644 --- a/rigs/icom/ic756.c +++ b/rigs/icom/ic756.c @@ -525,7 +525,7 @@ static const struct confparams ic756pro2_ext_parms[] = #define S_MEM_BEEP 0x520 /* Button confirmation */ #define S_MEM_SQL_CTL 0x522 /* RF/SQL ctl set 0=auto; 1 = sql; 2 = RF+SQL */ #define S_MEM_QSPLT 0x524 /* enable quick split mode */ -#define S_MEM_TRCV 0x532 /* CI-V trancieve mode */ +#define S_MEM_TRCV 0x532 /* CI-V transceive mode */ #define S_MEM_LANG 0x536 /* 0=English 1=Japanese for voice announcer */ #define S_MEM_SCN_SPD 0x556 /* 0 = low; 1 = high */ #define S_MEM_RTTY_FL_PB 0x561 /* 0=250 Hz, 1=300' 2 = 350, 3 = 500, 4 = 1 KHz */ diff --git a/rigs/icom/ic820h.c b/rigs/icom/ic820h.c index 1d0bf11cf..9d4eb8d65 100644 --- a/rigs/icom/ic820h.c +++ b/rigs/icom/ic820h.c @@ -83,7 +83,7 @@ struct rig_caps ic820h_caps = .ctcss_list = NULL, .dcs_list = NULL, .preamp = { RIG_DBLST_END, }, - .attenuator = { RIG_DBLST_END, }, /* Attanuator 15dB for each band. manual button */ + .attenuator = { RIG_DBLST_END, }, /* Attenuator 15dB for each band. manual button */ .max_rit = Hz(0), /* SSB,CW: +-1.0kHz FM: +-5.0kHz */ .max_xit = Hz(0), .max_ifshift = Hz(0), /* 1.2kHz manual knob */ diff --git a/rigs/icom/ic821h.c b/rigs/icom/ic821h.c index 8e9dacb06..9c1e4b2ba 100644 --- a/rigs/icom/ic821h.c +++ b/rigs/icom/ic821h.c @@ -120,7 +120,7 @@ struct rig_caps ic821h_caps = .ctcss_list = NULL, .dcs_list = NULL, .preamp = { RIG_DBLST_END, }, - .attenuator = { RIG_DBLST_END, }, /* Attanuator 15dB for each band. manual button */ + .attenuator = { RIG_DBLST_END, }, /* Attenuator 15dB for each band. manual button */ .max_rit = Hz(0), /* SSB,CW: +-1.0kHz FM: +-5.0kHz */ .max_xit = Hz(0), .max_ifshift = Hz(0), /* 1.2kHz manual knob */ diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 71cd24eba..77564a4b1 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -1760,7 +1760,7 @@ int icom_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) if (vfo == RIG_VFO_MEM && (priv->civ_731_mode || RIG_IS_IC706)) { - // Memory channels have always 5-byte frequqncy + // Memory channels have always 5-byte frequency rig_debug(RIG_DEBUG_TRACE, "%s: VFO=MEM so turning off civ_731\n", __func__); civ_731_mode_save = 1; priv->civ_731_mode = 0; @@ -8119,7 +8119,7 @@ int icom_set_powerstat(RIG *rig, powerstat_t status) rig_debug(RIG_DEBUG_VERBOSE, "%s called status=%d\n", __func__, (int) status); - // elimininate retries to speed this up + // eliminate retries to speed this up // especially important when rig is not turned on retry_save = rp->retry; timeout_retry_save = rp->timeout_retry; diff --git a/rigs/jrc/jrc.c b/rigs/jrc/jrc.c index c7691272c..91b9378d7 100644 --- a/rigs/jrc/jrc.c +++ b/rigs/jrc/jrc.c @@ -1176,7 +1176,7 @@ int jrc_get_parm(RIG *rig, setting_t parm, value_t *val) val->i = ((10 * lvlbuf[1] + lvlbuf[2]) * 60 + /* hours */ 10 * lvlbuf[3] + lvlbuf[4]) * 60 + /* minutes */ - 10 * lvlbuf[5] + lvlbuf[6]; /* secondes */ + 10 * lvlbuf[5] + lvlbuf[6]; /* seconds */ break; case RIG_PARM_BEEP: diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index 83a93270c..c4449c5d6 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -258,7 +258,7 @@ int remove_nonprint(char *s) * indicating that only a reply is needed (nothing will be sent). * data: Buffer for reply string. Can be NULL, indicating that no reply * is needed and will return with RIG_OK after command was sent. - * datasize: Size of buffer. It is the caller's responsibily to provide + * datasize: Size of buffer. It is the caller's responsibility to provide * a large enough buffer for all possible replies for a command. * * returns: @@ -1423,7 +1423,7 @@ int kenwood_set_vfo(RIG *rig, vfo_t vfo) break; default: - rig_debug(RIG_DEBUG_ERR, "%s: unhandled VFO=%s, deafaulting to VFOA\n", + rig_debug(RIG_DEBUG_ERR, "%s: unhandled VFO=%s, defaulting to VFOA\n", __func__, rig_strvfo(priv->tx_vfo)); } diff --git a/rigs/kenwood/tmv7.c b/rigs/kenwood/tmv7.c index 8b20cc4e6..03309c181 100644 --- a/rigs/kenwood/tmv7.c +++ b/rigs/kenwood/tmv7.c @@ -183,7 +183,7 @@ struct rig_caps tmv7_caps = RIG_FLT_END }, - .str_cal = { 4, { {0, -60 }, {1, -30,}, {5, 0}, {7, 20}}}, /* rought guess */ + .str_cal = { 4, { {0, -60 }, {1, -30,}, {5, 0}, {7, 20}}}, /* rough guess */ .priv = (void *)& tmv7_priv_caps, .rig_init = kenwood_init, diff --git a/rigs/kenwood/ts870s.c b/rigs/kenwood/ts870s.c index 8a9184e63..98343310d 100644 --- a/rigs/kenwood/ts870s.c +++ b/rigs/kenwood/ts870s.c @@ -237,7 +237,7 @@ static int ts870s_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) pbwidth_t mode_default_hpf; /* we assume the HPF is set to default and set the LPF to - give the best approximaation of the requested width */ + give the best approximation of the requested width */ if (RIG_MODE_AM == mode) { mode_default_hpf = 300; diff --git a/rigs/kit/drt1.c b/rigs/kit/drt1.c index 459127bab..87a191d7b 100644 --- a/rigs/kit/drt1.c +++ b/rigs/kit/drt1.c @@ -285,7 +285,7 @@ int drt1_get_conf(RIG *rig, hamlib_token_t token, char *val) DDS is AD9951. - The clock input is 45,012 MHz (also 2nd LO frequencie at the same time). + The clock input is 45,012 MHz (also 2nd LO frequency at the same time). The clock multiplier should be set to 8x at start value (possible, that this will change to lower clock multiplier). diff --git a/rigs/kit/elektor507.c b/rigs/kit/elektor507.c index f335c94b1..086741a94 100644 --- a/rigs/kit/elektor507.c +++ b/rigs/kit/elektor507.c @@ -549,7 +549,7 @@ int elektor507_ftdi_write_data(RIG *rig, void *FTOutBuf, * Original article: * http://www.elektor.com/magazines/2007/may/software-defined-radio.91527.lynkx * - * Author (Burkhard Kainka) page, in german: + * Author (Burkhard Kainka) page, in German: * http://www.b-kainka.de/sdrusb.html */ diff --git a/rigs/kit/pcrotor.c b/rigs/kit/pcrotor.c index c1345a034..a9ee11f5c 100644 --- a/rigs/kit/pcrotor.c +++ b/rigs/kit/pcrotor.c @@ -91,7 +91,7 @@ pcrotor_move(ROT *rot, int direction, int speed) /* * PcRotor rotator capabilities. * - * Control Interface schematics from, courtersy of Bob Hillard WA6UFQ: + * Control Interface schematics from, courtesy of Bob Hillard WA6UFQ: * http://www.dxzone.com/cgi-bin/dir/jump2.cgi?ID=11173 * * DB25-7=Data-5= Power up/Sleep diff --git a/rigs/uniden/uniden.c b/rigs/uniden/uniden.c index d0328e673..7d4cdda71 100644 --- a/rigs/uniden/uniden.c +++ b/rigs/uniden/uniden.c @@ -99,7 +99,7 @@ tone_t uniden_dcs_list[] = * that the prefix is either the cmdstr prefix or OK. * data - Buffer for reply string. Can be NULL, indicating that no reply is * is needed and will return with RIG_OK after command was sent. - * datasize - in: Size of buffer. It is the caller's responsibily to provide + * datasize - in: Size of buffer. It is the caller's responsibility to provide * a large enough buffer for all possible replies for a command. * out: location where to store number of bytes read. * diff --git a/rigs/uniden/uniden_digital.c b/rigs/uniden/uniden_digital.c index 17d2e6d74..1f0d12dca 100644 --- a/rigs/uniden/uniden_digital.c +++ b/rigs/uniden/uniden_digital.c @@ -80,7 +80,7 @@ uniden_id_string_list[] = * that the prefix is either the cmdstr prefix or OK. * data - Buffer for reply string. Can be NULL, indicating that no reply is * is needed and will return with RIG_OK after command was sent. - * datasize - in: Size of buffer. It is the caller's responsibily to provide + * datasize - in: Size of buffer. It is the caller's responsibility to provide * a large enough buffer for all possible replies for a command. * out: location where to store number of bytes read. * @@ -295,7 +295,7 @@ const char *uniden_digital_get_info(RIG *rig) * * XXX indicates the BCD996T returns some non-printable ascii chars * within its comma separated fields. See pg 30-32 of BCD996T_Protocol.pdf. - * These chars cause abnomalies on stdout! */ + * These chars cause anomalies on stdout! */ /* FIXME: Strip or replace non-printable chars return from STS command! * (Below is a snip from DSctl utils.c file) diff --git a/rigs/wj/wj8888.c b/rigs/wj/wj8888.c index b5079ca80..8e321ffd7 100644 --- a/rigs/wj/wj8888.c +++ b/rigs/wj/wj8888.c @@ -25,7 +25,7 @@ #include "wj.h" -/* modes: what about ISB(Idependant Sideband)? */ +/* modes: what about ISB(Independent Sideband)? */ #define WJ8888_MODES (RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_SSB|RIG_MODE_FM|RIG_MODE_AMS) #define WJ8888_FUNC (RIG_FUNC_NONE) diff --git a/rigs/yaesu/ft757gx.c b/rigs/yaesu/ft757gx.c index eebda9f6e..d7bdf5518 100644 --- a/rigs/yaesu/ft757gx.c +++ b/rigs/yaesu/ft757gx.c @@ -750,7 +750,7 @@ static int ft757_get_update_data(RIG *rig) rig_debug(RIG_DEBUG_VERBOSE, "%s called Timeout=%d ms, Retry=%d\n", __func__, rp->timeout, maxtries); - /* At least on one model, returns erraticaly a timeout. Increasing the timeout + /* At least on one model, returns erratically a timeout. Increasing the timeout does not fix things. So we restart the read from scratch, it works most of times. */ for (nbtries = 0 ; nbtries < maxtries ; nbtries++) { diff --git a/rigs/yaesu/ft817.c b/rigs/yaesu/ft817.c index c520eec61..125e2696b 100644 --- a/rigs/yaesu/ft817.c +++ b/rigs/yaesu/ft817.c @@ -2027,7 +2027,7 @@ static int ft817_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t shift) /* Note: this doesn't have effect unless FT817 is in FM mode although the command is accepted in any mode. */ - rig_debug(RIG_DEBUG_VERBOSE, "ft817: set repeter shift = %i\n", shift); + rig_debug(RIG_DEBUG_VERBOSE, "ft817: set repeater shift = %i\n", shift); switch (shift) { @@ -2050,7 +2050,7 @@ static int ft817_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t offs) { unsigned char data[YAESU_CMD_LENGTH - 1]; - rig_debug(RIG_DEBUG_VERBOSE, "ft817: set repeter offs = %li\n", offs); + rig_debug(RIG_DEBUG_VERBOSE, "ft817: set repeater offs = %li\n", offs); /* fill in the offset freq */ to_bcd_be(data, offs / 10, 8); diff --git a/rigs/yaesu/ft857.c b/rigs/yaesu/ft857.c index 3f951ac2a..fa7530922 100644 --- a/rigs/yaesu/ft857.c +++ b/rigs/yaesu/ft857.c @@ -1350,7 +1350,7 @@ int ft857_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t shift) { rig_debug(RIG_DEBUG_VERBOSE, "%s: called \n", __func__); - rig_debug(RIG_DEBUG_VERBOSE, "ft857: set repeter shift = %i\n", shift); + rig_debug(RIG_DEBUG_VERBOSE, "ft857: set repeater shift = %i\n", shift); switch (shift) { @@ -1373,7 +1373,7 @@ int ft857_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t offs) rig_debug(RIG_DEBUG_VERBOSE, "%s: called \n", __func__); - rig_debug(RIG_DEBUG_VERBOSE, "ft857: set repeter offs = %li\n", offs); + rig_debug(RIG_DEBUG_VERBOSE, "ft857: set repeater offs = %li\n", offs); /* fill in the offset freq */ to_bcd_be(data, offs / 10, 8); diff --git a/rigs/yaesu/ft891.c b/rigs/yaesu/ft891.c index 2b6c5c4d5..fb00a9bf2 100644 --- a/rigs/yaesu/ft891.c +++ b/rigs/yaesu/ft891.c @@ -531,7 +531,7 @@ static int ft891_get_split_mode(RIG *rig, vfo_t vfo, rmode_t *tx_mode, * Returns RIG_OK on success or an error code on failure * * Comments: Passsband is not set here. - * FT891 apparentlhy cannot set VFOB mode directly + * FT891 apparently cannot set VFOB mode directly * So we'll just set A and swap A into B * */ diff --git a/rigs/yaesu/ft897.c b/rigs/yaesu/ft897.c index ebe95ad9d..9068f6b97 100644 --- a/rigs/yaesu/ft897.c +++ b/rigs/yaesu/ft897.c @@ -1472,7 +1472,7 @@ int ft897_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t shift) { rig_debug(RIG_DEBUG_VERBOSE, "%s: called\n", __func__); - rig_debug(RIG_DEBUG_VERBOSE, "ft897: set repeter shift = %i\n", shift); + rig_debug(RIG_DEBUG_VERBOSE, "ft897: set repeater shift = %i\n", shift); switch (shift) { @@ -1495,7 +1495,7 @@ int ft897_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t offs) rig_debug(RIG_DEBUG_VERBOSE, "%s: called\n", __func__); - rig_debug(RIG_DEBUG_VERBOSE, "ft897: set repeter offs = %li\n", offs); + rig_debug(RIG_DEBUG_VERBOSE, "ft897: set repeater offs = %li\n", offs); /* fill in the offset freq */ to_bcd_be(data, offs / 10, 8); diff --git a/rigs/yaesu/pmr171.c b/rigs/yaesu/pmr171.c index bdff4fd1f..2abe30e6e 100644 --- a/rigs/yaesu/pmr171.c +++ b/rigs/yaesu/pmr171.c @@ -1140,7 +1140,7 @@ static int pmr171_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t shift) /* Note: this doesn't have effect unless FT817 is in FM mode although the command is accepted in any mode. */ - rig_debug(RIG_DEBUG_VERBOSE, "pmr171: set repeter shift = %i\n", shift); + rig_debug(RIG_DEBUG_VERBOSE, "pmr171: set repeater shift = %i\n", shift); switch (shift) { @@ -1163,7 +1163,7 @@ static int pmr171_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t offs) { unsigned char data[YAESU_CMD_LENGTH - 1]; - rig_debug(RIG_DEBUG_VERBOSE, "pmr171: set repeter offs = %li\n", offs); + rig_debug(RIG_DEBUG_VERBOSE, "pmr171: set repeater offs = %li\n", offs); /* fill in the offset freq */ to_bcd_be(data, offs / 10, 8); diff --git a/rigs/yaesu/vr5000.c b/rigs/yaesu/vr5000.c index aff1f6d53..fdbe1cbb2 100644 --- a/rigs/yaesu/vr5000.c +++ b/rigs/yaesu/vr5000.c @@ -32,7 +32,7 @@ * * The read s-meter CAT command seems only to return 17 to 23 depending * on the strength of the signal. Setting the RF attenuator on with no - * attenna on does not decrease the level below 17. If you wish to read + * antenna on does not decrease the level below 17. If you wish to read * the s-meter on a specific frequency, set the frequency and wait a * 500-1000 mS before reading it. diff --git a/rigs/yaesu/vx1700.c b/rigs/yaesu/vx1700.c index 129a64255..0faf4be11 100644 --- a/rigs/yaesu/vx1700.c +++ b/rigs/yaesu/vx1700.c @@ -943,7 +943,7 @@ static int vx1700_set_ptt_gps_jack(ptt_t ptt) * FIXME * * We are using GPIO to manage PTT pin in GPS/Data jack. - * This highly binded to our specific device, so it makes + * This highly bound to our specific device, so it makes * no sense to put our code here. * On regular PC this should be managed in another way, * probably via DTR/RTS. diff --git a/rotators/celestron/celestron.c b/rotators/celestron/celestron.c index 40d0eb923..dfc2d25f0 100644 --- a/rotators/celestron/celestron.c +++ b/rotators/celestron/celestron.c @@ -38,7 +38,7 @@ * cmdstr - Command to be sent to the rig. * data - Buffer for reply string. Can be NULL, indicating that no reply is * is needed, but answer will still be read. - * data_len - in: Size of buffer. It is the caller's responsibily to provide + * data_len - in: Size of buffer. It is the caller's responsibility to provide * a large enough buffer for all possible replies for a command. * * returns: diff --git a/rotators/gs232a/gs232.c b/rotators/gs232a/gs232.c index 96cd0c732..03b8e3ef1 100644 --- a/rotators/gs232a/gs232.c +++ b/rotators/gs232a/gs232.c @@ -38,7 +38,7 @@ * cmdstr - Command to be sent to the rig. * data - Buffer for reply string. Can be NULL, indicating that no reply is * is needed, but answer will still be read. - * data_len - in: Size of buffer. It is the caller's responsibily to provide + * data_len - in: Size of buffer. It is the caller's responsibility to provide * a large enough buffer for all possible replies for a command. * * returns: diff --git a/rotators/gs232a/gs232a.c b/rotators/gs232a/gs232a.c index c6d00f9ed..39a93746f 100644 --- a/rotators/gs232a/gs232a.c +++ b/rotators/gs232a/gs232a.c @@ -50,7 +50,7 @@ * cmdstr - Command to be sent to the rig. * data - Buffer for reply string. Can be NULL, indicating that no reply is * is needed, but answer will still be read. - * data_len - in: Size of buffer. It is the caller's responsibily to provide + * data_len - in: Size of buffer. It is the caller's responsibility to provide * a large enough buffer for all possible replies for a command. * * returns: diff --git a/rotators/gs232a/gs232b.c b/rotators/gs232a/gs232b.c index 461a8491b..4b1d558bc 100644 --- a/rotators/gs232a/gs232b.c +++ b/rotators/gs232a/gs232b.c @@ -46,7 +46,7 @@ * cmdstr - Command to be sent to the rig. * data - Buffer for reply string. Can be NULL, indicating that no reply is * is needed, but answer will still be read. - * data_len - in: Size of buffer. It is the caller's responsibily to provide + * data_len - in: Size of buffer. It is the caller's responsibility to provide * a large enough buffer for all possible replies for a command. * * returns: diff --git a/rotators/ioptron/rot_ioptron.c b/rotators/ioptron/rot_ioptron.c index c921dbca0..c4899952d 100644 --- a/rotators/ioptron/rot_ioptron.c +++ b/rotators/ioptron/rot_ioptron.c @@ -39,7 +39,7 @@ * * cmdstr - Command to be sent to the rig. * data - Buffer for reply string. - * resp_len - in: Expected length of response. It is the caller's responsibily to + * resp_len - in: Expected length of response. It is the caller's responsibility to * provide a buffer at least 1 byte larger than this for null terminator. * * COMMANDS note: as of 12/2018 a mixture of V2 and V3 @@ -231,7 +231,7 @@ ioptron_stop(ROT *rot) } /** sets mount position, requires 4 steps - * set azmiuth + * set azimuth * set altitude * goto set * stop tracking - mount starts tracking after goto @@ -294,7 +294,7 @@ ioptron_set_position(ROT *rot, azimuth_t az, elevation_t el) } } - /* set azmiuth, returns '1" if OK */ + /* set azimuth, returns '1" if OK */ SNPRINTF(cmdstr, sizeof(cmdstr), ":Sz%09.0f#", faz); retval = ioptron_transaction(rot, cmdstr, retbuf, 1); diff --git a/rotators/m2/rc2800.c b/rotators/m2/rc2800.c index edfb6980b..36883de24 100644 --- a/rotators/m2/rc2800.c +++ b/rotators/m2/rc2800.c @@ -151,7 +151,7 @@ int testmain() * cmdstr - Command to be sent to the rig. * data - Buffer for reply string. Can be NULL, indicating that no reply is * is needed, but answer will still be read. - * data_len - in: Size of buffer. It is the caller's responsibily to provide + * data_len - in: Size of buffer. It is the caller's responsibility to provide * a large enough buffer for all possible replies for a command. * * returns: diff --git a/rotators/meade/meade.c b/rotators/meade/meade.c index 2827ad72e..e36a075fd 100644 --- a/rotators/meade/meade.c +++ b/rotators/meade/meade.c @@ -85,7 +85,7 @@ struct meade_priv_data * cmdstr - Command to be sent to the rig. * data - Buffer for reply string. Can be NULL, indicating that no reply is * is needed, but answer will still be read. - * data_len - in: Size of buffer. It is the caller's responsibily to provide + * data_len - in: Size of buffer. It is the caller's responsibility to provide * a large enough buffer for all possible replies for a command. * * returns: diff --git a/rotators/prosistel/prosistel.c b/rotators/prosistel/prosistel.c index 7bf7871a2..464151bf5 100644 --- a/rotators/prosistel/prosistel.c +++ b/rotators/prosistel/prosistel.c @@ -50,7 +50,7 @@ struct prosistel_rot_priv_caps * cmdstr - Command to be sent to the rig. * data - Buffer for reply string. Can be NULL, indicating that no reply is * is needed, but answer will still be read. - * data_len - in: Size of buffer. It is the caller's responsibily to provide + * data_len - in: Size of buffer. It is the caller's responsibility to provide * a large enough buffer for all possible replies for a command. * * returns: diff --git a/rotators/spid/spid.c b/rotators/spid/spid.c index 4baa0e5e7..fd4fab6d1 100644 --- a/rotators/spid/spid.c +++ b/rotators/spid/spid.c @@ -631,7 +631,7 @@ const struct confparams spid_cfg_params[] = "0", RIG_CONF_NUMERIC, { .n = { 0, 0xff, 1 } } }, { - TOK_ELRES, "el_resolution", "Eleveation resolution", "Number of pulses per degree, 0 = auto sense", + TOK_ELRES, "el_resolution", "Elevation resolution", "Number of pulses per degree, 0 = auto sense", "0", RIG_CONF_NUMERIC, { .n = { 0, 0xff, 1 } } }, { RIG_CONF_END, NULL, } diff --git a/simulators/simts890.c b/simulators/simts890.c index 597d19054..854a1e96e 100644 --- a/simulators/simts890.c +++ b/simulators/simts890.c @@ -1419,7 +1419,7 @@ int main(int argc, char *argv[]) switch (buf[2]) { case '0': // Frequency Marker Function - case '1': // Frequency Marker List Regiatration + case '1': // Frequency Marker List Registration case '2': // Total Number Registered of Frequency Marker List case '3': // Frequency Marker List Readout case '4': // Frequency Marker List Delete diff --git a/tests/dumpmem.c b/tests/dumpmem.c index c021c5030..c3e5f41b6 100644 --- a/tests/dumpmem.c +++ b/tests/dumpmem.c @@ -1,6 +1,6 @@ /* * dumpmem.c - Copyright (C) 2001 Stephane Fillod - * This programs dumps the mmeory contents of a rig. + * This programs dumps the memory contents of a rig. * * * This program is free software; you can redistribute it and/or modify diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c index bcb10af96..b17060fc3 100644 --- a/tests/rigctl_parse.c +++ b/tests/rigctl_parse.c @@ -5141,7 +5141,7 @@ declare_proto_rig(send_cmd) RETURNFUNC2(RIG_OK); } - // need to move the eom_buf to rig-specifc backends + // need to move the eom_buf to rig-specific backends // we'll let KENWOOD backends use the ; char in the rigctl commands if (backend_num == RIG_KENWOOD || backend_num == RIG_YAESU) { diff --git a/tests/test2038.c b/tests/test2038.c index 8d7fe70a4..cb439548c 100644 --- a/tests/test2038.c +++ b/tests/test2038.c @@ -1,6 +1,6 @@ /* 2038 test This is OK on 64-bit systems and mingw64 -Does fail when compiled with gcc -m32 -o 2038 2038.c +Does fail when compiled with gcc -m32 -o test2038 test2038.c */ #include <stdio.h> #include <time.h> commit 84376c45616d0a50023815f10b89eafe6f45e02a Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sun May 18 22:53:13 2025 +0200 Use the variable with the version number in the example path diff --git a/scripts/build-w32.sh b/scripts/build-w32.sh index 8414faf1f..d6ca19c61 100755 --- a/scripts/build-w32.sh +++ b/scripts/build-w32.sh @@ -114,7 +114,7 @@ following: a semi-colon ';' after the last path before adding the Hamlib path (NB. The entire path is highlighted and will be erased upon typing a character so click in the box to unselect the text first. The PATH is important!!) - Append the Hamlib path, e.g. C:\Program Files\hamlib-w32-4.0~git\bin + Append the Hamlib path, e.g. C:\Program Files\hamlib-w32-$RELEASE\bin * Click OK for all three dialog boxes to save your changes. diff --git a/scripts/build-w64.sh b/scripts/build-w64.sh index 665dfadf6..ca4b89571 100755 --- a/scripts/build-w64.sh +++ b/scripts/build-w64.sh @@ -114,7 +114,7 @@ following: a semi-colon ';' after the last path before adding the Hamlib path (NB. The entire path is highlighted and will be erased upon typing a character so click in the box to unselect the text first. The PATH is important!!) - Append the Hamlib path, e.g. C:\Program Files\hamlib-w64-4.0~git\bin + Append the Hamlib path, e.g. C:\Program Files\hamlib-w64-$RELEASE\bin * Click OK for all three dialog boxes to save your changes. ----------------------------------------------------------------------- Summary of changes: README.md | 8 ++++---- configure.ac | 4 ---- rigs/aor/ar7030.c | 2 +- rigs/dummy/aclog.c | 2 +- rigs/dummy/flrig.c | 2 +- rigs/dummy/tci1x.c | 2 +- rigs/elad/elad.c | 2 +- rigs/icom/frame.c | 4 ++-- rigs/icom/ic746.c | 2 +- rigs/icom/ic756.c | 2 +- rigs/icom/ic820h.c | 2 +- rigs/icom/ic821h.c | 2 +- rigs/icom/icom.c | 4 ++-- rigs/jrc/jrc.c | 2 +- rigs/kenwood/kenwood.c | 4 ++-- rigs/kenwood/tmv7.c | 2 +- rigs/kenwood/ts870s.c | 2 +- rigs/kit/drt1.c | 2 +- rigs/kit/elektor507.c | 2 +- rigs/kit/pcrotor.c | 2 +- rigs/uniden/uniden.c | 2 +- rigs/uniden/uniden_digital.c | 4 ++-- rigs/wj/wj8888.c | 2 +- rigs/yaesu/ft757gx.c | 2 +- rigs/yaesu/ft817.c | 4 ++-- rigs/yaesu/ft857.c | 4 ++-- rigs/yaesu/ft891.c | 2 +- rigs/yaesu/ft897.c | 4 ++-- rigs/yaesu/pmr171.c | 4 ++-- rigs/yaesu/vr5000.c | 2 +- rigs/yaesu/vx1700.c | 2 +- rotators/celestron/celestron.c | 2 +- rotators/gs232a/gs232.c | 2 +- rotators/gs232a/gs232a.c | 2 +- rotators/gs232a/gs232b.c | 2 +- rotators/ioptron/rot_ioptron.c | 6 +++--- rotators/m2/rc2800.c | 2 +- rotators/meade/meade.c | 2 +- rotators/prosistel/prosistel.c | 2 +- rotators/spid/spid.c | 2 +- scripts/build-w32.sh | 7 ++++--- scripts/build-w64.sh | 7 ++++--- simulators/simts890.c | 2 +- tests/dumpmem.c | 2 +- tests/rigctl_parse.c | 2 +- tests/test2038.c | 2 +- 46 files changed, 64 insertions(+), 66 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-05-22 23:15:52
|
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 9b177cd8b3bcbc47126961377e6b14c689918af2 (commit) via 5fe81cdef4fcceff52c7cedc0eac6788c2f64881 (commit) from 91a4d914d9dd1a8aed8822e185109cacc143057c (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 9b177cd8b3bcbc47126961377e6b14c689918af2 Merge: 91a4d914d 5fe81cdef Author: Nate Bargmann <n0...@n0...> Date: Thu May 22 17:23:35 2025 -0500 Merge GitHub PR #1739. commit 5fe81cdef4fcceff52c7cedc0eac6788c2f64881 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sat May 17 21:56:40 2025 +0200 Fix compilation errors and warnings and link failure Compile-tested with commit 8ea3f0e (tag: 3.4.10) from https://github.com/osmocom/libusrp Fixes: usrp_impl.cc:33:10: fatal error: usrp_standard.h: No such file or directory usrp_impl.cc:49:63: error: expected '(' before 'malloc' usrp_impl.cc:49:100: error: expected ')' before ';' token usrp_impl.cc:72:39: error: invalid 'static_cast' from type 'rig_state*' to type 'usrp_priv_data*' usrp_impl.cc:86:39: error: invalid 'static_cast' from type 'rig_state*' to type 'usrp_priv_data*' usrp_impl.cc:104:39: error: invalid 'static_cast' from type 'rig_state*' to type 'usrp_priv_data*' usrp_impl.cc:129:45: error: invalid 'static_cast' from type 'rig_state*' to type 'usrp_priv_data*' usrp_impl.cc:151:45: error: invalid 'static_cast' from type 'rig_state*' to type 'usrp_priv_data*' usrp_impl.cc:169:45: error: invalid 'static_cast' from type 'rig_state*' to type 'usrp_priv_data*' usrp_impl.cc:114:37: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] usrp_impl.cc:139:38: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix] /usr/bin/ld: ../src/.libs/libhamlib.so: undefined reference to `usrp_caps' diff --git a/rigs/kit/usrp.c b/rigs/kit/usrp.c index 2e844788b..7b05ad1f5 100644 --- a/rigs/kit/usrp.c +++ b/rigs/kit/usrp.c @@ -19,6 +19,8 @@ * */ +#include <hamlib/config.h> + /* * Compile only this model if usrp is available */ diff --git a/rigs/kit/usrp_impl.cc b/rigs/kit/usrp_impl.cc index fd37f4875..7c1cc9e2a 100644 --- a/rigs/kit/usrp_impl.cc +++ b/rigs/kit/usrp_impl.cc @@ -30,7 +30,7 @@ #include <stdlib.h> #include <stdio.h> #include <errno.h> -#include <usrp_standard.h> +#include <usrp/usrp_standard.h> #include "usrp_impl.h" #include "token.h" @@ -46,7 +46,7 @@ struct usrp_priv_data { int usrp_init(RIG *rig) { // cppcheck-suppress leakReturnValNotUsed - STATE(rig)->priv = static_cast<struct usrp_priv_data*>malloc(sizeof(struct usrp_priv_data)); + STATE(rig)->priv = static_cast<struct usrp_priv_data*>(malloc(sizeof(struct usrp_priv_data))); if (!STATE(rig)->priv) { /* whoops! memory shortage! */ return -RIG_ENOMEM; @@ -69,7 +69,7 @@ int usrp_cleanup(RIG *rig) int usrp_open(RIG *rig) { - struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>STATE(rig)->priv; + struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>(STATE(rig)->priv); int which_board = 0; int decim = 125; @@ -83,7 +83,7 @@ int usrp_open(RIG *rig) int usrp_close(RIG *rig) { - struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>STATE(rig)->priv; + struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>(STATE(rig)->priv); if (!priv) { @@ -101,7 +101,7 @@ int usrp_close(RIG *rig) */ int usrp_set_conf(RIG *rig, hamlib_token_t token, const char *val) { - struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>STATE(rig)->priv; + struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>(STATE(rig)->priv); if (!priv) { @@ -111,7 +111,7 @@ int usrp_set_conf(RIG *rig, hamlib_token_t token, const char *val) switch(token) { case TOK_IFMIXFREQ: - sscanf(val, "%"SCNfreq, &priv->if_mix_freq); + sscanf(val, "%" SCNfreq, &priv->if_mix_freq); break; default: return -RIG_EINVAL; @@ -126,7 +126,7 @@ int usrp_set_conf(RIG *rig, hamlib_token_t token, const char *val) */ int usrp_get_conf(RIG *rig, hamlib_token_t token, char *val) { - const struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>STATE(rig)->priv; + const struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>(STATE(rig)->priv); if (!priv) { @@ -136,7 +136,7 @@ int usrp_get_conf(RIG *rig, hamlib_token_t token, char *val) switch(token) { case TOK_IFMIXFREQ: - sprintf(val, "%"PRIfreq, priv->if_mix_freq); + sprintf(val, "%" PRIfreq, priv->if_mix_freq); break; default: return -RIG_EINVAL; @@ -148,7 +148,7 @@ int usrp_get_conf(RIG *rig, hamlib_token_t token, char *val) int usrp_set_freq(RIG *rig, vfo_t vfo, freq_t freq) { - const struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>STATE(rig)->priv; + const struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>(STATE(rig)->priv); int chan = 0; if (!priv) @@ -166,7 +166,7 @@ int usrp_set_freq(RIG *rig, vfo_t vfo, freq_t freq) int usrp_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) { - const struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>STATE(rig)->priv; + const struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>(STATE(rig)->priv); int chan = 0; if (!priv) ----------------------------------------------------------------------- Summary of changes: rigs/kit/usrp.c | 2 ++ rigs/kit/usrp_impl.cc | 20 ++++++++++---------- 2 files changed, 12 insertions(+), 10 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-05-22 22:20:52
|
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 91a4d914d9dd1a8aed8822e185109cacc143057c (commit) via b03dea99b5ad2183f3cf30032794c991b0995d28 (commit) via 55cae893f02455a2a00491f9b8f165996e672ee3 (commit) via e34ae180a23a99f4dcff3e6b67310029189f04e9 (commit) via dc3a71da1b826099f7c1586f7fc451bf3c842571 (commit) via 57e5dba438cd01adb9ccca1024a74d2665cfd914 (commit) from 73607aeb5414c90e63f2c1f92ece65c550d76895 (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 91a4d914d9dd1a8aed8822e185109cacc143057c Merge: 73607aeb5 b03dea99b Author: Nate Bargmann <n0...@n0...> Date: Thu May 22 17:11:55 2025 -0500 Merge branch 'fix/usage-texts' of github.com:dforsi/Hamlib into dforsi-fix/usage-texts From GitHub PR #1735. commit b03dea99b5ad2183f3cf30032794c991b0995d28 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Wed May 14 00:08:29 2025 +0200 Allow to give the command lines options --list or --version diff --git a/tests/rigctlsync.c b/tests/rigctlsync.c index 3ce8a6599..f056e6336 100644 --- a/tests/rigctlsync.c +++ b/tests/rigctlsync.c @@ -215,12 +215,6 @@ int main(int argc, char *argv[]) printf("rigctlsync Version 1.0\n"); - if (argc < 3) - { - usage(); - return 1; - } - while (1) { int c; @@ -491,10 +485,10 @@ int main(int argc, char *argv[]) rig_debug(RIG_DEBUG_VERBOSE, "%s", "Report bugs to <ham...@li...>\n\n"); - if (argc == 1) + if (argc < 3) { usage(); - exit(2); + exit(1); } my_rig = rig_init(my_model[0]); commit 55cae893f02455a2a00491f9b8f165996e672ee3 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Tue May 13 23:51:16 2025 +0200 Fix definition of -B/--mapa2b command line option It doesn't accept an argument. diff --git a/tests/rigctlsync.c b/tests/rigctlsync.c index a576b3af2..3ce8a6599 100644 --- a/tests/rigctlsync.c +++ b/tests/rigctlsync.c @@ -80,7 +80,7 @@ * NB: do NOT use -W since it's reserved by POSIX. * TODO: add an option to read from a file */ -#define SHORT_OPTIONS "B:m:M:r:R:p:d:P:D:s:S:c:C:lLuvhVZ" +#define SHORT_OPTIONS "Bm:M:r:R:p:d:P:D:s:S:c:C:lLuvhVZ" static struct option long_options[] = { {"mapa2b", 0, 0, 'B'}, commit e34ae180a23a99f4dcff3e6b67310029189f04e9 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Tue May 13 23:48:58 2025 +0200 Remove unused definition of -z command line option diff --git a/tests/rigctld.c b/tests/rigctld.c index e0e12e354..c0754acb6 100644 --- a/tests/rigctld.c +++ b/tests/rigctld.c @@ -81,7 +81,7 @@ * keep up to date SHORT_OPTIONS, usage()'s output and man page. thanks. * TODO: add an option to read from a file */ -#define SHORT_OPTIONS "m:r:p:d:P:D:s:S:c:T:t:C:W:w:x:z:lLuovhVZRA:b" +#define SHORT_OPTIONS "m:r:p:d:P:D:s:S:c:T:t:C:W:w:x:lLuovhVZRA:b" static struct option long_options[] = { {"model", 1, 0, 'm'}, commit dc3a71da1b826099f7c1586f7fc451bf3c842571 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Tue May 13 22:29:40 2025 +0200 Document existing option to read commands from stdin diff --git a/tests/ampctl.c b/tests/ampctl.c index 096754afe..d08dfd9aa 100644 --- a/tests/ampctl.c +++ b/tests/ampctl.c @@ -490,7 +490,9 @@ void usage() " -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n" " -Z, --debug-time-stamps enable time stamps for debug messages\n" " -h, --help display this help and exit\n" - " -V, --version output version information and exit\n\n" + " -V, --version output version information and exit\n" + " - read commands from standard input\n" + "\n" ); usage_amp(stdout); diff --git a/tests/rigctl.c b/tests/rigctl.c index 29b758e13..d821cff28 100644 --- a/tests/rigctl.c +++ b/tests/rigctl.c @@ -957,7 +957,9 @@ void usage(void) " -h, --help display this help and exit\n" " -V, --version output version information and exit\n" " -!, --cookie use cookie control\n" - " -#, --skip-init skip rig initialization\n\n" + " -#, --skip-init skip rig initialization\n" + " - read commands from standard input\n" + "\n" ); usage_rig(stdout); diff --git a/tests/rotctl.c b/tests/rotctl.c index f16d959a9..65402dd0f 100644 --- a/tests/rotctl.c +++ b/tests/rotctl.c @@ -552,7 +552,9 @@ void usage() " -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n" " -Z, --debug-time-stamps enable time stamps for debug messages\n" " -h, --help display this help and exit\n" - " -V, --version output version information and exit\n\n" + " -V, --version output version information and exit\n" + " - read commands from standard input\n" + "\n" ); usage_rot(stdout); commit 57e5dba438cd01adb9ccca1024a74d2665cfd914 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Tue May 13 21:20:44 2025 +0200 Make usage texts more similar diff --git a/tests/ampctl.c b/tests/ampctl.c index 04ed2cef5..096754afe 100644 --- a/tests/ampctl.c +++ b/tests/ampctl.c @@ -475,7 +475,7 @@ void usage() "Send COMMANDs to a connected amplifier.\n\n"); printf( - " -m, --model=ID select amplifier model number. See model list\n" + " -m, --model=ID select amplifier model number. See model list (-l)\n" " -r, --amp-file=DEVICE set device of the amplifier to operate on\n" " -s, --serial-speed=BAUD set serial speed of the serial port\n" " -t, --send-cmd-term=CHAR set send_cmd command termination char\n" @@ -487,7 +487,7 @@ void usage() " -i, --read-history read prior interactive session history\n" " -I, --save-history save current interactive session history\n" #endif - " -v, --verbose set verbose mode, cumulative\n" + " -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n" " -Z, --debug-time-stamps enable time stamps for debug messages\n" " -h, --help display this help and exit\n" " -V, --version output version information and exit\n\n" diff --git a/tests/ampctld.c b/tests/ampctld.c index fda0bfa09..964454c13 100644 --- a/tests/ampctld.c +++ b/tests/ampctld.c @@ -725,7 +725,7 @@ void usage() "Daemon serving COMMANDs to a connected amplifier.\n\n"); printf( - " -m, --model=ID select amplifier model number. See model list\n" + " -m, --model=ID select amplifier model number. See model list (-l)\n" " -r, --amp-file=DEVICE set device of the amplifier to operate on\n" " -s, --serial-speed=BAUD set serial speed of the serial port\n" " -t, --port=NUM set TCP listening port, default %s\n" @@ -734,7 +734,7 @@ void usage() " -L, --show-conf list all config parameters\n" " -l, --list list all model numbers and exit\n" " -u, --dump-caps dump capabilities and exit\n" - " -v, --verbose set verbose mode, cumulative\n" + " -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n" " -Z, --debug-time-stamps enable time stamps for debug messages\n" " -h, --help display this help and exit\n" " -V, --version output version information and exit\n\n", diff --git a/tests/rigctl.c b/tests/rigctl.c index 064e54f14..29b758e13 100644 --- a/tests/rigctl.c +++ b/tests/rigctl.c @@ -932,7 +932,7 @@ void usage(void) printf( - " -m, --model=ID select radio model number. See model list\n" + " -m, --model=ID select radio model number. See model list (-l)\n" " -r, --rig-file=DEVICE set device of the radio to operate on\n" " -p, --ptt-file=DEVICE set device of the PTT device to operate on\n" " -d, --dcd-file=DEVICE set device of the DCD device to operate on\n" @@ -941,7 +941,7 @@ void usage(void) " -s, --serial-speed=BAUD set serial speed of the serial port\n" " -c, --civaddr=ID set CI-V address, decimal (for Icom rigs only)\n" " -t, --send-cmd-term=CHAR set send_cmd command termination char\n" - " -C, --set-conf=PARM=VAL set config parameters\n" + " -C, --set-conf=PARM=VAL[,...] set config parameters\n" " -L, --show-conf list all config parameters\n" " -l, --list list all model numbers and exit\n" " -u, --dump-caps dump capabilities and exit\n" diff --git a/tests/rigctld.c b/tests/rigctld.c index ad211b300..e0e12e354 100644 --- a/tests/rigctld.c +++ b/tests/rigctld.c @@ -1508,7 +1508,7 @@ void usage(void) printf( - " -m, --model=ID select radio model number. See model list\n" + " -m, --model=ID select radio model number. See model list (-l)\n" " -r, --rig-file=DEVICE set device of the radio to operate on\n" " -p, --ptt-file=DEVICE set device of the PTT device to operate on\n" " -d, --dcd-file=DEVICE set device of the DCD device to operate on\n" @@ -1519,7 +1519,7 @@ void usage(void) " -t, --port=NUM set TCP listening port, default %s\n" " -S, --separator=CHAR set char as rigctld response separator, default is \\n\n" " -T, --listen-addr=IPADDR set listening IP address, default ANY\n" - " -C, --set-conf=PARM=VAL set config parameters\n" + " -C, --set-conf=PARM=VAL[,...] set config parameters\n" " -L, --show-conf list all config parameters\n" " -l, --list list all model numbers and exit\n" " -u, --dump-caps dump capabilities and exit\n" @@ -1527,7 +1527,7 @@ void usage(void) " -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n" " -W, --twiddle_timeout=SECONDS timeout after detecting vfo manual change\n" " -w, --twiddle_rit=SECONDS suppress VFOB getfreq so RIT can be twiddled\n" - " -x, --uplink set uplink get_freq ignore, 1=Sub, 2=Main\n" + " -x, --uplink=OPTION set uplink get_freq ignore: option 1=Sub, 2=Main\n" " -Z, --debug-time-stamps enable time stamps for debug messages\n" " -A, --password=PASSWORD set password for rigctld access (NOT IMPLEMENTED)\n" " -R, --rigctld-idle make rigctld close the rig when no clients are connected\n" diff --git a/tests/rigctltcp.c b/tests/rigctltcp.c index cf3a921d4..11a7ef8f8 100644 --- a/tests/rigctltcp.c +++ b/tests/rigctltcp.c @@ -1523,7 +1523,7 @@ void usage(void) printf( - " -m, --model=ID select radio model number. See model list\n" + " -m, --model=ID select radio model number. See model list (-l)\n" " -r, --rig-file=DEVICE set device of the radio to operate on\n" " -p, --ptt-file=DEVICE set device of the PTT device to operate on\n" " -d, --dcd-file=DEVICE set device of the DCD device to operate on\n" @@ -1540,12 +1540,12 @@ void usage(void) " -u, --dump-caps dump capabilities and exit\n" " -o, --vfo do not default to VFO_CURR, require extra vfo arg\n" " -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n" - " -W, --twiddle_timeout timeout after detecting vfo manual change\n" - " -w, --twiddle_rit suppress VFOB getfreq so RIT can be twiddled\n" + " -W, --twiddle_timeout=SECONDS timeout after detecting vfo manual change\n" + " -w, --twiddle_rit=SECONDS suppress VFOB getfreq so RIT can be twiddled\n" " -x, --uplink set uplink get_freq ignore, 1=Sub, 2=Main\n" " -Z, --debug-time-stamps enable time stamps for debug messages\n" - " -M, --multicast-addr=addr set multicast UDP address, default 0.0.0.0 (off), recommend 224.0.1.1\n" - " -n, --multicast-port=port set multicast UDP port, default 4531\n" + " -M, --multicast-addr=ADDR set multicast UDP address, default 0.0.0.0 (off), recommend 224.0.1.1\n" + " -n, --multicast-port=PORT set multicast UDP port, default 4531\n" " -A, --password set password for rigctld access\n" " -R, --rigctld-idle make rigctld close the rig when no clients are connected\n" " -h, --help display this help and exit\n" diff --git a/tests/rigmem.c b/tests/rigmem.c index 6c8d9bac2..2a101f778 100644 --- a/tests/rigmem.c +++ b/tests/rigmem.c @@ -408,22 +408,22 @@ void version() void usage() { - printf("Usage: rigmem [OPTION]... COMMAND...FILE\n" + printf("Usage: rigmem [OPTION]... COMMAND... FILE\n" "Backup/restore COMMANDs to a connected radio transceiver or receiver.\n\n"); printf( - " -m, --model=ID select radio model number. See model list\n" + " -m, --model=ID select radio model number. See model list (rigctl -l)\n" " -r, --rig-file=DEVICE set device of the radio to operate on\n" " -s, --serial-speed=BAUD set serial speed of the serial port\n" " -c, --civaddr=ID set CI-V address, decimal (for Icom rigs only)\n" " -C, --set-conf=PARM=VAL set config parameters\n" - " -p, --set-separator=SEP set character separator instead of the CSV comma\n" + " -p, --set-separator=CHAR set character separator instead of the CSV comma\n" " -a, --all bypass mem_caps, apply to all fields of channel_t\n" #ifdef HAVE_XML2 " -x, --xml use XML format instead of CSV\n" #endif - " -v, --verbose set verbose mode, cumulative\n" + " -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n" " -h, --help display this help and exit\n" " -V, --version output version information and exit\n\n" ); diff --git a/tests/rigsmtr.c b/tests/rigsmtr.c index aae17d2ec..d465ab356 100644 --- a/tests/rigsmtr.c +++ b/tests/rigsmtr.c @@ -414,16 +414,16 @@ void usage() "Input S-Meter vs Azimuth.\n\n"); printf( - " -m, --model=ID select radio model number. See model list\n" + " -m, --model=ID select radio model number. See model list (rigctl -l)\n" " -r, --rig-file=DEVICE set device of the radio to operate on\n" " -s, --serial-speed=BAUD set serial speed of the serial port\n" " -c, --civaddr=ID set CI-V address, decimal (for Icom rigs only)\n" - " -C, --set-conf=PARM=VAL set config parameters\n" - " -M, --rot-model=ID select rotator model number. See model list\n" + " -C, --set-conf=PARM=VAL[,...] set config parameters\n" + " -M, --rot-model=ID select rotator model number. See model list (rotctl -l)\n" " -R, --rot-file=DEVICE set device of the rotator to operate on\n" " -S, --rot-serial-speed=BAUD set serial speed of the serial port\n" " -N, --rot-set-conf=PARM=VAL set rotator config parameters\n" - " -v, --verbose set verbose mode, cumulative\n" + " -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n" " -h, --help display this help and exit\n" " -V, --version output version information and exit\n\n" ); diff --git a/tests/rigswr.c b/tests/rigswr.c index 2754ec214..cbb427f8c 100644 --- a/tests/rigswr.c +++ b/tests/rigswr.c @@ -357,14 +357,14 @@ void usage() printf( - " -m, --model=ID select radio model number. See model list\n" + " -m, --model=ID select radio model number. See model list (rigctl -l)\n" " -r, --rig-file=DEVICE set device of the radio to operate on\n" " -s, --serial-speed=BAUD set serial speed of the serial port\n" " -c, --civaddr=ID set CI-V address, decimal (for Icom rigs only)\n" - " -C, --set-conf=PARM=VAL set config parameters\n" + " -C, --set-conf=PARM=VAL[,...] set config parameters\n" " -p, --ptt-file=DEVICE set device of the PTT device to operate on\n" " -P, --ptt-type=TYPE set type of the PTT device to operate on\n" - " -v, --verbose set verbose mode, cumulative\n" + " -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n" " -h, --help display this help and exit\n" " -V, --version output version information and exit\n\n" ); diff --git a/tests/rotctl.c b/tests/rotctl.c index 9b713d3ad..f16d959a9 100644 --- a/tests/rotctl.c +++ b/tests/rotctl.c @@ -534,12 +534,12 @@ void usage() "Send COMMANDs to a connected antenna rotator.\n\n"); printf( - " -m, --model=ID select rotator model number. See model list\n" + " -m, --model=ID select rotator model number. See model list (-l)\n" " -r, --rot-file=DEVICE set device of the rotator to operate on\n" " -R, --rot-file2=DEVICE set device of the 2nd rotator controller to operate on\n" " -s, --serial-speed=BAUD set serial speed of the serial port\n" " -t, --send-cmd-term=CHAR set send_cmd command termination char\n" - " -C, --set-conf=PARM=VAL set config parameters\n" + " -C, --set-conf=PARM=VAL[,...] set config parameters\n" " -o, --set-azoffset=VAL set offset for azimuth\n" " -O, --set-eloffset=VAL set offset for elevation\n" " -L, --show-conf list all config parameters\n" @@ -549,7 +549,7 @@ void usage() " -i, --read-history read prior interactive session history\n" " -I, --save-history save current interactive session history\n" #endif - " -v, --verbose set verbose mode, cumulative\n" + " -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n" " -Z, --debug-time-stamps enable time stamps for debug messages\n" " -h, --help display this help and exit\n" " -V, --version output version information and exit\n\n" diff --git a/tests/rotctld.c b/tests/rotctld.c index aa61d71a4..d908792a5 100644 --- a/tests/rotctld.c +++ b/tests/rotctld.c @@ -768,19 +768,19 @@ void usage() "Daemon serving COMMANDs to a connected antenna rotator.\n\n"); printf( - " -m, --model=ID select rotator model number. See model list\n" + " -m, --model=ID select rotator model number. See model list (-l)\n" " -r, --rot-file=DEVICE set device of the rotator to operate on\n" " -R, --rot-file2=DEVICE set device of the 2nd rotator controller to operate on\n" " -s, --serial-speed=BAUD set serial speed of the serial port\n" " -t, --port=NUM set TCP listening port, default %s\n" " -T, --listen-addr=IPADDR set listening IP address, default ANY\n" - " -C, --set-conf=PARM=VAL set config parameters\n" - " -o, --set-azoffset==VAL set offset for azimuth\n" - " -O, --set-eloffset==VAL set offset for elevation\n" + " -C, --set-conf=PARM=VAL[,...] set config parameters\n" + " -o, --set-azoffset=VAL set offset for azimuth\n" + " -O, --set-eloffset=VAL set offset for elevation\n" " -L, --show-conf list all config parameters\n" " -l, --list list all model numbers and exit\n" " -u, --dump-caps dump capabilities and exit\n" - " -v, --verbose set verbose mode, cumulative\n" + " -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n" " -Z, --debug-time-stamps enable time stamps for debug messages\n" " -h, --help display this help and exit\n" " -V, --version output version information and exit\n\n", ----------------------------------------------------------------------- Summary of changes: tests/ampctl.c | 8 +++++--- tests/ampctld.c | 4 ++-- tests/rigctl.c | 8 +++++--- tests/rigctld.c | 8 ++++---- tests/rigctlsync.c | 12 +++--------- tests/rigctltcp.c | 10 +++++----- tests/rigmem.c | 8 ++++---- tests/rigsmtr.c | 8 ++++---- tests/rigswr.c | 6 +++--- tests/rotctl.c | 10 ++++++---- tests/rotctld.c | 10 +++++----- 11 files changed, 46 insertions(+), 46 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-05-22 22:11:29
|
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 73607aeb5414c90e63f2c1f92ece65c550d76895 (commit) via 94bf1d717aaa29678a98cf50455648a6410df795 (commit) via 435a354ee072f9e6fe033add021b5fe44a92b19d (commit) via ce95b034c65251999c931403ba1228dbef252cf6 (commit) via 9aee8f8343812a0e671f7b1fa330ba6a8f25da26 (commit) via 5370bbd32e0d5d212357b2d0f9f4d608eb242b21 (commit) via 50462e65644056efd43de533798eda5b23097b7f (commit) via daa5c83a82f12fe397c8a553cb4940bb7b4a72b5 (commit) from ad824fa85e42fbf185addef24526427803056f1e (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 73607aeb5414c90e63f2c1f92ece65c550d76895 Merge: ad824fa85 94bf1d717 Author: Nate Bargmann <n0...@n0...> Date: Thu May 22 16:56:01 2025 -0500 Merge branch 'dforsi-fix/ac_arg_enable' Reference GitHub PR #1731. commit 94bf1d717aaa29678a98cf50455648a6410df795 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sat May 17 11:27:31 2025 +0200 Fix failure of ./configure --with-tcl-binding --with-xml-support If pkg-config has found tcl.pc, then tclConfig.sh is not executed and $TCL_INCLUDE_SPEC is empty so the test for tcl.h fails. This patch moves the test inside the "else" case where the variable is always defined. The is a bug exposed by the fact that --with-xml-support redefines the macro PKG_CHECK_MODULES. Fix verified moving aside /usr/lib/x86_64-linux-gnu/pkgconfig/tcl.pc Fixes: configure: error: Unable to find Tcl headers diff --git a/configure.ac b/configure.ac index f9bf267d5..4e4331504 100644 --- a/configure.ac +++ b/configure.ac @@ -637,14 +637,14 @@ AS_IF([test x"${build_tcl}" = "xyes"],[ AC_MSG_WARN([Unable to find Tcl pkgconfig]) SC_PATH_TCLCONFIG SC_LOAD_TCLCONFIG - ]) - tcl_save_CPPFLAGS=$CPPFLAGS - CPPFLAGS="$CPPFLAGS $TCL_INCLUDE_SPEC" - AC_CHECK_HEADERS([tcl.h], - [], - [AC_MSG_ERROR([Unable to find Tcl headers])]) - CPPFLAGS=$tcl_save_CPPFLAGS + tcl_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $TCL_INCLUDE_SPEC" + AC_CHECK_HEADERS([tcl.h], + [], + [AC_MSG_ERROR([Unable to find Tcl headers])]) + CPPFLAGS=$tcl_save_CPPFLAGS + ]) BINDING_LIST="${BINDING_LIST} tcl" BINDING_ALL="${BINDING_ALL} all-tcl" commit 435a354ee072f9e6fe033add021b5fe44a92b19d Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sun May 11 19:47:06 2025 +0200 Fix --with-indi[=no] being considered =yes diff --git a/configure.ac b/configure.ac index cb020bfb0..f9bf267d5 100644 --- a/configure.ac +++ b/configure.ac @@ -403,7 +403,7 @@ AC_MSG_CHECKING([whether to use INDI in rigctl/rotctl]) AC_ARG_WITH([indi], [AS_HELP_STRING([--without-indi], [disable INDI in rigctl/rotctl @<:@default=yes@:>@])], - [cf_with_indi_support=yes], + [cf_with_indi_support=$with_indi], [cf_with_indi_support=no] ) #]) commit ce95b034c65251999c931403ba1228dbef252cf6 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sun May 11 19:24:33 2025 +0200 Fix --with-libusb[=yes] being considered =no diff --git a/configure.ac b/configure.ac index 1e51eb698..cb020bfb0 100644 --- a/configure.ac +++ b/configure.ac @@ -347,7 +347,7 @@ AC_MSG_CHECKING([whether to build USB dependent backends]) AC_ARG_WITH([libusb], [AS_HELP_STRING([--without-libusb], [disable USB dependent backends @<:@default=yes@:>@])], - [cf_with_libusb=no], + [cf_with_libusb=$with_libusb], [cf_with_libusb=yes] ) commit 9aee8f8343812a0e671f7b1fa330ba6a8f25da26 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sun May 11 18:36:35 2025 +0200 Fix --with-readline[=yes] being considered =no diff --git a/configure.ac b/configure.ac index f408f1f18..1e51eb698 100644 --- a/configure.ac +++ b/configure.ac @@ -381,7 +381,7 @@ AC_MSG_CHECKING([whether to use readline in rigctl/rotctl]) AC_ARG_WITH([readline], [AS_HELP_STRING([--without-readline], [disable readline in rigctl/rotctl @<:@default=yes@:>@])], - [cf_with_readline_support=no], + [cf_with_readline_support=$with_readline], [cf_with_readline_support=yes] ) commit 5370bbd32e0d5d212357b2d0f9f4d608eb242b21 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sun May 11 11:06:06 2025 +0200 Fix --enable-html-matrix[=yes] being considered =no diff --git a/configure.ac b/configure.ac index 58a10b7a2..f408f1f18 100644 --- a/configure.ac +++ b/configure.ac @@ -445,12 +445,10 @@ AC_MSG_CHECKING([whether to build HTML rig feature matrix]) AC_ARG_ENABLE([html-matrix], [AS_HELP_STRING([--disable-html-matrix], [do not generate HTML rig feature matrix (requires libgd-dev) @<:@default=check@:>@])], - [cf_enable_html_matrix=no], + [cf_enable_html_matrix=$enable_html_matrix], [cf_enable_html_matrix=check] ) -AC_MSG_RESULT([$cf_enable_html_matrix]) - AS_IF([test x"$cf_enable_html_matrix" != "xno"], [AC_CHECK_HEADERS([gd.h], [AC_CHECK_LIB([gd], @@ -462,6 +460,7 @@ AS_IF([test x"$cf_enable_html_matrix" != "xno"], ) ]) +AC_MSG_RESULT([$cf_enable_html_matrix]) AM_CONDITIONAL([HTML_MATRIX], [test x"${cf_enable_html_matrix}" = "xyes"]) commit 50462e65644056efd43de533798eda5b23097b7f Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sun May 11 09:45:22 2025 +0200 Fix --enable-parallel[=yes] being considered =no diff --git a/configure.ac b/configure.ac index 5f759dc18..58a10b7a2 100644 --- a/configure.ac +++ b/configure.ac @@ -746,8 +746,11 @@ AC_MSG_CHECKING([whether to build parallel port devices]) AC_ARG_ENABLE([parallel], [AS_HELP_STRING([--disable-parallel], [do not build parallel devices @<:@default=yes@:>@])], - [cf_with_parallel="no"], - [cf_with_parallel="yes" AC_DEFINE([HAVE_PARALLEL],[1],[Define if parallel devices are to be built])]) + [cf_with_parallel="${enable_parallel}"], + [cf_with_parallel="yes"]) +AS_IF([test x"${cf_with_parallel}" = "xyes"], + [AC_DEFINE([HAVE_PARALLEL],[1],[Define if parallel devices are to be built])] +) AC_MSG_RESULT([$cf_with_parallel]) DL_LIBS="" commit daa5c83a82f12fe397c8a553cb4940bb7b4a72b5 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sun May 11 09:45:06 2025 +0200 Fix --enable-winradio[=yes] being considered =no diff --git a/configure.ac b/configure.ac index 4a453abdb..5f759dc18 100644 --- a/configure.ac +++ b/configure.ac @@ -734,8 +734,11 @@ AC_MSG_CHECKING([whether to build winradio backend]) AC_ARG_ENABLE([winradio], [AS_HELP_STRING([--disable-winradio], [do not build winradio backend @<:@default=yes@:>@])], - [cf_with_winradio="no"], - [cf_with_winradio="yes" AC_DEFINE([HAVE_WINRADIO],[1],[Define if winradio backend is built])]) + [cf_with_winradio="${enable_winradio}"], + [cf_with_winradio="yes" ]) +AS_IF([test x"${cf_with_winradio}" = "xyes"], + [AC_DEFINE([HAVE_WINRADIO],[1],[Define if winradio backend is built])] +) AC_MSG_RESULT([$cf_with_winradio]) dnl Parallel port device disable ----------------------------------------------------------------------- Summary of changes: configure.ac | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-05-11 22:58:43
|
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 ad824fa85e42fbf185addef24526427803056f1e (commit) via c7ba4f5384bad446be7bf392539576dd1c572bd2 (commit) via da60d2d38324bb1d090f6a0d7bf46fa1f01315bd (commit) via de01821c5121c1097695ff3d783dc0b88ddf95d3 (commit) via 1e7b1a628eefad3114e2d484ff18bc441552adb5 (commit) via 56eea198beb22db9aa4f0a1447282e14d4ce7ea3 (commit) via 23a54a7bdf088394e73182d7a2b911e01ca326a7 (commit) via 5c05881e0ed0b9fc440bc64f6b60b369f4109139 (commit) via b73f64f49865ca2d2006f6ef21c6013a57152d7d (commit) via dcf4b7a4e0c03a02396694479a5069108b3555e2 (commit) via 0b68dc588539e0d53bdb758fdf1639e5808f010e (commit) from 6dfa118dace16c3fff039d071ca87a4210c91793 (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 ad824fa85e42fbf185addef24526427803056f1e Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Fri May 9 22:23:52 2025 +0200 Remove duplicated assignment of compilation flags Fixes a double "-g -O2 -g -O2" in compiler invocation. diff --git a/c++/Makefile.am b/c++/Makefile.am index c01f91368..b1e9d03a7 100644 --- a/c++/Makefile.am +++ b/c++/Makefile.am @@ -4,7 +4,6 @@ lib_LTLIBRARIES = libhamlib++.la libhamlib___la_SOURCES = rigclass.cc rotclass.cc ampclass.cc libhamlib___la_LDFLAGS = -no-undefined -version-info $(ABI_VERSION):$(ABI_REVISION):$(ABI_AGE) $(LDFLAGS) libhamlib___la_LIBADD = $(top_builddir)/src/libhamlib.la -AM_CXXFLAGS=$(CXXFLAGS) check_PROGRAMS = testcpp commit c7ba4f5384bad446be7bf392539576dd1c572bd2 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Fri May 9 22:02:14 2025 +0200 Fix --without-cxx-binding being ignored Do not build the C++ bindings if the configure script was called with the option --without-cxx-binding. diff --git a/c++/Makefile.am b/c++/Makefile.am index be2b80821..c01f91368 100644 --- a/c++/Makefile.am +++ b/c++/Makefile.am @@ -1,3 +1,4 @@ +if ENABLE_CXX lib_LTLIBRARIES = libhamlib++.la libhamlib___la_SOURCES = rigclass.cc rotclass.cc ampclass.cc @@ -15,3 +16,5 @@ TESTS = $(check_PROGRAMS) $(top_builddir)/src/libhamlib.la: $(MAKE) -C $(top_builddir)/src/ libhamlib.la + +endif diff --git a/configure.ac b/configure.ac index ea06ba611..4a453abdb 100644 --- a/configure.ac +++ b/configure.ac @@ -560,6 +560,7 @@ AC_MSG_RESULT([$cf_with_cxx_binding]) AS_IF([test x"${cf_with_cxx_binding}" = "xyes"], [BINDINGS="${BINDINGS} c++"]) +AM_CONDITIONAL([ENABLE_CXX], [test x"${cf_with_cxx_binding}" = "xyes"]) dnl Check if perl-binding is wanted, default is to not build it commit da60d2d38324bb1d090f6a0d7bf46fa1f01315bd Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Fri May 9 21:08:42 2025 +0200 Replace non-portable make rule with one that is also easier to understand Fixes: warning: '%'-style pattern rules are a GNU make extension diff --git a/src/Makefile.am b/src/Makefile.am index 572818a22..0e940b317 100755 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -27,17 +27,11 @@ libhamlib_la_LIBADD = $(top_builddir)/lib/libmisc.la $(top_builddir)/security/li libhamlib_la_DEPENDENCIES = $(top_builddir)/lib/libmisc.la $(top_builddir)/security/libsecurity.la $(BACKENDEPS) $(RIG_BACKENDEPS) $(ROT_BACKENDEPS) $(AMP_BACKENDEPS) -# Rule to build the dependencies of libhamlib.la that are not in this directory -# when running make in this directory instead of top_builddir -# (the % matches any number of subdirectories) -# warning: '%'-style pattern rules are a GNU make extension -$(top_builddir)/%.la: - $(MAKE) -C $(@D) $(@F) - -# - EXTRA_DIST = Android.mk hamlibdatetime.h.in band_changed.c +# Rule to build the dependencies of libhamlib.la that are in other directories +$(libhamlib_la_DEPENDENCIES): + $(MAKE) -C $(@D) $(@F) # If we have a .git directory then we will generate the hamlibdate.h # file and replace it if it is different. Fall back to a copy of a commit de01821c5121c1097695ff3d783dc0b88ddf95d3 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Tue May 6 22:17:54 2025 +0200 Fix typo diff --git a/src/debug.c b/src/debug.c index df8951ec0..de66c0879 100644 --- a/src/debug.c +++ b/src/debug.c @@ -199,7 +199,7 @@ void HAMLIB_API rig_set_debug_time_stamp(int flag) * \param debug_level Debug level from none to most output. * \param fmt Formatted character string to print. * - * The formatted character string is passed to the `frprintf`(3) C library + * The formatted character string is passed to the `vfprintf`(3) C library * call and follows its format specification. */ #undef rig_debug commit 1e7b1a628eefad3114e2d484ff18bc441552adb5 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Tue May 6 22:57:18 2025 +0200 Fix error return values All constant error values RIG_E* should be negated when returned. Found with: grep -nrE RETURNFUNC.?.RIG_E.+ --include=*.{c,h} | grep -v \- diff --git a/rigs/dummy/aclog.c b/rigs/dummy/aclog.c index 3b9fb4cef..c236003df 100644 --- a/rigs/dummy/aclog.c +++ b/rigs/dummy/aclog.c @@ -293,7 +293,7 @@ static int aclog_transaction(RIG *rig, char *cmd, char *value, } // we get an unknown response if function does not exist - if (strstr(xml, "UNKNOWN")) { set_transaction_inactive(rig); RETURNFUNC(RIG_ENAVAIL); } + if (strstr(xml, "UNKNOWN")) { set_transaction_inactive(rig); RETURNFUNC(-RIG_ENAVAIL); } if (value) { strncpy(value, xml, value_len); } @@ -304,7 +304,7 @@ static int aclog_transaction(RIG *rig, char *cmd, char *value, if (value && strlen(value) == 0) { rig_debug(RIG_DEBUG_ERR, "%s: no value returned\n", __func__); - set_transaction_inactive(rig); RETURNFUNC(RIG_EPROTO); + set_transaction_inactive(rig); RETURNFUNC(-RIG_EPROTO); } ELAPSED2; @@ -646,7 +646,7 @@ static int aclog_open(RIG *rig) if (retval != RIG_OK) { rig_debug(RIG_DEBUG_ERR, "%s: aclog_get_freq not working!!\n", __func__); - RETURNFUNC(RIG_EPROTO); + RETURNFUNC(-RIG_EPROTO); } STATE(rig)->current_vfo = RIG_VFO_A; diff --git a/rigs/dummy/flrig.c b/rigs/dummy/flrig.c index f46b429f5..505f803bb 100644 --- a/rigs/dummy/flrig.c +++ b/rigs/dummy/flrig.c @@ -610,9 +610,9 @@ static int flrig_transaction(RIG *rig, char *cmd, char *cmd_arg, char *value, read_transaction(rig, xml, sizeof(xml)); // this might time out -- that's OK // we get an unknown response if function does not exist - if (strstr(xml, "unknown")) { set_transaction_inactive(rig); RETURNFUNC(RIG_ENAVAIL); } + if (strstr(xml, "unknown")) { set_transaction_inactive(rig); RETURNFUNC(-RIG_ENAVAIL); } - if (strstr(xml, "get_bw") && strstr(xml, "NONE")) { set_transaction_inactive(rig); RETURNFUNC(RIG_ENAVAIL); } + if (strstr(xml, "get_bw") && strstr(xml, "NONE")) { set_transaction_inactive(rig); RETURNFUNC(-RIG_ENAVAIL); } if (value) { @@ -625,7 +625,7 @@ static int flrig_transaction(RIG *rig, char *cmd, char *cmd_arg, char *value, if (value && strlen(value) == 0) { rig_debug(RIG_DEBUG_ERR, "%s: no value returned\n", __func__); - set_transaction_inactive(rig); RETURNFUNC(RIG_EPROTO); + set_transaction_inactive(rig); RETURNFUNC(-RIG_EPROTO); } ELAPSED2; @@ -919,7 +919,7 @@ static int flrig_open(RIG *rig) if (retval != RIG_OK) { rig_debug(RIG_DEBUG_ERR, "%s: flrig_get_freq not working!!\n", __func__); - RETURNFUNC(RIG_EPROTO); + RETURNFUNC(-RIG_EPROTO); } /* see if get_bwA is available */ diff --git a/rigs/dummy/sdrsharp.c b/rigs/dummy/sdrsharp.c index 9fdd4fc3f..c1753d279 100644 --- a/rigs/dummy/sdrsharp.c +++ b/rigs/dummy/sdrsharp.c @@ -254,7 +254,7 @@ static int sdrsharp_transaction(RIG *rig, char *cmd, char *value, if (value && strlen(value) == 0) { rig_debug(RIG_DEBUG_ERR, "%s: no value returned\n", __func__); - set_transaction_inactive(rig); RETURNFUNC(RIG_EPROTO); + set_transaction_inactive(rig); RETURNFUNC(-RIG_EPROTO); } ELAPSED2; @@ -395,7 +395,7 @@ static int sdrsharp_open(RIG *rig) if (retval != RIG_OK) { rig_debug(RIG_DEBUG_ERR, "%s: sdrsharp_get_freq not working!!\n", __func__); - RETURNFUNC(RIG_EPROTO); + RETURNFUNC(-RIG_EPROTO); } STATE(rig)->current_vfo = RIG_VFO_A; diff --git a/rigs/dummy/tci1x.c b/rigs/dummy/tci1x.c index 779a9a8f3..7fdaa64d1 100644 --- a/rigs/dummy/tci1x.c +++ b/rigs/dummy/tci1x.c @@ -407,7 +407,7 @@ static int tci1x_transaction(RIG *rig, char *cmd, char *cmd_arg, char *value, while ((value && (strlen(value) == 0)) && retry--); // we'll do retries if needed - if (value && strlen(value) == 0) { RETURNFUNC(RIG_EPROTO); } + if (value && strlen(value) == 0) { RETURNFUNC(-RIG_EPROTO); } RETURNFUNC(RIG_OK); } diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c index 766297eae..b64cce03a 100644 --- a/rigs/yaesu/newcat.c +++ b/rigs/yaesu/newcat.c @@ -9820,7 +9820,7 @@ static int get_roofing_filter(RIG *rig, vfo_t vfo, "%s: Expected a valid roofing filter but got %c from '%s'\n", __func__, roofing_filter_choice, priv->ret_data); - RETURNFUNC(RIG_EPROTO); + RETURNFUNC(-RIG_EPROTO); } int newcat_get_rx_bandwidth(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t *width) diff --git a/src/rig.c b/src/rig.c index e568402f8..227a4aa15 100644 --- a/src/rig.c +++ b/src/rig.c @@ -8044,7 +8044,7 @@ int HAMLIB_API rig_get_rig_info(RIG *rig, char *response, int max_response_len) rig_debug(RIG_DEBUG_ERR, "%s(%d): response len exceeded max %d chars\n", __FILE__, __LINE__, max_response_len); ELAPSED2; - RETURNFUNC2(RIG_EINTERNAL); + RETURNFUNC2(-RIG_EINTERNAL); } ELAPSED2; commit 56eea198beb22db9aa4f0a1447282e14d4ce7ea3 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Tue May 6 02:44:56 2025 +0200 Remove unneeded test script testcpp.sh Library directory ../dummy/.libs doesn't exist anymore and ../c++/.libs (a.k.a. .libs) is already used by the libtool wrapper script that runs the testcpp program. diff --git a/c++/Makefile.am b/c++/Makefile.am index daca3f4cd..be2b80821 100644 --- a/c++/Makefile.am +++ b/c++/Makefile.am @@ -11,15 +11,7 @@ testcpp_SOURCES = testcpp.cc testcpp_LDADD = libhamlib++.la $(top_builddir)/src/libhamlib.la $(top_builddir)/lib/libmisc.la $(DL_LIBS) testcpp_DEPENDENCIES = libhamlib++.la -check_SCRIPTS = testcpp.sh - -TESTS = $(check_SCRIPTS) +TESTS = $(check_PROGRAMS) $(top_builddir)/src/libhamlib.la: $(MAKE) -C $(top_builddir)/src/ libhamlib.la - -testcpp.sh: - echo 'LD_LIBRARY_PATH=$(top_builddir)/c++/.libs:$(top_builddir)/dummy/.libs ./testcpp' > testcpp.sh - chmod +x ./testcpp.sh - -CLEANFILES = testcpp.sh commit 23a54a7bdf088394e73182d7a2b911e01ca326a7 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Tue May 6 02:08:11 2025 +0200 Remove unneeded dependency diff --git a/security/Makefile.am b/security/Makefile.am index 86680d79e..f0ca51ceb 100644 --- a/security/Makefile.am +++ b/security/Makefile.am @@ -4,4 +4,3 @@ EXTRA_DIST = sctest.c noinst_LTLIBRARIES = libsecurity.la libsecurity_la_SOURCES = aes.c AESStringCrypt.c password.c security.c sha256.c md5.c aes.h AESStringCrypt.h password.h security.h sha256.h md5.h -LDADD = $(top_builddir)/src/libhamlib.la commit 5c05881e0ed0b9fc440bc64f6b60b369f4109139 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sat May 3 22:23:53 2025 +0200 Add rules to build dependencies of libhamlib.la in other directories This makes it possible to run "make -C src/" or "make -C tests/ rigctl" or "make -C bindings/ check" (and so on) in a clean tree, but it doesn't rebuild those targets if libhamlib.la is changed; for this run make from the top directory as usual, to rebuild all SUBDIRS if needed. diff --git a/bindings/Makefile.am b/bindings/Makefile.am index 0f4c1d2f0..11ecea1ec 100644 --- a/bindings/Makefile.am +++ b/bindings/Makefile.am @@ -30,6 +30,8 @@ example_DATA = BUILT_SOURCES = MOSTLYCLEANFILES = +$(top_builddir)/src/libhamlib.la: + $(MAKE) -C $(top_builddir)/src/ libhamlib.la if ENABLE_PERL ########################################## diff --git a/c++/Makefile.am b/c++/Makefile.am index 599b40041..daca3f4cd 100644 --- a/c++/Makefile.am +++ b/c++/Makefile.am @@ -15,6 +15,8 @@ check_SCRIPTS = testcpp.sh TESTS = $(check_SCRIPTS) +$(top_builddir)/src/libhamlib.la: + $(MAKE) -C $(top_builddir)/src/ libhamlib.la testcpp.sh: echo 'LD_LIBRARY_PATH=$(top_builddir)/c++/.libs:$(top_builddir)/dummy/.libs ./testcpp' > testcpp.sh diff --git a/simulators/Makefile.am b/simulators/Makefile.am index a58e79147..a9a799e79 100644 --- a/simulators/Makefile.am +++ b/simulators/Makefile.am @@ -44,5 +44,7 @@ EXTRA_DIST = #TESTS = $(check_SCRIPTS) +$(top_builddir)/src/libhamlib.la: + $(MAKE) -C $(top_builddir)/src/ libhamlib.la CLEANFILES = simelelecraft simicgeneric simkenwood simyaesu diff --git a/src/Makefile.am b/src/Makefile.am index 5c484f971..572818a22 100755 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -27,6 +27,15 @@ libhamlib_la_LIBADD = $(top_builddir)/lib/libmisc.la $(top_builddir)/security/li libhamlib_la_DEPENDENCIES = $(top_builddir)/lib/libmisc.la $(top_builddir)/security/libsecurity.la $(BACKENDEPS) $(RIG_BACKENDEPS) $(ROT_BACKENDEPS) $(AMP_BACKENDEPS) +# Rule to build the dependencies of libhamlib.la that are not in this directory +# when running make in this directory instead of top_builddir +# (the % matches any number of subdirectories) +# warning: '%'-style pattern rules are a GNU make extension +$(top_builddir)/%.la: + $(MAKE) -C $(@D) $(@F) + +# + EXTRA_DIST = Android.mk hamlibdatetime.h.in band_changed.c diff --git a/tests/Makefile.am b/tests/Makefile.am index 706d59bc5..c120165ff 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -110,6 +110,8 @@ check_SCRIPTS = testrig.sh testfreq.sh testbcd.sh testloc.sh testrigcaps.sh test TESTS = $(check_SCRIPTS) +$(top_builddir)/src/libhamlib.la: + $(MAKE) -C $(top_builddir)/src/ libhamlib.la testrig.sh: echo 'LD_LIBRARY_PATH=$(top_builddir)/src/.libs:$(top_builddir)/dummy/.libs ./testrig 1' > testrig.sh commit b73f64f49865ca2d2006f6ef21c6013a57152d7d Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sat May 3 00:55:51 2025 +0200 Remove redundant dependencies All *.swg files are in $(SWIGDEP) via $(SWGFILES). diff --git a/bindings/Makefile.am b/bindings/Makefile.am index 17df597df..0f4c1d2f0 100644 --- a/bindings/Makefile.am +++ b/bindings/Makefile.am @@ -39,7 +39,7 @@ BUILT_SOURCES += hamlibperl_wrap.c MOSTLYCLEANFILES += hamlibperl_wrap.c Hamlib.pm Hamlib.bs Hamlib-pl.mk.old example_DATA += perltest.pl -hamlibperl_wrap.c: hamlib.swg $(SWIGDEP) ignore.swg rig.swg +hamlibperl_wrap.c: $(SWIGDEP) $(AM_V_GEN)$(SWIG) -perl5 -shadow $(AM_CPPFLAGS) -I$(top_srcdir)/bindings \ -o $@ $$(test -f hamlib.swg || echo '$(srcdir)/')hamlib.swg @@ -120,7 +120,7 @@ check-py: all-py Hamlib.py: hamlibpy_wrap.c -hamlibpy_wrap.c: hamlib.swg $(SWGDEP) +hamlibpy_wrap.c: $(SWGDEP) $(AM_V_GEN)$(SWIG) -python $(AM_CPPFLAGS) $(PYTHON_CPPFLAGS) -I$(top_srcdir)/bindings \ -o $@ $$(test -f hamlib.swg || echo '$(srcdir)/')hamlib.swg @@ -166,7 +166,7 @@ hamlibtcl_la_LTLIBRARIES = $(tcl_ltlib) pkgIndex.tcl: Makefile $(AM_V_at)echo 'package ifneeded hamlib $(PKG_VER) [list load [file join $$dir $(DLL)] Hamlib]' > pkgIndex.tcl -hamlibtcl_wrap.c: hamlib.swg $(SWGDEP) +hamlibtcl_wrap.c: $(SWGDEP) $(AM_V_GEN)$(SWIG) -tcl -pkgversion $(PKG_VER) $(AM_CPPFLAGS) \ -I$(top_srcdir)/bindings \ -o $@ $$(test -f hamlib.swg || echo '$(srcdir)/')hamlib.swg @@ -219,7 +219,7 @@ check-lua: all-lua Hamlib.lua: hamliblua_wrap.c -hamliblua_wrap.c: hamlib.swg $(SWGDEP) +hamliblua_wrap.c: $(SWGDEP) $(AM_V_GEN)$(SWIG) -lua $(AM_CPPFLAGS) -I$(top_srcdir)/bindings \ -o $@ $$(test -f hamlib.swg || echo '$(srcdir)/')hamlib.swg commit dcf4b7a4e0c03a02396694479a5069108b3555e2 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Wed Apr 30 16:30:56 2025 +0200 Fix syntax of #define It was invalid C syntax, but it is currently unused. diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index a6bc0a7e6..f165dca29 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -829,7 +829,7 @@ typedef enum { // numbers here reflect generic values -- need to map to rig valu #define RIG_BANDSELECT_LF (RIG_BANDSELECT_2200M | RIG_BANDSELECT_600M) #define RIG_BANDSELECT_HF (RIG_BANDSELECT_160M | RIG_BANDSELECT_80M | RIG_BANDSELECT_60M | RIG_BANDSELECT_40M\ | RIG_BANDSELECT_30M | RIG_BANDSELECT_20M | RIG_BANDSELECT_17M | RIG_BANDSELECT_15M | RIG_BANDSELECT_12M\ -RIG_BANDSELECT_10M | RIG_BANDSELECT_6M) +| RIG_BANDSELECT_10M | RIG_BANDSELECT_6M) #define RIG_BANDSELECT_VHF (RIG_BANDSELECT_AIR | RIG_BANDSELECT_2M| RIG_BANDSELECT_1_25M( #define RIG_BANDSELECT_UHF (RIG_BANDSELECT_70CM) commit 0b68dc588539e0d53bdb758fdf1639e5808f010e Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Mon Apr 28 22:32:52 2025 +0200 Also check the "name" parameter Avoids a segfault if calling strtol(NULL, NULL, 0). diff --git a/src/conf.c b/src/conf.c index 24fd6a5e3..335b419dd 100644 --- a/src/conf.c +++ b/src/conf.c @@ -1386,6 +1386,10 @@ const struct confparams *HAMLIB_API rig_confparam_lookup(RIG *rig, return NULL; } + if (!name) { + rig_debug(RIG_DEBUG_ERR, "%s: name is NULL\n", __func__); + return NULL; + } /* 0 returned for invalid format */ token = strtol(name, NULL, 0); ----------------------------------------------------------------------- Summary of changes: bindings/Makefile.am | 10 ++++++---- c++/Makefile.am | 14 +++++--------- configure.ac | 1 + include/hamlib/rig.h | 2 +- rigs/dummy/aclog.c | 6 +++--- rigs/dummy/flrig.c | 8 ++++---- rigs/dummy/sdrsharp.c | 4 ++-- rigs/dummy/tci1x.c | 2 +- rigs/yaesu/newcat.c | 2 +- security/Makefile.am | 1 - simulators/Makefile.am | 2 ++ src/Makefile.am | 3 +++ src/conf.c | 4 ++++ src/debug.c | 2 +- src/rig.c | 2 +- tests/Makefile.am | 2 ++ 16 files changed, 37 insertions(+), 28 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-05-04 17:13:02
|
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 6dfa118dace16c3fff039d071ca87a4210c91793 (commit) via e5d8dc0f07bd0de56b87430811f549e3f2e2a1f1 (commit) via 584ddb001d5ba15bb3047a566adbd242fa4710ff (commit) via f4b95826d490bd033c7fb87e849c0edc428775d2 (commit) via fb8abe93bb3805127d457be3c11d1e6d87789f1e (commit) via 6f789b60ecdd19a4ebd6f1a5e17805c665d51073 (commit) via 7a466c779ac1bbe0427429670899f82e6c63787f (commit) via 49b0be5be2cb40e565da74a8ba7a393747d48cb4 (commit) from 12cc40f4f77c5dea54d03b39c8657e8a6038a05f (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 6dfa118dace16c3fff039d071ca87a4210c91793 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sun May 4 10:46:28 2025 +0200 Describe the use of simulators diff --git a/README.developer b/README.developer index b4a3d650f..1c1a7c27c 100644 --- a/README.developer +++ b/README.developer @@ -686,8 +686,32 @@ Testing: touched the build system files or added a backend. Simulators: - * The simulators directory contains various programs that are built - invoking "make -C simulators/ check" or "make check" from topdir. + * The 'simulators' directory contains programs to simulate the protocol + of many devices. They are built invoking "make -C simulators/ check" + or "make check" from topdir. While simulators are made to test Hamlib + with rigctl and rigctld, you should be able to guess the model number + that corresponds to a given simulator and configure an application such + as wsjtx to use that model and the port name printed by the simulator, + as shown in the examples below. + + To use a simulator on *nix-like systems, run its executable and take + note of the port name: + $ ./simulators/simft991 + name=/dev/pts/6 + then from another terminal run rigctl/rigctld using that port and a + matching model number (see rigctl --list): + $ ./tests/rigctl --model=1035 --rig-file=/dev/pts/6 \get_freq + 14074000 + + To use a simulator on Windows, first install a virtual COM port, then + run the simulator passing the port name as first and only argument: + > simulators\simft991 COM1234 + then from another command prompt run rigctl/rigctld or your + application. + + The COM port argument is currently ignored on *nix but it can be + handled if there is a need to test a low level issue with RS-232 + and/or USB communication, if your machine has the needed hardware. 8.2.1 Use of rig_debug() function commit e5d8dc0f07bd0de56b87430811f549e3f2e2a1f1 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sun May 4 00:23:46 2025 +0200 Fix compilation error in simicr8600.c Fixes: simicr8600.c:445:5: warning: ‘main’ is normally a non-static function [-Wmain] diff --git a/simulators/simicr8600.c b/simulators/simicr8600.c index 0c55061fa..ae5e0470d 100644 --- a/simulators/simicr8600.c +++ b/simulators/simicr8600.c @@ -388,6 +388,7 @@ void frameParse(int fd, unsigned char *frame, int len) // don't care about the rig type yet + } } #if defined(WIN32) || defined(_WIN32) commit 584ddb001d5ba15bb3047a566adbd242fa4710ff Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sun May 4 00:10:30 2025 +0200 Fix compilation error in simid5100.c Fixes: simid5100.c:90:35: error: ‘errno’ undeclared (first use in this function) diff --git a/simulators/simid5100.c b/simulators/simid5100.c index eb36e3fdc..93fd7bf4d 100644 --- a/simulators/simid5100.c +++ b/simulators/simid5100.c @@ -10,6 +10,7 @@ struct ip_mreq }; #endif +#include <errno.h> #include <stdio.h> #include <stdlib.h> #include <string.h> commit f4b95826d490bd033c7fb87e849c0edc428775d2 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sun May 4 00:08:44 2025 +0200 Explain how to use the simulators diff --git a/README.developer b/README.developer index 252fc2a52..b4a3d650f 100644 --- a/README.developer +++ b/README.developer @@ -685,6 +685,10 @@ Testing: package ready for distribution. This is a good test if you have touched the build system files or added a backend. +Simulators: + * The simulators directory contains various programs that are built + invoking "make -C simulators/ check" or "make check" from topdir. + 8.2.1 Use of rig_debug() function commit fb8abe93bb3805127d457be3c11d1e6d87789f1e Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sun May 4 00:05:08 2025 +0200 List more optional dependencies diff --git a/README.developer b/README.developer index 621a69d46..252fc2a52 100644 --- a/README.developer +++ b/README.developer @@ -285,11 +285,15 @@ Optional, but highly recommended: * perl devel # h2xs * tcl devel # tcltk-depends * python devel # python-config +* lua devel * libxml2 devel # xml2-config --version -* libgd2 devel # gdlib-config --version +* libgd2 devel # gdlib-config --version (rigmatrix) +* libindi devel # INDI rotators +* libnova devel * libusb-1.0 devel # 1.0.0 or newer * libreadline devel # ver 5.2 or newer * pkg-config # pkg-config --version (libxml and USRP) +* zlib1g devel # (rigmatrix) N.B.: The libusb-1.0 package is required for building most of the 'kit' backend. The older version of libusb 0.1.x is no longer supported. commit 6f789b60ecdd19a4ebd6f1a5e17805c665d51073 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sat May 3 19:33:17 2025 +0200 Update copyright year diff --git a/README.developer b/README.developer index e9e0fc83b..621a69d46 100644 --- a/README.developer +++ b/README.developer @@ -1,6 +1,6 @@ Hamlib - (C) Frank Singleton 2000 (vk...@ix...) (C) Stephane Fillod 2000-2011 - (C) The Hamlib Group 2000-2013 + (C) The Hamlib Group 2000-2025 Primary site for the latest development version of Hamlib is https://github.com/Hamlib/Hamlib Also take a look at http://sourceforge.net/projects/hamlib/ commit 7a466c779ac1bbe0427429670899f82e6c63787f Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sat May 3 16:51:37 2025 +0200 Remove old version numbers diff --git a/README.developer b/README.developer index 8031e52c8..e9e0fc83b 100644 --- a/README.developer +++ b/README.developer @@ -281,7 +281,7 @@ N.B. Hamlib requires libtool >= 2.2.6b in compliance with CVE-2009-3736. Optional, but highly recommended: * GNU C++ # g++ --version -* swig (for bindings) 1.3.14 # swig -version +* swig (for bindings) # swig -version * perl devel # h2xs * tcl devel # tcltk-depends * python devel # python-config @@ -289,7 +289,7 @@ Optional, but highly recommended: * libgd2 devel # gdlib-config --version * libusb-1.0 devel # 1.0.0 or newer * libreadline devel # ver 5.2 or newer -* pkg-config 0.9.0 # pkg-config --version (libxml and USRP) +* pkg-config # pkg-config --version (libxml and USRP) N.B.: The libusb-1.0 package is required for building most of the 'kit' backend. The older version of libusb 0.1.x is no longer supported. commit 49b0be5be2cb40e565da74a8ba7a393747d48cb4 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: Sat May 3 16:24:31 2025 +0200 Update the directory tree diff --git a/README.developer b/README.developer index 4ded18b26..8031e52c8 100644 --- a/README.developer +++ b/README.developer @@ -39,21 +39,27 @@ utility), and USB. Other connectivity will follow afterwards. General Guidelines. ------------------- -0. The top level directory looks like this as of 2020-01-18 +0. The top level directory looks like this as of 2025-05-03 $ tree -d -I .git . +. ├── amplifiers -│ └── elecraft +│ ├── elecraft +│ ├── expert +│ └── gemini ├── android ├── autom4te.cache ├── bindings +│ └── csharp +│ └── multicast ├── build-aux ├── c++ ├── doc │ ├── man1 -│ └── man7 -├── dummy +│ ├── man7 +│ └── manuals +├── docker-build ├── extra │ ├── gnuradio │ └── kylix @@ -66,12 +72,18 @@ $ tree -d -I .git ├── rigs │ ├── adat │ ├── alinco +│ ├── anytone │ ├── aor │ ├── barrett +│ ├── codan +│ ├── commradio │ ├── dorji │ ├── drake +│ ├── dummy │ ├── elad │ ├── flexradio +│ ├── gomspace +│ │ └── gs100_sim │ ├── icmarine │ ├── icom │ ├── jrc @@ -79,6 +91,8 @@ $ tree -d -I .git │ ├── kenwood │ ├── kit │ ├── lowe +│ ├── mds +│ ├── motorola │ ├── pcr │ ├── prm80 │ ├── racal @@ -95,24 +109,36 @@ $ tree -d -I .git │ └── yaesu ├── rotators │ ├── amsat +│ ├── androidsensor +│ ├── apex │ ├── ars │ ├── celestron │ ├── cnctrk │ ├── easycomm │ ├── ether6 +│ ├── flir │ ├── fodtrack +│ ├── grbltrk │ ├── gs232a │ ├── heathkit +│ ├── indi │ ├── ioptron │ ├── m2 │ ├── meade │ ├── prosistel +│ ├── radant │ ├── rotorez +│ ├── saebrtrack │ ├── sartek +│ ├── satel +│ ├── skywatcher │ ├── spid │ └── ts7400 │ └── include ├── scripts +│ └── MSVC +├── security +├── simulators ├── src └── tests ├── config @@ -121,7 +147,7 @@ $ tree -d -I .git ├── testfreq.test └── testloc.test -77 directories +103 directories 1. Building ----------------------------------------------------------------------- Summary of changes: README.developer | 76 +++++++++++++++++++++++++++++++++++++++++++------ simulators/simicr8600.c | 1 + simulators/simid5100.c | 1 + 3 files changed, 69 insertions(+), 9 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-05-03 15:47:23
|
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 12cc40f4f77c5dea54d03b39c8657e8a6038a05f (commit) from fa2520c894c91f23c1c7be58e7ee4566e1dc102c (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 12cc40f4f77c5dea54d03b39c8657e8a6038a05f Author: Kenji Rikitake <ken...@ac...> Date: Fri May 2 12:58:33 2025 +0000 Fix IC-705 filter selection and bandwidth handling for FM and WFM * Enable `.fm_filters` in `IC705_priv_caps` * `icom_get_mode_without_data()`: activate FM filter selection code if `RIG_IS_IC705` * `icom2rig_mode()`: activate FM filter fixed width code if `RIG_IS_IC705` * TODO: cases in WFM should be solved independently * `icom2rig_mode()`: handle FM and WFM separately and correctly at least for IC-705, no changes for IC-7300 and IC-9700 * `icom_get_mode_without_data()`: add WFM to the code assuming that values from `icom2rig_mode()` is correct * icom.c: A partial rollback for https://github.com/Hamlib/Hamlib/pull/1719/commits/a395b91be6bd19d760e57005ecb8079b15af9ede * The workaround to use `icom_set_mode_without_data()` is not necessary * The later experiments showed CI-V command 0x26 worked OK too for WFM * Add WFM freq to ic705_caps.filters * Fix icom_set_mode_x26() FM behavior `icom_set_mode_x26()` did not pass the correct command value for FM or PKTFM modes when width is set to `RIG_PASSBAND_NORMAL` (i.e., 0 (zero)). With this source code change, the command value `buf[2]` is forcefully set to 1 when `RIG_PASSBAND_NORMAL` or `RIG_PASSBAND_NOCHANGE` are passed to the parameter `width`. This fix solves the bug for IC-705 with rigctl when entering the command `M FM 0` after `M WFM 0` *did not* change the mode properly to (narrow) FM. diff --git a/rigs/icom/frame.c b/rigs/icom/frame.c index 09a2faddd..df2019e09 100644 --- a/rigs/icom/frame.c +++ b/rigs/icom/frame.c @@ -814,15 +814,27 @@ void icom2rig_mode(RIG *rig, unsigned char md, int pd, rmode_t *mode, rig_debug(RIG_DEBUG_TRACE, "%s: mode=0x%02x, pd=%d\n", __func__, md, pd); // Some rigs return fixed with for FM mode - if ((RIG_IS_IC7300 || RIG_IS_IC9700) && (md == S_FM || md == S_WFM)) - { - *mode = RIG_MODE_FM; + if (RIG_IS_IC7300 || RIG_IS_IC9700 || RIG_IS_IC705) { + if (md == S_FM) { + *mode = RIG_MODE_FM; - if (*width == 1) { *width = 15000; } - else if (*width == 2) { *width = 10000; } - else { *width = 7000; } + if (*width == 1) { *width = 15000; } + else if (*width == 2) { *width = 10000; } + else { *width = 7000; } + + return; + } else if (md == S_WFM) { + + // For IC-705, *width will always be 1 + // At least this works for IC-705 - return; + *mode = RIG_MODE_WFM; + *width = 200000; + + return; + } + // If not FM nor SFM mode, + // fall down this block for further processing } *width = RIG_PASSBAND_NORMAL; diff --git a/rigs/icom/ic7300.c b/rigs/icom/ic7300.c index a43939060..fe633a77e 100644 --- a/rigs/icom/ic7300.c +++ b/rigs/icom/ic7300.c @@ -637,7 +637,8 @@ static const struct icom_priv_caps IC705_priv_caps = .x1cx03_possibly = 1, .x1ax03_supported = 1, .mode_with_filter = 1, - .data_mode_supported = 1 + .data_mode_supported = 1, + .fm_filters = { 7000, 10000, 15000 } }; static const struct icom_priv_caps IC905_priv_caps = @@ -1498,6 +1499,7 @@ struct rig_caps ic705_caps = {RIG_MODE_FM | RIG_MODE_PKTFM, kHz(10)}, {RIG_MODE_FM | RIG_MODE_PKTFM, kHz(7)}, {RIG_MODE_FM | RIG_MODE_PKTFM, kHz(15)}, + {RIG_MODE_WFM, kHz(200)}, RIG_FLT_END, }, diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index b55608983..71cd24eba 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -2441,6 +2441,22 @@ static int icom_set_mode_x26(RIG *rig, vfo_t vfo, rmode_t mode, if (width > 10000) { buf[2] = 1; } else if (width > 7000) { buf[2] = 2; } else if (width > 3) { buf[2] = 3; } + // Set "normal" bandwidth explicitly here + // when width is zero or even less + // (namely RIG_PASSBAND_NORMAL or RIG_PASSBAND_NOCHANGE) + else if (width < 1) { buf[2] = 1; } + + if (width == RIG_PASSBAND_NOCHANGE) + { + buf_len = 1; + } + } + else if (mode == RIG_MODE_WFM) + { + rig_debug(RIG_DEBUG_TRACE, "%s: wfm_width=%d\n", __func__, (int)width); + // For IC-705, there's only one filter mode for WFM + // So set always to 1 + buf[2] = 1; if (width == RIG_PASSBAND_NOCHANGE) { @@ -2574,9 +2590,7 @@ int icom_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) (int) base_mode, (int) width, rig_strvfo(rs->current_vfo)); // It is only necessary to change base mode if command 0x26 is not supported - // NOTE: IC-705 does not support WFM for command 0x26 - if (!(rs->targetable_vfo & RIG_TARGETABLE_MODE) || force_vfo_swap || - (RIG_IS_IC705 && (mode == RIG_MODE_WFM))) + if (!(rs->targetable_vfo & RIG_TARGETABLE_MODE) || force_vfo_swap) { retval = icom_set_mode_without_data(rig, vfo, base_mode, width); } @@ -2625,8 +2639,8 @@ int icom_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) if (datamode[0] == 0) { datamode[1] = 0; } // the only good combo possible according to manual // we need to let FM mode widths through here with datamode[1] set to FM width - if ((priv_caps->fm_filters[0] != 0) && (mode == RIG_MODE_FM - || mode == RIG_MODE_WFM)) + // (This is not applicable to WFM) + if ((priv_caps->fm_filters[0] != 0) && (mode == RIG_MODE_FM)) { // assumed fm_filters is ascending sequence -- see ic7300.c for example if (width >= 1 && width <= 3) { datamode[1] = width; } @@ -2653,6 +2667,13 @@ int icom_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) { if (datamode[0] == 0) { datamode[1] = 0; } + // For IC-705, this is the only valid values for WFM + if (RIG_IS_IC705 && (mode == RIG_MODE_WFM)) + { + datamode[0] = 0; + datamode[1] = 1; + } + retval = icom_set_mode_x26(rig, vfo, mode, mode_icom, datamode[0], datamode[1], width); } @@ -2816,8 +2837,8 @@ static int icom_get_mode_without_data(RIG *rig, vfo_t vfo, rmode_t *mode, mode_len == 2 ? modebuf[2] : -1, mode, width); } - if ((RIG_IS_IC7300 || RIG_IS_IC9700) && (*mode == RIG_MODE_FM - || *mode == RIG_MODE_PKTFM)) + if ((RIG_IS_IC7300 || RIG_IS_IC9700 || RIG_IS_IC705) && (*mode == RIG_MODE_FM + || *mode == RIG_MODE_PKTFM || *mode == RIG_MODE_WFM)) { // we already have width from icom2rig_mode RETURNFUNC2(RIG_OK); @@ -2849,7 +2870,7 @@ static int icom_get_mode_without_data(RIG *rig, vfo_t vfo, rmode_t *mode, if (vfo == rs->current_vfo) { - if (!((RIG_IS_IC7300 || RIG_IS_IC9700) && (*mode == RIG_MODE_FM + if (!((RIG_IS_IC7300 || RIG_IS_IC9700 || RIG_IS_IC705) && (*mode == RIG_MODE_FM || *mode == RIG_MODE_PKTFM))) // can't do this in FM mode { filter_width = icom_get_dsp_flt(rig, *mode); @@ -2872,13 +2893,18 @@ static int icom_get_mode_without_data(RIG *rig, vfo_t vfo, rmode_t *mode, { *width = 12000; // some default to 12000 - if (RIG_IS_IC7300 || RIG_IS_IC9700) + if (RIG_IS_IC7300 || RIG_IS_IC9700 || RIG_IS_IC705) { if (priv_data->filter == 1) { *width = 15000; } else if (priv_data->filter == 2) { *width = 10000; } else if (priv_data->filter == 3) { *width = 7000; } } } + else if (*mode == RIG_MODE_WFM) + { + // IC-705 only valid value + if (RIG_IS_IC705) { *width = 200000; } + } RETURNFUNC2(RIG_OK); } ----------------------------------------------------------------------- Summary of changes: rigs/icom/frame.c | 26 +++++++++++++++++++------- rigs/icom/ic7300.c | 4 +++- rigs/icom/icom.c | 44 +++++++++++++++++++++++++++++++++++--------- 3 files changed, 57 insertions(+), 17 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: n0nb <n0...@us...> - 2025-05-03 02:45:07
|
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 fa2520c894c91f23c1c7be58e7ee4566e1dc102c (commit) via d893974b3d3fb26cfb46e3f85adaa1b0f9da9ac2 (commit) from fe3bb8b84a47ec4e928e65fc5a9a104b89747162 (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 fa2520c894c91f23c1c7be58e7ee4566e1dc102c Merge: fe3bb8b84 d893974b3 Author: Nate Bargmann <n0...@n0...> Date: Fri May 2 21:43:46 2025 -0500 Merge pull request #1723 from jj1bdx/jj1bdx-ic705-meters Fix IC-705 COMP, VD, and ID meter calibration values commit d893974b3d3fb26cfb46e3f85adaa1b0f9da9ac2 Author: Kenji Rikitake <ken...@ac...> Date: Fri May 2 03:11:27 2025 +0000 Fix IC-705 COMP, VD, and ID meter calibration values * Define IC-705-specific values ported from flrig-2.0.05.93 diff --git a/rigs/icom/ic7300.c b/rigs/icom/ic7300.c index 16e3602db..a43939060 100644 --- a/rigs/icom/ic7300.c +++ b/rigs/icom/ic7300.c @@ -170,6 +170,38 @@ int ic9700_set_vfo(RIG *rig, vfo_t vfo); { 255, 12.0f } \ } } +// flrig-2.0.05.93 +#define IC705_COMP_METER_CAL { 12, \ + { \ + { 0, 0.0f }, \ + { 11, 0.0f }, \ + { 34, 3.0f }, \ + { 58, 6.0f }, \ + { 81, 9.0f }, \ + { 104, 12.0f }, \ + { 128, 15.0f }, \ + { 151, 18.0f }, \ + { 174, 21.0f }, \ + { 197, 24.0f }, \ + { 221, 27.0f }, \ + { 244, 30.0f } \ + } } + +// flrig-2.0.05.93 +#define IC705_VD_METER_CAL { 2, \ + { \ + { 0, 0.0f }, \ + { 241, 16.0f } \ + } } + + +// flrig-2.0.05.93 +#define IC705_ID_METER_CAL { 2, \ + { \ + { 0, 0.0f }, \ + { 241, 4.0f } \ + } } + /* * IC9700 items that differ from IC7300 */ @@ -1473,9 +1505,9 @@ struct rig_caps ic705_caps = .swr_cal = IC7300_SWR_CAL, .alc_cal = IC7300_ALC_CAL, .rfpower_meter_cal = IC705_RFPOWER_METER_CAL, - .comp_meter_cal = IC7300_COMP_METER_CAL, - .vd_meter_cal = IC7300_VD_METER_CAL, - .id_meter_cal = IC7300_ID_METER_CAL, + .comp_meter_cal = IC705_COMP_METER_CAL, + .vd_meter_cal = IC705_VD_METER_CAL, + .id_meter_cal = IC705_ID_METER_CAL, .spectrum_scopes = { { ----------------------------------------------------------------------- Summary of changes: rigs/icom/ic7300.c | 38 +++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |