hamlib-cvs-digest Mailing List for Ham Radio Control Libraries
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
(5) |
Nov
(3) |
Dec
(14) |
|
From: n0nb <n0...@us...> - 2025-12-13 17:56:26
|
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.7 has been updated
via b80cfd34204e1034cdd6b6b4bc577f1371d4c37d (commit)
from b7790198465d9aad7ac90d64eeb8cb27dea9c60b (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 b80cfd34204e1034cdd6b6b4bc577f1371d4c37d
Author: Nate Bargmann <n0...@n0...>
Date: Sat Dec 13 11:55:27 2025 -0600
Update NEWS for memory leak fixes
diff --git a/NEWS b/NEWS
index ae52692b1..f55731298 100644
--- a/NEWS
+++ b/NEWS
@@ -41,6 +41,7 @@ Version 4.7.0
* Update QRPLabs QMX backend for max serial rate of 230400 bps. (TNX Mooneer Salem)
* Updates to Icom IC-F8101. (TNX Mitchell Winkle and George Baltz)
* New rig model Icom ID-52A/W Plus. (TNX Martin Andrich)
+ * Fix memory leaks in rigctld and rigctltcp. (TNX Geroge Baltz)
Version 4.6.5
* 2025-09-05
-----------------------------------------------------------------------
Summary of changes:
NEWS | 1 +
1 file changed, 1 insertion(+)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-12-13 17:53: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, Hamlib-4.7 has been updated
via b7790198465d9aad7ac90d64eeb8cb27dea9c60b (commit)
via 813f210979ef6cf4f8ce0a33a2b37c77d10d0756 (commit)
from 8488fa21ac58fd263f15c5878dc948e070928bfc (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 b7790198465d9aad7ac90d64eeb8cb27dea9c60b
Author: George Baltz N3GB <Geo...@gm...>
Date: Wed Dec 10 17:02:29 2025 -0500
Fix the same leak in rigctltcp.c
(cherry picked from commit 018c86997b264ee0abc997f3b049105a5b8bc9a1)
Missed one
(cherry picked from commit 1cf8d03e130ebeb6553f4943a6508849911e0615)
diff --git a/tests/rigctltcp.c b/tests/rigctltcp.c
index 05ca65dc8..ce95038a1 100644
--- a/tests/rigctltcp.c
+++ b/tests/rigctltcp.c
@@ -268,7 +268,6 @@ int main(int argc, char *argv[])
pthread_t thread;
pthread_attr_t attr;
- struct handle_data *arg;
int vfo_mode = 0; /* vfo_mode=0 means target VFO is current VFO */
int i;
extern int is_rigctld;
@@ -893,16 +892,6 @@ int main(int argc, char *argv[])
fd_set set;
struct timeval timeout;
- arg = calloc(1, sizeof(struct handle_data));
-
- if (!arg)
- {
- rig_debug(RIG_DEBUG_ERR, "calloc: %s\n", strerror(errno));
- exit(1);
- }
-
- if (rigctld_password[0] != 0) { arg->use_password = 1; }
-
/* use select to allow for periodic checks for CTRL+C */
FD_ZERO(&set);
FD_SET(sock_listen, &set);
@@ -939,6 +928,18 @@ int main(int argc, char *argv[])
}
else
{
+ struct handle_data *arg;
+
+ arg = calloc(1, sizeof(struct handle_data));
+
+ if (!arg)
+ {
+ rig_debug(RIG_DEBUG_ERR, "calloc: %s\n", strerror(errno));
+ exit(1);
+ }
+
+ if (rigctld_password[0] != 0) { arg->use_password = 1; }
+
arg->rig = my_rig;
arg->clilen = sizeof(arg->cli_addr);
arg->vfo_mode = vfo_mode;
@@ -949,6 +950,7 @@ int main(int argc, char *argv[])
if (arg->sock < 0)
{
handle_error(RIG_DEBUG_ERR, "accept");
+ free(arg);
break;
}
commit 813f210979ef6cf4f8ce0a33a2b37c77d10d0756
Author: George Baltz N3GB <Geo...@gm...>
Date: Wed Dec 10 13:18:49 2025 -0500
Fix memory leak in rigctld
Just started playing with valgrind, and already We have a Winner!
rigctld was leaking ~100 bytes every 5 seconds; rearrange code so
arg is not allocated until it is needed and will be passed to the
routine that will free() it.
Also fix uninitialized variable warning.
(cherry picked from commit 08a013b87b07272ceadf6f4bd37251d26c7ef22a)
diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c
index a7b83c5ef..2dbb06b75 100644
--- a/tests/rigctl_parse.c
+++ b/tests/rigctl_parse.c
@@ -707,7 +707,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
struct test_table *cmd_entry = NULL;
struct rig_state *rs = STATE(my_rig);
- char command[MAXARGSZ + 1];
+ char command[MAXARGSZ + 1] = "";
char arg1[MAXARGSZ + 1], *p1 = NULL;
char arg2[MAXARGSZ + 1], *p2 = NULL;
char arg3[MAXARGSZ + 1], *p3 = NULL;
diff --git a/tests/rigctld.c b/tests/rigctld.c
index 620557f42..ab6138a60 100644
--- a/tests/rigctld.c
+++ b/tests/rigctld.c
@@ -272,7 +272,6 @@ int main(int argc, char *argv[])
pthread_t thread;
pthread_attr_t attr;
- struct handle_data *arg;
int vfo_mode = 0; /* vfo_mode=0 means target VFO is current VFO */
int i;
extern int is_rigctld;
@@ -988,16 +987,6 @@ int main(int argc, char *argv[])
fd_set set;
struct timeval timeout;
- arg = calloc(1, sizeof(struct handle_data));
-
- if (!arg)
- {
- rig_debug(RIG_DEBUG_ERR, "calloc: %s\n", strerror(errno));
- exit(1);
- }
-
- if (rigctld_password[0] != 0) { arg->use_password = 1; }
-
/* use select to allow for periodic checks for CTRL+C */
FD_ZERO(&set);
FD_SET(sock_listen, &set);
@@ -1034,6 +1023,18 @@ int main(int argc, char *argv[])
}
else
{
+ struct handle_data *arg;
+
+ arg = calloc(1, sizeof(struct handle_data));
+
+ if (!arg)
+ {
+ rig_debug(RIG_DEBUG_ERR, "calloc: %s\n", strerror(errno));
+ exit(1);
+ }
+
+ if (rigctld_password[0] != 0) { arg->use_password = 1; }
+
arg->rig = my_rig;
arg->clilen = sizeof(arg->cli_addr);
arg->vfo_mode = vfo_mode;
@@ -1044,6 +1045,7 @@ int main(int argc, char *argv[])
if (arg->sock < 0)
{
handle_error(RIG_DEBUG_ERR, "accept");
+ free(arg);
break;
}
-----------------------------------------------------------------------
Summary of changes:
tests/rigctl_parse.c | 2 +-
tests/rigctld.c | 24 +++++++++++++-----------
tests/rigctltcp.c | 24 +++++++++++++-----------
3 files changed, 27 insertions(+), 23 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-12-13 17:46:17
|
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 1cf8d03e130ebeb6553f4943a6508849911e0615 (commit)
via 018c86997b264ee0abc997f3b049105a5b8bc9a1 (commit)
via 08a013b87b07272ceadf6f4bd37251d26c7ef22a (commit)
from bb39a8f73d07766925dd61b6628146983a31a3a7 (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 1cf8d03e130ebeb6553f4943a6508849911e0615
Author: George Baltz N3GB <Geo...@gm...>
Date: Fri Dec 12 02:39:07 2025 -0500
Missed one
diff --git a/tests/rigctltcp.c b/tests/rigctltcp.c
index 828f52f2d..ce95038a1 100644
--- a/tests/rigctltcp.c
+++ b/tests/rigctltcp.c
@@ -950,6 +950,7 @@ int main(int argc, char *argv[])
if (arg->sock < 0)
{
handle_error(RIG_DEBUG_ERR, "accept");
+ free(arg);
break;
}
commit 018c86997b264ee0abc997f3b049105a5b8bc9a1
Author: George Baltz N3GB <Geo...@gm...>
Date: Wed Dec 10 17:02:29 2025 -0500
Fix the same leak in rigctltcp.c
diff --git a/tests/rigctltcp.c b/tests/rigctltcp.c
index 05ca65dc8..828f52f2d 100644
--- a/tests/rigctltcp.c
+++ b/tests/rigctltcp.c
@@ -268,7 +268,6 @@ int main(int argc, char *argv[])
pthread_t thread;
pthread_attr_t attr;
- struct handle_data *arg;
int vfo_mode = 0; /* vfo_mode=0 means target VFO is current VFO */
int i;
extern int is_rigctld;
@@ -893,16 +892,6 @@ int main(int argc, char *argv[])
fd_set set;
struct timeval timeout;
- arg = calloc(1, sizeof(struct handle_data));
-
- if (!arg)
- {
- rig_debug(RIG_DEBUG_ERR, "calloc: %s\n", strerror(errno));
- exit(1);
- }
-
- if (rigctld_password[0] != 0) { arg->use_password = 1; }
-
/* use select to allow for periodic checks for CTRL+C */
FD_ZERO(&set);
FD_SET(sock_listen, &set);
@@ -939,6 +928,18 @@ int main(int argc, char *argv[])
}
else
{
+ struct handle_data *arg;
+
+ arg = calloc(1, sizeof(struct handle_data));
+
+ if (!arg)
+ {
+ rig_debug(RIG_DEBUG_ERR, "calloc: %s\n", strerror(errno));
+ exit(1);
+ }
+
+ if (rigctld_password[0] != 0) { arg->use_password = 1; }
+
arg->rig = my_rig;
arg->clilen = sizeof(arg->cli_addr);
arg->vfo_mode = vfo_mode;
commit 08a013b87b07272ceadf6f4bd37251d26c7ef22a
Author: George Baltz N3GB <Geo...@gm...>
Date: Wed Dec 10 13:18:49 2025 -0500
Fix memory leak in rigctld
Just started playing with valgrind, and already We have a Winner!
rigctld was leaking ~100 bytes every 5 seconds; rearrange code so
arg is not allocated until it is needed and will be passed to the
routine that will free() it.
Also fix uninitialized variable warning.
diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c
index a7b83c5ef..2dbb06b75 100644
--- a/tests/rigctl_parse.c
+++ b/tests/rigctl_parse.c
@@ -707,7 +707,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
struct test_table *cmd_entry = NULL;
struct rig_state *rs = STATE(my_rig);
- char command[MAXARGSZ + 1];
+ char command[MAXARGSZ + 1] = "";
char arg1[MAXARGSZ + 1], *p1 = NULL;
char arg2[MAXARGSZ + 1], *p2 = NULL;
char arg3[MAXARGSZ + 1], *p3 = NULL;
diff --git a/tests/rigctld.c b/tests/rigctld.c
index 620557f42..ab6138a60 100644
--- a/tests/rigctld.c
+++ b/tests/rigctld.c
@@ -272,7 +272,6 @@ int main(int argc, char *argv[])
pthread_t thread;
pthread_attr_t attr;
- struct handle_data *arg;
int vfo_mode = 0; /* vfo_mode=0 means target VFO is current VFO */
int i;
extern int is_rigctld;
@@ -988,16 +987,6 @@ int main(int argc, char *argv[])
fd_set set;
struct timeval timeout;
- arg = calloc(1, sizeof(struct handle_data));
-
- if (!arg)
- {
- rig_debug(RIG_DEBUG_ERR, "calloc: %s\n", strerror(errno));
- exit(1);
- }
-
- if (rigctld_password[0] != 0) { arg->use_password = 1; }
-
/* use select to allow for periodic checks for CTRL+C */
FD_ZERO(&set);
FD_SET(sock_listen, &set);
@@ -1034,6 +1023,18 @@ int main(int argc, char *argv[])
}
else
{
+ struct handle_data *arg;
+
+ arg = calloc(1, sizeof(struct handle_data));
+
+ if (!arg)
+ {
+ rig_debug(RIG_DEBUG_ERR, "calloc: %s\n", strerror(errno));
+ exit(1);
+ }
+
+ if (rigctld_password[0] != 0) { arg->use_password = 1; }
+
arg->rig = my_rig;
arg->clilen = sizeof(arg->cli_addr);
arg->vfo_mode = vfo_mode;
@@ -1044,6 +1045,7 @@ int main(int argc, char *argv[])
if (arg->sock < 0)
{
handle_error(RIG_DEBUG_ERR, "accept");
+ free(arg);
break;
}
-----------------------------------------------------------------------
Summary of changes:
tests/rigctl_parse.c | 2 +-
tests/rigctld.c | 24 +++++++++++++-----------
tests/rigctltcp.c | 24 +++++++++++++-----------
3 files changed, 27 insertions(+), 23 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-12-10 18:41:26
|
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.7 has been updated
via 8488fa21ac58fd263f15c5878dc948e070928bfc (commit)
via 2c9257025eb33613613fe32b46f96565b886798c (commit)
via ed36f02455418bdbbbdd8cc45c3cc528ebadf3f5 (commit)
from 81aff30954e799a49a176989b207049d7ae72b0d (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 8488fa21ac58fd263f15c5878dc948e070928bfc
Author: Nate Bargmann <n0...@n0...>
Date: Wed Dec 10 12:38:49 2025 -0600
Update NEWS for new ID-52A/E model
diff --git a/NEWS b/NEWS
index 2ce918c5b..ae52692b1 100644
--- a/NEWS
+++ b/NEWS
@@ -40,6 +40,7 @@ Version 4.7.0
* New Yaesu FTX-1 model support (alpha). (TNX Jeremy Miller).
* Update QRPLabs QMX backend for max serial rate of 230400 bps. (TNX Mooneer Salem)
* Updates to Icom IC-F8101. (TNX Mitchell Winkle and George Baltz)
+ * New rig model Icom ID-52A/W Plus. (TNX Martin Andrich)
Version 4.6.5
* 2025-09-05
commit 2c9257025eb33613613fe32b46f96565b886798c
Author: Nate Bargmann <n0...@n0...>
Date: Wed Dec 10 09:51:09 2025 -0600
Add ID52+ to Python test class
(cherry picked from commit bb39a8f73d07766925dd61b6628146983a31a3a7)
diff --git a/bindings/python/test_Hamlib_class.py b/bindings/python/test_Hamlib_class.py
index 3ee2df26d..384dae35c 100755
--- a/bindings/python/test_Hamlib_class.py
+++ b/bindings/python/test_Hamlib_class.py
@@ -766,6 +766,7 @@ class TestClass:
'RIG_MODEL_ID4100',
'RIG_MODEL_ID51',
'RIG_MODEL_ID5100',
+'RIG_MODEL_ID52PLUS',
'RIG_MODEL_JST145',
'RIG_MODEL_JST245',
'RIG_MODEL_K2',
commit ed36f02455418bdbbbdd8cc45c3cc528ebadf3f5
Author: Martin <ma...@ma...>
Date: Mon Dec 8 21:38:49 2025 +0100
add Icom ID-52A/E Plus
(cherry picked from commit d997bbd7b1f9057ad44fe99631f708ed15c352d6)
diff --git a/include/hamlib/riglist.h b/include/hamlib/riglist.h
index 3c59390e4..3a70ad854 100644
--- a/include/hamlib/riglist.h
+++ b/include/hamlib/riglist.h
@@ -348,6 +348,7 @@
#define RIG_MODEL_IC905 RIG_MAKE_MODEL(RIG_ICOM, 90)
#define RIG_MODEL_X6200 RIG_MAKE_MODEL(RIG_ICOM, 91) /* Xiegu X6200 */
#define RIG_MODEL_IC7760 RIG_MAKE_MODEL(RIG_ICOM, 92)
+#define RIG_MODEL_ID52PLUS RIG_MAKE_MODEL(RIG_ICOM, 93)
/*
* Optoelectronics (CI-V)
diff --git a/rigs/icom/Makefile.am b/rigs/icom/Makefile.am
index 38b3fd7e9..598581017 100644
--- a/rigs/icom/Makefile.am
+++ b/rigs/icom/Makefile.am
@@ -6,7 +6,7 @@ ICOMSRC = icom.c icom.h icom_defs.h icom_alt_agc.c icom_alt_agc.h frame.c frame.
ic736.c ic738.c ic7410.c ic746.c ic703.c ic726.c ic271.c \
ic765.c ic781.c ic471.c icr9000.c icr9500.c \
icr10.c icr20.c icr30.c icr6.c icr71.c icr72.c icr75.c icrx7.c icr8600.c \
- id1.c id31.c id51.c id4100.c id5100.c perseus.c ic2730.c \
+ id1.c id31.c id51.c id52plus.c id4100.c id5100.c perseus.c ic2730.c \
ic707.c ic728.c ic751.c ic761.c \
ic78.c ic7800.c ic785x.c \
ic7000.c ic7100.c ic7200.c ic7300.c ic7600.c ic7610.c ic7700.c ic7760.c icf8101.c \
diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c
index 85686a68b..9c8d104e1 100644
--- a/rigs/icom/icom.c
+++ b/rigs/icom/icom.c
@@ -10168,6 +10168,7 @@ DECLARE_INITRIG_BACKEND(icom)
rig_register(&id1_caps);
rig_register(&id31_caps);
rig_register(&id51_caps);
+ rig_register(&id52plus_caps);
rig_register(&id4100_caps);
rig_register(&id5100_caps);
rig_register(&ic2730_caps);
diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h
index e9636a1db..2740ddf35 100644
--- a/rigs/icom/icom.h
+++ b/rigs/icom/icom.h
@@ -509,6 +509,7 @@ extern struct rig_caps ic92d_caps;
extern struct rig_caps id1_caps;
extern struct rig_caps id31_caps;
extern struct rig_caps id51_caps;
+extern struct rig_caps id52plus_caps;
extern struct rig_caps id4100_caps;
extern struct rig_caps id5100_caps;
extern struct rig_caps ic2730_caps;
diff --git a/rigs/icom/id52plus.c b/rigs/icom/id52plus.c
new file mode 100644
index 000000000..9acd00c6b
--- /dev/null
+++ b/rigs/icom/id52plus.c
@@ -0,0 +1,237 @@
+/*
+ * Hamlib CI-V backend - description of ID-52A/E PLUS and variations
+ * Copyright (c) 2015 by Stephane Fillod
+ * Copyright (c) 2019 by Malcolm Herring
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#include "hamlib/rig.h"
+#include "token.h"
+#include "icom.h"
+#include "idx_builtin.h"
+#include "icom_defs.h"
+#include "tones.h"
+
+/*
+ * Specs and protocol details from ID-52A_E_PLUS_ENG_CI-V_0.pdf
+ *
+ * The ID-52A/E PLUS connects via USB Type-C which provides a serial port.
+ * CI-V address is 0xB4 (from PDF data format section).
+ *
+ * Operating modes: FM (05 01), FM-N (05 02), DV (17 01), AM (02 01), AM-N (02 02)
+ * Power levels: S-Low, Low1, Low2, Mid, High (5 levels)
+ * Attenuator: OFF, 10dB (375-479 MHz), 30dB (108-374.995 MHz)
+ */
+
+#define ID52PLUS_MODES (RIG_MODE_FM|RIG_MODE_DSTAR)
+#define ID52PLUS_ALL_RX_MODES (RIG_MODE_AM|RIG_MODE_AMN|ID52PLUS_MODES)
+
+#define ID52PLUS_VFO_ALL (RIG_VFO_MAIN|RIG_VFO_SUB)
+
+#define ID52PLUS_SCAN_OPS RIG_SCAN_NONE
+
+#define ID52PLUS_VFO_OPS RIG_OP_NONE
+
+#define ID52PLUS_FUNC_ALL ( \
+ RIG_FUNC_TONE| \
+ RIG_FUNC_TSQL| \
+ RIG_FUNC_CSQL| \
+ RIG_FUNC_DSQL| \
+ RIG_FUNC_VOX)
+
+#define ID52PLUS_LEVEL_ALL (RIG_LEVEL_AF| \
+ RIG_LEVEL_SQL| \
+ RIG_LEVEL_RAWSTR| \
+ RIG_LEVEL_RFPOWER| \
+ RIG_LEVEL_MICGAIN| \
+ RIG_LEVEL_VOXGAIN| \
+ RIG_LEVEL_ATT)
+
+#define ID52PLUS_PARM_ALL RIG_PARM_NONE
+
+int id52plus_tokens[] = { TOK_DSTAR_DSQL, TOK_DSTAR_CALL_SIGN, TOK_DSTAR_MESSAGE, TOK_DSTAR_STATUS,
+ TOK_DSTAR_GPS_DATA, TOK_DSTAR_GPS_MESS, TOK_DSTAR_CODE, TOK_DSTAR_TX_DATA,
+ TOK_DSTAR_MY_CS, TOK_DSTAR_TX_CS, TOK_DSTAR_TX_MESS,
+ TOK_BACKEND_NONE
+ };
+
+/*
+ * S-meter calibration from CI-V command 15 02:
+ * Response range: 00 00 to 02 55 (S0 to S9)
+ */
+#define ID52PLUS_STR_CAL UNKNOWN_IC_STR_CAL
+
+
+
+/*
+ * ID-52A/E PLUS private capabilities
+ * CI-V Address: 0xB4 (from PDF: "FE FE B4 E0...")
+ */
+static struct icom_priv_caps id52plus_priv_caps =
+{
+ 0xB4, /* default address */
+ 0, /* 731 mode */
+ 1, /* no XCHG */
+};
+
+struct rig_caps id52plus_caps =
+{
+ RIG_MODEL(RIG_MODEL_ID52PLUS),
+ .model_name = "ID-52A/E PLUS",
+ .mfg_name = "Icom",
+ .version = BACKEND_VER ".0",
+ .copyright = "LGPL",
+ .status = RIG_STATUS_BETA,
+ .rig_type = RIG_TYPE_HANDHELD,
+ .ptt_type = RIG_PTT_RIG,
+ .dcd_type = RIG_DCD_RIG,
+ .port_type = RIG_PORT_SERIAL,
+ .serial_rate_min = 4800,
+ .serial_rate_max = 19200,
+ .serial_data_bits = 8,
+ .serial_stop_bits = 1,
+ .serial_parity = RIG_PARITY_NONE,
+ .serial_handshake = RIG_HANDSHAKE_NONE,
+ .write_delay = 0,
+ .post_write_delay = 0,
+ .timeout = 1000,
+ .retry = 3,
+ .has_get_func = ID52PLUS_FUNC_ALL,
+ .has_set_func = ID52PLUS_FUNC_ALL,
+ .has_get_level = ID52PLUS_LEVEL_ALL,
+ .has_set_level = RIG_LEVEL_SET(ID52PLUS_LEVEL_ALL),
+ .has_get_parm = ID52PLUS_PARM_ALL,
+ .has_set_parm = ID52PLUS_PARM_ALL,
+ .level_gran = {
+ [LVL_RAWSTR] = { .min = { .i = 0 }, .max = { .i = 255 } },
+ [LVL_AF] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/40.0f } },
+ [LVL_SQL] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/11.0f } },
+ [LVL_RFPOWER] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/5.0f } },
+ [LVL_MICGAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/4.0f } },
+ [LVL_VOXGAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/11.0f } },
+ },
+ .ext_tokens = id52plus_tokens,
+ .extparms = icom_ext_parms,
+ .parm_gran = {},
+ .ctcss_list = common_ctcss_list,
+ .dcs_list = full_dcs_list,
+ .preamp = { RIG_DBLST_END, },
+ .attenuator = { 10, 30, RIG_DBLST_END, },
+ .max_rit = Hz(0),
+ .max_xit = Hz(0),
+ .max_ifshift = Hz(0),
+ .targetable_vfo = 0,
+ .vfo_ops = ID52PLUS_VFO_OPS,
+ .scan_ops = ID52PLUS_SCAN_OPS,
+ .transceive = RIG_TRN_RIG,
+ .bank_qty = 0,
+ .chan_desc_sz = 0,
+
+ .chan_list = {
+ // There's no memory support through CI-V,
+ // but there is a clone mode apart.
+ RIG_CHAN_END,
+ },
+
+ /* Europe version - rx_range_list1, tx_range_list1 */
+ .rx_range_list1 = {
+ {MHz(108), MHz(174), ID52PLUS_ALL_RX_MODES, -1, -1, ID52PLUS_VFO_ALL},
+ {MHz(375), MHz(550), ID52PLUS_ALL_RX_MODES, -1, -1, ID52PLUS_VFO_ALL},
+ RIG_FRNG_END,
+ },
+ .tx_range_list1 = {
+ {MHz(144), MHz(146), ID52PLUS_MODES, W(0.5), W(5), ID52PLUS_VFO_ALL},
+ {MHz(430), MHz(440), ID52PLUS_MODES, W(0.5), W(5), ID52PLUS_VFO_ALL},
+ RIG_FRNG_END,
+ },
+
+ /* USA version - rx_range_list2, tx_range_list2 */
+ .rx_range_list2 = {
+ {MHz(108), MHz(174), ID52PLUS_ALL_RX_MODES, -1, -1, ID52PLUS_VFO_ALL},
+ {MHz(375), MHz(550), ID52PLUS_ALL_RX_MODES, -1, -1, ID52PLUS_VFO_ALL},
+ RIG_FRNG_END,
+ },
+ .tx_range_list2 = {
+ {MHz(144), MHz(148), ID52PLUS_MODES, W(0.5), W(5), ID52PLUS_VFO_ALL},
+ {MHz(430), MHz(450), ID52PLUS_MODES, W(0.5), W(5), ID52PLUS_VFO_ALL},
+ RIG_FRNG_END,
+ },
+
+ .tuning_steps = {
+ // Rem: no support for changing tuning step
+ {RIG_MODE_ALL, 1},
+ RIG_TS_END,
+ },
+
+ /* mode/filter list, remember: order matters! */
+ .filters = {
+ {RIG_MODE_FM | RIG_MODE_AM, kHz(12)},
+ {RIG_MODE_FM | RIG_MODE_AM, kHz(6)},
+ {RIG_MODE_AMN, kHz(6)},
+ {RIG_MODE_DSTAR, kHz(6)},
+ RIG_FLT_END,
+ },
+ .str_cal = ID52PLUS_STR_CAL,
+
+ .cfgparams = icom_cfg_params,
+ .set_conf = icom_set_conf,
+ .get_conf = icom_get_conf,
+
+ .priv = (void *)& id52plus_priv_caps,
+ .rig_init = icom_init,
+ .rig_cleanup = icom_cleanup,
+ .rig_open = icom_rig_open,
+ .rig_close = icom_rig_close,
+ .set_powerstat = icom_set_powerstat,
+// .get_powerstat = icom_get_powerstat, // not capable
+
+ .set_freq = icom_set_freq,
+ .get_freq = icom_get_freq,
+ .set_mode = icom_set_mode,
+ .get_mode = icom_get_mode,
+ .set_vfo = icom_set_vfo,
+
+ .decode_event = icom_decode_event,
+
+ .set_func = icom_set_func,
+ .get_func = icom_get_func,
+ .set_level = icom_set_level,
+ .get_level = icom_get_level,
+ .set_parm = icom_set_parm,
+ .get_parm = icom_get_parm,
+ .set_ext_parm = icom_set_ext_parm,
+ .get_ext_parm = icom_get_ext_parm,
+
+ .set_ptt = icom_set_ptt,
+ .get_ptt = icom_get_ptt,
+ .get_dcd = icom_get_dcd,
+
+ .set_rptr_shift = icom_set_rptr_shift,
+ .get_rptr_shift = icom_get_rptr_shift,
+ .set_rptr_offs = icom_set_rptr_offs,
+ .get_rptr_offs = icom_get_rptr_offs,
+ .set_ctcss_tone = icom_set_ctcss_tone,
+ .get_ctcss_tone = icom_get_ctcss_tone,
+ .set_dcs_code = icom_set_dcs_code,
+ .get_dcs_code = icom_get_dcs_code,
+ .set_ctcss_sql = icom_set_ctcss_sql,
+ .get_ctcss_sql = icom_get_ctcss_sql,
+ .set_dcs_sql = icom_set_dcs_sql,
+ .get_dcs_sql = icom_get_dcs_sql,
+ .hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
+};
-----------------------------------------------------------------------
Summary of changes:
NEWS | 1 +
bindings/python/test_Hamlib_class.py | 1 +
include/hamlib/riglist.h | 1 +
rigs/icom/Makefile.am | 2 +-
rigs/icom/icom.c | 1 +
rigs/icom/icom.h | 1 +
rigs/icom/{id51.c => id52plus.c} | 106 ++++++++++++++++++++---------------
7 files changed, 67 insertions(+), 46 deletions(-)
copy rigs/icom/{id51.c => id52plus.c} (59%)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-12-10 18:32: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, master has been updated
via bb39a8f73d07766925dd61b6628146983a31a3a7 (commit)
via cb3fbbb8b859f469a7e167e575a8b6466b1d9960 (commit)
via d997bbd7b1f9057ad44fe99631f708ed15c352d6 (commit)
from 1d7f7591d9d87e7d4cbb86e03f0acc789d2c6db9 (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 bb39a8f73d07766925dd61b6628146983a31a3a7
Author: Nate Bargmann <n0...@n0...>
Date: Wed Dec 10 09:51:09 2025 -0600
Add ID52+ to Python test class
diff --git a/bindings/python/test_Hamlib_class.py b/bindings/python/test_Hamlib_class.py
index 3ee2df26d..384dae35c 100755
--- a/bindings/python/test_Hamlib_class.py
+++ b/bindings/python/test_Hamlib_class.py
@@ -766,6 +766,7 @@ class TestClass:
'RIG_MODEL_ID4100',
'RIG_MODEL_ID51',
'RIG_MODEL_ID5100',
+'RIG_MODEL_ID52PLUS',
'RIG_MODEL_JST145',
'RIG_MODEL_JST245',
'RIG_MODEL_K2',
commit cb3fbbb8b859f469a7e167e575a8b6466b1d9960
Merge: 1d7f7591d d997bbd7b
Author: Nate Bargmann <n0...@n0...>
Date: Wed Dec 10 09:42:21 2025 -0600
Merge GitHub PR #1960
commit d997bbd7b1f9057ad44fe99631f708ed15c352d6
Author: Martin <ma...@ma...>
Date: Mon Dec 8 21:38:49 2025 +0100
add Icom ID-52A/E Plus
diff --git a/include/hamlib/riglist.h b/include/hamlib/riglist.h
index 3c59390e4..3a70ad854 100644
--- a/include/hamlib/riglist.h
+++ b/include/hamlib/riglist.h
@@ -348,6 +348,7 @@
#define RIG_MODEL_IC905 RIG_MAKE_MODEL(RIG_ICOM, 90)
#define RIG_MODEL_X6200 RIG_MAKE_MODEL(RIG_ICOM, 91) /* Xiegu X6200 */
#define RIG_MODEL_IC7760 RIG_MAKE_MODEL(RIG_ICOM, 92)
+#define RIG_MODEL_ID52PLUS RIG_MAKE_MODEL(RIG_ICOM, 93)
/*
* Optoelectronics (CI-V)
diff --git a/rigs/icom/Makefile.am b/rigs/icom/Makefile.am
index 38b3fd7e9..598581017 100644
--- a/rigs/icom/Makefile.am
+++ b/rigs/icom/Makefile.am
@@ -6,7 +6,7 @@ ICOMSRC = icom.c icom.h icom_defs.h icom_alt_agc.c icom_alt_agc.h frame.c frame.
ic736.c ic738.c ic7410.c ic746.c ic703.c ic726.c ic271.c \
ic765.c ic781.c ic471.c icr9000.c icr9500.c \
icr10.c icr20.c icr30.c icr6.c icr71.c icr72.c icr75.c icrx7.c icr8600.c \
- id1.c id31.c id51.c id4100.c id5100.c perseus.c ic2730.c \
+ id1.c id31.c id51.c id52plus.c id4100.c id5100.c perseus.c ic2730.c \
ic707.c ic728.c ic751.c ic761.c \
ic78.c ic7800.c ic785x.c \
ic7000.c ic7100.c ic7200.c ic7300.c ic7600.c ic7610.c ic7700.c ic7760.c icf8101.c \
diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c
index 85686a68b..9c8d104e1 100644
--- a/rigs/icom/icom.c
+++ b/rigs/icom/icom.c
@@ -10168,6 +10168,7 @@ DECLARE_INITRIG_BACKEND(icom)
rig_register(&id1_caps);
rig_register(&id31_caps);
rig_register(&id51_caps);
+ rig_register(&id52plus_caps);
rig_register(&id4100_caps);
rig_register(&id5100_caps);
rig_register(&ic2730_caps);
diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h
index e9636a1db..2740ddf35 100644
--- a/rigs/icom/icom.h
+++ b/rigs/icom/icom.h
@@ -509,6 +509,7 @@ extern struct rig_caps ic92d_caps;
extern struct rig_caps id1_caps;
extern struct rig_caps id31_caps;
extern struct rig_caps id51_caps;
+extern struct rig_caps id52plus_caps;
extern struct rig_caps id4100_caps;
extern struct rig_caps id5100_caps;
extern struct rig_caps ic2730_caps;
diff --git a/rigs/icom/id52plus.c b/rigs/icom/id52plus.c
new file mode 100644
index 000000000..9acd00c6b
--- /dev/null
+++ b/rigs/icom/id52plus.c
@@ -0,0 +1,237 @@
+/*
+ * Hamlib CI-V backend - description of ID-52A/E PLUS and variations
+ * Copyright (c) 2015 by Stephane Fillod
+ * Copyright (c) 2019 by Malcolm Herring
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#include "hamlib/rig.h"
+#include "token.h"
+#include "icom.h"
+#include "idx_builtin.h"
+#include "icom_defs.h"
+#include "tones.h"
+
+/*
+ * Specs and protocol details from ID-52A_E_PLUS_ENG_CI-V_0.pdf
+ *
+ * The ID-52A/E PLUS connects via USB Type-C which provides a serial port.
+ * CI-V address is 0xB4 (from PDF data format section).
+ *
+ * Operating modes: FM (05 01), FM-N (05 02), DV (17 01), AM (02 01), AM-N (02 02)
+ * Power levels: S-Low, Low1, Low2, Mid, High (5 levels)
+ * Attenuator: OFF, 10dB (375-479 MHz), 30dB (108-374.995 MHz)
+ */
+
+#define ID52PLUS_MODES (RIG_MODE_FM|RIG_MODE_DSTAR)
+#define ID52PLUS_ALL_RX_MODES (RIG_MODE_AM|RIG_MODE_AMN|ID52PLUS_MODES)
+
+#define ID52PLUS_VFO_ALL (RIG_VFO_MAIN|RIG_VFO_SUB)
+
+#define ID52PLUS_SCAN_OPS RIG_SCAN_NONE
+
+#define ID52PLUS_VFO_OPS RIG_OP_NONE
+
+#define ID52PLUS_FUNC_ALL ( \
+ RIG_FUNC_TONE| \
+ RIG_FUNC_TSQL| \
+ RIG_FUNC_CSQL| \
+ RIG_FUNC_DSQL| \
+ RIG_FUNC_VOX)
+
+#define ID52PLUS_LEVEL_ALL (RIG_LEVEL_AF| \
+ RIG_LEVEL_SQL| \
+ RIG_LEVEL_RAWSTR| \
+ RIG_LEVEL_RFPOWER| \
+ RIG_LEVEL_MICGAIN| \
+ RIG_LEVEL_VOXGAIN| \
+ RIG_LEVEL_ATT)
+
+#define ID52PLUS_PARM_ALL RIG_PARM_NONE
+
+int id52plus_tokens[] = { TOK_DSTAR_DSQL, TOK_DSTAR_CALL_SIGN, TOK_DSTAR_MESSAGE, TOK_DSTAR_STATUS,
+ TOK_DSTAR_GPS_DATA, TOK_DSTAR_GPS_MESS, TOK_DSTAR_CODE, TOK_DSTAR_TX_DATA,
+ TOK_DSTAR_MY_CS, TOK_DSTAR_TX_CS, TOK_DSTAR_TX_MESS,
+ TOK_BACKEND_NONE
+ };
+
+/*
+ * S-meter calibration from CI-V command 15 02:
+ * Response range: 00 00 to 02 55 (S0 to S9)
+ */
+#define ID52PLUS_STR_CAL UNKNOWN_IC_STR_CAL
+
+
+
+/*
+ * ID-52A/E PLUS private capabilities
+ * CI-V Address: 0xB4 (from PDF: "FE FE B4 E0...")
+ */
+static struct icom_priv_caps id52plus_priv_caps =
+{
+ 0xB4, /* default address */
+ 0, /* 731 mode */
+ 1, /* no XCHG */
+};
+
+struct rig_caps id52plus_caps =
+{
+ RIG_MODEL(RIG_MODEL_ID52PLUS),
+ .model_name = "ID-52A/E PLUS",
+ .mfg_name = "Icom",
+ .version = BACKEND_VER ".0",
+ .copyright = "LGPL",
+ .status = RIG_STATUS_BETA,
+ .rig_type = RIG_TYPE_HANDHELD,
+ .ptt_type = RIG_PTT_RIG,
+ .dcd_type = RIG_DCD_RIG,
+ .port_type = RIG_PORT_SERIAL,
+ .serial_rate_min = 4800,
+ .serial_rate_max = 19200,
+ .serial_data_bits = 8,
+ .serial_stop_bits = 1,
+ .serial_parity = RIG_PARITY_NONE,
+ .serial_handshake = RIG_HANDSHAKE_NONE,
+ .write_delay = 0,
+ .post_write_delay = 0,
+ .timeout = 1000,
+ .retry = 3,
+ .has_get_func = ID52PLUS_FUNC_ALL,
+ .has_set_func = ID52PLUS_FUNC_ALL,
+ .has_get_level = ID52PLUS_LEVEL_ALL,
+ .has_set_level = RIG_LEVEL_SET(ID52PLUS_LEVEL_ALL),
+ .has_get_parm = ID52PLUS_PARM_ALL,
+ .has_set_parm = ID52PLUS_PARM_ALL,
+ .level_gran = {
+ [LVL_RAWSTR] = { .min = { .i = 0 }, .max = { .i = 255 } },
+ [LVL_AF] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/40.0f } },
+ [LVL_SQL] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/11.0f } },
+ [LVL_RFPOWER] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/5.0f } },
+ [LVL_MICGAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/4.0f } },
+ [LVL_VOXGAIN] = { .min = { .f = 0 }, .max = { .f = 1.0 }, .step = { .f = 1.0f/11.0f } },
+ },
+ .ext_tokens = id52plus_tokens,
+ .extparms = icom_ext_parms,
+ .parm_gran = {},
+ .ctcss_list = common_ctcss_list,
+ .dcs_list = full_dcs_list,
+ .preamp = { RIG_DBLST_END, },
+ .attenuator = { 10, 30, RIG_DBLST_END, },
+ .max_rit = Hz(0),
+ .max_xit = Hz(0),
+ .max_ifshift = Hz(0),
+ .targetable_vfo = 0,
+ .vfo_ops = ID52PLUS_VFO_OPS,
+ .scan_ops = ID52PLUS_SCAN_OPS,
+ .transceive = RIG_TRN_RIG,
+ .bank_qty = 0,
+ .chan_desc_sz = 0,
+
+ .chan_list = {
+ // There's no memory support through CI-V,
+ // but there is a clone mode apart.
+ RIG_CHAN_END,
+ },
+
+ /* Europe version - rx_range_list1, tx_range_list1 */
+ .rx_range_list1 = {
+ {MHz(108), MHz(174), ID52PLUS_ALL_RX_MODES, -1, -1, ID52PLUS_VFO_ALL},
+ {MHz(375), MHz(550), ID52PLUS_ALL_RX_MODES, -1, -1, ID52PLUS_VFO_ALL},
+ RIG_FRNG_END,
+ },
+ .tx_range_list1 = {
+ {MHz(144), MHz(146), ID52PLUS_MODES, W(0.5), W(5), ID52PLUS_VFO_ALL},
+ {MHz(430), MHz(440), ID52PLUS_MODES, W(0.5), W(5), ID52PLUS_VFO_ALL},
+ RIG_FRNG_END,
+ },
+
+ /* USA version - rx_range_list2, tx_range_list2 */
+ .rx_range_list2 = {
+ {MHz(108), MHz(174), ID52PLUS_ALL_RX_MODES, -1, -1, ID52PLUS_VFO_ALL},
+ {MHz(375), MHz(550), ID52PLUS_ALL_RX_MODES, -1, -1, ID52PLUS_VFO_ALL},
+ RIG_FRNG_END,
+ },
+ .tx_range_list2 = {
+ {MHz(144), MHz(148), ID52PLUS_MODES, W(0.5), W(5), ID52PLUS_VFO_ALL},
+ {MHz(430), MHz(450), ID52PLUS_MODES, W(0.5), W(5), ID52PLUS_VFO_ALL},
+ RIG_FRNG_END,
+ },
+
+ .tuning_steps = {
+ // Rem: no support for changing tuning step
+ {RIG_MODE_ALL, 1},
+ RIG_TS_END,
+ },
+
+ /* mode/filter list, remember: order matters! */
+ .filters = {
+ {RIG_MODE_FM | RIG_MODE_AM, kHz(12)},
+ {RIG_MODE_FM | RIG_MODE_AM, kHz(6)},
+ {RIG_MODE_AMN, kHz(6)},
+ {RIG_MODE_DSTAR, kHz(6)},
+ RIG_FLT_END,
+ },
+ .str_cal = ID52PLUS_STR_CAL,
+
+ .cfgparams = icom_cfg_params,
+ .set_conf = icom_set_conf,
+ .get_conf = icom_get_conf,
+
+ .priv = (void *)& id52plus_priv_caps,
+ .rig_init = icom_init,
+ .rig_cleanup = icom_cleanup,
+ .rig_open = icom_rig_open,
+ .rig_close = icom_rig_close,
+ .set_powerstat = icom_set_powerstat,
+// .get_powerstat = icom_get_powerstat, // not capable
+
+ .set_freq = icom_set_freq,
+ .get_freq = icom_get_freq,
+ .set_mode = icom_set_mode,
+ .get_mode = icom_get_mode,
+ .set_vfo = icom_set_vfo,
+
+ .decode_event = icom_decode_event,
+
+ .set_func = icom_set_func,
+ .get_func = icom_get_func,
+ .set_level = icom_set_level,
+ .get_level = icom_get_level,
+ .set_parm = icom_set_parm,
+ .get_parm = icom_get_parm,
+ .set_ext_parm = icom_set_ext_parm,
+ .get_ext_parm = icom_get_ext_parm,
+
+ .set_ptt = icom_set_ptt,
+ .get_ptt = icom_get_ptt,
+ .get_dcd = icom_get_dcd,
+
+ .set_rptr_shift = icom_set_rptr_shift,
+ .get_rptr_shift = icom_get_rptr_shift,
+ .set_rptr_offs = icom_set_rptr_offs,
+ .get_rptr_offs = icom_get_rptr_offs,
+ .set_ctcss_tone = icom_set_ctcss_tone,
+ .get_ctcss_tone = icom_get_ctcss_tone,
+ .set_dcs_code = icom_set_dcs_code,
+ .get_dcs_code = icom_get_dcs_code,
+ .set_ctcss_sql = icom_set_ctcss_sql,
+ .get_ctcss_sql = icom_get_ctcss_sql,
+ .set_dcs_sql = icom_set_dcs_sql,
+ .get_dcs_sql = icom_get_dcs_sql,
+ .hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
+};
-----------------------------------------------------------------------
Summary of changes:
bindings/python/test_Hamlib_class.py | 1 +
include/hamlib/riglist.h | 1 +
rigs/icom/Makefile.am | 2 +-
rigs/icom/icom.c | 1 +
rigs/icom/icom.h | 1 +
rigs/icom/{id51.c => id52plus.c} | 106 ++++++++++++++++++++---------------
6 files changed, 66 insertions(+), 46 deletions(-)
copy rigs/icom/{id51.c => id52plus.c} (59%)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-12-09 22:27:12
|
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.7 has been updated
via 81aff30954e799a49a176989b207049d7ae72b0d (commit)
from 05429187231c8a89c7523e9a300bf28f398e781e (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 81aff30954e799a49a176989b207049d7ae72b0d
Author: Nate Bargmann <n0...@n0...>
Date: Tue Dec 9 16:26:14 2025 -0600
Update NEWS for QMX and IC-F8101
diff --git a/NEWS b/NEWS
index bc9716936..2ce918c5b 100644
--- a/NEWS
+++ b/NEWS
@@ -13,7 +13,7 @@ Version 5.x -- future
* Change FT1000MP Mark V model names to align with FT1000MP
Version 4.7.0
- * 2025-12-01 (target)
+ * 2025-12-21 (target)
* Revamp Kenwood voice memory handler - Fixes TS-890S & TS-990S (n3gb)
* libusb is now detected using the pkg-config facility.
* Some internal functions change names to avoid conflicts with apps.
@@ -38,6 +38,8 @@ Version 4.7.0
* New Drake R8 backend. (TNX Mark Fine)
* New AF6SA WRC rotator backend. (TNX Michael Morgan)
* New Yaesu FTX-1 model support (alpha). (TNX Jeremy Miller).
+ * Update QRPLabs QMX backend for max serial rate of 230400 bps. (TNX Mooneer Salem)
+ * Updates to Icom IC-F8101. (TNX Mitchell Winkle and George Baltz)
Version 4.6.5
* 2025-09-05
-----------------------------------------------------------------------
Summary of changes:
NEWS | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-12-09 22:20: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.7 has been updated
via 05429187231c8a89c7523e9a300bf28f398e781e (commit)
from a67f9488a0065a848fc217b592e9656dd77e3bc3 (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 05429187231c8a89c7523e9a300bf28f398e781e
Author: George Baltz N3GB <Geo...@gm...>
Date: Sun Dec 7 20:32:17 2025 -0500
First round of IC-F8101 updates
Thanks to AB4MW for driving this
See Issue #1954
(cherry picked from commit 1d7f7591d9d87e7d4cbb86e03f0acc789d2c6db9)
diff --git a/rigs/icom/icf8101.c b/rigs/icom/icf8101.c
index ade718c67..c62f72a81 100644
--- a/rigs/icom/icf8101.c
+++ b/rigs/icom/icf8101.c
@@ -69,17 +69,31 @@ static int icf8101_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
rig_debug(RIG_DEBUG_VERBOSE, "%s: vfo=%s, mode=%s, width=%d\n", __func__,
rig_strvfo(vfo), rig_strrmode(mode), (int)width);
+ modebuf[0] = 0;
switch (mode)
{
- case RIG_MODE_LSB: modebuf[0] = 0x00; modebuf[1] = 0x00; break;
+ case RIG_MODE_LSB: modebuf[1] = 0x00; break;
- case RIG_MODE_USB: modebuf[0] = 0x00; modebuf[1] = 0x01; break;
+ case RIG_MODE_USB: modebuf[1] = 0x01; break;
- case RIG_MODE_AM: modebuf[0] = 0x00; modebuf[1] = 0x02; break;
+ case RIG_MODE_AM: modebuf[1] = 0x02; break;
- case RIG_MODE_CW: modebuf[0] = 0x00; modebuf[1] = 0x03; break;
+ case RIG_MODE_CW: modebuf[1] = 0x03; break;
- case RIG_MODE_RTTY: modebuf[0] = 0x00; modebuf[1] = 0x04; break;
+ case RIG_MODE_RTTY: modebuf[1] = 0x04; break;
+
+ // AB4MW added the 6 "D" modes for digital operation below
+ case RIG_MODE_LSBD1: modebuf[1] = 0x18; break;
+
+ case RIG_MODE_LSBD2: modebuf[1] = 0x20; break;
+
+ case RIG_MODE_LSBD3: modebuf[1] = 0x22; break;
+
+ case RIG_MODE_USBD1: modebuf[1] = 0x19; break;
+
+ case RIG_MODE_USBD2: modebuf[1] = 0x21; break;
+
+ case RIG_MODE_USBD3: modebuf[1] = 0x23; break;
default:
rig_debug(RIG_DEBUG_ERR, "%s: unknown mode of '%s\n", __func__,
@@ -94,17 +108,12 @@ static int icf8101_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
static int icf8101_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode,
pbwidth_t *width)
{
- int retval = icom_get_mode(rig, vfo, mode, width);
+ int retval;
unsigned char modebuf[MAXFRAMELEN];
int modebuf_len;
rig_debug(RIG_DEBUG_VERBOSE, "%s: vfo=%s\n", __func__, rig_strvfo(vfo));
- if (retval != RIG_OK)
- {
- return retval;
- }
-
retval = icom_transaction(rig, 0x1A, 0x34, NULL, 0, modebuf, &modebuf_len);
if (retval != RIG_OK)
@@ -112,9 +121,9 @@ static int icf8101_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode,
return retval;
}
- dump_hex(modebuf, modebuf_len);
+ //dump_hex(modebuf, modebuf_len);
- switch (modebuf[1])
+ switch (modebuf[3])
{
case 0x00: *mode = RIG_MODE_LSB; break;
@@ -126,6 +135,19 @@ static int icf8101_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode,
case 0x04: *mode = RIG_MODE_RTTY; break;
+// AB4MW added the 6 "D" modes for digital operation below
+ case 0x18: *mode = RIG_MODE_LSBD1; break;
+
+ case 0x20: *mode = RIG_MODE_LSBD2; break;
+
+ case 0x22: *mode = RIG_MODE_LSBD3; break;
+
+ case 0x19: *mode = RIG_MODE_USBD1; break;
+
+ case 0x21: *mode = RIG_MODE_USBD2; break;
+
+ case 0x23: *mode = RIG_MODE_USBD3; break;
+
default:
rig_debug(RIG_DEBUG_ERR, "%s: unknown mode response=0x%02x\n", __func__,
modebuf[1]);
@@ -153,8 +175,10 @@ static int icf8101_r2i_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width,
return err;
}
-
-#define ICF8101_MODES (RIG_MODE_LSB|RIG_MODE_USB|RIG_MODE_CW|RIG_MODE_AM|RIG_MODE_RTTY)
+// AB4MW added the 6 "D" modes for digital ops
+#define ICF8101_MODES (RIG_MODE_LSB|RIG_MODE_USB|RIG_MODE_CW|RIG_MODE_AM|RIG_MODE_RTTY|\
+ RIG_MODE_USBD1|RIG_MODE_USBD2|RIG_MODE_USBD3|RIG_MODE_LSBD1|\
+ RIG_MODE_LSBD2|RIG_MODE_LSBD3)
#define ICF8101_VFO_ALL (RIG_VFO_A|RIG_VFO_B)
@@ -397,7 +421,9 @@ struct rig_caps icf8101_caps =
.dcd_type = RIG_DCD_RIG,
.port_type = RIG_PORT_SERIAL,
.serial_rate_min = 300,
- .serial_rate_max = 19200,
+// AB4MW set serial_rate_max to 38400 for this radio, which is IMPORTANT
+// if also using the log stream on the same serial port.
+ .serial_rate_max = 38400,
.serial_data_bits = 8,
.serial_stop_bits = 1,
.serial_parity = RIG_PARITY_NONE,
diff --git a/src/misc.c b/src/misc.c
index b3244b737..f7b0e8f6d 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -500,6 +500,13 @@ static const struct
{ RIG_MODE_IQ, "IQ"},
{ RIG_MODE_ISBUSB, "ISBUSB"},
{ RIG_MODE_ISBLSB, "ISBLSB"},
+// AB4MW last six rig modes added for Icom IC-F8101 data modes
+ { RIG_MODE_LSBD1, "LSBD1"},
+ { RIG_MODE_LSBD2, "LSBD2"},
+ { RIG_MODE_LSBD3, "LSBD3"},
+ { RIG_MODE_USBD1, "USBD1"},
+ { RIG_MODE_USBD2, "USBD2"},
+ { RIG_MODE_USBD3, "USBD3"},
{ RIG_MODE_NONE, "None" }, // so we can return None when NONE is requested
{ -1, "" }, // need to end list
};
-----------------------------------------------------------------------
Summary of changes:
rigs/icom/icf8101.c | 58 ++++++++++++++++++++++++++++++++++++++---------------
src/misc.c | 7 +++++++
2 files changed, 49 insertions(+), 16 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-12-09 22:17:55
|
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 1d7f7591d9d87e7d4cbb86e03f0acc789d2c6db9 (commit)
from 9373cc4a0ec493e77d08a11fec62fb02f1271f5d (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 1d7f7591d9d87e7d4cbb86e03f0acc789d2c6db9
Author: George Baltz N3GB <Geo...@gm...>
Date: Sun Dec 7 20:32:17 2025 -0500
First round of IC-F8101 updates
Thanks to AB4MW for driving this
See Issue #1954
diff --git a/rigs/icom/icf8101.c b/rigs/icom/icf8101.c
index ade718c67..c62f72a81 100644
--- a/rigs/icom/icf8101.c
+++ b/rigs/icom/icf8101.c
@@ -69,17 +69,31 @@ static int icf8101_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
rig_debug(RIG_DEBUG_VERBOSE, "%s: vfo=%s, mode=%s, width=%d\n", __func__,
rig_strvfo(vfo), rig_strrmode(mode), (int)width);
+ modebuf[0] = 0;
switch (mode)
{
- case RIG_MODE_LSB: modebuf[0] = 0x00; modebuf[1] = 0x00; break;
+ case RIG_MODE_LSB: modebuf[1] = 0x00; break;
- case RIG_MODE_USB: modebuf[0] = 0x00; modebuf[1] = 0x01; break;
+ case RIG_MODE_USB: modebuf[1] = 0x01; break;
- case RIG_MODE_AM: modebuf[0] = 0x00; modebuf[1] = 0x02; break;
+ case RIG_MODE_AM: modebuf[1] = 0x02; break;
- case RIG_MODE_CW: modebuf[0] = 0x00; modebuf[1] = 0x03; break;
+ case RIG_MODE_CW: modebuf[1] = 0x03; break;
- case RIG_MODE_RTTY: modebuf[0] = 0x00; modebuf[1] = 0x04; break;
+ case RIG_MODE_RTTY: modebuf[1] = 0x04; break;
+
+ // AB4MW added the 6 "D" modes for digital operation below
+ case RIG_MODE_LSBD1: modebuf[1] = 0x18; break;
+
+ case RIG_MODE_LSBD2: modebuf[1] = 0x20; break;
+
+ case RIG_MODE_LSBD3: modebuf[1] = 0x22; break;
+
+ case RIG_MODE_USBD1: modebuf[1] = 0x19; break;
+
+ case RIG_MODE_USBD2: modebuf[1] = 0x21; break;
+
+ case RIG_MODE_USBD3: modebuf[1] = 0x23; break;
default:
rig_debug(RIG_DEBUG_ERR, "%s: unknown mode of '%s\n", __func__,
@@ -94,17 +108,12 @@ static int icf8101_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
static int icf8101_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode,
pbwidth_t *width)
{
- int retval = icom_get_mode(rig, vfo, mode, width);
+ int retval;
unsigned char modebuf[MAXFRAMELEN];
int modebuf_len;
rig_debug(RIG_DEBUG_VERBOSE, "%s: vfo=%s\n", __func__, rig_strvfo(vfo));
- if (retval != RIG_OK)
- {
- return retval;
- }
-
retval = icom_transaction(rig, 0x1A, 0x34, NULL, 0, modebuf, &modebuf_len);
if (retval != RIG_OK)
@@ -112,9 +121,9 @@ static int icf8101_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode,
return retval;
}
- dump_hex(modebuf, modebuf_len);
+ //dump_hex(modebuf, modebuf_len);
- switch (modebuf[1])
+ switch (modebuf[3])
{
case 0x00: *mode = RIG_MODE_LSB; break;
@@ -126,6 +135,19 @@ static int icf8101_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode,
case 0x04: *mode = RIG_MODE_RTTY; break;
+// AB4MW added the 6 "D" modes for digital operation below
+ case 0x18: *mode = RIG_MODE_LSBD1; break;
+
+ case 0x20: *mode = RIG_MODE_LSBD2; break;
+
+ case 0x22: *mode = RIG_MODE_LSBD3; break;
+
+ case 0x19: *mode = RIG_MODE_USBD1; break;
+
+ case 0x21: *mode = RIG_MODE_USBD2; break;
+
+ case 0x23: *mode = RIG_MODE_USBD3; break;
+
default:
rig_debug(RIG_DEBUG_ERR, "%s: unknown mode response=0x%02x\n", __func__,
modebuf[1]);
@@ -153,8 +175,10 @@ static int icf8101_r2i_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width,
return err;
}
-
-#define ICF8101_MODES (RIG_MODE_LSB|RIG_MODE_USB|RIG_MODE_CW|RIG_MODE_AM|RIG_MODE_RTTY)
+// AB4MW added the 6 "D" modes for digital ops
+#define ICF8101_MODES (RIG_MODE_LSB|RIG_MODE_USB|RIG_MODE_CW|RIG_MODE_AM|RIG_MODE_RTTY|\
+ RIG_MODE_USBD1|RIG_MODE_USBD2|RIG_MODE_USBD3|RIG_MODE_LSBD1|\
+ RIG_MODE_LSBD2|RIG_MODE_LSBD3)
#define ICF8101_VFO_ALL (RIG_VFO_A|RIG_VFO_B)
@@ -397,7 +421,9 @@ struct rig_caps icf8101_caps =
.dcd_type = RIG_DCD_RIG,
.port_type = RIG_PORT_SERIAL,
.serial_rate_min = 300,
- .serial_rate_max = 19200,
+// AB4MW set serial_rate_max to 38400 for this radio, which is IMPORTANT
+// if also using the log stream on the same serial port.
+ .serial_rate_max = 38400,
.serial_data_bits = 8,
.serial_stop_bits = 1,
.serial_parity = RIG_PARITY_NONE,
diff --git a/src/misc.c b/src/misc.c
index b3244b737..f7b0e8f6d 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -500,6 +500,13 @@ static const struct
{ RIG_MODE_IQ, "IQ"},
{ RIG_MODE_ISBUSB, "ISBUSB"},
{ RIG_MODE_ISBLSB, "ISBLSB"},
+// AB4MW last six rig modes added for Icom IC-F8101 data modes
+ { RIG_MODE_LSBD1, "LSBD1"},
+ { RIG_MODE_LSBD2, "LSBD2"},
+ { RIG_MODE_LSBD3, "LSBD3"},
+ { RIG_MODE_USBD1, "USBD1"},
+ { RIG_MODE_USBD2, "USBD2"},
+ { RIG_MODE_USBD3, "USBD3"},
{ RIG_MODE_NONE, "None" }, // so we can return None when NONE is requested
{ -1, "" }, // need to end list
};
-----------------------------------------------------------------------
Summary of changes:
rigs/icom/icf8101.c | 58 ++++++++++++++++++++++++++++++++++++++---------------
src/misc.c | 7 +++++++
2 files changed, 49 insertions(+), 16 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-12-07 23:23: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.7 has been updated
via a67f9488a0065a848fc217b592e9656dd77e3bc3 (commit)
via 76a58d72dbc8126c492d9f911b9bb6196032664d (commit)
from c1e282fe653a390fdb6810a9ea772c0260ad05ca (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 a67f9488a0065a848fc217b592e9656dd77e3bc3
Author: Mooneer Salem <mo...@gm...>
Date: Sun Dec 7 14:05:39 2025 -0800
Confirmed 230400 works, updating PR.
(cherry picked from commit 9373cc4a0ec493e77d08a11fec62fb02f1271f5d)
diff --git a/rigs/kenwood/ts480.c b/rigs/kenwood/ts480.c
index 7f0dca9ff..443fc69de 100644
--- a/rigs/kenwood/ts480.c
+++ b/rigs/kenwood/ts480.c
@@ -1957,7 +1957,7 @@ struct rig_caps qrplabs_qmx_caps =
.dcd_type = RIG_DCD_RIG,
.port_type = RIG_PORT_SERIAL,
.serial_rate_min = 9600,
- .serial_rate_max = 115200,
+ .serial_rate_max = 230400,
.serial_data_bits = 8,
.serial_stop_bits = 1,
.serial_parity = RIG_PARITY_NONE,
commit 76a58d72dbc8126c492d9f911b9bb6196032664d
Author: Mooneer Salem <mo...@gm...>
Date: Sat Dec 6 18:08:41 2025 -0800
QRPLabs QMX: Set max baud rate to 115200
(cherry picked from commit db2306420b0e14b6bb3e33f181551d84850882fe)
diff --git a/rigs/kenwood/ts480.c b/rigs/kenwood/ts480.c
index 7cbed12a2..7f0dca9ff 100644
--- a/rigs/kenwood/ts480.c
+++ b/rigs/kenwood/ts480.c
@@ -1957,7 +1957,7 @@ struct rig_caps qrplabs_qmx_caps =
.dcd_type = RIG_DCD_RIG,
.port_type = RIG_PORT_SERIAL,
.serial_rate_min = 9600,
- .serial_rate_max = 256000,
+ .serial_rate_max = 115200,
.serial_data_bits = 8,
.serial_stop_bits = 1,
.serial_parity = RIG_PARITY_NONE,
-----------------------------------------------------------------------
Summary of changes:
rigs/kenwood/ts480.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-12-07 23:17:30
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 9373cc4a0ec493e77d08a11fec62fb02f1271f5d (commit)
via db2306420b0e14b6bb3e33f181551d84850882fe (commit)
from a5ecc6f0b1c6ef17d8f4db4e99e341c0b553fdd5 (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 9373cc4a0ec493e77d08a11fec62fb02f1271f5d
Author: Mooneer Salem <mo...@gm...>
Date: Sun Dec 7 14:05:39 2025 -0800
Confirmed 230400 works, updating PR.
diff --git a/rigs/kenwood/ts480.c b/rigs/kenwood/ts480.c
index 7f0dca9ff..443fc69de 100644
--- a/rigs/kenwood/ts480.c
+++ b/rigs/kenwood/ts480.c
@@ -1957,7 +1957,7 @@ struct rig_caps qrplabs_qmx_caps =
.dcd_type = RIG_DCD_RIG,
.port_type = RIG_PORT_SERIAL,
.serial_rate_min = 9600,
- .serial_rate_max = 115200,
+ .serial_rate_max = 230400,
.serial_data_bits = 8,
.serial_stop_bits = 1,
.serial_parity = RIG_PARITY_NONE,
commit db2306420b0e14b6bb3e33f181551d84850882fe
Author: Mooneer Salem <mo...@gm...>
Date: Sat Dec 6 18:08:41 2025 -0800
QRPLabs QMX: Set max baud rate to 115200
diff --git a/rigs/kenwood/ts480.c b/rigs/kenwood/ts480.c
index 7cbed12a2..7f0dca9ff 100644
--- a/rigs/kenwood/ts480.c
+++ b/rigs/kenwood/ts480.c
@@ -1957,7 +1957,7 @@ struct rig_caps qrplabs_qmx_caps =
.dcd_type = RIG_DCD_RIG,
.port_type = RIG_PORT_SERIAL,
.serial_rate_min = 9600,
- .serial_rate_max = 256000,
+ .serial_rate_max = 115200,
.serial_data_bits = 8,
.serial_stop_bits = 1,
.serial_parity = RIG_PARITY_NONE,
-----------------------------------------------------------------------
Summary of changes:
rigs/kenwood/ts480.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-12-06 23:21: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 a5ecc6f0b1c6ef17d8f4db4e99e341c0b553fdd5 (commit)
via b0f73d4ce7160f545814d90a0c13ddab2a61a04b (commit)
via f434746cea6da161e747b3e32bbce518a6183460 (commit)
via 845f60c82ecc72f7e7af6435aa26525e6d3be4b8 (commit)
from a95706d3a588376d68f8521f1178f71e1e1fdea4 (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 a5ecc6f0b1c6ef17d8f4db4e99e341c0b553fdd5
Author: George Baltz N3GB <Geo...@gm...>
Date: Wed Dec 3 12:50:50 2025 -0500
Remove last traces of HAMLIB_PARAMS
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index 3b526b41c..2789f35c5 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -126,14 +126,10 @@
#endif
//! @endcond
-/* HAMLIB_PARAMS is a macro used to wrap function prototypes, so that compilers
- * that don't understand ANSI C prototypes still work, and ANSI C
- * compilers can issue warnings about type mismatches. */
//! @cond Doxygen_Suppress
-#undef HAMLIB_PARAMS
-# define HAMLIB_PARAMS(protos) protos
-# define rig_ptr_t void *
-# define amp_ptr_t void *
+// Relics from the days of char * as generic pointer
+#define rig_ptr_t void *
+#define amp_ptr_t void *
//! @endcond
#include <hamlib/rig_dll.h>
commit b0f73d4ce7160f545814d90a0c13ddab2a61a04b
Author: George Baltz N3GB <Geo...@gm...>
Date: Wed Dec 3 12:34:25 2025 -0500
And modernize rotator.h
diff --git a/include/hamlib/rotator.h b/include/hamlib/rotator.h
index 88de79fd1..aad3d3028 100644
--- a/include/hamlib/rotator.h
+++ b/include/hamlib/rotator.h
@@ -598,262 +598,254 @@ struct s_rot {
/* --------------- API function prototypes -----------------*/
extern HAMLIB_EXPORT(ROT *)
-rot_init HAMLIB_PARAMS((rot_model_t rot_model));
+rot_init(rot_model_t rot_model);
extern HAMLIB_EXPORT(int)
-rot_open HAMLIB_PARAMS((ROT *rot));
+rot_open(ROT *rot);
extern HAMLIB_EXPORT(int)
-rot_close HAMLIB_PARAMS((ROT *rot));
+rot_close(ROT *rot);
extern HAMLIB_EXPORT(int)
-rot_cleanup HAMLIB_PARAMS((ROT *rot));
+rot_cleanup(ROT *rot);
extern HAMLIB_EXPORT(int)
-rot_set_conf HAMLIB_PARAMS((ROT *rot,
- hamlib_token_t token,
- const char *val));
+rot_set_conf(ROT *rot,
+ hamlib_token_t token,
+ const char *val);
HL_DEPRECATED extern HAMLIB_EXPORT(int)
-rot_get_conf HAMLIB_PARAMS((ROT *rot,
- hamlib_token_t token,
- char *val));
+rot_get_conf(ROT *rot,
+ hamlib_token_t token,
+ char *val);
extern HAMLIB_EXPORT(int)
-rot_get_conf2 HAMLIB_PARAMS((ROT *rot,
- hamlib_token_t token,
- char *val,
- int val_len));
+rot_get_conf2(ROT *rot,
+ hamlib_token_t token,
+ char *val,
+ int val_len);
/*
* General API commands, from most primitive to least.. )
* List Set/Get functions pairs
*/
extern HAMLIB_EXPORT(int)
-rot_set_position HAMLIB_PARAMS((ROT *rot,
- azimuth_t azimuth,
- elevation_t elevation));
+rot_set_position(ROT *rot,
+ azimuth_t azimuth,
+ elevation_t elevation);
extern HAMLIB_EXPORT(int)
-rot_get_position HAMLIB_PARAMS((ROT *rot,
- azimuth_t *azimuth,
- elevation_t *elevation));
+rot_get_position(ROT *rot,
+ azimuth_t *azimuth,
+ elevation_t *elevation);
extern HAMLIB_EXPORT(int)
-rot_stop HAMLIB_PARAMS((ROT *rot));
+rot_stop(ROT *rot);
extern HAMLIB_EXPORT(int)
-rot_park HAMLIB_PARAMS((ROT *rot));
+rot_park(ROT *rot);
extern HAMLIB_EXPORT(int)
-rot_reset HAMLIB_PARAMS((ROT *rot,
- rot_reset_t reset));
+rot_reset(ROT *rot,
+ rot_reset_t reset);
extern HAMLIB_EXPORT(int)
-rot_move HAMLIB_PARAMS((ROT *rot,
- int direction,
- int speed));
+rot_move(ROT *rot,
+ int direction,
+ int speed);
extern HAMLIB_EXPORT(setting_t)
-rot_has_get_level HAMLIB_PARAMS((ROT *rot,
- setting_t level));
+rot_has_get_level(ROT *rot,
+ setting_t level);
extern HAMLIB_EXPORT(setting_t)
-rot_has_set_level HAMLIB_PARAMS((ROT *rot,
- setting_t level));
+rot_has_set_level(ROT *rot,
+ setting_t level);
extern HAMLIB_EXPORT(setting_t)
-rot_has_get_parm HAMLIB_PARAMS((ROT *rot,
- setting_t parm));
+rot_has_get_parm(ROT *rot,
+ setting_t parm);
extern HAMLIB_EXPORT(setting_t)
-rot_has_set_parm HAMLIB_PARAMS((ROT *rot,
- setting_t parm));
+rot_has_set_parm(ROT *rot,
+ setting_t parm);
extern HAMLIB_EXPORT(setting_t)
-rot_has_get_func HAMLIB_PARAMS((ROT *rot,
- setting_t func));
+rot_has_get_func(ROT *rot,
+ setting_t func);
extern HAMLIB_EXPORT(setting_t)
-rot_has_set_func HAMLIB_PARAMS((ROT *rot,
- setting_t func));
+rot_has_set_func(ROT *rot,
+ setting_t func);
extern HAMLIB_EXPORT(int)
-rot_set_func HAMLIB_PARAMS((ROT *rot,
- setting_t func,
- int status));
+rot_set_func(ROT *rot,
+ setting_t func,
+ int status);
extern HAMLIB_EXPORT(int)
-rot_get_func HAMLIB_PARAMS((ROT *rot,
- setting_t func,
- int *status));
+rot_get_func(ROT *rot,
+ setting_t func,
+ int *status);
extern HAMLIB_EXPORT(int)
-rot_set_level HAMLIB_PARAMS((ROT *rig,
- setting_t level,
- value_t val));
+rot_set_level(ROT *rig,
+ setting_t level,
+ value_t val);
extern HAMLIB_EXPORT(int)
-rot_get_level HAMLIB_PARAMS((ROT *rig,
- setting_t level,
- value_t *val));
+rot_get_level(ROT *rig,
+ setting_t level,
+ value_t *val);
extern HAMLIB_EXPORT(int)
-rot_set_parm HAMLIB_PARAMS((ROT *rig,
- setting_t parm,
- value_t val));
+rot_set_parm(ROT *rig,
+ setting_t parm,
+ value_t val);
extern HAMLIB_EXPORT(int)
-rot_get_parm HAMLIB_PARAMS((ROT *rig,
- setting_t parm,
- value_t *val));
+rot_get_parm(ROT *rig,
+ setting_t parm,
+ value_t *val);
extern HAMLIB_EXPORT(int)
-rot_set_ext_level HAMLIB_PARAMS((ROT *rig,
- hamlib_token_t token,
- value_t val));
+rot_set_ext_level(ROT *rig,
+ hamlib_token_t token,
+ value_t val);
extern HAMLIB_EXPORT(int)
-rot_get_ext_level HAMLIB_PARAMS((ROT *rig,
- hamlib_token_t token,
- value_t *val));
+rot_get_ext_level(ROT *rig,
+ hamlib_token_t token,
+ value_t *val);
extern HAMLIB_EXPORT(int)
-rot_set_ext_func HAMLIB_PARAMS((ROT *rig,
- hamlib_token_t token,
- int status));
+rot_set_ext_func(ROT *rig,
+ hamlib_token_t token,
+ int status);
extern HAMLIB_EXPORT(int)
-rot_get_ext_func HAMLIB_PARAMS((ROT *rig,
- hamlib_token_t token,
- int *status));
+rot_get_ext_func(ROT *rig,
+ hamlib_token_t token,
+ int *status);
extern HAMLIB_EXPORT(int)
-rot_set_ext_parm HAMLIB_PARAMS((ROT *rig,
- hamlib_token_t token,
- value_t val));
+rot_set_ext_parm(ROT *rig,
+ hamlib_token_t token,
+ value_t val);
extern HAMLIB_EXPORT(int)
-rot_get_ext_parm HAMLIB_PARAMS((ROT *rig,
- hamlib_token_t token,
- value_t *val));
+rot_get_ext_parm(ROT *rig,
+ hamlib_token_t token,
+ value_t *val);
extern HAMLIB_EXPORT(const char *)
-rot_get_info HAMLIB_PARAMS((ROT *rot));
+rot_get_info(ROT *rot);
extern HAMLIB_EXPORT(int)
-rot_get_status HAMLIB_PARAMS((ROT *rot,
- rot_status_t *status));
+rot_get_status(ROT *rot,
+ rot_status_t *status);
extern HAMLIB_EXPORT(int)
-rot_register HAMLIB_PARAMS((const struct rot_caps *caps));
+rot_register(const struct rot_caps *caps);
extern HAMLIB_EXPORT(int)
-rot_unregister HAMLIB_PARAMS((rot_model_t rot_model));
+rot_unregister(rot_model_t rot_model);
extern HAMLIB_EXPORT(int)
-rot_list_foreach HAMLIB_PARAMS((int (*cfunc)(const struct rot_caps *,
- rig_ptr_t),
- rig_ptr_t data));
+rot_list_foreach(int (*cfunc)(const struct rot_caps *, rig_ptr_t),
+ rig_ptr_t data);
extern HAMLIB_EXPORT(int)
-rot_load_backend HAMLIB_PARAMS((const char *be_name));
+rot_load_backend(const char *be_name);
extern HAMLIB_EXPORT(int)
-rot_check_backend HAMLIB_PARAMS((rot_model_t rot_model));
+rot_check_backend(rot_model_t rot_model);
extern HAMLIB_EXPORT(int)
-rot_load_all_backends HAMLIB_PARAMS((void));
+rot_load_all_backends(void);
extern HAMLIB_EXPORT(rot_model_t)
-rot_probe_all HAMLIB_PARAMS((hamlib_port_t *p));
+rot_probe_all(hamlib_port_t *p);
extern HAMLIB_EXPORT(int)
-rot_token_foreach HAMLIB_PARAMS((ROT *rot,
- int (*cfunc)(const struct confparams *,
- rig_ptr_t),
- rig_ptr_t data));
+rot_token_foreach(ROT *rot,
+ int (*cfunc)(const struct confparams *, rig_ptr_t),
+ rig_ptr_t data);
extern HAMLIB_EXPORT(const struct confparams *)
-rot_confparam_lookup HAMLIB_PARAMS((ROT *rot,
- const char *name));
+rot_confparam_lookup(ROT *rot,
+ const char *name);
extern HAMLIB_EXPORT(hamlib_token_t)
-rot_token_lookup HAMLIB_PARAMS((ROT *rot,
- const char *name));
+rot_token_lookup(ROT *rot,
+ const char *name);
extern HAMLIB_EXPORT(int)
-rot_ext_func_foreach HAMLIB_PARAMS((ROT *rot,
- int (*cfunc)(ROT *,
- const struct confparams *,
- rig_ptr_t),
- rig_ptr_t data));
+rot_ext_func_foreach(ROT *rot,
+ int (*cfunc)(ROT *, const struct confparams *, rig_ptr_t),
+ rig_ptr_t data);
extern HAMLIB_EXPORT(int)
-rot_ext_level_foreach HAMLIB_PARAMS((ROT *rot,
- int (*cfunc)(ROT *,
- const struct confparams *,
- rig_ptr_t),
- rig_ptr_t data));
+rot_ext_level_foreach(ROT *rot,
+ int (*cfunc)(ROT *, const struct confparams *, rig_ptr_t),
+ rig_ptr_t data);
extern HAMLIB_EXPORT(int)
-rot_ext_parm_foreach HAMLIB_PARAMS((ROT *rot,
- int (*cfunc)(ROT *,
- const struct confparams *,
- rig_ptr_t),
- rig_ptr_t data));
+rot_ext_parm_foreach(ROT *rot,
+ int (*cfunc)(ROT *, const struct confparams *, rig_ptr_t),
+ rig_ptr_t data);
extern HAMLIB_EXPORT(const struct confparams *)
-rot_ext_lookup HAMLIB_PARAMS((ROT *rot,
- const char *name));
+rot_ext_lookup(ROT *rot,
+ const char *name);
extern HAMLIB_EXPORT(const struct confparams *)
-rot_ext_lookup_tok HAMLIB_PARAMS((ROT *rot,
- hamlib_token_t token));
+rot_ext_lookup_tok(ROT *rot,
+ hamlib_token_t token);
extern HAMLIB_EXPORT(hamlib_token_t)
-rot_ext_token_lookup HAMLIB_PARAMS((ROT *rot,
- const char *name));
+rot_ext_token_lookup(ROT *rot,
+ const char *name);
extern HAMLIB_EXPORT(const struct rot_caps *)
-rot_get_caps HAMLIB_PARAMS((rot_model_t rot_model));
+rot_get_caps(rot_model_t rot_model);
extern HAMLIB_EXPORT(int)
-qrb HAMLIB_PARAMS((double lon1,
- double lat1,
- double lon2,
- double lat2,
- double *distance,
- double *azimuth));
+qrb(double lon1,
+ double lat1,
+ double lon2,
+ double lat2,
+ double *distance,
+ double *azimuth);
extern HAMLIB_EXPORT(double)
-distance_long_path HAMLIB_PARAMS((double distance));
+distance_long_path(double distance);
extern HAMLIB_EXPORT(double)
-azimuth_long_path HAMLIB_PARAMS((double azimuth));
+azimuth_long_path(double azimuth);
#if 0
extern HAMLIB_EXPORT(int)
-longlat2locator HAMLIB_PARAMS((double longitude,
- double latitude,
- char *locator_res,
- int pair_count));
+longlat2locator(double longitude,
+ double latitude,
+ char *locator_res,
+ int pair_count);
extern HAMLIB_EXPORT(int)
-locator2longlat HAMLIB_PARAMS((double *longitude,
- double *latitude,
- const char *locator));
+locator2longlat(double *longitude,
+ double *latitude,
+ const char *locator);
#endif
extern HAMLIB_EXPORT(double)
-dms2dec HAMLIB_PARAMS((int degrees,
- int minutes,
- double seconds,
- int sw));
+dms2dec(int degrees,
+ int minutes,
+ double seconds,
+ int sw);
extern HAMLIB_EXPORT(int)
-dec2dms HAMLIB_PARAMS((double dec,
- int *degrees,
- int *minutes,
- double *seconds,
- int *sw));
+dec2dms(double dec,
+ int *degrees,
+ int *minutes,
+ double *seconds,
+ int *sw);
extern HAMLIB_EXPORT(int)
-dec2dmmm HAMLIB_PARAMS((double dec,
- int *degrees,
- double *minutes,
- int *sw));
+dec2dmmm(double dec,
+ int *degrees,
+ double *minutes,
+ int *sw);
extern HAMLIB_EXPORT(double)
-dmmm2dec HAMLIB_PARAMS((int degrees,
- double minutes,
- int sw));
+dmmm2dec(int degrees,
+ double minutes,
+ int sw);
extern HAMLIB_EXPORT(setting_t) rot_parse_func(const char *s);
extern HAMLIB_EXPORT(setting_t) rot_parse_level(const char *s);
commit f434746cea6da161e747b3e32bbce518a6183460
Author: George Baltz N3GB <Geo...@gm...>
Date: Wed Dec 3 11:31:34 2025 -0500
ANSIfy amplifier.h
diff --git a/include/hamlib/amplifier.h b/include/hamlib/amplifier.h
index f49d1d37f..4029b02eb 100644
--- a/include/hamlib/amplifier.h
+++ b/include/hamlib/amplifier.h
@@ -295,36 +295,36 @@ struct amp
/* --------------- API function prototypes -----------------*/
extern HAMLIB_EXPORT(AMP *)
-amp_init HAMLIB_PARAMS((amp_model_t amp_model));
+amp_init(amp_model_t amp_model);
extern HAMLIB_EXPORT(int)
-amp_open HAMLIB_PARAMS((AMP *amp));
+amp_open(AMP *amp);
extern HAMLIB_EXPORT(int)
-amp_close HAMLIB_PARAMS((AMP *amp));
+amp_close(AMP *amp);
extern HAMLIB_EXPORT(int)
-amp_cleanup HAMLIB_PARAMS((AMP *amp));
+amp_cleanup(AMP *amp);
extern HAMLIB_EXPORT(int)
-amp_set_conf HAMLIB_PARAMS((AMP *amp,
- hamlib_token_t token,
- const char *val));
+amp_set_conf(AMP *amp,
+ hamlib_token_t token,
+ const char *val);
HL_DEPRECATED extern HAMLIB_EXPORT(int)
-amp_get_conf HAMLIB_PARAMS((AMP *amp,
- hamlib_token_t token,
- char *val));
+amp_get_conf(AMP *amp,
+ hamlib_token_t token,
+ char *val);
extern HAMLIB_EXPORT(int)
-amp_get_conf2 HAMLIB_PARAMS((AMP *amp,
- hamlib_token_t token,
- char *val,
- int val_len));
+amp_get_conf2(AMP *amp,
+ hamlib_token_t token,
+ char *val,
+ int val_len);
extern HAMLIB_EXPORT(int)
-amp_set_powerstat HAMLIB_PARAMS((AMP *amp,
- powerstat_t status));
+amp_set_powerstat(AMP *amp,
+ powerstat_t status);
extern HAMLIB_EXPORT(int)
-amp_get_powerstat HAMLIB_PARAMS((AMP *amp,
- powerstat_t *status));
+amp_get_powerstat(AMP *amp,
+ powerstat_t *status);
/*
@@ -332,93 +332,91 @@ amp_get_powerstat HAMLIB_PARAMS((AMP *amp,
* List Set/Get functions pairs
*/
extern HAMLIB_EXPORT(int)
-amp_get_freq HAMLIB_PARAMS((AMP *amp,
- freq_t *freq));
+amp_get_freq(AMP *amp,
+ freq_t *freq);
extern HAMLIB_EXPORT(int)
-amp_set_freq HAMLIB_PARAMS((AMP *amp,
- freq_t freq));
+amp_set_freq(AMP *amp,
+ freq_t freq);
extern HAMLIB_EXPORT(int)
-amp_reset HAMLIB_PARAMS((AMP *amp,
- amp_reset_t reset));
+amp_reset(AMP *amp,
+ amp_reset_t reset);
extern HAMLIB_EXPORT(const char *)
-amp_get_info HAMLIB_PARAMS((AMP *amp));
+amp_get_info(AMP *amp);
extern HAMLIB_EXPORT(int)
-amp_get_level HAMLIB_PARAMS((AMP *amp, setting_t level, value_t *val));
+amp_get_level(AMP *amp, setting_t level, value_t *val);
extern HAMLIB_EXPORT(int)
-amp_set_level HAMLIB_PARAMS((AMP *amp, setting_t level, value_t val));
+amp_set_level(AMP *amp, setting_t level, value_t val);
extern HAMLIB_EXPORT(int)
-amp_register HAMLIB_PARAMS((const struct amp_caps *caps));
+amp_register(const struct amp_caps *caps);
extern HAMLIB_EXPORT(int)
-amp_unregister HAMLIB_PARAMS((amp_model_t amp_model));
+amp_unregister(amp_model_t amp_model);
extern HAMLIB_EXPORT(int)
-amp_list_foreach HAMLIB_PARAMS((int (*cfunc)(const struct amp_caps *,
- rig_ptr_t),
- rig_ptr_t data));
+amp_list_foreach(int (*cfunc)(const struct amp_caps *, rig_ptr_t),
+ rig_ptr_t data);
extern HAMLIB_EXPORT(int)
-amp_load_backend HAMLIB_PARAMS((const char *be_name));
+amp_load_backend(const char *be_name);
extern HAMLIB_EXPORT(int)
-amp_check_backend HAMLIB_PARAMS((amp_model_t amp_model));
+amp_check_backend(amp_model_t amp_model);
extern HAMLIB_EXPORT(int)
-amp_load_all_backends HAMLIB_PARAMS((void));
+amp_load_all_backends(void);
extern HAMLIB_EXPORT(amp_model_t)
-amp_probe_all HAMLIB_PARAMS((hamlib_port_t *p));
+amp_probe_all(hamlib_port_t *p);
extern HAMLIB_EXPORT(int)
-amp_token_foreach HAMLIB_PARAMS((AMP *amp,
- int (*cfunc)(const struct confparams *,
- rig_ptr_t),
- rig_ptr_t data));
+amp_token_foreach(AMP *amp,
+ int (*cfunc)(const struct confparams *, rig_ptr_t),
+ rig_ptr_t data);
extern HAMLIB_EXPORT(const struct confparams *)
-amp_confparam_lookup HAMLIB_PARAMS((AMP *amp,
- const char *name));
+amp_confparam_lookup(AMP *amp,
+ const char *name);
extern HAMLIB_EXPORT(hamlib_token_t)
-amp_token_lookup HAMLIB_PARAMS((AMP *amp,
- const char *name));
+amp_token_lookup(AMP *amp,
+ const char *name);
extern HAMLIB_EXPORT(const struct amp_caps *)
-amp_get_caps HAMLIB_PARAMS((amp_model_t amp_model));
+amp_get_caps(amp_model_t amp_model);
extern HAMLIB_EXPORT(setting_t)
-amp_has_get_level HAMLIB_PARAMS((AMP *amp,
- setting_t level));
+amp_has_get_level(AMP *amp,
+ setting_t level);
extern HAMLIB_EXPORT(setting_t)
-amp_has_set_level HAMLIB_PARAMS((AMP *amp,
- setting_t level));
+amp_has_set_level(AMP *amp,
+ setting_t level);
extern HAMLIB_EXPORT(const struct confparams *)
-amp_ext_lookup HAMLIB_PARAMS((AMP *amp,
- const char *name));
+amp_ext_lookup(AMP *amp,
+ const char *name);
extern HAMLIB_EXPORT(int)
-amp_get_ext_level HAMLIB_PARAMS((AMP *amp,
- hamlib_token_t token,
- value_t *val));
+amp_get_ext_level(AMP *amp,
+ hamlib_token_t token,
+ value_t *val);
extern HAMLIB_EXPORT(int)
-amp_set_ext_level HAMLIB_PARAMS((AMP *amp,
- hamlib_token_t token,
- value_t val));
+amp_set_ext_level(AMP *amp,
+ hamlib_token_t token,
+ value_t val);
extern HAMLIB_EXPORT(const char *) amp_strlevel(setting_t);
extern HAMLIB_EXPORT(const struct confparams *)
-rig_ext_lookup HAMLIB_PARAMS((RIG *rig,
- const char *name));
+rig_ext_lookup(RIG *rig,
+ const char *name);
extern HAMLIB_EXPORT(setting_t) amp_parse_level(const char *s);
extern HAMLIB_EXPORT(const char *) amp_strlevel(setting_t);
commit 845f60c82ecc72f7e7af6435aa26525e6d3be4b8
Author: George Baltz N3GB <Geo...@gm...>
Date: Tue Dec 2 17:07:52 2025 -0500
Remove support for non-ANSI C compilers.
All functions in rig.h now always have full prototypes.
The gotcha in here was needing to move the prototype for rig_debug()
to before the definition of the macro with the same name. Previously
with the HAMLIB_PARAMS wrapper, the signatures didn't match; without
it the compiler tried to expand the name in the prototype as the macro,
causing syntax errors.
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index bc1e8e73f..3b526b41c 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -131,20 +131,9 @@
* compilers can issue warnings about type mismatches. */
//! @cond Doxygen_Suppress
#undef HAMLIB_PARAMS
-#if defined (__STDC__) \
- || defined (_AIX) \
- || (defined (__mips) && defined (_SYSTYPE_SVR4)) \
- || defined(__CYGWIN__) \
- || defined(_WIN32) \
- || defined(__cplusplus)
# define HAMLIB_PARAMS(protos) protos
# define rig_ptr_t void *
# define amp_ptr_t void *
-#else
-# define HAMLIB_PARAMS(protos) ()
-# define rig_ptr_t char *
-# define amp_ptr_t char *
-#endif
//! @endcond
#include <hamlib/rig_dll.h>
@@ -2682,8 +2671,8 @@ struct s_rig {
//! @cond Doxygen_Suppress
-extern HAMLIB_EXPORT(RIG *) rig_init HAMLIB_PARAMS((rig_model_t rig_model));
-extern HAMLIB_EXPORT(int) rig_open HAMLIB_PARAMS((RIG *rig));
+extern HAMLIB_EXPORT(RIG *) rig_init(rig_model_t rig_model);
+extern HAMLIB_EXPORT(int) rig_open(RIG *rig);
/*
* General API commands, from most primitive to least.. :()
@@ -2702,609 +2691,603 @@ rig_lock(RIG *rig, int lock);
#if BUILTINFUNC
#define rig_set_freq(r,v,f) rig_set_freq(r,v,f,__builtin_FUNCTION())
extern HAMLIB_EXPORT(int)
-rig_set_freq HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- freq_t freq, const char*));
+rig_set_freq(RIG *rig,
+ vfo_t vfo,
+ freq_t freq, const char*);
#else
extern HAMLIB_EXPORT(int)
-rig_set_freq HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- freq_t freq));
+rig_set_freq(RIG *rig,
+ vfo_t vfo,
+ freq_t freq);
#endif
#if BUILTINFUNC
#define rig_get_freq(r,v,f) rig_get_freq(r,v,f,__builtin_FUNCTION())
extern HAMLIB_EXPORT(int)
-rig_get_freq HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- freq_t *freq, const char*));
+rig_get_freq(RIG *rig,
+ vfo_t vfo,
+ freq_t *freq, const char*);
#else
extern HAMLIB_EXPORT(int)
-rig_get_freq HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- freq_t *freq));
+rig_get_freq(RIG *rig,
+ vfo_t vfo,
+ freq_t *freq);
#endif
extern HAMLIB_EXPORT(int)
-rig_set_mode HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- rmode_t mode,
- pbwidth_t width));
+rig_set_mode(RIG *rig,
+ vfo_t vfo,
+ rmode_t mode,
+ pbwidth_t width);
extern HAMLIB_EXPORT(int)
-rig_get_mode HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- rmode_t *mode,
- pbwidth_t *width));
+rig_get_mode(RIG *rig,
+ vfo_t vfo,
+ rmode_t *mode,
+ pbwidth_t *width);
#if BUILTINFUNC
#define rig_set_vfo(r,v) rig_set_vfo(r,v,__builtin_FUNCTION())
extern HAMLIB_EXPORT(int)
-rig_set_vfo HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo, const char *func));
+rig_set_vfo(RIG *rig,
+ vfo_t vfo, const char *func);
#else
extern HAMLIB_EXPORT(int)
-rig_set_vfo HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo));
+rig_set_vfo(RIG *rig,
+ vfo_t vfo);
#endif
extern HAMLIB_EXPORT(int)
-rig_get_vfo HAMLIB_PARAMS((RIG *rig,
- vfo_t *vfo));
+rig_get_vfo(RIG *rig,
+ vfo_t *vfo);
extern HAMLIB_EXPORT(int)
-rig_get_vfo_info HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- freq_t *freq,
- rmode_t *mode,
- pbwidth_t *width,
- split_t *split,
- int *satmode));
+rig_get_vfo_info(RIG *rig,
+ vfo_t vfo,
+ freq_t *freq,
+ rmode_t *mode,
+ pbwidth_t *width,
+ split_t *split,
+ int *satmode);
extern HAMLIB_EXPORT(int)
-rig_get_vfo_list HAMLIB_PARAMS((RIG *rig, char *buf, int buflen));
+rig_get_vfo_list(RIG *rig, char *buf, int buflen);
extern HAMLIB_EXPORT(int)
-netrigctl_get_vfo_mode HAMLIB_PARAMS((RIG *rig));
+netrigctl_get_vfo_mode(RIG *rig);
extern HAMLIB_EXPORT(int)
-rig_set_ptt HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- ptt_t ptt));
+rig_set_ptt(RIG *rig,
+ vfo_t vfo,
+ ptt_t ptt);
extern HAMLIB_EXPORT(int)
-rig_get_ptt HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- ptt_t *ptt));
+rig_get_ptt(RIG *rig,
+ vfo_t vfo,
+ ptt_t *ptt);
extern HAMLIB_EXPORT(int)
-rig_get_dcd HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- dcd_t *dcd));
+rig_get_dcd(RIG *rig,
+ vfo_t vfo,
+ dcd_t *dcd);
extern HAMLIB_EXPORT(int)
-rig_set_rptr_shift HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- rptr_shift_t rptr_shift));
+rig_set_rptr_shift(RIG *rig,
+ vfo_t vfo,
+ rptr_shift_t rptr_shift);
extern HAMLIB_EXPORT(int)
-rig_get_rptr_shift HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- rptr_shift_t *rptr_shift));
+rig_get_rptr_shift(RIG *rig,
+ vfo_t vfo,
+ rptr_shift_t *rptr_shift);
extern HAMLIB_EXPORT(int)
-rig_set_rptr_offs HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- shortfreq_t rptr_offs));
+rig_set_rptr_offs(RIG *rig,
+ vfo_t vfo,
+ shortfreq_t rptr_offs);
extern HAMLIB_EXPORT(int)
-rig_get_rptr_offs HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- shortfreq_t *rptr_offs));
+rig_get_rptr_offs(RIG *rig,
+ vfo_t vfo,
+ shortfreq_t *rptr_offs);
extern HAMLIB_EXPORT(int)
-rig_set_ctcss_tone HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- tone_t tone));
+rig_set_ctcss_tone(RIG *rig,
+ vfo_t vfo,
+ tone_t tone);
extern HAMLIB_EXPORT(int)
-rig_get_ctcss_tone HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- tone_t *tone));
+rig_get_ctcss_tone(RIG *rig,
+ vfo_t vfo,
+ tone_t *tone);
extern HAMLIB_EXPORT(int)
-rig_set_dcs_code HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- tone_t code));
+rig_set_dcs_code(RIG *rig,
+ vfo_t vfo,
+ tone_t code);
extern HAMLIB_EXPORT(int)
-rig_get_dcs_code HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- tone_t *code));
+rig_get_dcs_code(RIG *rig,
+ vfo_t vfo,
+ tone_t *code);
extern HAMLIB_EXPORT(int)
-rig_set_ctcss_sql HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- tone_t tone));
+rig_set_ctcss_sql(RIG *rig,
+ vfo_t vfo,
+ tone_t tone);
extern HAMLIB_EXPORT(int)
-rig_get_ctcss_sql HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- tone_t *tone));
+rig_get_ctcss_sql(RIG *rig,
+ vfo_t vfo,
+ tone_t *tone);
extern HAMLIB_EXPORT(int)
-rig_set_dcs_sql HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- tone_t code));
+rig_set_dcs_sql(RIG *rig,
+ vfo_t vfo,
+ tone_t code);
extern HAMLIB_EXPORT(int)
-rig_get_dcs_sql HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- tone_t *code));
+rig_get_dcs_sql(RIG *rig,
+ vfo_t vfo,
+ tone_t *code);
extern HAMLIB_EXPORT(int)
-rig_set_split_freq HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- freq_t tx_freq));
+rig_set_split_freq(RIG *rig,
+ vfo_t vfo,
+ freq_t tx_freq);
extern HAMLIB_EXPORT(int)
-rig_get_split_freq HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- freq_t *tx_freq));
+rig_get_split_freq(RIG *rig,
+ vfo_t vfo,
+ freq_t *tx_freq);
extern HAMLIB_EXPORT(int)
-rig_set_split_mode HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- rmode_t tx_mode,
- pbwidth_t tx_width));
+rig_set_split_mode(RIG *rig,
+ vfo_t vfo,
+ rmode_t tx_mode,
+ pbwidth_t tx_width);
extern HAMLIB_EXPORT(int)
-rig_get_split_mode HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- rmode_t *tx_mode,
- pbwidth_t *tx_width));
+rig_get_split_mode(RIG *rig,
+ vfo_t vfo,
+ rmode_t *tx_mode,
+ pbwidth_t *tx_width);
extern HAMLIB_EXPORT(int)
-rig_set_split_freq_mode HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- freq_t tx_freq,
- rmode_t tx_mode,
- pbwidth_t tx_width));
+rig_set_split_freq_mode(RIG *rig,
+ vfo_t vfo,
+ freq_t tx_freq,
+ rmode_t tx_mode,
+ pbwidth_t tx_width);
extern HAMLIB_EXPORT(int)
-rig_get_split_freq_mode HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- freq_t *tx_freq,
- rmode_t *tx_mode,
- pbwidth_t *tx_width));
+rig_get_split_freq_mode(RIG *rig,
+ vfo_t vfo,
+ freq_t *tx_freq,
+ rmode_t *tx_mode,
+ pbwidth_t *tx_width);
extern HAMLIB_EXPORT(int)
-rig_set_split_vfo HAMLIB_PARAMS((RIG *,
- vfo_t rx_vfo,
- split_t split,
- vfo_t tx_vfo));
+rig_set_split_vfo(RIG *rig,
+ vfo_t rx_vfo,
+ split_t split,
+ vfo_t tx_vfo);
extern HAMLIB_EXPORT(int)
-rig_get_split_vfo HAMLIB_PARAMS((RIG *,
- vfo_t rx_vfo,
- split_t *split,
- vfo_t *tx_vfo));
+rig_get_split_vfo(RIG *rig,
+ vfo_t rx_vfo,
+ split_t *split,
+ vfo_t *tx_vfo);
extern HAMLIB_EXPORT(int)
-rig_set_rit HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- shortfreq_t rit));
+rig_set_rit(RIG *rig,
+ vfo_t vfo,
+ shortfreq_t rit);
extern HAMLIB_EXPORT(int)
-rig_get_rit HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- shortfreq_t *rit));
+rig_get_rit(RIG *rig,
+ vfo_t vfo,
+ shortfreq_t *rit);
extern HAMLIB_EXPORT(int)
-rig_set_xit HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- shortfreq_t xit));
+rig_set_xit(RIG *rig,
+ vfo_t vfo,
+ shortfreq_t xit);
extern HAMLIB_EXPORT(int)
-rig_get_xit HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- shortfreq_t *xit));
+rig_get_xit(RIG *rig,
+ vfo_t vfo,
+ shortfreq_t *xit);
extern HAMLIB_EXPORT(int)
-rig_set_ts HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- shortfreq_t ts));
+rig_set_ts(RIG *rig,
+ vfo_t vfo,
+ shortfreq_t ts);
extern HAMLIB_EXPORT(int)
-rig_get_ts HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- shortfreq_t *ts));
+rig_get_ts(RIG *rig,
+ vfo_t vfo,
+ shortfreq_t *ts);
extern HAMLIB_EXPORT(int)
-rig_power2mW HAMLIB_PARAMS((RIG *rig,
- unsigned int *mwpower,
- float power,
- freq_t freq,
- rmode_t mode));
+rig_power2mW(RIG *rig,
+ unsigned int *mwpower,
+ float power,
+ freq_t freq,
+ rmode_t mode);
extern HAMLIB_EXPORT(int)
-rig_mW2power HAMLIB_PARAMS((RIG *rig,
- float *power,
- unsigned int mwpower,
- freq_t freq,
- rmode_t mode));
+rig_mW2power(RIG *rig,
+ float *power,
+ unsigned int mwpower,
+ freq_t freq,
+ rmode_t mode);
extern HAMLIB_EXPORT(shortfreq_t)
-rig_get_resolution HAMLIB_PARAMS((RIG *rig,
- rmode_t mode));
+rig_get_resolution(RIG *rig,
+ rmode_t mode);
extern HAMLIB_EXPORT(int)
-rig_set_level HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- setting_t level,
- value_t val));
+rig_set_level(RIG *rig,
+ vfo_t vfo,
+ setting_t level,
+ value_t val);
extern HAMLIB_EXPORT(int)
-rig_get_level HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- setting_t level,
- value_t *val));
+rig_get_level(RIG *rig,
+ vfo_t vfo,
+ setting_t level,
+ value_t *val);
#define rig_get_strength(r,v,s) rig_get_level((r),(v),RIG_LEVEL_STRENGTH, (value_t*)(s))
extern HAMLIB_EXPORT(int)
-rig_set_parm HAMLIB_PARAMS((RIG *rig,
- setting_t parm,
- value_t val));
+rig_set_parm(RIG *rig,
+ setting_t parm,
+ value_t val);
extern HAMLIB_EXPORT(int)
-rig_get_parm HAMLIB_PARAMS((RIG *rig,
- setting_t parm,
- value_t *val));
+rig_get_parm(RIG *rig,
+ setting_t parm,
+ value_t *val);
extern HAMLIB_EXPORT(int)
-rig_set_conf HAMLIB_PARAMS((RIG *rig,
- hamlib_token_t token,
- const char *val));
+rig_set_conf(RIG *rig,
+ hamlib_token_t token,
+ const char *val);
// deprecating rig_get_conf
HL_DEPRECATED extern HAMLIB_EXPORT(int)
-rig_get_conf HAMLIB_PARAMS((RIG *rig,
- hamlib_token_t token,
- char *val));
+rig_get_conf(RIG *rig,
+ hamlib_token_t token,
+ char *val);
extern HAMLIB_EXPORT(int)
-rig_get_conf2 HAMLIB_PARAMS((RIG *rig,
- hamlib_token_t token,
- char *val,
- int val_len));
+rig_get_conf2(RIG *rig,
+ hamlib_token_t token,
+ char *val,
+ int val_len);
extern HAMLIB_EXPORT(int)
-rig_set_powerstat HAMLIB_PARAMS((RIG *rig,
- powerstat_t status));
+rig_set_powerstat(RIG *rig,
+ powerstat_t status);
extern HAMLIB_EXPORT(int)
-rig_get_powerstat HAMLIB_PARAMS((RIG *rig,
- powerstat_t *status));
+rig_get_powerstat(RIG *rig,
+ powerstat_t *status);
extern HAMLIB_EXPORT(int)
-rig_reset HAMLIB_PARAMS((RIG *rig,
- reset_t reset)); /* dangerous! */
+rig_reset(RIG *rig,
+ reset_t reset); /* dangerous! */
extern HAMLIB_EXPORT(int)
-rig_set_ext_level HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- hamlib_token_t token,
- value_t val));
+rig_set_ext_level(RIG *rig,
+ vfo_t vfo,
+ hamlib_token_t token,
+ value_t val);
extern HAMLIB_EXPORT(int)
-rig_get_ext_level HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- hamlib_token_t token,
- value_t *val));
+rig_get_ext_level(RIG *rig,
+ vfo_t vfo,
+ hamlib_token_t token,
+ value_t *val);
extern HAMLIB_EXPORT(int)
-rig_set_ext_func HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- hamlib_token_t token,
- int status));
+rig_set_ext_func(RIG *rig,
+ vfo_t vfo,
+ hamlib_token_t token,
+ int status);
extern HAMLIB_EXPORT(int)
-rig_get_ext_func HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- hamlib_token_t token,
- int *status));
+rig_get_ext_func(RIG *rig,
+ vfo_t vfo,
+ hamlib_token_t token,
+ int *status);
extern HAMLIB_EXPORT(int)
-rig_set_ext_parm HAMLIB_PARAMS((RIG *rig,
- hamlib_token_t token,
- value_t val));
+rig_set_ext_parm(RIG *rig,
+ hamlib_token_t token,
+ value_t val);
extern HAMLIB_EXPORT(int)
-rig_get_ext_parm HAMLIB_PARAMS((RIG *rig,
- hamlib_token_t token,
- value_t *val));
+rig_get_ext_parm(RIG *rig,
+ hamlib_token_t token,
+ value_t *val);
extern HAMLIB_EXPORT(int)
-rig_ext_func_foreach HAMLIB_PARAMS((RIG *rig,
- int (*cfunc)(RIG *,
- const struct confparams *,
- rig_ptr_t),
- rig_ptr_t data));
+rig_ext_func_foreach(RIG *rig,
+ int (*cfunc)(RIG *, const struct confparams *, rig_ptr_t),
+ rig_ptr_t data);
extern HAMLIB_EXPORT(int)
-rig_ext_level_foreach HAMLIB_PARAMS((RIG *rig,
- int (*cfunc)(RIG *,
- const struct confparams *,
- rig_ptr_t),
- rig_ptr_t data));
+rig_ext_level_foreach(RIG *rig,
+ int (*cfunc)(RIG *, const struct confparams *, rig_ptr_t),
+ rig_ptr_t data);
extern HAMLIB_EXPORT(int)
-rig_ext_parm_foreach HAMLIB_PARAMS((RIG *rig,
- int (*cfunc)(RIG *,
- const struct confparams *,
- rig_ptr_t),
- rig_ptr_t data));
+rig_ext_parm_foreach(RIG *rig,
+ int (*cfunc)(RIG *, const struct confparams *, rig_ptr_t),
+ rig_ptr_t data);
extern HAMLIB_EXPORT(const struct confparams *)
-rig_ext_lookup HAMLIB_PARAMS((RIG *rig,
- const char *name));
+rig_ext_lookup(RIG *rig,
+ const char *name);
extern HAMLIB_EXPORT(const struct confparams *)
-rig_ext_lookup_tok HAMLIB_PARAMS((RIG *rig,
- hamlib_token_t token));
+rig_ext_lookup_tok(RIG *rig,
+ hamlib_token_t token);
extern HAMLIB_EXPORT(hamlib_token_t)
-rig_ext_token_lookup HAMLIB_PARAMS((RIG *rig,
- const char *name));
+rig_ext_token_lookup(RIG *rig,
+ const char *name);
extern HAMLIB_EXPORT(int)
-rig_token_foreach HAMLIB_PARAMS((RIG *rig,
- int (*cfunc)(const struct confparams *,
- rig_ptr_t),
- rig_ptr_t data));
+rig_token_foreach(RIG *rig,
+ int (*cfunc)(const struct confparams *, rig_ptr_t),
+ rig_ptr_t data);
extern HAMLIB_EXPORT(const struct confparams *)
-rig_confparam_lookup HAMLIB_PARAMS((RIG *rig,
- const char *name));
+rig_confparam_lookup(RIG *rig,
+ const char *name);
extern HAMLIB_EXPORT(hamlib_token_t)
-rig_token_lookup HAMLIB_PARAMS((RIG *rig,
- const char *name));
+rig_token_lookup(RIG *rig,
+ const char *name);
extern HAMLIB_EXPORT(int)
-rig_close HAMLIB_PARAMS((RIG *rig));
+rig_close(RIG *rig);
extern HAMLIB_EXPORT(int)
-rig_cleanup HAMLIB_PARAMS((RIG *rig));
+rig_cleanup(RIG *rig);
extern HAMLIB_EXPORT(int)
-rig_set_ant HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- ant_t ant, /* antenna */
- value_t option)); /* optional ant info */
+rig_set_ant(RIG *rig,
+ vfo_t vfo,
+ ant_t ant, /* antenna */
+ value_t option); /* optional ant info */
extern HAMLIB_EXPORT(int)
-rig_get_ant HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- ant_t ant,
- value_t *option,
- ant_t *ant_curr,
- ant_t *ant_tx,
- ant_t *ant_rx));
+rig_get_ant(RIG *rig,
+ vfo_t vfo,
+ ant_t ant,
+ value_t *option,
+ ant_t *ant_curr,
+ ant_t *ant_tx,
+ ant_t *ant_rx);
extern HAMLIB_EXPORT(setting_t)
-rig_has_get_level HAMLIB_PARAMS((RIG *rig,
- setting_t level));
+rig_has_get_level(RIG *rig,
+ setting_t level);
extern HAMLIB_EXPORT(setting_t)
-rig_has_set_level HAMLIB_PARAMS((RIG *rig,
- setting_t level));
+rig_has_set_level(RIG *rig,
+ setting_t level);
extern HAMLIB_EXPORT(setting_t)
-rig_has_get_parm HAMLIB_PARAMS((RIG *rig,
- setting_t parm));
+rig_has_get_parm(RIG *rig,
+ setting_t parm);
extern HAMLIB_EXPORT(setting_t)
-rig_has_set_parm HAMLIB_PARAMS((RIG *rig,
- setting_t parm));
+rig_has_set_parm(RIG *rig,
+ setting_t parm);
extern HAMLIB_EXPORT(setting_t)
-rig_has_get_func HAMLIB_PARAMS((RIG *rig,
- setting_t func));
+rig_has_get_func(RIG *rig,
+ setting_t func);
extern HAMLIB_EXPORT(setting_t)
-rig_has_set_func HAMLIB_PARAMS((RIG *rig,
- setting_t func));
+rig_has_set_func(RIG *rig,
+ setting_t func);
extern HAMLIB_EXPORT(int)
-rig_set_func HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- setting_t func,
- int status));
+rig_set_func(RIG *rig,
+ vfo_t vfo,
+ setting_t func,
+ int status);
extern HAMLIB_EXPORT(int)
-rig_get_func HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- setting_t func,
- int *status));
+rig_get_func(RIG *rig,
+ vfo_t vfo,
+ setting_t func,
+ int *status);
extern HAMLIB_EXPORT(int)
-rig_send_dtmf HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- const char *digits));
+rig_send_dtmf(RIG *rig,
+ vfo_t vfo,
+ const char *digits);
extern HAMLIB_EXPORT(int)
-rig_recv_dtmf HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- char *digits,
- int *length));
+rig_recv_dtmf(RIG *rig,
+ vfo_t vfo,
+ char *digits,
+ int *length);
extern HAMLIB_EXPORT(int)
-rig_send_morse HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- const char *msg));
+rig_send_morse(RIG *rig,
+ vfo_t vfo,
+ const char *msg);
extern HAMLIB_EXPORT(int)
-rig_stop_morse HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo));
+rig_stop_morse(RIG *rig,
+ vfo_t vfo);
extern HAMLIB_EXPORT(int)
-rig_wait_morse HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo));
+rig_wait_morse(RIG *rig,
+ vfo_t vfo);
extern HAMLIB_EXPORT(int)
-rig_send_voice_mem HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- int ch));
+rig_send_voice_mem(RIG *rig,
+ vfo_t vfo,
+ int ch);
extern HAMLIB_EXPORT(int)
-rig_stop_voice_mem HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo));
+rig_stop_voice_mem(RIG *rig,
+ vfo_t vfo);
extern HAMLIB_EXPORT(int)
-rig_set_bank HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- int bank));
+rig_set_bank(RIG *rig,
+ vfo_t vfo,
+ int bank);
extern HAMLIB_EXPORT(int)
-rig_set_mem HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- int ch));
+rig_set_mem(RIG *rig,
+ vfo_t vfo,
+ int ch);
extern HAMLIB_EXPORT(int)
-rig_get_mem HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- int *ch));
+rig_get_mem(RIG *rig,
+ vfo_t vfo,
+ int *ch);
extern HAMLIB_EXPORT(int)
-rig_vfo_op HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- vfo_op_t op));
+rig_vfo_op(RIG *rig,
+ vfo_t vfo,
+ vfo_op_t op);
extern HAMLIB_EXPORT(vfo_op_t)
-rig_has_vfo_op HAMLIB_PARAMS((RIG *rig,
- vfo_op_t op));
+rig_has_vfo_op(RIG *rig,
+ vfo_op_t op);
extern HAMLIB_EXPORT(int)
-rig_scan HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- scan_t scan,
- int ch));
+rig_scan(RIG *rig,
+ vfo_t vfo,
+ scan_t scan,
+ int ch);
extern HAMLIB_EXPORT(scan_t)
-rig_has_scan HAMLIB_PARAMS((RIG *rig,
- scan_t scan));
+rig_has_scan(RIG *rig,
+ scan_t scan);
extern HAMLIB_EXPORT(int)
-rig_set_channel HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- const channel_t *chan)); /* mem */
+rig_set_channel(RIG *rig,
+ vfo_t vfo,
+ const channel_t *chan); /* mem */
extern HAMLIB_EXPORT(int)
-rig_get_channel HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- channel_t *chan, int read_only));
+rig_get_channel(RIG *rig,
+ vfo_t vfo,
+ channel_t *chan,
+ int read_only);
extern HAMLIB_EXPORT(int)
-rig_set_chan_all HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- const channel_t chans[]));
+rig_set_chan_all(RIG *rig,
+ vfo_t vfo,
+ const channel_t chans[]);
extern HAMLIB_EXPORT(int)
-rig_get_chan_all HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- channel_t chans[]));
+rig_get_chan_all(RIG *rig,
+ vfo_t vfo,
+ channel_t chans[]);
extern HAMLIB_EXPORT(int)
-rig_set_chan_all_cb HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- chan_cb_t chan_cb,
- rig_ptr_t));
+rig_set_chan_all_cb(RIG *rig,
+ vfo_t vfo,
+ chan_cb_t chan_cb,
+ rig_ptr_t);
extern HAMLIB_EXPORT(int)
-rig_get_chan_all_cb HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- chan_cb_t chan_cb,
- rig_ptr_t));
+rig_get_chan_all_cb(RIG *rig,
+ vfo_t vfo,
+ chan_cb_t chan_cb,
+ rig_ptr_t);
extern HAMLIB_EXPORT(int)
-rig_set_mem_all_cb HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- chan_cb_t chan_cb,
- confval_cb_t parm_cb,
- rig_ptr_t));
+rig_set_mem_all_cb(RIG *rig,
+ vfo_t vfo,
+ chan_cb_t chan_cb,
+ confval_cb_t parm_cb,
+ rig_ptr_t);
extern HAMLIB_EXPORT(int)
-rig_get_mem_all_cb HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- chan_cb_t chan_cb,
- confval_cb_t parm_cb,
- rig_ptr_t));
+rig_get_mem_all_cb(RIG *rig,
+ vfo_t vfo,
+ chan_cb_t chan_cb,
+ confval_cb_t parm_cb,
+ rig_ptr_t);
extern HAMLIB_EXPORT(int)
-rig_set_mem_all HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- const channel_t *chan,
- const struct confparams *,
- const value_t *));
+rig_set_mem_all(RIG *rig,
+ vfo_t vfo,
+ const channel_t *chan,
+ const struct confparams *,
+ const value_t *);
extern HAMLIB_EXPORT(int)
-rig_get_mem_all HAMLIB_PARAMS((RIG *rig,
- vfo_t vfo,
- channel_t *chan,
- const struct confparams *,
- value_t *));
+rig_get_mem_all(RIG *rig,
+ vfo_t vfo,
+ channel_t *chan,
+ const struct confparams *,
+ value_t *);
extern HAMLIB_EXPORT(const chan_t *)
-rig_lookup_mem_caps HAMLIB_PARAMS((RIG *rig,
- int ch));
+rig_lookup_mem_caps(RIG *rig,
+ int ch);
extern HAMLIB_EXPORT(int)
-rig_mem_count HAMLIB_PARAMS((RIG *rig));
+rig_mem_count(RIG *rig);
HL_DEPRECATED
extern HAMLIB_EXPORT(int)
-rig_set_trn HAMLIB_PARAMS((RIG *rig,
- int trn));
+rig_set_trn(RIG *rig,
+ int trn);
HL_DEPRECATED
extern HAMLIB_EXPORT(int)
-rig_get_trn HAMLIB_PARAMS((RIG *rig,
- int *trn));
+rig_get_trn(RIG *rig,
+ int *trn);
extern HAMLIB_EXPORT(int)
-rig_set_freq_callback HAMLIB_PARAMS((RIG *,
- freq_cb_t,
- rig_ptr_t));
+rig_set_freq_callback(RIG *,
+ freq_cb_t,
+ rig_ptr_t);
extern HAMLIB_EXPORT(int)
-rig_set_mode_callback HAMLIB_PARAMS((RIG *,
- mode_cb_t,
- rig_ptr_t));
+rig_set_mode_callback(RIG *,
+ mode_cb_t,
+ rig_ptr_t);
extern HAMLIB_EXPORT(int)
-rig_set_vfo_callback HAMLIB_PARAMS((RIG *,
- vfo_cb_t,
- rig_ptr_t));
+rig_set_vfo_callback(RIG *,
+ vfo_cb_t,
+ rig_ptr_t);
extern HAMLIB_EXPORT(int)
-rig_set_ptt_callback HAMLIB_PARAMS((RIG *,
- ptt_cb_t,
- rig_ptr_t));
+rig_set_ptt_callback(RIG *,
+ ptt_cb_t,
+ rig_ptr_t);
extern HAMLIB_EXPORT(int)
-rig_set_dcd_callback HAMLIB_PARAMS((RIG *,
- dcd_cb_t,
- rig_ptr_t));
+rig_set_dcd_callback(RIG *,
+ dcd_cb_t,
+ rig_ptr_t);
extern HAMLIB_EXPORT(int)
-rig_set_pltune_callback HAMLIB_PARAMS((RIG *,
- pltune_cb_t,
- rig_ptr_t));
+rig_set_pltune_callback(RIG *,
+ pltune_cb_t,
+ rig_ptr_t);
extern HAMLIB_EXPORT(int)
-rig_set_spectrum_callback HAMLIB_PARAMS((RIG *,
- spectrum_cb_t,
- rig_ptr_t));
+rig_set_spectrum_callback(RIG *,
+ spectrum_cb_t,
+ rig_ptr_t);
extern HAMLIB_EXPORT(int)
-rig_set_twiddle HAMLIB_PARAMS((RIG *rig,
- int seconds));
+rig_set_twiddle(RIG *rig,
+ int seconds);
extern HAMLIB_EXPORT(int)
-rig_get_twiddle HAMLIB_PARAMS((RIG *rig,
- int *seconds));
+rig_get_twiddle(RIG *rig,
+ int *seconds);
extern HAMLIB_EXPORT(int)
-rig_set_uplink HAMLIB_PARAMS((RIG *rig,
- int val));
+rig_set_uplink(RIG *rig,
+ int val);
extern HAMLIB_EXPORT(const char *)
-rig_get_info HAMLIB_PARAMS((RIG *rig));
+rig_get_info(RIG *rig);
extern HAMLIB_EXPORT(struct rig_caps *)
-rig_get_caps HAMLIB_PARAMS((rig_model_t rig_model));
+rig_get_caps(rig_model_t rig_model);
extern HAMLIB_EXPORT(const freq_range_t *)
-rig_get_range HAMLIB_PARAMS((const freq_range_t *range_list,
- freq_t freq,
- rmode_t mode));
+rig_get_range(const freq_range_t *range_list,
+ freq_t freq,
+ rmode_t mode);
extern HAMLIB_EXPORT(pbwidth_t)
-rig_passband_normal HAMLIB_PARAMS((RIG *rig,
- rmode_t mode));
+rig_passband_normal(RIG *rig,
+ rmode_t mode);
extern HAMLIB_EXPORT(pbwidth_t)
-rig_passband_narrow HAMLIB_PARAMS((RIG *rig,
- rmode_t mode));
+rig_passband_narrow(RIG *rig,
+ rmode_t mode);
extern HAMLIB_EXPORT(pbwidth_t)
-rig_passband_wide HAMLIB_PARAMS((RIG *rig,
- rmode_t mode));
+rig_passband_wide(RIG *rig,
+ rmode_t mode);
extern HAMLIB_EXPORT(const char *)
-rigerror HAMLIB_PARAMS((int errnum));
+rigerror(int errnum);
extern HAMLIB_EXPORT(const char *)
-rigerror2 HAMLIB_PARAMS((int errnum));
+rigerror2(int errnum);
extern HAMLIB_EXPORT(int)
-rig_setting2idx HAMLIB_PARAMS((setting_t s));
+rig_setting2idx(setting_t s);
#define HAMLIB_SETTINGS_FILE "hamlib_settings"
@@ -3315,18 +3298,22 @@ rig_idx2setting(int i);
* Maybe "hamlib_" would have been better. Let me know. --SF
*/
extern HAMLIB_EXPORT(void)
-rig_set_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level));
+rig_set_debug(enum rig_debug_level_e debug_level);
extern HAMLIB_EXPORT(void)
-rig_get_debug HAMLIB_PARAMS((enum rig_debug_level_e *debug_level));
+rig_get_debug(enum rig_debug_level_e *debug_level);
extern HAMLIB_EXPORT(void)
-rig_set_debug_time_stamp HAMLIB_PARAMS((int flag));
+rig_set_debug_time_stamp(int flag);
#define rig_set_debug_level(level) rig_set_debug(level)
extern HAMLIB_EXPORT(int)
-rig_need_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level));
+rig_need_debug(enum rig_debug_level_e debug_level);
+
+extern HAMLIB_EXPORT(void)
+rig_debug(enum rig_debug_level_e debug_level,
+ const char *fmt, ...);
extern HAMLIB_EXPORT(void)add2debugmsgsave(const char *s);
@@ -3350,49 +3337,45 @@ extern HAMLIB_EXPORT_VAR(char) debugmsgsave3[DEBUGMSGSAVE_SIZE]; // last-2 debu
// use this instead of snprintf for automatic detection of buffer limit
#define SNPRINTF(s,n,...) { if (snprintf(s,n,##__VA_ARGS__) >= (n)) fprintf(stderr,"***** %s(%d): message truncated *****\n", __func__, __LINE__); }
-extern HAMLIB_EXPORT(void)
-rig_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level,
- const char *fmt, ...));
-
extern HAMLIB_EXPORT(vprintf_cb_t)
-rig_set_debug_callback HAMLIB_PARAMS((vprintf_cb_t cb,
- rig_ptr_t arg));
+rig_set_debug_callback(vprintf_cb_t cb,
+ rig_ptr_t arg);
extern HAMLIB_EXPORT(FILE *)
-rig_set_debug_file HAMLIB_PARAMS((FILE *stream));
+rig_set_debug_file(FILE *stream);
extern HAMLIB_EXPORT(int)
-rig_register HAMLIB_PARAMS((struct rig_caps *caps));
+rig_register(struct rig_caps *caps);
extern HAMLIB_EXPORT(int)
-rig_unregister HAMLIB_PARAMS((rig_model_t rig_model));
+rig_unregister(rig_model_t rig_model);
extern HAMLIB_EXPORT(int)
-rig_list_foreach HAMLIB_PARAMS((int (*cfunc)(const struct rig_caps *, rig_ptr_t),
- rig_ptr_t data));
+rig_list_foreach(int (*cfunc)(const struct rig_caps *, rig_ptr_t),
+ rig_ptr_t data);
extern HAMLIB_EXPORT(int)
-rig_list_foreach_model HAMLIB_PARAMS((int (*cfunc)(const rig_model_t rig_model, rig_ptr_t),
- rig_ptr_t data));
+rig_list_foreach_model(int (*cfunc)(const rig_model_t r...
[truncated message content] |
|
From: n0nb <n0...@us...> - 2025-12-06 17:19:55
|
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 a95706d3a588376d68f8521f1178f71e1e1fdea4 (commit)
from fe7fee4893f7489304ed1c42f3a6484d84bca99e (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 a95706d3a588376d68f8521f1178f71e1e1fdea4
Author: Nate Bargmann <n0...@n0...>
Date: Sat Dec 6 11:13:46 2025 -0600
Advance master branch to 5.0.0~git
Reference GitHub issue #1773. The forthcoming release will have API and
ABI changes and the ABI version is bumped to reflect that there is no
binary compatibility with prior releases.
It is planned that the 4.7.x series will be supported for some time,
possibly in parallel for a time with 5.0.x until downstream apps can
update.
diff --git a/configure.ac b/configure.ac
index 5e55c1d0f..170591879 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],[5.0.0~git],[ham...@li...],[hamlib],[http://www.hamlib.org])
#AC_INIT([PRODUCT_NAME], [Hamlib])
#AC_DEFINE([Hamlib], [PRODUCT_VERSION_RESOURCE])
@@ -76,8 +76,8 @@ AMP_BACKEND_LIST="amplifiers/elecraft amplifiers/gemini amplifiers/expert"
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=7
+ABI_VERSION=5
+ABI_REVISION=0
ABI_PATCH=0
ABI_AGE=0
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-12-06 17:11:31
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, Hamlib-4.7 has been created
at c1e282fe653a390fdb6810a9ea772c0260ad05ca (commit)
- Log -----------------------------------------------------------------
commit c1e282fe653a390fdb6810a9ea772c0260ad05ca
Author: Nate Bargmann <n0...@n0...>
Date: Sat Dec 6 11:06:44 2025 -0600
Advance to 4.7.0~rc
Reference GitHub issue #1772 preparing for the 4.7 release series which
is proposed to be a long term support series.
diff --git a/configure.ac b/configure.ac
index 5e55c1d0f..1d751277a 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.7.0~rc],[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-12-03 13:31:47
|
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 fe7fee4893f7489304ed1c42f3a6484d84bca99e (commit)
from b707b52481b9a43e480d9e3b3fb19b445f0f5f52 (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 fe7fee4893f7489304ed1c42f3a6484d84bca99e
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Tue Dec 2 22:06:42 2025 +0100
Fix typos
diff --git a/src/rig.c b/src/rig.c
index 52f81171b..68e148a11 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -237,7 +237,7 @@ static struct opened_rig_l *opened_rig_list = { NULL };
*/
//! @cond hl_static
/**
- * @brief Plain text desrciptions of Hamlib error codes.
+ * @brief Plain text descriptions of Hamlib error codes.
*
* @ingroup lib_internal
*
-----------------------------------------------------------------------
Summary of changes:
src/rig.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-11-20 13:02: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 b707b52481b9a43e480d9e3b3fb19b445f0f5f52 (commit)
via 171ee2a619dc2cffe4c100ed315e5b4568f1fe5b (commit)
via 4505a2820e07fb055c43b7821f89ed55ee495732 (commit)
via 4f14c2db8b0b31451d59c9c33280268d681811df (commit)
via 2806ef56348f6d80e6be6aa7e0fc155362b92347 (commit)
via d98073833bbe95783fcf4d45bf76017728b17472 (commit)
from 6a89902b3501a788263b6133245582ce5609fe18 (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 b707b52481b9a43e480d9e3b3fb19b445f0f5f52
Author: George Baltz N3GB <Geo...@gm...>
Date: Wed Nov 19 06:23:31 2025 -0500
Oops. Fix extra "s.
diff --git a/doc/man1/rigctl.1 b/doc/man1/rigctl.1
index 00802cdc3..782a02da5 100644
--- a/doc/man1/rigctl.1
+++ b/doc/man1/rigctl.1
@@ -760,7 +760,7 @@ Have rig transmit internal message
.RI \(aq Msgnum \(aq
.
.TP
-.BR 0xab ", " stop_voice_mem "
+.BR 0xab ", " stop_voice_mem
Stop transmision of internal message
.
.TP
diff --git a/doc/man1/rigctld.1 b/doc/man1/rigctld.1
index 1ebc72c18..60adc7e39 100644
--- a/doc/man1/rigctld.1
+++ b/doc/man1/rigctld.1
@@ -779,7 +779,7 @@ Have rig transmit internal message
.RI \(aq Msgnum \(aq
.
.TP
-.BR 0xab ", " stop_voice_mem "
+.BR 0xab ", " stop_voice_mem
Stop transmission of internal message
.
.TP
commit 171ee2a619dc2cffe4c100ed315e5b4568f1fe5b
Author: George Baltz N3GB <Geo...@gm...>
Date: Tue Nov 18 17:43:12 2025 -0500
Update NEWS
diff --git a/NEWS b/NEWS
index 0a1c50f4f..bc9716936 100644
--- a/NEWS
+++ b/NEWS
@@ -14,6 +14,7 @@ Version 5.x -- future
Version 4.7.0
* 2025-12-01 (target)
+ * Revamp Kenwood voice memory handler - Fixes TS-890S & TS-990S (n3gb)
* libusb is now detected using the pkg-config facility.
* Some internal functions change names to avoid conflicts with apps.
* POSIX threads are required to build and run Hamlib. Note that it was
commit 4505a2820e07fb055c43b7821f89ed55ee495732
Author: George Baltz N3GB <Geo...@gm...>
Date: Tue Nov 18 16:24:39 2025 -0500
Renovate Kenwood voice memory handler
Remove all model references from kenwood_send voice_mem() and
kenwood_stop_voice_mem()
Remove (almost) all model tests from initialization code - # of
voice memories determined by entry in STATE(rig)->chan_list.
diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c
index 03b97a5e9..7929a8ae5 100644
--- a/rigs/kenwood/kenwood.c
+++ b/rigs/kenwood/kenwood.c
@@ -840,18 +840,20 @@ int kenwood_init(RIG *rig)
{
struct kenwood_priv_data *priv;
struct kenwood_priv_caps *caps = kenwood_caps(rig);
+ struct rig_state *rs = STATE(rig);
+ int i;
rig_debug(RIG_DEBUG_VERBOSE, "%s called, version %s/%s\n", __func__,
BACKEND_VER, rig->caps->version);
- STATE(rig)->priv = calloc(1, sizeof(struct kenwood_priv_data));
+ rs->priv = calloc(1, sizeof(struct kenwood_priv_data));
- if (STATE(rig)->priv == NULL)
+ if (rs->priv == NULL)
{
RETURNFUNC2(-RIG_ENOMEM);
}
- priv = STATE(rig)->priv;
+ priv = rs->priv;
if (RIG_IS_XG3)
{
@@ -907,6 +909,39 @@ int kenwood_init(RIG *rig)
kenwood_mode_table[8] = RIG_MODE_PKTUSB;
}
+ /* Set up voice memory parameters */
+ priv->voice_mem_max = -1;
+ for (i = 0; i < HAMLIB_CHANLSTSIZ && !RIG_IS_CHAN_END(rs->chan_list[i]); i++)
+ {
+ if (rs->chan_list[i].type == RIG_MTYPE_VOICE)
+ {
+ priv->voice_mem_min = rs->chan_list[i].startc;
+ priv->voice_mem_max = rs->chan_list[i].endc;
+ }
+ /* Do morse mem here */
+ }
+ if (priv->voice_mem_max > 0)
+ {
+ if (RIG_IS_TS890S || RIG_IS_TS990S)
+ {
+ /* The PB01 command displays the 'Voice Message List', and we don't turn it off;
+ turning it off also cancels the message(stupid firmware!), so it has to be on
+ for the duration.
+ Maybe someday there'll be a better way, but for now, if it bothers you just hit
+ the ESC button(bottom left)
+ */
+ priv->voice_mem_enable = "PB01";
+ priv->voice_mem_start = "PB1%d5";
+ priv->voice_mem_stop = "PB1%d0";
+ }
+ else
+ {
+ //priv->voice_mem_enable = NULL;
+ priv->voice_mem_start = "PB%d";
+ priv->voice_mem_stop = "PB0";
+ }
+ }
+
RETURNFUNC2(RIG_OK);
}
@@ -5648,40 +5683,19 @@ int kenwood_send_voice_mem(RIG *rig, vfo_t vfo, int bank)
struct kenwood_priv_data *priv = STATE(rig)->priv;
ENTERFUNC;
- if (RIG_IS_TS890S || RIG_IS_TS990S)
+ if (bank < priv->voice_mem_min || bank > priv->voice_mem_max)
{
- kenwood_transaction(rig, "PB01", NULL, 0);
- }
-
-
- if ((bank < 1 || bank > 3) &&
- (rig->caps->rig_model == RIG_MODEL_TS2000
- || rig->caps->rig_model == RIG_MODEL_TS480))
- {
- rig_debug(RIG_DEBUG_ERR, "%s: TS2000/TS480 channel is from 1 to 3\n", __func__);
+ rig_debug(RIG_DEBUG_ERR, "%s: Voice channels from %d to %d, %d out of range\n", __func__,
+ (int)priv->voice_mem_min, (int)priv->voice_mem_max, bank);
RETURNFUNC(-RIG_EINVAL);
}
- // some rigs have 5 channels -- newew ones have 10 channels
- if ((bank < 1 || bank > 5)
- && (rig->caps->rig_model == RIG_MODEL_TS590SG
- || rig->caps->rig_model == RIG_MODEL_TS590S))
+ if (priv->voice_mem_enable)
{
- rig_debug(RIG_DEBUG_ERR, "%s: TS590S/SG channel is from 1 to 5\n", __func__);
- RETURNFUNC(-RIG_EINVAL);
+ kenwood_transaction(rig, priv->voice_mem_enable, NULL, 0);
}
- if (rig->caps->rig_model == RIG_MODEL_TS2000
- || (rig->caps->rig_model == RIG_MODEL_TS480
- || (rig->caps->rig_model == RIG_MODEL_TS590SG
- || rig->caps->rig_model == RIG_MODEL_TS590S)))
- {
- SNPRINTF(cmd, sizeof(cmd), "PB%d", bank);
- }
- else
- {
- SNPRINTF(cmd, sizeof(cmd), "PB1%d5", bank);
- }
+ SNPRINTF(cmd, sizeof(cmd), priv->voice_mem_start, bank);
priv->voice_bank = bank;
RETURNFUNC(kenwood_transaction(rig, cmd, NULL, 0));
@@ -5692,17 +5706,10 @@ int kenwood_stop_voice_mem(RIG *rig, vfo_t vfo)
struct kenwood_priv_data *priv = STATE(rig)->priv;
ENTERFUNC;
- if (rig->caps->rig_model == RIG_MODEL_TS2000
- || (rig->caps->rig_model == RIG_MODEL_TS480
- || (rig->caps->rig_model == RIG_MODEL_TS590SG
- || rig->caps->rig_model == RIG_MODEL_TS590S)))
- {
- SNPRINTF(cmd, sizeof(cmd), "PB0");
- }
- else
- {
- SNPRINTF(cmd, sizeof(cmd), "PB1%d0", priv->voice_bank);
- }
+ if (!priv->voice_mem_stop) { RETURNFUNC(-RIG_EINTERNAL); }
+
+ // priv->voice_bank may be unused
+ SNPRINTF(cmd, sizeof(cmd), priv->voice_mem_stop, priv->voice_bank);
RETURNFUNC(kenwood_transaction(rig, cmd, NULL, 0));
}
diff --git a/rigs/kenwood/kenwood.h b/rigs/kenwood/kenwood.h
index d20168211..229bac445 100644
--- a/rigs/kenwood/kenwood.h
+++ b/rigs/kenwood/kenwood.h
@@ -184,6 +184,8 @@ struct kenwood_priv_data
int save_k2_ext_lvl; // so we can restore to original
int save_k3_ext_lvl; // so we can restore to original -- for future use if needed
int voice_bank; /* last voice bank send for use by stop_voice_mem */
+ short voice_mem_min, voice_mem_max; // Voice channel range
+ const char *voice_mem_enable, *voice_mem_start, *voice_mem_stop; // Commands to do the thing to do
rmode_t last_mode_pc; // last mode memory for PC command
int power_now,power_min,power_max;
};
commit 4f14c2db8b0b31451d59c9c33280268d681811df
Author: George Baltz N3GB <Geo...@gm...>
Date: Tue Nov 18 14:14:45 2025 -0500
Add missing 'stop_voice_mem' to man pages.
diff --git a/doc/man1/rigctl.1 b/doc/man1/rigctl.1
index 4dbe56bec..00802cdc3 100644
--- a/doc/man1/rigctl.1
+++ b/doc/man1/rigctl.1
@@ -760,6 +760,10 @@ Have rig transmit internal message
.RI \(aq Msgnum \(aq
.
.TP
+.BR 0xab ", " stop_voice_mem "
+Stop transmision of internal message
+.
+.TP
.BR 0x8b ", " get_dcd
Get
.RI \(aq DCD \(aq
diff --git a/doc/man1/rigctld.1 b/doc/man1/rigctld.1
index ce9bbe804..1ebc72c18 100644
--- a/doc/man1/rigctld.1
+++ b/doc/man1/rigctld.1
@@ -779,6 +779,10 @@ Have rig transmit internal message
.RI \(aq Msgnum \(aq
.
.TP
+.BR 0xab ", " stop_voice_mem "
+Stop transmission of internal message
+.
+.TP
.BR 0x8b ", " get_dcd
Get
.RI \(aq DCD \(aq
commit 2806ef56348f6d80e6be6aa7e0fc155362b92347
Author: George Baltz N3GB <Geo...@gm...>
Date: Mon Nov 17 16:24:45 2025 -0500
Update Kenwood rig caps for voice memories
diff --git a/rigs/kenwood/ts2000.c b/rigs/kenwood/ts2000.c
index d18b9216b..f3964393e 100644
--- a/rigs/kenwood/ts2000.c
+++ b/rigs/kenwood/ts2000.c
@@ -1753,6 +1753,7 @@ struct rig_caps ts2000_caps =
.chan_list = {
{ 0, 299, RIG_MTYPE_MEM, TS2000_MEM_CAP },
{ 1, 3, RIG_MTYPE_MORSE },
+ { 1, 3, RIG_MTYPE_VOICE }, // Only if DRU-3A installed
RIG_CHAN_END,
},
@@ -2011,6 +2012,7 @@ struct rig_caps sdrconsole_caps =
.chan_list = {
{ 0, 299, RIG_MTYPE_MEM, TS2000_MEM_CAP },
{ 1, 3, RIG_MTYPE_MORSE },
+ //{ 1, 3, RIG_MTYPE_VOICE }, // ??? Standard or optional ???
RIG_CHAN_END,
},
diff --git a/rigs/kenwood/ts480.c b/rigs/kenwood/ts480.c
index a96a4ab22..7cbed12a2 100644
--- a/rigs/kenwood/ts480.c
+++ b/rigs/kenwood/ts480.c
@@ -1349,6 +1349,11 @@ struct rig_caps ts480_caps =
.transceive = RIG_TRN_RIG,
.agc_level_count = 3,
.agc_levels = { RIG_AGC_OFF, RIG_AGC_FAST, RIG_AGC_SLOW },
+ .chan_list = {
+ { 1, 3, RIG_MTYPE_VOICE }, // Only if VGS-1 installed
+ { 1, 3, RIG_MTYPE_MORSE },
+ RIG_CHAN_END
+ },
.rx_range_list1 = {
{kHz(100), Hz(59999999), TS480_ALL_MODES, -1, -1, TS480_VFO},
diff --git a/rigs/kenwood/ts590.c b/rigs/kenwood/ts590.c
index 168f100a4..0e21aad82 100644
--- a/rigs/kenwood/ts590.c
+++ b/rigs/kenwood/ts590.c
@@ -1748,6 +1748,7 @@ struct rig_caps ts590_caps =
.chan_list = { /* TBC */
{ 0, 89, RIG_MTYPE_MEM, TS590_CHANNEL_CAPS },
{ 90, 99, RIG_MTYPE_EDGE, TS590_CHANNEL_CAPS },
+ { 1, 4, RIG_MTYPE_VOICE },
RIG_CHAN_END,
},
@@ -1919,6 +1920,8 @@ struct rig_caps ts590_caps =
.send_morse = kenwood_send_morse,
.stop_morse = kenwood_stop_morse,
.wait_morse = rig_wait_morse,
+ .send_voice_mem = kenwood_send_voice_mem,
+ .stop_voice_mem = kenwood_stop_voice_mem,
.set_mem = kenwood_set_mem,
.get_mem = kenwood_get_mem,
.vfo_ops = TS590_VFO_OPS,
@@ -1969,6 +1972,7 @@ struct rig_caps fx4_caps =
.chan_list = { /* TBC */
{ 0, 89, RIG_MTYPE_MEM, TS590_CHANNEL_CAPS },
{ 90, 99, RIG_MTYPE_EDGE, TS590_CHANNEL_CAPS },
+ { 1, 4, RIG_MTYPE_VOICE }, //??? Standard ???
RIG_CHAN_END,
},
@@ -2180,6 +2184,7 @@ struct rig_caps ts590sg_caps =
{ 0, 89, RIG_MTYPE_MEM, TS590_CHANNEL_CAPS },
{ 90, 99, RIG_MTYPE_EDGE, TS590_CHANNEL_CAPS },
{ 1, 3, RIG_MTYPE_MORSE },
+ { 1, 4, RIG_MTYPE_VOICE },
RIG_CHAN_END,
},
@@ -2350,6 +2355,8 @@ struct rig_caps ts590sg_caps =
.send_morse = kenwood_send_morse,
.stop_morse = kenwood_stop_morse,
.wait_morse = rig_wait_morse,
+ .send_voice_mem = kenwood_send_voice_mem,
+ .stop_voice_mem = kenwood_stop_voice_mem,
.set_mem = kenwood_set_mem,
.get_mem = kenwood_get_mem,
.vfo_ops = TS590_VFO_OPS,
commit d98073833bbe95783fcf4d45bf76017728b17472
Author: George Baltz N3GB <Geo...@gm...>
Date: Sun Nov 16 05:08:26 2025 -0500
Fix Kenwood voice memory
Thanks to Mike K6GTE and Not1MM, I finally found a contest logger that:
a) Runs native on Linux (Python)
b) Supports ARRL Sweepstakes
c) Fully supports TS-890S bells & whistles (via Hamlib)
Imagine my surprise and disappointment when Hamlib really didn't
drive the TS-890S voice keyer correctly.
This patch gets it going(limpimg). More to come to do it right.
diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c
index a2d05054c..03b97a5e9 100644
--- a/rigs/kenwood/kenwood.c
+++ b/rigs/kenwood/kenwood.c
@@ -5648,10 +5648,11 @@ int kenwood_send_voice_mem(RIG *rig, vfo_t vfo, int bank)
struct kenwood_priv_data *priv = STATE(rig)->priv;
ENTERFUNC;
-#if 0 // don't really need to turn on the list
- SNPRINTF(cmd, sizeof(cmd), "PB01");
- kenwood_transaction(rig, cmd, NULL, 0);
-#endif
+ if (RIG_IS_TS890S || RIG_IS_TS990S)
+ {
+ kenwood_transaction(rig, "PB01", NULL, 0);
+ }
+
if ((bank < 1 || bank > 3) &&
(rig->caps->rig_model == RIG_MODEL_TS2000
@@ -5679,13 +5680,12 @@ int kenwood_send_voice_mem(RIG *rig, vfo_t vfo, int bank)
}
else
{
- SNPRINTF(cmd, sizeof(cmd), "PB1%d1", bank);
+ SNPRINTF(cmd, sizeof(cmd), "PB1%d5", bank);
}
priv->voice_bank = bank;
RETURNFUNC(kenwood_transaction(rig, cmd, NULL, 0));
}
-
int kenwood_stop_voice_mem(RIG *rig, vfo_t vfo)
{
char cmd[16];
-----------------------------------------------------------------------
Summary of changes:
NEWS | 1 +
doc/man1/rigctl.1 | 4 +++
doc/man1/rigctld.1 | 4 +++
rigs/kenwood/kenwood.c | 89 +++++++++++++++++++++++++++-----------------------
rigs/kenwood/kenwood.h | 2 ++
rigs/kenwood/ts2000.c | 2 ++
rigs/kenwood/ts480.c | 5 +++
rigs/kenwood/ts590.c | 7 ++++
8 files changed, 73 insertions(+), 41 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-11-17 12:25: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 6a89902b3501a788263b6133245582ce5609fe18 (commit)
via 0bf9d6255bda68ebef4914c58baa15d0dd7a9021 (commit)
via acd4e6031eb5ee61c99dc56e9d914b4e1d3ccc37 (commit)
via 65be240130abab7d095cc1d2e31043d66d775f79 (commit)
from 55feb026fa0de001cd4306f90691f0b00214f04e (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 6a89902b3501a788263b6133245582ce5609fe18
Author: George Baltz N3GB <Geo...@gm...>
Date: Mon Nov 10 15:52:10 2025 -0500
Fix vfo name for IC-820H
Dunno about the FIXME: on the next line, but the IC-820H definitely
doesn't have a VFO C.
diff --git a/rigs/icom/ic820h.c b/rigs/icom/ic820h.c
index e4674d008..4f9550e93 100644
--- a/rigs/icom/ic820h.c
+++ b/rigs/icom/ic820h.c
@@ -28,7 +28,7 @@
#define IC820H_MODES (RIG_MODE_SSB|RIG_MODE_CW|RIG_MODE_FM)
-#define IC820H_VFO_ALL (RIG_VFO_A|RIG_VFO_C|RIG_VFO_MEM)
+#define IC820H_VFO_ALL (RIG_VFO_A|RIG_VFO_B|RIG_VFO_MEM)
/* FIXME: What about MAIN/SUB mode? And satellite mode? */
#define IC820H_VFO_OPS (RIG_OP_FROM_VFO|RIG_OP_TO_VFO|RIG_OP_CPY|RIG_OP_MCL)
commit 0bf9d6255bda68ebef4914c58baa15d0dd7a9021
Author: George Baltz N3GB <Geo...@gm...>
Date: Sat Nov 8 12:29:23 2025 -0500
Fix some typos
Use the correct VFO param instead of modes
Gets rid of a couple of very weird VFO entries.
diff --git a/rigs/barrett/4100.c b/rigs/barrett/4100.c
index 29d34f9a3..a97a2cde8 100644
--- a/rigs/barrett/4100.c
+++ b/rigs/barrett/4100.c
@@ -29,8 +29,8 @@
#define MAXCMDLEN 32
-//#define BARRETT4100 VFOS (RIG_VFO_A|RIG_VFO_MEM) // VFO_MEM eventually?
-#define BARRETT4100 VFOS (RIG_VFO_A)
+//#define BARRETT4100_VFOS (RIG_VFO_A|RIG_VFO_MEM) // VFO_MEM eventually?
+#define BARRETT4100_VFOS (RIG_VFO_A)
#define BARRETT4100_MODES (RIG_MODE_CW | RIG_MODE_SSB)
@@ -275,7 +275,7 @@ struct rig_caps barrett4100_caps =
.transceive = RIG_TRN_RIG,
.rx_range_list1 = {{
.startf = kHz(10), .endf = MHz(30), .modes = BARRETT4100_MODES,
- .low_power = -1, .high_power = -1, BARRETT4100_MODES, RIG_ANT_1
+ .low_power = -1, .high_power = -1, BARRETT4100_VFOS, RIG_ANT_1
},
RIG_FRNG_END,
},
diff --git a/rigs/mds/9710.c b/rigs/mds/9710.c
index 7abacdbdf..30130d39f 100644
--- a/rigs/mds/9710.c
+++ b/rigs/mds/9710.c
@@ -45,17 +45,17 @@ struct rig_caps mds_9710_caps =
.rx_range_list1 = {
{
.startf = MHz(800), .endf = MHz(880), .modes = MDS_ALL_MODES,
- .low_power = 0, .high_power = 0, MDS_ALL_MODES, RIG_ANT_1,
+ .low_power = 0, .high_power = 0, MDS_VFOS, RIG_ANT_1,
},
{
.startf = MHz(880), .endf = MHz(960), .modes = MDS_ALL_MODES,
- .low_power = 0, .high_power = 0, MDS_ALL_MODES, RIG_ANT_1,
+ .low_power = 0, .high_power = 0, MDS_VFOS, RIG_ANT_1,
},
RIG_FRNG_END,
},
.rx_range_list2 = {RIG_FRNG_END,},
.tx_range_list1 = {
- {MHz(380), MHz(530), MDS_ALL_MODES, W(.1), W(5), RIG_VFO_A, RIG_ANT_NONE},
+ {MHz(380), MHz(530), MDS_ALL_MODES, W(.1), W(5), MDS_VFOS, RIG_ANT_NONE},
RIG_FRNG_END,
},
// .tx_range_list2 = {RIG_FRNG_END,}
commit acd4e6031eb5ee61c99dc56e9d914b4e1d3ccc37
Author: George Baltz N3GB <Geo...@gm...>
Date: Fri Nov 7 05:57:15 2025 -0500
Remove (infinite) recursive call to rig_close()
diff --git a/rigs/barrett/4100.c b/rigs/barrett/4100.c
index b401bbe64..29d34f9a3 100644
--- a/rigs/barrett/4100.c
+++ b/rigs/barrett/4100.c
@@ -134,7 +134,7 @@ static int barrett4100_close(RIG *rig)
rig_debug(RIG_DEBUG_ERR, "%s(%d): result=%s\n", __func__, __LINE__, response);
}
- return rig_close(rig);
+ return retval;
}
int barrett4100_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
commit 65be240130abab7d095cc1d2e31043d66d775f79
Author: George Baltz N3GB <Geo...@gm...>
Date: Sun Oct 12 14:04:30 2025 -0400
Don't re-compute (twice!) the length of the verify command every time through
kenwood_transaction(), when it doesn't change after kenwood_open().
Remove redundant memset()
diff --git a/rigs/kenwood/ic10.c b/rigs/kenwood/ic10.c
index c1cab5029..97c4701cc 100644
--- a/rigs/kenwood/ic10.c
+++ b/rigs/kenwood/ic10.c
@@ -28,6 +28,8 @@
#include <ctype.h> /* character class tests */
#include "hamlib/rig.h"
+#include "hamlib/port.h"
+#include "hamlib/rig_state.h"
#include "iofunc.h"
#include "misc.h"
@@ -101,8 +103,8 @@ transaction:
char buffer[50];
const struct kenwood_priv_data *priv = STATE(rig)->priv;
- if (RIG_OK != (retval = write_block(rp,
- (unsigned char *) priv->verify_cmd, strlen(priv->verify_cmd))))
+ if (RIG_OK != (retval = write_block(rp, (unsigned char *)priv->verify_cmd,
+ priv->verify_cmd_len)))
{
return retval;
}
diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c
index c607ee4f0..a2d05054c 100644
--- a/rigs/kenwood/kenwood.c
+++ b/rigs/kenwood/kenwood.c
@@ -30,6 +30,8 @@
#include <ctype.h>
#include "hamlib/rig.h"
+#include "hamlib/port.h"
+#include "hamlib/rig_state.h"
#include "serial.h"
#include "register.h"
#include "cal.h"
@@ -431,8 +433,8 @@ transaction_write:
/* no reply expected so we need to write a command that always
gives a reply so we can read any error replies from the actual
command being sent without blocking */
- if (RIG_OK != (retval = write_block(rp,
- (unsigned char *) priv->verify_cmd, strlen(priv->verify_cmd))))
+ if (RIG_OK != (retval = write_block(rp, (unsigned char *)priv->verify_cmd,
+ priv->verify_cmd_len)))
{
goto transaction_quit;
}
@@ -443,7 +445,7 @@ transaction_read:
// this len/expected stuff is confusing -- logic in some places includes the semicolon
// so we add 1 to our read_string length to cover these cases
// eventually we should be able to get rid of this but requires testing all Kenwood rigs
- len = min(datasize ? datasize + 1 : strlen(priv->verify_cmd) + 48,
+ len = min(datasize ? datasize + 1 : priv->verify_cmd_len + 48,
KENWOOD_MAX_BUF_LEN);
retval = read_string(rp, (unsigned char *) buffer, len,
cmdtrm_str, strlen(cmdtrm_str), 0, 1);
@@ -851,12 +853,11 @@ int kenwood_init(RIG *rig)
priv = STATE(rig)->priv;
- memset(priv, 0x00, sizeof(struct kenwood_priv_data));
-
if (RIG_IS_XG3)
{
priv->verify_cmd[0] = caps->cmdtrm;
priv->verify_cmd[1] = '\0';
+ priv->verify_cmd_len = 1;
}
else
{
@@ -864,6 +865,7 @@ int kenwood_init(RIG *rig)
priv->verify_cmd[1] = 'D';
priv->verify_cmd[2] = caps->cmdtrm;
priv->verify_cmd[3] = '\0';
+ priv->verify_cmd_len = 3;
}
priv->split = RIG_SPLIT_OFF;
@@ -1049,6 +1051,7 @@ int kenwood_open(RIG *rig)
priv->verify_cmd[1] = 'A';
priv->verify_cmd[2] = caps->cmdtrm;
priv->verify_cmd[3] = '\0';
+ priv->verify_cmd_len = 3;
strcpy(id, "ID019"); /* fake a TS-2000 */
}
else
diff --git a/rigs/kenwood/kenwood.h b/rigs/kenwood/kenwood.h
index 36783db08..d20168211 100644
--- a/rigs/kenwood/kenwood.h
+++ b/rigs/kenwood/kenwood.h
@@ -155,6 +155,7 @@ struct kenwood_priv_data
int trn_state; /* AI state discovered at startup */
unsigned fw_rev_uint; /* firmware revision as a number 1.07 -> 107 */
char verify_cmd[4]; /* command used to verify set commands */
+ int verify_cmd_len; /* length of above command - set when cmd built */
int is_emulation; /* flag for TS-2000 emulations */
void *data; /* model specific data */
rmode_t curr_mode; /* used for is_emulation to avoid get_mode on VFOB */
diff --git a/rigs/kenwood/thd72.c b/rigs/kenwood/thd72.c
index 1abaf28e7..3feda3ac2 100644
--- a/rigs/kenwood/thd72.c
+++ b/rigs/kenwood/thd72.c
@@ -25,6 +25,7 @@
#include <math.h>
#include "hamlib/rig.h"
+#include "hamlib/rig_state.h"
#include "kenwood.h"
#include "th.h"
#include "misc.h"
@@ -150,6 +151,7 @@ int thd72_open(RIG *rig)
int ret;
struct kenwood_priv_data *priv = STATE(rig)->priv;
strcpy(priv->verify_cmd, "ID\r");
+ priv->verify_cmd_len = 3;
//ret = kenwood_transaction(rig, "", NULL, 0);
//DELAY;
diff --git a/rigs/kenwood/thd74.c b/rigs/kenwood/thd74.c
index ab1040a6a..401fcf55f 100644
--- a/rigs/kenwood/thd74.c
+++ b/rigs/kenwood/thd74.c
@@ -25,6 +25,7 @@
#include <math.h>
#include "hamlib/rig.h"
+#include "hamlib/rig_state.h"
#include "kenwood.h"
#include "th.h"
#include "misc.h"
@@ -159,6 +160,7 @@ int thd74_open(RIG *rig)
//struct kenwood_priv_data *priv = STATE(rig)->priv;
// this is already done in kenwood_init
//strcpy(priv->verify_cmd, "ID\r");
+ //priv->verify_cmd_len = 3;
//ret = kenwood_transaction(rig, "", NULL, 0);
-----------------------------------------------------------------------
Summary of changes:
rigs/barrett/4100.c | 8 ++++----
rigs/icom/ic820h.c | 2 +-
rigs/kenwood/ic10.c | 6 ++++--
rigs/kenwood/kenwood.c | 13 ++++++++-----
rigs/kenwood/kenwood.h | 1 +
rigs/kenwood/thd72.c | 2 ++
rigs/kenwood/thd74.c | 2 ++
rigs/mds/9710.c | 6 +++---
8 files changed, 25 insertions(+), 15 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-11-08 13:04:18
|
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 55feb026fa0de001cd4306f90691f0b00214f04e (commit)
from 23710cf2da3d8a05c7ed0b9bdecefe020404f0d1 (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 55feb026fa0de001cd4306f90691f0b00214f04e
Author: telewizoor <not...@gi...>
Date: Thu Nov 6 14:09:48 2025 -0800
Add Noise Reduction to FT450
Closes GitHub issue #1937.
diff --git a/rigs/yaesu/ft450.h b/rigs/yaesu/ft450.h
index 6c25d12a5..c33c379eb 100644
--- a/rigs/yaesu/ft450.h
+++ b/rigs/yaesu/ft450.h
@@ -64,7 +64,7 @@
RIG_LEVEL_KEYSPD|RIG_LEVEL_AF|RIG_LEVEL_AGC|\
RIG_LEVEL_METER|RIG_LEVEL_BKINDL|RIG_LEVEL_SQL|\
RIG_LEVEL_VOXGAIN|RIG_LEVEL_VOXDELAY|\
- RIG_LEVEL_BAND_SELECT|RIG_LEVEL_NOTCHF)
+ RIG_LEVEL_BAND_SELECT|RIG_LEVEL_NOTCHF|RIG_LEVEL_NR)
#define FT450_FUNCS (RIG_FUNC_TONE|RIG_FUNC_TSQL|RIG_FUNC_LOCK|\
RIG_FUNC_MON|RIG_FUNC_NB|RIG_FUNC_NR|RIG_FUNC_VOX|\
-----------------------------------------------------------------------
Summary of changes:
rigs/yaesu/ft450.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-10-12 12:35:09
|
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 23710cf2da3d8a05c7ed0b9bdecefe020404f0d1 (commit)
via a72397ec607cd6926149ebc4acbf189d3eb0ade6 (commit)
via 7349814e578a52939882ec8ab7ee1fa528328574 (commit)
via 48117e403ffbe8ff0c006e2ba9dcfc99f23860ee (commit)
via 7b9372ac46fd2c93f070c0cca7c19dcc34c684c7 (commit)
via fdde4d35cad736e5a93509d7e9924e9bd0e931c3 (commit)
via 8b840d8e848de077b546825a4a33f029de2ffd6a (commit)
via bc5b5b6725015fb9379679f2f10de8aef3ef7291 (commit)
from e992691354fb0d1966660f84314bfa31f3ee39c5 (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 23710cf2da3d8a05c7ed0b9bdecefe020404f0d1
Author: George Baltz N3GB <Geo...@gm...>
Date: Fri Oct 10 10:52:54 2025 -0400
Use return value from remove_nonprint()
Fix formatting glitch
diff --git a/amplifiers/elecraft/kpa.c b/amplifiers/elecraft/kpa.c
index 2b5972ed9..b6171522b 100644
--- a/amplifiers/elecraft/kpa.c
+++ b/amplifiers/elecraft/kpa.c
@@ -586,7 +586,7 @@ int kpa_set_powerstat(AMP *amp, powerstat_t status)
default:
rig_debug(RIG_DEBUG_ERR, "%s invalid status=%d\n", __func__, status);
- return -RIG_EINVAL;
+ return -RIG_EINVAL;
}
diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c
index 7e1acbe70..c607ee4f0 100644
--- a/rigs/kenwood/kenwood.c
+++ b/rigs/kenwood/kenwood.c
@@ -490,8 +490,7 @@ transaction_read:
// message; if it isn't (usually '\r') then don't touch the message.
if (isprint(caps->cmdtrm))
{
- remove_nonprint(buffer);
- resp_len = strlen(buffer);
+ resp_len = remove_nonprint(buffer);
}
/* Check that command termination is correct */
commit a72397ec607cd6926149ebc4acbf189d3eb0ade6
Author: George Baltz N3GB <Geo...@gm...>
Date: Wed Oct 8 13:02:44 2025 -0400
Use correct length when transfering result to caller.
Fix formatting.
Make trace message jibe with its surrounding.
diff --git a/rigs/dummy/rot_pstrotator.c b/rigs/dummy/rot_pstrotator.c
index c156a8c7d..71dd8fc73 100644
--- a/rigs/dummy/rot_pstrotator.c
+++ b/rigs/dummy/rot_pstrotator.c
@@ -337,7 +337,7 @@ static int pstrotator_rot_open(ROT *rot)
if (bind(sockfd, (const struct sockaddr *)&clientAddr, sizeof(clientAddr)) < 0)
{
rig_debug(RIG_DEBUG_ERR, "%s: bind failed: %s\n", __func__, strerror(errno));
- close(sockfd);
+ close(sockfd);
return -RIG_EINTERNAL;
}
diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c
index 5472f2d2d..7e1acbe70 100644
--- a/rigs/kenwood/kenwood.c
+++ b/rigs/kenwood/kenwood.c
@@ -650,7 +650,7 @@ transaction_read:
{
/* move the result excluding the command terminator into the
caller buffer */
- len = min(datasize, retval) - 1;
+ len = min(datasize, resp_len) - 1;
strncpy(data, buffer, len);
data[len] = '\0';
}
@@ -706,7 +706,7 @@ transaction_read:
}
}
- rig_debug(RIG_DEBUG_TRACE, "%s: returning RIG_OK, retval=%d\n", __func__,
+ rig_debug(RIG_DEBUG_TRACE, "%s: returning RIG_OK, retval was %d\n", __func__,
retval);
retval = RIG_OK;
commit 7349814e578a52939882ec8ab7ee1fa528328574
Author: George Baltz N3GB <Geo...@gm...>
Date: Tue Oct 7 16:59:21 2025 -0400
Don't call remove_nonprint() if error occurred
The buffer may not contain a well-formed string. Use count returned by
read_string(), and check for short response. Replace 2 strlen() calls
with maximum of 1.
Reformat some comments to minimize wrapping.
diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c
index 03cbe0d12..5472f2d2d 100644
--- a/rigs/kenwood/kenwood.c
+++ b/rigs/kenwood/kenwood.c
@@ -284,6 +284,7 @@ int kenwood_transaction(RIG *rig, const char *cmdstr, char *data,
int retval = -RIG_EINTERNAL;
char *cmd;
int len;
+ int resp_len; // Response length
int retry_read = 0;
struct kenwood_priv_data *priv = STATE(rig)->priv;
struct kenwood_priv_caps *caps = kenwood_caps(rig);
@@ -449,14 +450,7 @@ transaction_read:
rig_debug(RIG_DEBUG_TRACE, "%s: read_string len=%d '%s'\n", __func__,
(int)strlen(buffer), buffer);
- // This fixes the case when some corrupt data is returned; it lets us be a
- // little more robust about funky serial data. If the terminator is
- // printable(usually ';'), then there should be no nonprintables in the
- // message; if it isn't (usually '\r') then don't touch the message.
- if (isprint(caps->cmdtrm))
- {
- remove_nonprint(buffer);
- }
+ resp_len = retval;
if (retval < 0)
{
@@ -490,10 +484,20 @@ transaction_read:
goto transaction_quit;
}
+ // This fixes the case when some corrupt data is returned; it lets us be a
+ // little more robust about funky serial data. If the terminator is
+ // printable(usually ';'), then there should be no nonprintables in the
+ // message; if it isn't (usually '\r') then don't touch the message.
+ if (isprint(caps->cmdtrm))
+ {
+ remove_nonprint(buffer);
+ resp_len = strlen(buffer);
+ }
+
/* Check that command termination is correct */
- if (strchr(cmdtrm_str, buffer[strlen(buffer) - 1]) == NULL)
+ if (resp_len < 1 || strchr(cmdtrm_str, buffer[resp_len - 1]) == NULL)
{
- rig_debug(RIG_DEBUG_ERR, "%s: Command is not correctly terminated '%s'\n",
+ rig_debug(RIG_DEBUG_ERR, "%s: Response is not correctly terminated '%s'\n",
__func__, buffer);
if (retry_read++ < rp->retry)
@@ -505,7 +509,7 @@ transaction_read:
goto transaction_quit;
}
- if (strlen(buffer) == 2)
+ if (resp_len == 2)
{
switch (buffer[0])
{
@@ -556,12 +560,13 @@ transaction_read:
case '?':
/* The ? response is an ambiguous response, but for get commands it seems to
- * indicate that the rig rejected the command because the state of the rig is not valid for the command
- * or that the command parameter is invalid. Retrying the command does not fix the issue,
- * as the error is caused by the an invalid combination of rig state.
+ * indicate that the rig rejected the command because the state of the rig is
+ * not valid for the command or that the command parameter is invalid.
+ * Retrying the command does not fix the issue, as the error is caused by
+ * the invalid combination of command and rig state.
*
* For example, the following cases have been observed:
- * - NL (NB level) and RL (NR level) commands fail if NB / NR are not enabled on TS-590SG
+ * - NL(NB level) and RL(NR level) commands fail if NB/NR are not enabled on TS-590SG
* - SH and SL (filter width) fail in CW mode on TS-590SG
* - GT (AGC) fails in FM mode on TS-590SG
*
@@ -701,9 +706,9 @@ transaction_read:
}
}
- retval = RIG_OK;
rig_debug(RIG_DEBUG_TRACE, "%s: returning RIG_OK, retval=%d\n", __func__,
retval);
+ retval = RIG_OK;
transaction_quit:
commit 48117e403ffbe8ff0c006e2ba9dcfc99f23860ee
Author: George Baltz N3GB <Geo...@gm...>
Date: Mon Oct 6 11:50:50 2025 -0400
Fix fd leak in rot_pstrotator.c
Close orphan fd in error case.
And in the normal close routine, too.
diff --git a/rigs/dummy/rot_pstrotator.c b/rigs/dummy/rot_pstrotator.c
index da8a2a0d5..c156a8c7d 100644
--- a/rigs/dummy/rot_pstrotator.c
+++ b/rigs/dummy/rot_pstrotator.c
@@ -18,12 +18,13 @@
*
*/
+#include "hamlib/config.h"
#include <stdlib.h>
#include <string.h> /* String function definitions */
#include <sys/time.h>
#include <errno.h>
+#include <unistd.h>
-#include "hamlib/config.h"
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
@@ -277,6 +278,7 @@ static int pstrotator_rot_init(ROT *rot)
priv->az = priv->el = 0;
priv->target_az = priv->target_el = 0;
+ priv->sockfd2 = -1;
strcpy(ROTPORT(rot)->pathname, "192.168.56.1:12000");
@@ -335,6 +337,7 @@ static int pstrotator_rot_open(ROT *rot)
if (bind(sockfd, (const struct sockaddr *)&clientAddr, sizeof(clientAddr)) < 0)
{
rig_debug(RIG_DEBUG_ERR, "%s: bind failed: %s\n", __func__, strerror(errno));
+ close(sockfd);
return -RIG_EINTERNAL;
}
@@ -370,6 +373,11 @@ static int pstrotator_rot_close(ROT *rot)
rig_debug(RIG_DEBUG_VERBOSE, "%s: thread stopped\n", __func__);
priv->threadid = 0;
+ if (priv->sockfd2 != -1)
+ {
+ close(priv->sockfd2);
+ priv->sockfd2 = -1;
+ }
return RIG_OK;
}
commit 7b9372ac46fd2c93f070c0cca7c19dcc34c684c7
Author: George Baltz N3GB <Geo...@gm...>
Date: Sun Oct 5 16:32:40 2025 -0400
Fold range check into existing switch statement
Cleaner code, and avoids a bogus squawk from gcc -fanalyzer.
diff --git a/rigs/kenwood/k3.c b/rigs/kenwood/k3.c
index 780ff36e3..e23a0df1d 100644
--- a/rigs/kenwood/k3.c
+++ b/rigs/kenwood/k3.c
@@ -2996,12 +2996,6 @@ static int k3_send_voice_mem(RIG *rig, vfo_t vfo, int ch)
const char *cmd;
int retval;
- if (ch < 1 || ch > 4)
- {
- rig_debug(RIG_DEBUG_ERR, "%s: expected 1<=ch<=4, got %d\n", __func__, ch);
- return (-RIG_EINVAL);
- }
-
switch (ch)
{
case 1: cmd = "SWT21;"; break;
@@ -3011,6 +3005,10 @@ static int k3_send_voice_mem(RIG *rig, vfo_t vfo, int ch)
case 3: cmd = "SWT35;"; break;
case 4: cmd = "SWT39;"; break;
+
+ default:
+ rig_debug(RIG_DEBUG_ERR, "%s: expected 1<=ch<=4, got %d\n", __func__, ch);
+ return (-RIG_EINVAL);
}
retval = kenwood_transaction(rig, cmd, NULL, 0);
commit fdde4d35cad736e5a93509d7e9924e9bd0e931c3
Author: George Baltz N3GB <Geo...@gm...>
Date: Sun Oct 5 16:22:13 2025 -0400
Remove funky debug writes in trxmanager.c
diff --git a/rigs/dummy/trxmanager.c b/rigs/dummy/trxmanager.c
index aa21ee3d3..a462086fd 100644
--- a/rigs/dummy/trxmanager.c
+++ b/rigs/dummy/trxmanager.c
@@ -1165,11 +1165,7 @@ static int trxmanager_set_split_freq_mode(RIG *rig, vfo_t vfo, freq_t freq,
if (strlen(response) != 16 || strstr(response, cmd) == NULL)
{
- FILE *fp;
rig_debug(RIG_DEBUG_ERR, "%s invalid response='%s'\n", __func__, response);
- fp = fopen("debug.txt", "w+");
- fprintf(fp, "XT response=%s\n", response);
- fclose(fp);
return -RIG_EPROTO;
}
commit 8b840d8e848de077b546825a4a33f029de2ffd6a
Author: George Baltz N3GB <Geo...@gm...>
Date: Sun Oct 5 16:19:16 2025 -0400
Always return in error case
Don't fall into normal code and get a segfault.
diff --git a/amplifiers/elecraft/kpa.c b/amplifiers/elecraft/kpa.c
index 4b9a6a79b..2b5972ed9 100644
--- a/amplifiers/elecraft/kpa.c
+++ b/amplifiers/elecraft/kpa.c
@@ -574,7 +574,7 @@ int kpa_set_powerstat(AMP *amp, powerstat_t status)
switch (status)
{
- case RIG_POWER_UNKNOWN: break;
+ //case RIG_POWER_UNKNOWN: break;
case RIG_POWER_OFF: cmd = "^ON0;"; break;
@@ -584,17 +584,15 @@ int kpa_set_powerstat(AMP *amp, powerstat_t status)
case RIG_POWER_STANDBY: cmd = "^OS0;"; break;
-
default:
rig_debug(RIG_DEBUG_ERR, "%s invalid status=%d\n", __func__, status);
+ return -RIG_EINVAL;
}
retval = kpa_transaction(amp, cmd, NULL, 0);
- if (retval != RIG_OK) { return retval; }
-
- return RIG_OK;
+ return retval;
}
int kpa_reset(AMP *amp, amp_reset_t reset)
diff --git a/amplifiers/gemini/gemini.c b/amplifiers/gemini/gemini.c
index 58da33581..c2f351813 100644
--- a/amplifiers/gemini/gemini.c
+++ b/amplifiers/gemini/gemini.c
@@ -348,7 +348,7 @@ int gemini_set_powerstat(AMP *amp, powerstat_t status)
switch (status)
{
- case RIG_POWER_UNKNOWN: break;
+ //case RIG_POWER_UNKNOWN: break;
case RIG_POWER_OFF: cmd = "R0\n"; break;
@@ -358,17 +358,15 @@ int gemini_set_powerstat(AMP *amp, powerstat_t status)
case RIG_POWER_STANDBY: cmd = "R0\n"; break;
-
default:
rig_debug(RIG_DEBUG_ERR, "%s invalid status=%d\n", __func__, status);
+ return -RIG_EINVAL;
}
retval = gemini_transaction(amp, cmd, NULL, 0);
- if (retval != RIG_OK) { return retval; }
-
- return RIG_OK;
+ return retval;
}
int gemini_reset(AMP *amp, amp_reset_t reset)
commit bc5b5b6725015fb9379679f2f10de8aef3ef7291
Author: George Baltz N3GB <Geo...@gm...>
Date: Sun Oct 5 12:51:42 2025 -0400
Use auto storage instead of clobbering string literal.
diff --git a/tests/rigctltcp.c b/tests/rigctltcp.c
index 5ccccd09b..05ca65dc8 100644
--- a/tests/rigctltcp.c
+++ b/tests/rigctltcp.c
@@ -1121,7 +1121,7 @@ void *handle_socket(void *arg)
powerstat_t powerstat;
unsigned char cmd[64];
unsigned char reply[64];
- unsigned char *term = (unsigned char *)";";
+ unsigned char term[2] = ";";
rig_debug(RIG_DEBUG_TRACE, "%s: doing rigctl_parse vfo_mode=%d, secure=%d\n",
__func__,
handle_data_arg->vfo_mode, handle_data_arg->use_password);
-----------------------------------------------------------------------
Summary of changes:
amplifiers/elecraft/kpa.c | 8 +++-----
amplifiers/gemini/gemini.c | 8 +++-----
rigs/dummy/rot_pstrotator.c | 10 +++++++++-
rigs/dummy/trxmanager.c | 4 ----
rigs/kenwood/k3.c | 10 ++++------
rigs/kenwood/kenwood.c | 40 ++++++++++++++++++++++------------------
tests/rigctltcp.c | 2 +-
7 files changed, 42 insertions(+), 40 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-10-06 16:59:09
|
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 e992691354fb0d1966660f84314bfa31f3ee39c5 (commit)
via bceb1a1fdf42410b876571f0a167d1fa8abefa3f (commit)
via 486ec607dd84499f61e07e1d0e6a80633ab0809d (commit)
via a7188c201ac552b6155fe25bfab85e44cdd76c62 (commit)
via 0546e764afe4fdca95b471d11858e74724333da8 (commit)
via 19ce6d30b0ff589d7866fa9c2457cc56d0b64d81 (commit)
via 6238a5ef1b605168c06767836a882007fb5fa59c (commit)
via c0717e783475e70a2a40f3d08199379f324cc1b4 (commit)
from d11d7b2d0029e901e90f62e866e2a3c3e9924c50 (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 e992691354fb0d1966660f84314bfa31f3ee39c5
Merge: d11d7b2d0 bceb1a1fd
Author: Nate Bargmann <n0...@n0...>
Date: Mon Oct 6 11:43:25 2025 -0500
Merge GitHub PR @1933
commit bceb1a1fdf42410b876571f0a167d1fa8abefa3f
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun Oct 5 11:31:58 2025 +0200
Do not use abbreviations where there is enough space
diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c
index 386cfae25..a7b83c5ef 100644
--- a/tests/rigctl_parse.c
+++ b/tests/rigctl_parse.c
@@ -309,18 +309,18 @@ static struct test_table test_list[] =
{ 'g', "scan", ACTION(scan), ARG_IN, "Scan Fct", "Scan Channel" },
{ 'A', "set_trn", ACTION(set_trn), ARG_IN | ARG_NOVFO, "Transceive" },
{ 'a', "get_trn", ACTION(get_trn), ARG_OUT | ARG_NOVFO, "Transceive" },
- { 'R', "set_rptr_shift", ACTION(set_rptr_shift), ARG_IN, "Rptr Shift" },
- { 'r', "get_rptr_shift", ACTION(get_rptr_shift), ARG_OUT, "Rptr Shift" },
- { 'O', "set_rptr_offs", ACTION(set_rptr_offs), ARG_IN, "Rptr Offset" },
- { 'o', "get_rptr_offs", ACTION(get_rptr_offs), ARG_OUT, "Rptr Offset" },
+ { 'R', "set_rptr_shift", ACTION(set_rptr_shift), ARG_IN, "Repeater Shift" },
+ { 'r', "get_rptr_shift", ACTION(get_rptr_shift), ARG_OUT, "Repeater Shift" },
+ { 'O', "set_rptr_offs", ACTION(set_rptr_offs), ARG_IN, "Repeater Offset" },
+ { 'o', "get_rptr_offs", ACTION(get_rptr_offs), ARG_OUT, "Repeater Offset" },
{ 'C', "set_ctcss_tone", ACTION(set_ctcss_tone), ARG_IN, "CTCSS Tone" },
{ 'c', "get_ctcss_tone", ACTION(get_ctcss_tone), ARG_OUT, "CTCSS Tone" },
{ 'D', "set_dcs_code", ACTION(set_dcs_code), ARG_IN, "DCS Code" },
{ 'd', "get_dcs_code", ACTION(get_dcs_code), ARG_OUT, "DCS Code" },
- { 0x90, "set_ctcss_sql", ACTION(set_ctcss_sql), ARG_IN, "CTCSS Sql" },
- { 0x91, "get_ctcss_sql", ACTION(get_ctcss_sql), ARG_OUT, "CTCSS Sql" },
- { 0x92, "set_dcs_sql", ACTION(set_dcs_sql), ARG_IN, "DCS Sql" },
- { 0x93, "get_dcs_sql", ACTION(get_dcs_sql), ARG_OUT, "DCS Sql" },
+ { 0x90, "set_ctcss_sql", ACTION(set_ctcss_sql), ARG_IN, "CTCSS Squelch" },
+ { 0x91, "get_ctcss_sql", ACTION(get_ctcss_sql), ARG_OUT, "CTCSS Squelch" },
+ { 0x92, "set_dcs_sql", ACTION(set_dcs_sql), ARG_IN, "DCS Squelch" },
+ { 0x93, "get_dcs_sql", ACTION(get_dcs_sql), ARG_OUT, "DCS Squelch" },
//
//{ 'V', "set_vfo", ACTION(set_vfo), ARG_IN | ARG_NOVFO | ARG_OUT, "VFO" },
{ 'V', "set_vfo", ACTION(set_vfo), ARG_IN | ARG_NOVFO, "VFO" },
@@ -343,8 +343,8 @@ static struct test_table test_list[] =
{ 0x88, "get_powerstat", ACTION(get_powerstat), ARG_OUT | ARG_NOVFO, "Power Status" },
{ 0x89, "send_dtmf", ACTION(send_dtmf), ARG_IN | ARG_NOVFO, "Digits" },
{ 0x8a, "recv_dtmf", ACTION(recv_dtmf), ARG_OUT | ARG_NOVFO, "Digits" },
- { 'w', "send_cmd", ACTION(send_cmd), ARG_IN1 | ARG_IN_LINE | ARG_OUT2 | ARG_NOVFO, "Cmd", "Reply" },
- { 'W', "send_cmd_rx", ACTION(send_cmd), ARG_IN | ARG_OUT2 | ARG_NOVFO, "Cmd", "Reply"},
+ { 'w', "send_cmd", ACTION(send_cmd), ARG_IN1 | ARG_IN_LINE | ARG_OUT2 | ARG_NOVFO, "Command", "Reply" },
+ { 'W', "send_cmd_rx", ACTION(send_cmd), ARG_IN | ARG_OUT2 | ARG_NOVFO, "Command", "Reply"},
{ '*', "reset", ACTION(reset), ARG_IN | ARG_NOVFO, "Reset" },
{ 'b', "send_morse", ACTION(send_morse), ARG_IN | ARG_NOVFO | ARG_IN_LINE, "Morse" },
{ 0xbb, "stop_morse", ACTION(stop_morse), ARG_NOVFO},
@@ -358,7 +358,7 @@ static struct test_table test_list[] =
{ 0x95, "set_cache", ACTION(set_cache), ARG_IN | ARG_NOVFO, "Timeout (msecs)" },
{ 0x96, "get_cache", ACTION(get_cache), ARG_OUT | ARG_NOVFO, "Timeout (msecs)" },
{ '2', "power2mW", ACTION(power2mW), ARG_IN1 | ARG_IN2 | ARG_IN3 | ARG_OUT1 | ARG_NOVFO, "Power [0.0..1.0]", "Frequency", "Mode", "Power mW" },
- { '4', "mW2power", ACTION(mW2power), ARG_IN1 | ARG_IN2 | ARG_IN3 | ARG_OUT1 | ARG_NOVFO, "Pwr mW", "Freq", "Mode", "Power [0.0..1.0]" },
+ { '4', "mW2power", ACTION(mW2power), ARG_IN1 | ARG_IN2 | ARG_IN3 | ARG_OUT1 | ARG_NOVFO, "Power mW", "Freq", "Mode", "Power [0.0..1.0]" },
{ '1', "dump_caps", ACTION(dump_caps), ARG_NOVFO },
{ '3', "dump_conf", ACTION(dump_conf), ARG_NOVFO },
{ 0x8f, "dump_state", ACTION(dump_state), ARG_OUT | ARG_NOVFO },
commit 486ec607dd84499f61e07e1d0e6a80633ab0809d
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun Oct 5 11:31:10 2025 +0200
Remove space for consistency with other descriptions
diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c
index aa6b7f269..386cfae25 100644
--- a/tests/rigctl_parse.c
+++ b/tests/rigctl_parse.c
@@ -352,7 +352,7 @@ static struct test_table test_list[] =
{ 0x94, "send_voice_mem", ACTION(send_voice_mem), ARG_NOVFO | ARG_IN, "Voice Mem#" },
{ 0xab, "stop_voice_mem", ACTION(stop_voice_mem), ARG_NOVFO},
{ 0x8b, "get_dcd", ACTION(get_dcd), ARG_OUT | ARG_NOVFO, "DCD" },
- { 0x97, "uplink", ACTION(set_uplink), ARG_IN | ARG_NOVFO, "1=Sub, 2=Main" },
+ { 0x97, "uplink", ACTION(set_uplink), ARG_IN | ARG_NOVFO, "1=Sub,2=Main" },
{ 0x8d, "set_twiddle", ACTION(set_twiddle), ARG_IN | ARG_NOVFO, "Timeout (secs)" },
{ 0x8e, "get_twiddle", ACTION(get_twiddle), ARG_OUT | ARG_NOVFO, "Timeout (secs)" },
{ 0x95, "set_cache", ACTION(set_cache), ARG_IN | ARG_NOVFO, "Timeout (msecs)" },
commit a7188c201ac552b6155fe25bfab85e44cdd76c62
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun Oct 5 09:02:00 2025 +0200
Put set_gpio before get_gpio
Like other set/get pairs.
diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c
index dbc81b648..aa6b7f269 100644
--- a/tests/rigctl_parse.c
+++ b/tests/rigctl_parse.c
@@ -383,8 +383,8 @@ static struct test_table test_list[] =
{ 0xa4, "send_raw", ACTION(send_raw), ARG_NOVFO | ARG_IN1 | ARG_IN2 | ARG_OUT3, "Terminator", "Command", "Send raw answer" },
{ 0xa5, "client_version", ACTION(client_version), ARG_NOVFO | ARG_IN1, "Version", "Client version" },
{ 0xa8, "hamlib_version", ACTION(hamlib_version), ARG_NOVFO },
- { 0xa9, "get_gpio", ACTION(cm108_get_bit), ARG_NOVFO | ARG_IN1 | ARG_OUT1, "GPIO#", "0/1" },
{ 0xaa, "set_gpio", ACTION(cm108_set_bit), ARG_NOVFO | ARG_IN, "GPIO#", "0/1" },
+ { 0xa9, "get_gpio", ACTION(cm108_get_bit), ARG_NOVFO | ARG_IN1 | ARG_OUT1, "GPIO#", "0/1" },
{ 0xac, "set_conf", ACTION(set_conf), ARG_NOVFO | ARG_IN, "Token", "Token Value" },
{ 0xad, "get_conf", ACTION(get_conf), ARG_NOVFO | ARG_IN1 | ARG_OUT2, "Token", "Value"},
{ 0xa7, "test", ACTION(test), ARG_NOVFO | ARG_IN, "routine" },
commit 0546e764afe4fdca95b471d11858e74724333da8
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sat Oct 4 22:51:38 2025 +0200
Update comments
All letters are used now, rig_set/rig_get are added and -W is
reserved by POSIX.2 for implementation extensions of get_opt,
but it doesn't apply here because this code is using strcmp()
and the W command which is implemented is not prefixed by a '-'.
diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c
index 25edc4dc3..dbc81b648 100644
--- a/tests/rigctl_parse.c
+++ b/tests/rigctl_parse.c
@@ -276,11 +276,7 @@ declare_proto_rig(get_conf);
/*
* convention: upper case cmd is set, lowercase is get
*
- * TODO: add missing rig_set_/rig_get_: sql, dcd, etc.
* NB: 'q' 'Q' '?' are reserved by interactive mode interface
- * do NOT use -W since it's reserved by POSIX.
- *
- * Available alphabetic letters: -.--------------*-----W-Y-
*/
static struct test_table test_list[] =
{
commit 19ce6d30b0ff589d7866fa9c2457cc56d0b64d81
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sat Oct 4 22:37:09 2025 +0200
Put get_conf near set_conf
diff --git a/tests/rotctl_parse.c b/tests/rotctl_parse.c
index 18c8ed3d5..c0fb93431 100644
--- a/tests/rotctl_parse.c
+++ b/tests/rotctl_parse.c
@@ -222,6 +222,7 @@ struct test_table test_list[] =
{ 'X', "set_parm", ACTION(set_parm), ARG_IN, "Parm", "Parm Value" },
{ 'x', "get_parm", ACTION(get_parm), ARG_IN1 | ARG_OUT2, "Parm", "Parm Value" },
{ 'C', "set_conf", ACTION(set_conf), ARG_IN, "Token", "Value" },
+ { 0xad, "get_conf", ACTION(get_conf), ARG_IN1 | ARG_OUT2, "Token", "Value"},
{ '_', "get_info", ACTION(get_info), ARG_OUT, "Info" },
{ 's', "get_status", ACTION(get_status), ARG_OUT, "Status flags" },
{ 'w', "send_cmd", ACTION(send_cmd), ARG_IN1 | ARG_IN_LINE | ARG_OUT2, "Cmd", "Reply" },
@@ -238,7 +239,6 @@ struct test_table test_list[] =
{ 'A', "a_sp2a_lp", ACTION(az_sp2az_lp), ARG_IN1 | ARG_OUT1, "Short Path Deg", "Long Path Deg" },
{ 'a', "d_sp2d_lp", ACTION(dist_sp2dist_lp), ARG_IN1 | ARG_OUT1, "Short Path km", "Long Path km" },
{ 0x8c, "pause", ACTION(pause), ARG_IN, "Seconds" },
- { 0xad, "get_conf", ACTION(get_conf), ARG_IN1 | ARG_OUT2, "Token", "Value"},
{ 0x00, "", NULL },
};
commit 6238a5ef1b605168c06767836a882007fb5fa59c
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sat Oct 4 21:50:20 2025 +0200
Reorder commands in --help output
Puts more related get/set commands side by side in the columnar output.
diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c
index 0cc20c628..25edc4dc3 100644
--- a/tests/rigctl_parse.c
+++ b/tests/rigctl_parse.c
@@ -347,18 +347,18 @@ static struct test_table test_list[] =
{ 0x88, "get_powerstat", ACTION(get_powerstat), ARG_OUT | ARG_NOVFO, "Power Status" },
{ 0x89, "send_dtmf", ACTION(send_dtmf), ARG_IN | ARG_NOVFO, "Digits" },
{ 0x8a, "recv_dtmf", ACTION(recv_dtmf), ARG_OUT | ARG_NOVFO, "Digits" },
- { '*', "reset", ACTION(reset), ARG_IN | ARG_NOVFO, "Reset" },
{ 'w', "send_cmd", ACTION(send_cmd), ARG_IN1 | ARG_IN_LINE | ARG_OUT2 | ARG_NOVFO, "Cmd", "Reply" },
{ 'W', "send_cmd_rx", ACTION(send_cmd), ARG_IN | ARG_OUT2 | ARG_NOVFO, "Cmd", "Reply"},
+ { '*', "reset", ACTION(reset), ARG_IN | ARG_NOVFO, "Reset" },
{ 'b', "send_morse", ACTION(send_morse), ARG_IN | ARG_NOVFO | ARG_IN_LINE, "Morse" },
{ 0xbb, "stop_morse", ACTION(stop_morse), ARG_NOVFO},
{ 0xbc, "wait_morse", ACTION(wait_morse), ARG_NOVFO},
{ 0x94, "send_voice_mem", ACTION(send_voice_mem), ARG_NOVFO | ARG_IN, "Voice Mem#" },
{ 0xab, "stop_voice_mem", ACTION(stop_voice_mem), ARG_NOVFO},
{ 0x8b, "get_dcd", ACTION(get_dcd), ARG_OUT | ARG_NOVFO, "DCD" },
+ { 0x97, "uplink", ACTION(set_uplink), ARG_IN | ARG_NOVFO, "1=Sub, 2=Main" },
{ 0x8d, "set_twiddle", ACTION(set_twiddle), ARG_IN | ARG_NOVFO, "Timeout (secs)" },
{ 0x8e, "get_twiddle", ACTION(get_twiddle), ARG_OUT | ARG_NOVFO, "Timeout (secs)" },
- { 0x97, "uplink", ACTION(set_uplink), ARG_IN | ARG_NOVFO, "1=Sub, 2=Main" },
{ 0x95, "set_cache", ACTION(set_cache), ARG_IN | ARG_NOVFO, "Timeout (msecs)" },
{ 0x96, "get_cache", ACTION(get_cache), ARG_OUT | ARG_NOVFO, "Timeout (msecs)" },
{ '2', "power2mW", ACTION(power2mW), ARG_IN1 | ARG_IN2 | ARG_IN3 | ARG_OUT1 | ARG_NOVFO, "Power [0.0..1.0]", "Frequency", "Mode", "Power mW" },
@@ -379,19 +379,19 @@ static struct test_table test_list[] =
{ 0x8c, "pause", ACTION(pause), ARG_IN | ARG_NOVFO, "Seconds" },
{ 0x98, "password", ACTION(password), ARG_IN | ARG_NOVFO, "Password" },
// { 0x99, "set_password", ACTION(set_password), ARG_IN | ARG_NOVFO, "Password" },
- { 0xf7, "get_mode_bandwidths", ACTION(get_mode_bandwidths), ARG_IN | ARG_NOVFO, "Mode" },
{ 0xa0, "set_separator", ACTION(set_separator), ARG_IN | ARG_NOVFO, "Separator" },
{ 0xa1, "get_separator", ACTION(get_separator), ARG_NOVFO, "Separator" },
{ 0xa2, "set_lock_mode", ACTION(set_lock_mode), ARG_IN | ARG_NOVFO, "Locked" },
{ 0xa3, "get_lock_mode", ACTION(get_lock_mode), ARG_NOVFO, "Locked" },
+ { 0xf7, "get_mode_bandwidths", ACTION(get_mode_bandwidths), ARG_IN | ARG_NOVFO, "Mode" },
{ 0xa4, "send_raw", ACTION(send_raw), ARG_NOVFO | ARG_IN1 | ARG_IN2 | ARG_OUT3, "Terminator", "Command", "Send raw answer" },
{ 0xa5, "client_version", ACTION(client_version), ARG_NOVFO | ARG_IN1, "Version", "Client version" },
- { 0xa7, "test", ACTION(test), ARG_NOVFO | ARG_IN, "routine" },
{ 0xa8, "hamlib_version", ACTION(hamlib_version), ARG_NOVFO },
{ 0xa9, "get_gpio", ACTION(cm108_get_bit), ARG_NOVFO | ARG_IN1 | ARG_OUT1, "GPIO#", "0/1" },
{ 0xaa, "set_gpio", ACTION(cm108_set_bit), ARG_NOVFO | ARG_IN, "GPIO#", "0/1" },
{ 0xac, "set_conf", ACTION(set_conf), ARG_NOVFO | ARG_IN, "Token", "Token Value" },
{ 0xad, "get_conf", ACTION(get_conf), ARG_NOVFO | ARG_IN1 | ARG_OUT2, "Token", "Value"},
+ { 0xa7, "test", ACTION(test), ARG_NOVFO | ARG_IN, "routine" },
{ 0x00, "", NULL },
};
commit c0717e783475e70a2a40f3d08199379f324cc1b4
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sat Oct 4 21:30:36 2025 +0200
Remove duplicated command from --help output
diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c
index 496f148c6..0cc20c628 100644
--- a/tests/rigctl_parse.c
+++ b/tests/rigctl_parse.c
@@ -386,7 +386,6 @@ static struct test_table test_list[] =
{ 0xa3, "get_lock_mode", ACTION(get_lock_mode), ARG_NOVFO, "Locked" },
{ 0xa4, "send_raw", ACTION(send_raw), ARG_NOVFO | ARG_IN1 | ARG_IN2 | ARG_OUT3, "Terminator", "Command", "Send raw answer" },
{ 0xa5, "client_version", ACTION(client_version), ARG_NOVFO | ARG_IN1, "Version", "Client version" },
- { 0xa6, "get_vfo_list", ACTION(get_vfo_list), ARG_NOVFO },
{ 0xa7, "test", ACTION(test), ARG_NOVFO | ARG_IN, "routine" },
{ 0xa8, "hamlib_version", ACTION(hamlib_version), ARG_NOVFO },
{ 0xa9, "get_gpio", ACTION(cm108_get_bit), ARG_NOVFO | ARG_IN1 | ARG_OUT1, "GPIO#", "0/1" },
-----------------------------------------------------------------------
Summary of changes:
tests/rigctl_parse.c | 35 +++++++++++++++--------------------
tests/rotctl_parse.c | 2 +-
2 files changed, 16 insertions(+), 21 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-10-06 16:42:33
|
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 d11d7b2d0029e901e90f62e866e2a3c3e9924c50 (commit)
via d3769bf948a8bbe57dd982de2fc2dfbe4dea1d4d (commit)
via 4ad91cad0a70d2a50e98317076484f420d2d4414 (commit)
via d391e569ce4bb370720376363eacd6ba062f7702 (commit)
via 8bd19c4db80d22f0a710c487bfe4acc1a15e9179 (commit)
via 00020e6d9d1c7c17544fb3ce8f9ec64ae8ad0be4 (commit)
via 22834737075ddbb0a7a36e179a58a8d1439415cf (commit)
from 54a5097c7e44148dc5c02ad6194744c60fbd86f4 (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 d11d7b2d0029e901e90f62e866e2a3c3e9924c50
Merge: 54a5097c7 d3769bf94
Author: Nate Bargmann <n0...@n0...>
Date: Mon Oct 6 11:26:12 2025 -0500
Merge GitHub PR #1932
commit d3769bf948a8bbe57dd982de2fc2dfbe4dea1d4d
Author: George Baltz N3GB <Geo...@gm...>
Date: Fri Oct 3 11:56:04 2025 -0400
Don't forget the noise
diff --git a/bindings/python/test_Hamlib_class.py b/bindings/python/test_Hamlib_class.py
index 0493eb717..3ee2df26d 100755
--- a/bindings/python/test_Hamlib_class.py
+++ b/bindings/python/test_Hamlib_class.py
@@ -131,7 +131,6 @@ class TestClass:
'HAMLIB_ELAPSED_GET',
'HAMLIB_ELAPSED_INVALIDATE',
'HAMLIB_ELAPSED_SET',
-'HAMLIB_FIFO_SIZE',
'HAMLIB_FILPATHLEN',
'HAMLIB_FLTLSTSIZ',
'HAMLIB_FRQRANGESIZ',
commit 4ad91cad0a70d2a50e98317076484f420d2d4414
Author: George Baltz N3GB <Geo...@gm...>
Date: Fri Oct 3 11:12:06 2025 -0400
Add a fallback function for spaces()
This shouldn't be needed, but somebody somewhere sometime is going
to use an old rigctl with a new hamlib and get an undefined symbol.
Should go away with 5.0.
diff --git a/src/misc.c b/src/misc.c
index 92469f34f..b3244b737 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -2834,6 +2834,21 @@ const char *hl_stars(int len)
return &s[MAX_STARS - len];
}
+//---Start cut here---
+//! @cond Doxygen_Suppress
+/* Dummy definition for mismatched rigctl|rigctld|<whatever>
+ * that still references old function
+ * Should go away with 5.0
+ * Not prototyped or referenced in any current code
+ */
+// cppcheck-suppress unusedFunction
+const char *spaces(int len)
+{
+ return hl_stars(len);
+}
+//! @endcond
+
+//---End cut here---
//! @cond Doxygen_Suppress
char *date_strget(char *buf, int buflen, int localtime)
{
commit d391e569ce4bb370720376363eacd6ba062f7702
Author: George Baltz N3GB <Geo...@gm...>
Date: Tue Sep 30 11:09:18 2025 -0400
Add rig to opened list even if skip_init is set.
Just in case someone finishes CHECK_RIG_ARG,
or checks status from remove_opened_rig().
diff --git a/src/rig.c b/src/rig.c
index a390db1d1..52f81171b 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -1593,7 +1593,11 @@ int HAMLIB_API rig_open(RIG *rig)
}
}
- if (skip_init) { RETURNFUNC2(RIG_OK); }
+ if (skip_init)
+ {
+ add_opened_rig(rig);
+ RETURNFUNC2(RIG_OK);
+ }
status = async_data_handler_start(rig);
commit 8bd19c4db80d22f0a710c487bfe4acc1a15e9179
Author: George Baltz N3GB <Geo...@gm...>
Date: Mon Sep 22 04:56:32 2025 -0400
Change pseudo-anonymous structure name to convention.
diff --git a/include/hamlib/rig_state.h b/include/hamlib/rig_state.h
index 99a9396ea..626807489 100644
--- a/include/hamlib/rig_state.h
+++ b/include/hamlib/rig_state.h
@@ -46,7 +46,7 @@ __BEGIN_DECLS
*
* Structures pointed to by rig_state and defined elsewhere
*/
-struct fifo_rig; /* Defined in src/fifo.h */
+struct FIFO_RIG_s; /* Defined in src/fifo.h */
/**
* \brief Rig state containing live data and customized fields.
@@ -230,7 +230,7 @@ struct rig_state {
int spectrum_attenuator[HAMLIB_MAXDBLSTSIZ]; /*!< Spectrum attenuator list in dB, 0 terminated */
volatile int morse_data_handler_thread_run; /*!< Morse data handler thread flag. */
void *morse_data_handler_priv_data; /*!< Morse data handler private structure. */
- struct fifo_rig *fifo_morse; /*!< FIFO queue for Morse Code transmission. */
+ struct FIFO_RIG_s *fifo_morse; /*!< FIFO queue for Morse Code transmission. */
int doppler; /*!< True if doppler changing detected */
char *multicast_data_addr; /*!< Multicast data UDP address for publishing rig data and state */
int multicast_data_port; /*!< Multicast data UDP port for publishing rig data and state */
diff --git a/src/fifo.h b/src/fifo.h
index c60d55ced..111dc46c7 100644
--- a/src/fifo.h
+++ b/src/fifo.h
@@ -31,7 +31,7 @@ __BEGIN_DECLS
// FIFO currently used for send_morse queue
#define HAMLIB_FIFO_SIZE 1024
-typedef struct fifo_rig
+typedef struct FIFO_RIG_s
{
char data[HAMLIB_FIFO_SIZE];
int head;
commit 00020e6d9d1c7c17544fb3ce8f9ec64ae8ad0be4
Author: George Baltz N3GB <Geo...@gm...>
Date: Fri Sep 19 17:06:05 2025 -0400
Add 'hl_' prefix to names of push(), pop() and peek()
to avoid conflict with app code.
Add header to fifo.c
Drop unused structure member in rig.c
diff --git a/src/fifo.c b/src/fifo.c
index 19080e217..b7da0637c 100644
--- a/src/fifo.c
+++ b/src/fifo.c
@@ -1,3 +1,25 @@
+/*
+ * Hamlib Interface - FIFO routines
+ * Copyright (c) 2023-2025 by the Hamlib group
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+
#include "hamlib/config.h"
#include <stdio.h>
@@ -23,7 +45,7 @@ void resetFIFO(FIFO_RIG *fifo)
// returns RIG_OK if added
// return -RIG error if overflow
-int push(FIFO_RIG *fifo, const char *msg)
+int hl_push(FIFO_RIG *fifo, const char *msg)
{
pthread_mutex_lock(&fifo->mutex);
int len = strlen(msg);
@@ -59,7 +81,7 @@ int push(FIFO_RIG *fifo, const char *msg)
return RIG_OK;
}
-int peek(FIFO_RIG *fifo)
+int hl_peek(FIFO_RIG *fifo)
{
if (fifo == NULL) { return -1; }
@@ -87,7 +109,7 @@ int peek(FIFO_RIG *fifo)
return c;
}
-int pop(FIFO_RIG *fifo)
+int hl_pop(FIFO_RIG *fifo)
{
if (fifo->tail == fifo->head) { return -1; }
@@ -118,12 +140,12 @@ int main()
const char *str = "Hello, World!\n";
// Pushing the string onto the FIFO
- push(&fifo, str);
+ hl_push(&fifo, str);
// Popping and printing one character at a time
int c;
- while ((c = pop(&fifo)) != -1)
+ while ((c = hl_pop(&fifo)) != -1)
{
printf("%c", c);
}
diff --git a/src/fifo.h b/src/fifo.h
index 888a77218..c60d55ced 100644
--- a/src/fifo.h
+++ b/src/fifo.h
@@ -43,9 +43,9 @@ typedef struct fifo_rig
/* Function prototypes */
void initFIFO(FIFO_RIG *fifo);
void resetFIFO(FIFO_RIG *fifo);
-int push(FIFO_RIG *fifo, const char *msg);
-int pop(FIFO_RIG *fifo);
-int peek(FIFO_RIG *fifo);
+int hl_push(FIFO_RIG *fifo, const char *msg);
+int hl_pop(FIFO_RIG *fifo);
+int hl_peek(FIFO_RIG *fifo);
__END_DECLS
diff --git a/src/rig.c b/src/rig.c
index 684a023f3..a390db1d1 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -309,7 +309,6 @@ typedef struct morse_data_handler_priv_data_s
{
pthread_t thread_id;
morse_data_handler_args args;
- volatile FIFO_RIG fifo_morse;
int keyspd;
} morse_data_handler_priv_data;
@@ -7532,7 +7531,7 @@ int HAMLIB_API rig_send_morse(RIG *rig, vfo_t vfo, const char *msg)
retcode = caps->send_morse(rig, vfo, msg);
LOCK(0);
#else
- retcode = push(rs->fifo_morse, msg);
+ retcode = hl_push(rs->fifo_morse, msg);
#endif
RETURNFUNC(retcode);
}
@@ -8614,7 +8613,7 @@ static int morse_data_handler_stop(RIG *rig)
hl_usleep(100 * 1000);
//HAMLIB_TRACE;
- while (peek(rs->fifo_morse) >= 0)
+ while (hl_peek(rs->fifo_morse) >= 0)
{
HAMLIB_TRACE;
rig_debug(RIG_DEBUG_TRACE, "%s: waiting for fifo queue to flush\n", __func__);
@@ -8771,21 +8770,21 @@ static void *morse_data_handler(void *arg)
c = calloc(1, qsize + 1);
- while (rs->morse_data_handler_thread_run || (peek(rs->fifo_morse) >= 0))
+ while (rs->morse_data_handler_thread_run || (hl_peek(rs->fifo_morse) >= 0))
{
int n = 0;
memset(c, 0, qsize);
for (n = 0; n < qsize; n++)
{
- int d = peek(rs->fifo_morse);
+ int d = hl_peek(rs->fifo_morse);
if (d < 0)
{
break;
}
- d = pop(rs->fifo_morse);
+ d = hl_pop(rs->fifo_morse);
c[n] = (char) d;
}
commit 22834737075ddbb0a7a36e179a58a8d1439415cf
Author: George Baltz N3GB <Geo...@gm...>
Date: Thu Sep 18 22:19:00 2025 -0400
Move FIFO_RIG from hamlib/rig.h to fifo.h where it belongs.
Add header to fifo.h
Update structure pointer in rig_state
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index ec6400b19..bc1e8e73f 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -169,19 +169,6 @@
__BEGIN_DECLS
-// FIFO currently used for send_morse queue
-#define HAMLIB_FIFO_SIZE 1024
-
-typedef struct
-{
- char data[HAMLIB_FIFO_SIZE];
- int head;
- int tail;
- int flush; // flush flag for stop_morse
- pthread_mutex_t mutex;
-} FIFO_RIG;
-
-
/**
* \brief size of cookie request buffer
* Minimum size of cookie buffer to pass to rig_cookie
diff --git a/include/hamlib/rig_state.h b/include/hamlib/rig_state.h
index 5d32089d7..99a9396ea 100644
--- a/include/hamlib/rig_state.h
+++ b/include/hamlib/rig_state.h
@@ -42,6 +42,12 @@ __BEGIN_DECLS
* This file contains the live data structure of the rig (radio).
*/
+/* Forward declarations
+ *
+ * Structures pointed to by rig_state and defined elsewhere
+ */
+struct fifo_rig; /* Defined in src/fifo.h */
+
/**
* \brief Rig state containing live data and customized fields.
*
@@ -222,9 +228,9 @@ struct rig_state {
freq_t spectrum_spans[HAMLIB_MAX_SPECTRUM_SPANS]; /*!< Supported spectrum scope frequency spans in Hz in center mode. Last entry must be 0. */
struct rig_spectrum_avg_mode spectrum_avg_modes[HAMLIB_MAX_SPECTRUM_AVG_MODES]; /*!< Supported spectrum scope averaging modes. Last entry must have NULL name. */
int spectrum_attenuator[HAMLIB_MAXDBLSTSIZ]; /*!< Spectrum attenuator list in dB, 0 terminated */
- volatile int morse_data_handler_thread_run; /*!< Morse data handler thread flag. */
- void *morse_data_handler_priv_data; /*!< Morse data handler private structure. */
- FIFO_RIG *fifo_morse; /*!< FIFO queue for Morse Code transmission. */
+ volatile int morse_data_handler_thread_run; /*!< Morse data handler thread flag. */
+ void *morse_data_handler_priv_data; /*!< Morse data handler private structure. */
+ struct fifo_rig *fifo_morse; /*!< FIFO queue for Morse Code transmission. */
int doppler; /*!< True if doppler changing detected */
char *multicast_data_addr; /*!< Multicast data UDP address for publishing rig data and state */
int multicast_data_port; /*!< Multicast data UDP port for publishing rig data and state */
diff --git a/src/fifo.h b/src/fifo.h
index 2855a00a6..888a77218 100644
--- a/src/fifo.h
+++ b/src/fifo.h
@@ -1,5 +1,52 @@
+/*
+ * Hamlib Interface - FIFO support
+ * Copyright (c) 2023-2025 by the Hamlib group
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+#ifndef _HL_FIFO_H
+#define _HL_FIFO_H
+
+//#include "hamlib/rig.h"
+//#include <pthread.h>
+
+__BEGIN_DECLS
+
+// FIFO currently used for send_morse queue
+#define HAMLIB_FIFO_SIZE 1024
+
+typedef struct fifo_rig
+{
+ char data[HAMLIB_FIFO_SIZE];
+ int head;
+ int tail;
+ int flush; // flush flag for stop_morse
+ pthread_mutex_t mutex;
+} FIFO_RIG;
+
+/* Function prototypes */
void initFIFO(FIFO_RIG *fifo);
void resetFIFO(FIFO_RIG *fifo);
int push(FIFO_RIG *fifo, const char *msg);
int pop(FIFO_RIG *fifo);
int peek(FIFO_RIG *fifo);
+
+__END_DECLS
+
+#endif /* _HL_FIFO_H */
-----------------------------------------------------------------------
Summary of changes:
bindings/python/test_Hamlib_class.py | 1 -
include/hamlib/rig.h | 13 ---------
include/hamlib/rig_state.h | 12 ++++++--
src/fifo.c | 32 ++++++++++++++++++----
src/fifo.h | 53 ++++++++++++++++++++++++++++++++++--
src/misc.c | 15 ++++++++++
src/rig.c | 17 +++++++-----
7 files changed, 111 insertions(+), 32 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-10-06 16:25:55
|
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 54a5097c7e44148dc5c02ad6194744c60fbd86f4 (commit)
from 11be2d6549a3c5f31ebbc0ccf5c586de4df4a833 (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 54a5097c7e44148dc5c02ad6194744c60fbd86f4
Author: David Balharrie <da...@ba...>
Date: Wed Oct 1 19:19:34 2025 +0100
Use rot->caps min_az, max_az, min_el, max_el instead of numbers. Fix not being able to move beyond 180 using move CW command.
diff --git a/rigs/dummy/rot_dummy.c b/rigs/dummy/rot_dummy.c
index 74412c9d2..143a30f9b 100644
--- a/rigs/dummy/rot_dummy.c
+++ b/rigs/dummy/rot_dummy.c
@@ -427,32 +427,32 @@ static int dummy_rot_move(ROT *rot, int direction, int speed)
switch (direction)
{
case ROT_MOVE_UP:
- return dummy_rot_set_position(rot, priv->target_az, 90);
+ return dummy_rot_set_position(rot, priv->target_az, rot->caps->max_el);
case ROT_MOVE_DOWN:
- return dummy_rot_set_position(rot, priv->target_az, 0);
+ return dummy_rot_set_position(rot, priv->target_az, rot->caps->min_el);
case ROT_MOVE_CCW:
- return dummy_rot_set_position(rot, -180, priv->target_el);
+ return dummy_rot_set_position(rot, rot->caps->min_az, priv->target_el);
case ROT_MOVE_CW:
- return dummy_rot_set_position(rot, 180, priv->target_el);
+ return dummy_rot_set_position(rot, rot->caps->max_az, priv->target_el);
case ROT_MOVE_UP_LEFT:
- dummy_rot_set_position(rot, priv->target_az, 90);
- return dummy_rot_set_position(rot, -180, priv->target_el);
+ dummy_rot_set_position(rot, priv->target_az, rot->caps->max_el);
+ return dummy_rot_set_position(rot, rot->caps->min_az, priv->target_el);
case ROT_MOVE_UP_RIGHT:
- dummy_rot_set_position(rot, priv->target_az, 90);
- return dummy_rot_set_position(rot, 180, priv->target_el);
+ dummy_rot_set_position(rot, priv->target_az, rot->caps->max_el);
+ return dummy_rot_set_position(rot, rot->caps->max_az, priv->target_el);
case ROT_MOVE_DOWN_LEFT:
- dummy_rot_set_position(rot, priv->target_az, 0);
- return dummy_rot_set_position(rot, -180, priv->target_el);
+ dummy_rot_set_position(rot, priv->target_az, rot->caps->min_el);
+ return dummy_rot_set_position(rot, rot->caps->min_az, priv->target_el);
case ROT_MOVE_DOWN_RIGHT:
- dummy_rot_set_position(rot, priv->target_az, 0);
- return dummy_rot_set_position(rot, 180, priv->target_el);
+ dummy_rot_set_position(rot, priv->target_az, rot->caps->min_el);
+ return dummy_rot_set_position(rot, rot->caps->max_az, priv->target_el);
default:
return -RIG_EINVAL;
-----------------------------------------------------------------------
Summary of changes:
rigs/dummy/rot_dummy.c | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-10-06 16:13: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 11be2d6549a3c5f31ebbc0ccf5c586de4df4a833 (commit)
from d09f6b5dab19b6fc851b884dbcf8e637529d0a90 (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 11be2d6549a3c5f31ebbc0ccf5c586de4df4a833
Author: telewizoor <not...@gi...>
Date: Wed Oct 1 09:44:37 2025 -0700
Support tuning FT-450 notch filter
Per GitHub issue #1929, enable use of `L NOTCHF xxxx` command for the
Yaesu FT-450D.
diff --git a/rigs/yaesu/ft450.h b/rigs/yaesu/ft450.h
index d77df8a20..6c25d12a5 100644
--- a/rigs/yaesu/ft450.h
+++ b/rigs/yaesu/ft450.h
@@ -64,7 +64,7 @@
RIG_LEVEL_KEYSPD|RIG_LEVEL_AF|RIG_LEVEL_AGC|\
RIG_LEVEL_METER|RIG_LEVEL_BKINDL|RIG_LEVEL_SQL|\
RIG_LEVEL_VOXGAIN|RIG_LEVEL_VOXDELAY|\
- RIG_LEVEL_BAND_SELECT)
+ RIG_LEVEL_BAND_SELECT|RIG_LEVEL_NOTCHF)
#define FT450_FUNCS (RIG_FUNC_TONE|RIG_FUNC_TSQL|RIG_FUNC_LOCK|\
RIG_FUNC_MON|RIG_FUNC_NB|RIG_FUNC_NR|RIG_FUNC_VOX|\
-----------------------------------------------------------------------
Summary of changes:
rigs/yaesu/ft450.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-09-27 18:29:34
|
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 d09f6b5dab19b6fc851b884dbcf8e637529d0a90 (commit)
via 0d122f6b1a56a5ed9424dd11ac335cd37093f78f (commit)
via 34fa8d0e2fc9eeb21e1d4f86df65dfc7c1c135e4 (commit)
via 744fe5a066e3656907ea7f59d08e9ec4545cc993 (commit)
from dbea10e65524a41e73017f64ceb88f6b3e6bd59a (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 d09f6b5dab19b6fc851b884dbcf8e637529d0a90
Merge: dbea10e65 0d122f6b1
Author: Nate Bargmann <n0...@n0...>
Date: Sat Sep 27 13:23:11 2025 -0500
Merge GitHub PR #1926
commit 0d122f6b1a56a5ed9424dd11ac335cd37093f78f
Author: Nate Bargmann <n0...@n0...>
Date: Sat Sep 27 11:16:32 2025 -0500
Restore information message from diff
Make sure tab preceeds all indented lines.
diff --git a/src/Makefile.am b/src/Makefile.am
index be81f2588..766fd95b9 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -7,12 +7,12 @@ DISTCLEANFILES = hamlibdatetime.h
RIGSRC = hamlibdatetime.h rig.c serial.c serial.h misc.c misc.h register.c register.h event.c \
event.h cal.c cal.h conf.c tones.c tones.h rotator.c locator.c rot_reg.c \
rot_conf.c rot_conf.h rot_settings.c rot_ext.c iofunc.c iofunc.h ext.c \
- mem.c settings.c parallel.c parallel.h usb_port.c usb_port.h debug.c \
- network.c network.h cm108.c cm108.h gpio.c gpio.h idx_builtin.h token.h \
- par_nt.h microham.c microham.h amplifier.c amp_reg.c amp_conf.c \
- amp_conf.h amp_settings.c extamp.c sleep.c sleep.h sprintflst.c \
- sprintflst.h cache.c cache.h snapshot_data.c snapshot_data.h fifo.c fifo.h \
- serial_cfg_params.h mutex.h
+ mem.c settings.c parallel.c parallel.h usb_port.c usb_port.h debug.c \
+ network.c network.h cm108.c cm108.h gpio.c gpio.h idx_builtin.h token.h \
+ par_nt.h microham.c microham.h amplifier.c amp_reg.c amp_conf.c \
+ amp_conf.h amp_settings.c extamp.c sleep.c sleep.h sprintflst.c \
+ sprintflst.h cache.c cache.h snapshot_data.c snapshot_data.h fifo.c fifo.h \
+ serial_cfg_params.h mutex.h
if VERSIONDLL
RIGSRC += \
@@ -43,7 +43,7 @@ hamlibdatetime.h: FORCE
${AM_V_at}if test -x $(top_srcdir)/.git ; then \
echo "/* This date time is from the last non-merge commit to Hamlib. */" > $(builddir)/$(@F).tmp ;\
echo "#define HAMLIBDATETIME "\"$$(TZ=UTC git --git-dir=$(top_srcdir)/.git log --no-merges --date='format-local:%Y-%m-%dT%H:%M:%SZ SHA=' --format='%cd' -n 1)$$(git --git-dir=$(top_srcdir)/.git log --no-merges -n 1 --format='%h')\" >> $(builddir)/$(@F).tmp ;\
- if ! diff -qN $(builddir)/$(@F).tmp $(builddir)/$(@F)> /dev/null ; then { echo "Generating SCS header \"$(builddir)/$(@F)\"" ; mv -f $(builddir)/$(@F).tmp $(builddir)/$(@F) ; } fi ;\
+ if ! diff -qN $(builddir)/$(@F).tmp $(builddir)/$(@F) ; then { echo "Generating SCS header \"$(builddir)/$(@F)\"" ; mv -f $(builddir)/$(@F).tmp $(builddir)/$(@F) ; } fi ;\
rm -f $(builddir)/$(@F).tmp ;\
touch -c $(top_srcdir)/src/version_dll.rc ;\
else \
commit 34fa8d0e2fc9eeb21e1d4f86df65dfc7c1c135e4
Author: Nate Bargmann <n0...@n0...>
Date: Fri Sep 26 18:02:02 2025 -0500
Refactor hamlibdatetime.h target
Re: GitHub Issue #1895
Thanks to inspiration from Jan Engelhardt <ej...@in...> via the GNU
automake mailing list on Thu, 25 Sep 2025 20:40:21 +0200 (CEST):
https://lists.gnu.org/archive/html/automake/2025-09/msg00013.html
The 'diff' command has been wrapped inside an 'if' conditional to
hopefully hide its return value from FreeBSD make.
Also make a couple other small changes.
diff --git a/src/Makefile.am b/src/Makefile.am
index 122212c87..be81f2588 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -40,10 +40,10 @@ $(libhamlib_la_DEPENDENCIES):
# directory before the source directory for the hamlibdatetime.h
# header.
hamlibdatetime.h: FORCE
- @if test -x $(top_srcdir)/.git ; then \
+ ${AM_V_at}if test -x $(top_srcdir)/.git ; then \
echo "/* This date time is from the last non-merge commit to Hamlib. */" > $(builddir)/$(@F).tmp ;\
- echo "#define HAMLIBDATETIME "\"$$(TZ=UTC git --git-dir=$(top_srcdir)/.git log --no-merges --date='format-local:%Y-%m-%dT%H:%M:%SZ SHA=' --format='%cd' -n 1)$$(git --git-dir=$(top_srcdir)/.git log --no-merges -n 1 | head -n 1 | cut -c8-13)\" >> $(builddir)/$(@F).tmp ;\
- diff -qN $(builddir)/$(@F).tmp $(builddir)/$(@F) ; test $$? -eq 0 || { echo "Generating SCS header \"$(builddir)/$(@F)\"" ; mv -f $(builddir)/$(@F).tmp $(builddir)/$(@F) ; } ;\
+ echo "#define HAMLIBDATETIME "\"$$(TZ=UTC git --git-dir=$(top_srcdir)/.git log --no-merges --date='format-local:%Y-%m-%dT%H:%M:%SZ SHA=' --format='%cd' -n 1)$$(git --git-dir=$(top_srcdir)/.git log --no-merges -n 1 --format='%h')\" >> $(builddir)/$(@F).tmp ;\
+ if ! diff -qN $(builddir)/$(@F).tmp $(builddir)/$(@F)> /dev/null ; then { echo "Generating SCS header \"$(builddir)/$(@F)\"" ; mv -f $(builddir)/$(@F).tmp $(builddir)/$(@F) ; } fi ;\
rm -f $(builddir)/$(@F).tmp ;\
touch -c $(top_srcdir)/src/version_dll.rc ;\
else \
commit 744fe5a066e3656907ea7f59d08e9ec4545cc993
Author: Jan Engelhardt <ej...@in...>
Date: Wed Sep 24 20:47:46 2025 +0200
Remove redundant path from BUILT_SOURCES
Re: GitHub Issue #1895
In response to a query to the automake mailing list, this reply was
received:
On Wednesday 2025-09-24 19:05, Nate Bargmann wrote:
>make[1]: don't know how to make ./hamlibdatetime.h. Stop
Something wanted to make "./hamlibdatetime.h", but you only provide
a rule for "hamlibdatetime.h":
>hamlibdatetime.h: FORCE
> @if test -x $(top_srcdir)/.git ; then \
> echo "/* This date time is from the last non-merge commit to Hamlib. */" > $(builddir)/$(@F).tmp ;\
> echo "#define HAMLIBDATETIME "\"$$(TZ=UTC git --git-dir=$(top_srcdir)/.git log --no-merges
+--date='format-local:%Y-%m-%dT%H:%M:%SZ SHA=' --format='%cd' -n 1)$$(git --git-dir=$(top_srcdir)/.git log --no-merges -n 1 | head
+-n 1 | cut -c8-13)\" >> $(builddir)/$(@F).tmp ;\
The distinction is important.
>BUILT_SOURCES = $(builddir)/hamlibdatetime.h
All targets are already relative to ${builddir},
so explicitly mentioning ${builddir} is wrong for
targets, and redundant in the recipe.
----------------------
Removing "$(builddir)/" allows FreeBSD make to enter the rule. GNU make
wasn't bothered by the prepending of the path when comparing to the
Makefile target.
diff --git a/src/Makefile.am b/src/Makefile.am
index 8714ba81e..122212c87 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,6 +1,6 @@
AM_CFLAGS += $(LIBUSB_CFLAGS)
-BUILT_SOURCES = $(builddir)/hamlibdatetime.h
+BUILT_SOURCES = hamlibdatetime.h
DISTCLEANFILES = hamlibdatetime.h
-----------------------------------------------------------------------
Summary of changes:
src/Makefile.am | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-09-27 13:06:47
|
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 dbea10e65524a41e73017f64ceb88f6b3e6bd59a (commit)
via 51969202efe78345a1df22c66e469f03dcab8e9b (commit)
from 44eaded28388f4368b938acd5332c51e41b86ff9 (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 dbea10e65524a41e73017f64ceb88f6b3e6bd59a
Merge: 44eaded28 51969202e
Author: Nate Bargmann <n0...@n0...>
Date: Sat Sep 27 07:40:00 2025 -0500
Merge GitHub PR #1924
commit 51969202efe78345a1df22c66e469f03dcab8e9b
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Thu Sep 25 23:01:56 2025 +0200
Fix command to put bandwidth control back to bandwidth knob
Adds a missing *. Thanks to @peterdulowsky.
Fixes issue #1923.
diff --git a/rigs/tentec/orion.c b/rigs/tentec/orion.c
index eb635863c..3eb417ded 100644
--- a/rigs/tentec/orion.c
+++ b/rigs/tentec/orion.c
@@ -743,7 +743,7 @@ int tt565_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
if (rig->caps->rig_model == RIG_MODEL_TT599)
{
// Additional R%CF0 puts bandwidth control back to bandwidth knob
- SNPRINTF(mdbuf, sizeof(mdbuf), "*R%cM%c" EOM "*R%cF%d" EOM "R%cF0" EOM,
+ SNPRINTF(mdbuf, sizeof(mdbuf), "*R%cM%c" EOM "*R%cF%d" EOM "*R%cF0" EOM,
ttreceiver,
ttmode,
ttreceiver,
-----------------------------------------------------------------------
Summary of changes:
rigs/tentec/orion.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-09-27 12:39:36
|
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 44eaded28388f4368b938acd5332c51e41b86ff9 (commit)
via 50fc454a0b6731ffa110a8031ecc777d78d0fcba (commit)
from 1ecf72171490ddb493fefb9bce197b5d648783e3 (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 44eaded28388f4368b938acd5332c51e41b86ff9
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Thu Sep 25 00:13:08 2025 +0200
Fix Doxygen description
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index 8ab47b8ff..ec6400b19 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -1437,8 +1437,8 @@ typedef uint64_t rmode_t;
#define RIG_MODE_USBD2 CONSTANT_64BIT_FLAG (41) /*!< \c USB-D2 for some rigs */
#define RIG_MODE_USBD3 CONSTANT_64BIT_FLAG (42) /*!< \c USB-D3 for some rigs */
#define RIG_MODE_LSBD1 CONSTANT_64BIT_FLAG (43) /*!< \c LSB-D1 for some rigs */
-#define RIG_MODE_LSBD2 CONSTANT_64BIT_FLAG (44) /*!< \c LSB-D1 for some rigs */
-#define RIG_MODE_LSBD3 CONSTANT_64BIT_FLAG (45) /*!< \c LSB-D1 for some rigs */
+#define RIG_MODE_LSBD2 CONSTANT_64BIT_FLAG (44) /*!< \c LSB-D2 for some rigs */
+#define RIG_MODE_LSBD3 CONSTANT_64BIT_FLAG (45) /*!< \c LSB-D3 for some rigs */
#define RIG_MODE_WFMS CONSTANT_64BIT_FLAG (46) /*!< \c broadcast wide FM stereo for some rigs */
#define RIG_MODE_BIT47 CONSTANT_64BIT_FLAG (47) /*!< \c reserved for future expansion */
#define RIG_MODE_BIT48 CONSTANT_64BIT_FLAG (48) /*!< \c reserved for future expansion */
commit 50fc454a0b6731ffa110a8031ecc777d78d0fcba
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Wed Sep 24 20:35:44 2025 +0200
Remove duplicated define
Fixes:
../include/hamlib/rotlist.h:237: Warning 322: Redundant redeclaration of identifier 'ROT_MODEL_RT21' ignored,
diff --git a/include/hamlib/rotlist.h b/include/hamlib/rotlist.h
index e50fdc46d..94e91e6ec 100644
--- a/include/hamlib/rotlist.h
+++ b/include/hamlib/rotlist.h
@@ -234,7 +234,6 @@
#define ROT_MODEL_ERC ROT_MAKE_MODEL(ROT_ROTOREZ, 4)
#define ROT_MODEL_RT21 ROT_MAKE_MODEL(ROT_ROTOREZ, 5)
#define ROT_MODEL_YRC1 ROT_MAKE_MODEL(ROT_ROTOREZ, 6)
-#define ROT_MODEL_RT21 ROT_MAKE_MODEL(ROT_ROTOREZ, 5)
/** The `SARTEK` family. */
-----------------------------------------------------------------------
Summary of changes:
include/hamlib/rig.h | 4 ++--
include/hamlib/rotlist.h | 1 -
2 files changed, 2 insertions(+), 3 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|