hamlib-cvs-digest Mailing List for Ham Radio Control Libraries (Page 8)
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
(4) |
|
From: n0nb <n0...@us...> - 2025-05-22 23:29:25
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 9570d9963b44a4ee2ad8d2a6befb982fd4dcb6fc (commit)
via dbe89b2092f808e4fe3d7286b6459a9803cd5361 (commit)
via 87311035ea67d73a1a02d99e55b2a522486bead7 (commit)
via 4109d606b598a8ca84ebdbe6d06b740928b4e5bf (commit)
via 84376c45616d0a50023815f10b89eafe6f45e02a (commit)
from 9b177cd8b3bcbc47126961377e6b14c689918af2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 9570d9963b44a4ee2ad8d2a6befb982fd4dcb6fc
Merge: 9b177cd8b dbe89b209
Author: Nate Bargmann <n0...@n0...>
Date: Thu May 22 18:17:59 2025 -0500
Merge GitHub PR #1742
commit dbe89b2092f808e4fe3d7286b6459a9803cd5361
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Thu May 22 21:51:55 2025 +0200
Remove duplicated comment
diff --git a/configure.ac b/configure.ac
index 4a453abdb..b88734859 100644
--- a/configure.ac
+++ b/configure.ac
@@ -817,10 +817,6 @@ echo Build_OS is $build_os
dnl otherwise parallel 'make -jn' will fail
-## ---------------------------------- ##
-## Prepare rig backend dependencies ##
-## ---------------------------------- ##
-
for be in ${RIG_BACKEND_LIST} ; do
RIGDIR=$(echo $be | awk -F "/" '{print $2}')
RIG_BACKENDEPS="${RIG_BACKENDEPS} \$(top_builddir)/rigs/${RIGDIR}/libhamlib-${RIGDIR}.la"
commit 87311035ea67d73a1a02d99e55b2a522486bead7
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Tue May 20 19:42:42 2025 +0200
Also mention amplifiers
diff --git a/README.md b/README.md
index 3b1093697..9b4410138 100644
--- a/README.md
+++ b/README.md
@@ -27,15 +27,15 @@ to reach the Wiki.
Hamlib Design
-------------
-The library provides functions for both radio and rotator control,
-and data retrieval from the radio or rotator. A number of functions useful
+The library provides functions for radio, rotator and amplifier control,
+and data retrieval for supported devices. A number of functions useful
for calculating distance and bearing and grid square conversion are included.
libhamlib.so - library that provides generic API for all RIG types.
This is what Application programmers will "see". Will have different
names on other platforms, e.g. libhamlib-2.dll on MS windows. Also
- contains all radio and rotator "backends" (formerly in their own
- dlopen'ed libraries) provided by Hamlib.
+ contains all radio, rotator and amplifier "backends" (formerly in their
+ own dlopen'ed libraries) provided by Hamlib.
Backend Examples are:
---------------------
diff --git a/scripts/build-w32.sh b/scripts/build-w32.sh
index d6ca19c61..9bf25dd93 100755
--- a/scripts/build-w32.sh
+++ b/scripts/build-w32.sh
@@ -124,8 +124,9 @@ Testing with the Hamlib Utilities
To continue, be sure you have read the README.betatester file, especially the
"Testing Hamlib" section. The primary means of testing is by way of the
-rigctl utility for radios and rotctl utility for rotators. Each is a command
-line program that is interactive or can act on a single command and exit.
+rigctl utility for radios, the rotctl utility for rotators and the ampctl
+utility for amplifiers. Each is a command line program that is interactive
+or can act on a single command and exit.
Documentation for each utility can be found as an HTML file in the doc
directory.
diff --git a/scripts/build-w64.sh b/scripts/build-w64.sh
index ca4b89571..2215bc86b 100755
--- a/scripts/build-w64.sh
+++ b/scripts/build-w64.sh
@@ -124,8 +124,9 @@ Testing with the Hamlib Utilities
To continue, be sure you have read the README.betatester file, especially the
"Testing Hamlib" section. The primary means of testing is by way of the
-rigctl utility for radios and rotctl utility for rotators. Each is a command
-line program that is interactive or can act on a single command and exit.
+rigctl utility for radios, the rotctl utility for rotators and the ampctl
+utility for amplifiers. Each is a command line program that is interactive
+or can act on a single command and exit.
Documentation for each utility can be found as an HTML file in the doc
directory.
commit 4109d606b598a8ca84ebdbe6d06b740928b4e5bf
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Mon May 19 23:01:26 2025 +0200
Fix typos
diff --git a/rigs/aor/ar7030.c b/rigs/aor/ar7030.c
index 45be50a72..858dd2f95 100644
--- a/rigs/aor/ar7030.c
+++ b/rigs/aor/ar7030.c
@@ -485,7 +485,7 @@ static int ar7030_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
}
// fltbw Mem_Page=0 Address=38
- // Filter bandwidth dezimal in Hz.
+ // Filter bandwidth decimal in Hz.
// Filter bandwidth (2 BCD digits : x.x kHz).
setMemPtr(rig, 0, 0x38);
diff --git a/rigs/dummy/aclog.c b/rigs/dummy/aclog.c
index c236003df..52dc49e4d 100644
--- a/rigs/dummy/aclog.c
+++ b/rigs/dummy/aclog.c
@@ -74,7 +74,7 @@ struct aclog_priv_data
struct ext_list *ext_parms;
};
-//Structure for mapping aclog dynmamic modes to hamlib modes
+//Structure for mapping aclog dynamic modes to hamlib modes
//aclog displays modes as the rig displays them
struct s_modeMap
{
diff --git a/rigs/dummy/flrig.c b/rigs/dummy/flrig.c
index 505f803bb..7d41e1df9 100644
--- a/rigs/dummy/flrig.c
+++ b/rigs/dummy/flrig.c
@@ -217,7 +217,7 @@ struct rig_caps flrig_caps =
.hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
};
-//Structure for mapping flrig dynmamic modes to hamlib modes
+//Structure for mapping flrig dynamic modes to hamlib modes
//flrig displays modes as the rig displays them
struct s_modeMap
{
diff --git a/rigs/dummy/tci1x.c b/rigs/dummy/tci1x.c
index 7fdaa64d1..cf9123c7b 100644
--- a/rigs/dummy/tci1x.c
+++ b/rigs/dummy/tci1x.c
@@ -212,7 +212,7 @@ struct rig_caps tci1x_caps =
.hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
};
-//Structure for mapping tci1x dynmamic modes to hamlib modes
+//Structure for mapping tci1x dynamic modes to hamlib modes
//tci1x displays modes as the rig displays them
struct s_modeMap
{
diff --git a/rigs/elad/elad.c b/rigs/elad/elad.c
index 9e257f81c..87e8f71b6 100644
--- a/rigs/elad/elad.c
+++ b/rigs/elad/elad.c
@@ -152,7 +152,7 @@ const struct confparams elad_cfg_params[] =
* indicating that only a reply is needed (nothing will be sent).
* data: Buffer for reply string. Can be NULL, indicating that no reply
* is needed and will return with RIG_OK after command was sent.
- * datasize: Size of buffer. It is the caller's responsibily to provide
+ * datasize: Size of buffer. It is the caller's responsibility to provide
* a large enough buffer for all possible replies for a command.
*
* returns:
diff --git a/rigs/icom/frame.c b/rigs/icom/frame.c
index df2019e09..5fa28a110 100644
--- a/rigs/icom/frame.c
+++ b/rigs/icom/frame.c
@@ -291,7 +291,7 @@ again1:
}
// first 2 bytes of everything are 0xfe so we won't test those
- // this allows some corruptin of the 0xfe bytes which has been seen in the wild
+ // this allows some corruption of the 0xfe bytes which has been seen in the wild
if (memcmp(&buf[2], &sendbuf[2], frm_len - 2) != 0)
{
/* Frames are different? */
@@ -620,7 +620,7 @@ static int read_icom_frame_generic(hamlib_port_t *p,
while ((read < rxbuffer_len) && (rxbuffer[read - 1] != FI)
&& (rxbuffer[read - 1] != COL));
- // Check that we have a valid frame preamble (which might be just a single preable character)
+ // Check that we have a valid frame preamble (which might be just a single preamble character)
// Or an error code
if (rxbuffer[0] != PR && rxbuffer[0] != COL)
{
diff --git a/rigs/icom/ic746.c b/rigs/icom/ic746.c
index 6ace9675b..45e398205 100644
--- a/rigs/icom/ic746.c
+++ b/rigs/icom/ic746.c
@@ -357,7 +357,7 @@ struct rig_caps ic746_caps =
#define S_MEM_2M_DUP_OFST 0x516 /* default 144 MHz duplex offset 3 byte little endian */
#define S_MEM_AUTO_RPTR 0x518 /* auto repeater set 0=OFF; 1=ON-1; 2=ON-2 */
#define S_MEM_LANG 0x523 /* 0=English 1=Japanese for voice announcer */
-#define S_MEM_TRCV 0x536 /* CI-V trancieve mode */
+#define S_MEM_TRCV 0x536 /* CI-V transceive mode */
#define S_MEM_CMP_LVL 0x538 /* speech compressor level 0-10 */
#define S_MEM_SBASS 0x539 /* SSB TX tone bass level */
#define S_MEM_RTTY_FL_PB 0x562 /* 0=250 Hz, 1=300' 2 = 350, 3 = 500, 4 = 1 KHz */
diff --git a/rigs/icom/ic756.c b/rigs/icom/ic756.c
index 347fa7a41..45aca0a2e 100644
--- a/rigs/icom/ic756.c
+++ b/rigs/icom/ic756.c
@@ -525,7 +525,7 @@ static const struct confparams ic756pro2_ext_parms[] =
#define S_MEM_BEEP 0x520 /* Button confirmation */
#define S_MEM_SQL_CTL 0x522 /* RF/SQL ctl set 0=auto; 1 = sql; 2 = RF+SQL */
#define S_MEM_QSPLT 0x524 /* enable quick split mode */
-#define S_MEM_TRCV 0x532 /* CI-V trancieve mode */
+#define S_MEM_TRCV 0x532 /* CI-V transceive mode */
#define S_MEM_LANG 0x536 /* 0=English 1=Japanese for voice announcer */
#define S_MEM_SCN_SPD 0x556 /* 0 = low; 1 = high */
#define S_MEM_RTTY_FL_PB 0x561 /* 0=250 Hz, 1=300' 2 = 350, 3 = 500, 4 = 1 KHz */
diff --git a/rigs/icom/ic820h.c b/rigs/icom/ic820h.c
index 1d0bf11cf..9d4eb8d65 100644
--- a/rigs/icom/ic820h.c
+++ b/rigs/icom/ic820h.c
@@ -83,7 +83,7 @@ struct rig_caps ic820h_caps =
.ctcss_list = NULL,
.dcs_list = NULL,
.preamp = { RIG_DBLST_END, },
- .attenuator = { RIG_DBLST_END, }, /* Attanuator 15dB for each band. manual button */
+ .attenuator = { RIG_DBLST_END, }, /* Attenuator 15dB for each band. manual button */
.max_rit = Hz(0), /* SSB,CW: +-1.0kHz FM: +-5.0kHz */
.max_xit = Hz(0),
.max_ifshift = Hz(0), /* 1.2kHz manual knob */
diff --git a/rigs/icom/ic821h.c b/rigs/icom/ic821h.c
index 8e9dacb06..9c1e4b2ba 100644
--- a/rigs/icom/ic821h.c
+++ b/rigs/icom/ic821h.c
@@ -120,7 +120,7 @@ struct rig_caps ic821h_caps =
.ctcss_list = NULL,
.dcs_list = NULL,
.preamp = { RIG_DBLST_END, },
- .attenuator = { RIG_DBLST_END, }, /* Attanuator 15dB for each band. manual button */
+ .attenuator = { RIG_DBLST_END, }, /* Attenuator 15dB for each band. manual button */
.max_rit = Hz(0), /* SSB,CW: +-1.0kHz FM: +-5.0kHz */
.max_xit = Hz(0),
.max_ifshift = Hz(0), /* 1.2kHz manual knob */
diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c
index 71cd24eba..77564a4b1 100644
--- a/rigs/icom/icom.c
+++ b/rigs/icom/icom.c
@@ -1760,7 +1760,7 @@ int icom_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
if (vfo == RIG_VFO_MEM && (priv->civ_731_mode || RIG_IS_IC706))
{
- // Memory channels have always 5-byte frequqncy
+ // Memory channels have always 5-byte frequency
rig_debug(RIG_DEBUG_TRACE, "%s: VFO=MEM so turning off civ_731\n", __func__);
civ_731_mode_save = 1;
priv->civ_731_mode = 0;
@@ -8119,7 +8119,7 @@ int icom_set_powerstat(RIG *rig, powerstat_t status)
rig_debug(RIG_DEBUG_VERBOSE, "%s called status=%d\n", __func__,
(int) status);
- // elimininate retries to speed this up
+ // eliminate retries to speed this up
// especially important when rig is not turned on
retry_save = rp->retry;
timeout_retry_save = rp->timeout_retry;
diff --git a/rigs/jrc/jrc.c b/rigs/jrc/jrc.c
index c7691272c..91b9378d7 100644
--- a/rigs/jrc/jrc.c
+++ b/rigs/jrc/jrc.c
@@ -1176,7 +1176,7 @@ int jrc_get_parm(RIG *rig, setting_t parm, value_t *val)
val->i = ((10 * lvlbuf[1] + lvlbuf[2]) * 60 + /* hours */
10 * lvlbuf[3] + lvlbuf[4]) * 60 + /* minutes */
- 10 * lvlbuf[5] + lvlbuf[6]; /* secondes */
+ 10 * lvlbuf[5] + lvlbuf[6]; /* seconds */
break;
case RIG_PARM_BEEP:
diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c
index 83a93270c..c4449c5d6 100644
--- a/rigs/kenwood/kenwood.c
+++ b/rigs/kenwood/kenwood.c
@@ -258,7 +258,7 @@ int remove_nonprint(char *s)
* indicating that only a reply is needed (nothing will be sent).
* data: Buffer for reply string. Can be NULL, indicating that no reply
* is needed and will return with RIG_OK after command was sent.
- * datasize: Size of buffer. It is the caller's responsibily to provide
+ * datasize: Size of buffer. It is the caller's responsibility to provide
* a large enough buffer for all possible replies for a command.
*
* returns:
@@ -1423,7 +1423,7 @@ int kenwood_set_vfo(RIG *rig, vfo_t vfo)
break;
default:
- rig_debug(RIG_DEBUG_ERR, "%s: unhandled VFO=%s, deafaulting to VFOA\n",
+ rig_debug(RIG_DEBUG_ERR, "%s: unhandled VFO=%s, defaulting to VFOA\n",
__func__, rig_strvfo(priv->tx_vfo));
}
diff --git a/rigs/kenwood/tmv7.c b/rigs/kenwood/tmv7.c
index 8b20cc4e6..03309c181 100644
--- a/rigs/kenwood/tmv7.c
+++ b/rigs/kenwood/tmv7.c
@@ -183,7 +183,7 @@ struct rig_caps tmv7_caps =
RIG_FLT_END
},
- .str_cal = { 4, { {0, -60 }, {1, -30,}, {5, 0}, {7, 20}}}, /* rought guess */
+ .str_cal = { 4, { {0, -60 }, {1, -30,}, {5, 0}, {7, 20}}}, /* rough guess */
.priv = (void *)& tmv7_priv_caps,
.rig_init = kenwood_init,
diff --git a/rigs/kenwood/ts870s.c b/rigs/kenwood/ts870s.c
index 8a9184e63..98343310d 100644
--- a/rigs/kenwood/ts870s.c
+++ b/rigs/kenwood/ts870s.c
@@ -237,7 +237,7 @@ static int ts870s_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
pbwidth_t mode_default_hpf;
/* we assume the HPF is set to default and set the LPF to
- give the best approximaation of the requested width */
+ give the best approximation of the requested width */
if (RIG_MODE_AM == mode)
{
mode_default_hpf = 300;
diff --git a/rigs/kit/drt1.c b/rigs/kit/drt1.c
index 459127bab..87a191d7b 100644
--- a/rigs/kit/drt1.c
+++ b/rigs/kit/drt1.c
@@ -285,7 +285,7 @@ int drt1_get_conf(RIG *rig, hamlib_token_t token, char *val)
DDS is AD9951.
- The clock input is 45,012 MHz (also 2nd LO frequencie at the same time).
+ The clock input is 45,012 MHz (also 2nd LO frequency at the same time).
The clock multiplier should be set to 8x at start value (possible, that this
will change to lower clock multiplier).
diff --git a/rigs/kit/elektor507.c b/rigs/kit/elektor507.c
index f335c94b1..086741a94 100644
--- a/rigs/kit/elektor507.c
+++ b/rigs/kit/elektor507.c
@@ -549,7 +549,7 @@ int elektor507_ftdi_write_data(RIG *rig, void *FTOutBuf,
* Original article:
* http://www.elektor.com/magazines/2007/may/software-defined-radio.91527.lynkx
*
- * Author (Burkhard Kainka) page, in german:
+ * Author (Burkhard Kainka) page, in German:
* http://www.b-kainka.de/sdrusb.html
*/
diff --git a/rigs/kit/pcrotor.c b/rigs/kit/pcrotor.c
index c1345a034..a9ee11f5c 100644
--- a/rigs/kit/pcrotor.c
+++ b/rigs/kit/pcrotor.c
@@ -91,7 +91,7 @@ pcrotor_move(ROT *rot, int direction, int speed)
/*
* PcRotor rotator capabilities.
*
- * Control Interface schematics from, courtersy of Bob Hillard WA6UFQ:
+ * Control Interface schematics from, courtesy of Bob Hillard WA6UFQ:
* http://www.dxzone.com/cgi-bin/dir/jump2.cgi?ID=11173
*
* DB25-7=Data-5= Power up/Sleep
diff --git a/rigs/uniden/uniden.c b/rigs/uniden/uniden.c
index d0328e673..7d4cdda71 100644
--- a/rigs/uniden/uniden.c
+++ b/rigs/uniden/uniden.c
@@ -99,7 +99,7 @@ tone_t uniden_dcs_list[] =
* that the prefix is either the cmdstr prefix or OK.
* data - Buffer for reply string. Can be NULL, indicating that no reply is
* is needed and will return with RIG_OK after command was sent.
- * datasize - in: Size of buffer. It is the caller's responsibily to provide
+ * datasize - in: Size of buffer. It is the caller's responsibility to provide
* a large enough buffer for all possible replies for a command.
* out: location where to store number of bytes read.
*
diff --git a/rigs/uniden/uniden_digital.c b/rigs/uniden/uniden_digital.c
index 17d2e6d74..1f0d12dca 100644
--- a/rigs/uniden/uniden_digital.c
+++ b/rigs/uniden/uniden_digital.c
@@ -80,7 +80,7 @@ uniden_id_string_list[] =
* that the prefix is either the cmdstr prefix or OK.
* data - Buffer for reply string. Can be NULL, indicating that no reply is
* is needed and will return with RIG_OK after command was sent.
- * datasize - in: Size of buffer. It is the caller's responsibily to provide
+ * datasize - in: Size of buffer. It is the caller's responsibility to provide
* a large enough buffer for all possible replies for a command.
* out: location where to store number of bytes read.
*
@@ -295,7 +295,7 @@ const char *uniden_digital_get_info(RIG *rig)
*
* XXX indicates the BCD996T returns some non-printable ascii chars
* within its comma separated fields. See pg 30-32 of BCD996T_Protocol.pdf.
- * These chars cause abnomalies on stdout! */
+ * These chars cause anomalies on stdout! */
/* FIXME: Strip or replace non-printable chars return from STS command!
* (Below is a snip from DSctl utils.c file)
diff --git a/rigs/wj/wj8888.c b/rigs/wj/wj8888.c
index b5079ca80..8e321ffd7 100644
--- a/rigs/wj/wj8888.c
+++ b/rigs/wj/wj8888.c
@@ -25,7 +25,7 @@
#include "wj.h"
-/* modes: what about ISB(Idependant Sideband)? */
+/* modes: what about ISB(Independent Sideband)? */
#define WJ8888_MODES (RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_SSB|RIG_MODE_FM|RIG_MODE_AMS)
#define WJ8888_FUNC (RIG_FUNC_NONE)
diff --git a/rigs/yaesu/ft757gx.c b/rigs/yaesu/ft757gx.c
index eebda9f6e..d7bdf5518 100644
--- a/rigs/yaesu/ft757gx.c
+++ b/rigs/yaesu/ft757gx.c
@@ -750,7 +750,7 @@ static int ft757_get_update_data(RIG *rig)
rig_debug(RIG_DEBUG_VERBOSE, "%s called Timeout=%d ms, Retry=%d\n",
__func__, rp->timeout, maxtries);
- /* At least on one model, returns erraticaly a timeout. Increasing the timeout
+ /* At least on one model, returns erratically a timeout. Increasing the timeout
does not fix things. So we restart the read from scratch, it works most of times. */
for (nbtries = 0 ; nbtries < maxtries ; nbtries++)
{
diff --git a/rigs/yaesu/ft817.c b/rigs/yaesu/ft817.c
index c520eec61..125e2696b 100644
--- a/rigs/yaesu/ft817.c
+++ b/rigs/yaesu/ft817.c
@@ -2027,7 +2027,7 @@ static int ft817_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t shift)
/* Note: this doesn't have effect unless FT817 is in FM mode
although the command is accepted in any mode.
*/
- rig_debug(RIG_DEBUG_VERBOSE, "ft817: set repeter shift = %i\n", shift);
+ rig_debug(RIG_DEBUG_VERBOSE, "ft817: set repeater shift = %i\n", shift);
switch (shift)
{
@@ -2050,7 +2050,7 @@ static int ft817_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t offs)
{
unsigned char data[YAESU_CMD_LENGTH - 1];
- rig_debug(RIG_DEBUG_VERBOSE, "ft817: set repeter offs = %li\n", offs);
+ rig_debug(RIG_DEBUG_VERBOSE, "ft817: set repeater offs = %li\n", offs);
/* fill in the offset freq */
to_bcd_be(data, offs / 10, 8);
diff --git a/rigs/yaesu/ft857.c b/rigs/yaesu/ft857.c
index 3f951ac2a..fa7530922 100644
--- a/rigs/yaesu/ft857.c
+++ b/rigs/yaesu/ft857.c
@@ -1350,7 +1350,7 @@ int ft857_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t shift)
{
rig_debug(RIG_DEBUG_VERBOSE, "%s: called \n", __func__);
- rig_debug(RIG_DEBUG_VERBOSE, "ft857: set repeter shift = %i\n", shift);
+ rig_debug(RIG_DEBUG_VERBOSE, "ft857: set repeater shift = %i\n", shift);
switch (shift)
{
@@ -1373,7 +1373,7 @@ int ft857_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t offs)
rig_debug(RIG_DEBUG_VERBOSE, "%s: called \n", __func__);
- rig_debug(RIG_DEBUG_VERBOSE, "ft857: set repeter offs = %li\n", offs);
+ rig_debug(RIG_DEBUG_VERBOSE, "ft857: set repeater offs = %li\n", offs);
/* fill in the offset freq */
to_bcd_be(data, offs / 10, 8);
diff --git a/rigs/yaesu/ft891.c b/rigs/yaesu/ft891.c
index 2b6c5c4d5..fb00a9bf2 100644
--- a/rigs/yaesu/ft891.c
+++ b/rigs/yaesu/ft891.c
@@ -531,7 +531,7 @@ static int ft891_get_split_mode(RIG *rig, vfo_t vfo, rmode_t *tx_mode,
* Returns RIG_OK on success or an error code on failure
*
* Comments: Passsband is not set here.
- * FT891 apparentlhy cannot set VFOB mode directly
+ * FT891 apparently cannot set VFOB mode directly
* So we'll just set A and swap A into B
*
*/
diff --git a/rigs/yaesu/ft897.c b/rigs/yaesu/ft897.c
index ebe95ad9d..9068f6b97 100644
--- a/rigs/yaesu/ft897.c
+++ b/rigs/yaesu/ft897.c
@@ -1472,7 +1472,7 @@ int ft897_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t shift)
{
rig_debug(RIG_DEBUG_VERBOSE, "%s: called\n", __func__);
- rig_debug(RIG_DEBUG_VERBOSE, "ft897: set repeter shift = %i\n", shift);
+ rig_debug(RIG_DEBUG_VERBOSE, "ft897: set repeater shift = %i\n", shift);
switch (shift)
{
@@ -1495,7 +1495,7 @@ int ft897_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t offs)
rig_debug(RIG_DEBUG_VERBOSE, "%s: called\n", __func__);
- rig_debug(RIG_DEBUG_VERBOSE, "ft897: set repeter offs = %li\n", offs);
+ rig_debug(RIG_DEBUG_VERBOSE, "ft897: set repeater offs = %li\n", offs);
/* fill in the offset freq */
to_bcd_be(data, offs / 10, 8);
diff --git a/rigs/yaesu/pmr171.c b/rigs/yaesu/pmr171.c
index bdff4fd1f..2abe30e6e 100644
--- a/rigs/yaesu/pmr171.c
+++ b/rigs/yaesu/pmr171.c
@@ -1140,7 +1140,7 @@ static int pmr171_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t shift)
/* Note: this doesn't have effect unless FT817 is in FM mode
although the command is accepted in any mode.
*/
- rig_debug(RIG_DEBUG_VERBOSE, "pmr171: set repeter shift = %i\n", shift);
+ rig_debug(RIG_DEBUG_VERBOSE, "pmr171: set repeater shift = %i\n", shift);
switch (shift)
{
@@ -1163,7 +1163,7 @@ static int pmr171_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t offs)
{
unsigned char data[YAESU_CMD_LENGTH - 1];
- rig_debug(RIG_DEBUG_VERBOSE, "pmr171: set repeter offs = %li\n", offs);
+ rig_debug(RIG_DEBUG_VERBOSE, "pmr171: set repeater offs = %li\n", offs);
/* fill in the offset freq */
to_bcd_be(data, offs / 10, 8);
diff --git a/rigs/yaesu/vr5000.c b/rigs/yaesu/vr5000.c
index aff1f6d53..fdbe1cbb2 100644
--- a/rigs/yaesu/vr5000.c
+++ b/rigs/yaesu/vr5000.c
@@ -32,7 +32,7 @@
*
* The read s-meter CAT command seems only to return 17 to 23 depending
* on the strength of the signal. Setting the RF attenuator on with no
- * attenna on does not decrease the level below 17. If you wish to read
+ * antenna on does not decrease the level below 17. If you wish to read
* the s-meter on a specific frequency, set the frequency and wait a
* 500-1000 mS before reading it.
diff --git a/rigs/yaesu/vx1700.c b/rigs/yaesu/vx1700.c
index 129a64255..0faf4be11 100644
--- a/rigs/yaesu/vx1700.c
+++ b/rigs/yaesu/vx1700.c
@@ -943,7 +943,7 @@ static int vx1700_set_ptt_gps_jack(ptt_t ptt)
* FIXME
*
* We are using GPIO to manage PTT pin in GPS/Data jack.
- * This highly binded to our specific device, so it makes
+ * This highly bound to our specific device, so it makes
* no sense to put our code here.
* On regular PC this should be managed in another way,
* probably via DTR/RTS.
diff --git a/rotators/celestron/celestron.c b/rotators/celestron/celestron.c
index 40d0eb923..dfc2d25f0 100644
--- a/rotators/celestron/celestron.c
+++ b/rotators/celestron/celestron.c
@@ -38,7 +38,7 @@
* cmdstr - Command to be sent to the rig.
* data - Buffer for reply string. Can be NULL, indicating that no reply is
* is needed, but answer will still be read.
- * data_len - in: Size of buffer. It is the caller's responsibily to provide
+ * data_len - in: Size of buffer. It is the caller's responsibility to provide
* a large enough buffer for all possible replies for a command.
*
* returns:
diff --git a/rotators/gs232a/gs232.c b/rotators/gs232a/gs232.c
index 96cd0c732..03b8e3ef1 100644
--- a/rotators/gs232a/gs232.c
+++ b/rotators/gs232a/gs232.c
@@ -38,7 +38,7 @@
* cmdstr - Command to be sent to the rig.
* data - Buffer for reply string. Can be NULL, indicating that no reply is
* is needed, but answer will still be read.
- * data_len - in: Size of buffer. It is the caller's responsibily to provide
+ * data_len - in: Size of buffer. It is the caller's responsibility to provide
* a large enough buffer for all possible replies for a command.
*
* returns:
diff --git a/rotators/gs232a/gs232a.c b/rotators/gs232a/gs232a.c
index c6d00f9ed..39a93746f 100644
--- a/rotators/gs232a/gs232a.c
+++ b/rotators/gs232a/gs232a.c
@@ -50,7 +50,7 @@
* cmdstr - Command to be sent to the rig.
* data - Buffer for reply string. Can be NULL, indicating that no reply is
* is needed, but answer will still be read.
- * data_len - in: Size of buffer. It is the caller's responsibily to provide
+ * data_len - in: Size of buffer. It is the caller's responsibility to provide
* a large enough buffer for all possible replies for a command.
*
* returns:
diff --git a/rotators/gs232a/gs232b.c b/rotators/gs232a/gs232b.c
index 461a8491b..4b1d558bc 100644
--- a/rotators/gs232a/gs232b.c
+++ b/rotators/gs232a/gs232b.c
@@ -46,7 +46,7 @@
* cmdstr - Command to be sent to the rig.
* data - Buffer for reply string. Can be NULL, indicating that no reply is
* is needed, but answer will still be read.
- * data_len - in: Size of buffer. It is the caller's responsibily to provide
+ * data_len - in: Size of buffer. It is the caller's responsibility to provide
* a large enough buffer for all possible replies for a command.
*
* returns:
diff --git a/rotators/ioptron/rot_ioptron.c b/rotators/ioptron/rot_ioptron.c
index c921dbca0..c4899952d 100644
--- a/rotators/ioptron/rot_ioptron.c
+++ b/rotators/ioptron/rot_ioptron.c
@@ -39,7 +39,7 @@
*
* cmdstr - Command to be sent to the rig.
* data - Buffer for reply string.
- * resp_len - in: Expected length of response. It is the caller's responsibily to
+ * resp_len - in: Expected length of response. It is the caller's responsibility to
* provide a buffer at least 1 byte larger than this for null terminator.
*
* COMMANDS note: as of 12/2018 a mixture of V2 and V3
@@ -231,7 +231,7 @@ ioptron_stop(ROT *rot)
}
/** sets mount position, requires 4 steps
- * set azmiuth
+ * set azimuth
* set altitude
* goto set
* stop tracking - mount starts tracking after goto
@@ -294,7 +294,7 @@ ioptron_set_position(ROT *rot, azimuth_t az, elevation_t el)
}
}
- /* set azmiuth, returns '1" if OK */
+ /* set azimuth, returns '1" if OK */
SNPRINTF(cmdstr, sizeof(cmdstr), ":Sz%09.0f#", faz);
retval = ioptron_transaction(rot, cmdstr, retbuf, 1);
diff --git a/rotators/m2/rc2800.c b/rotators/m2/rc2800.c
index edfb6980b..36883de24 100644
--- a/rotators/m2/rc2800.c
+++ b/rotators/m2/rc2800.c
@@ -151,7 +151,7 @@ int testmain()
* cmdstr - Command to be sent to the rig.
* data - Buffer for reply string. Can be NULL, indicating that no reply is
* is needed, but answer will still be read.
- * data_len - in: Size of buffer. It is the caller's responsibily to provide
+ * data_len - in: Size of buffer. It is the caller's responsibility to provide
* a large enough buffer for all possible replies for a command.
*
* returns:
diff --git a/rotators/meade/meade.c b/rotators/meade/meade.c
index 2827ad72e..e36a075fd 100644
--- a/rotators/meade/meade.c
+++ b/rotators/meade/meade.c
@@ -85,7 +85,7 @@ struct meade_priv_data
* cmdstr - Command to be sent to the rig.
* data - Buffer for reply string. Can be NULL, indicating that no reply is
* is needed, but answer will still be read.
- * data_len - in: Size of buffer. It is the caller's responsibily to provide
+ * data_len - in: Size of buffer. It is the caller's responsibility to provide
* a large enough buffer for all possible replies for a command.
*
* returns:
diff --git a/rotators/prosistel/prosistel.c b/rotators/prosistel/prosistel.c
index 7bf7871a2..464151bf5 100644
--- a/rotators/prosistel/prosistel.c
+++ b/rotators/prosistel/prosistel.c
@@ -50,7 +50,7 @@ struct prosistel_rot_priv_caps
* cmdstr - Command to be sent to the rig.
* data - Buffer for reply string. Can be NULL, indicating that no reply is
* is needed, but answer will still be read.
- * data_len - in: Size of buffer. It is the caller's responsibily to provide
+ * data_len - in: Size of buffer. It is the caller's responsibility to provide
* a large enough buffer for all possible replies for a command.
*
* returns:
diff --git a/rotators/spid/spid.c b/rotators/spid/spid.c
index 4baa0e5e7..fd4fab6d1 100644
--- a/rotators/spid/spid.c
+++ b/rotators/spid/spid.c
@@ -631,7 +631,7 @@ const struct confparams spid_cfg_params[] =
"0", RIG_CONF_NUMERIC, { .n = { 0, 0xff, 1 } }
},
{
- TOK_ELRES, "el_resolution", "Eleveation resolution", "Number of pulses per degree, 0 = auto sense",
+ TOK_ELRES, "el_resolution", "Elevation resolution", "Number of pulses per degree, 0 = auto sense",
"0", RIG_CONF_NUMERIC, { .n = { 0, 0xff, 1 } }
},
{ RIG_CONF_END, NULL, }
diff --git a/simulators/simts890.c b/simulators/simts890.c
index 597d19054..854a1e96e 100644
--- a/simulators/simts890.c
+++ b/simulators/simts890.c
@@ -1419,7 +1419,7 @@ int main(int argc, char *argv[])
switch (buf[2])
{
case '0': // Frequency Marker Function
- case '1': // Frequency Marker List Regiatration
+ case '1': // Frequency Marker List Registration
case '2': // Total Number Registered of Frequency Marker List
case '3': // Frequency Marker List Readout
case '4': // Frequency Marker List Delete
diff --git a/tests/dumpmem.c b/tests/dumpmem.c
index c021c5030..c3e5f41b6 100644
--- a/tests/dumpmem.c
+++ b/tests/dumpmem.c
@@ -1,6 +1,6 @@
/*
* dumpmem.c - Copyright (C) 2001 Stephane Fillod
- * This programs dumps the mmeory contents of a rig.
+ * This programs dumps the memory contents of a rig.
*
*
* This program is free software; you can redistribute it and/or modify
diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c
index bcb10af96..b17060fc3 100644
--- a/tests/rigctl_parse.c
+++ b/tests/rigctl_parse.c
@@ -5141,7 +5141,7 @@ declare_proto_rig(send_cmd)
RETURNFUNC2(RIG_OK);
}
- // need to move the eom_buf to rig-specifc backends
+ // need to move the eom_buf to rig-specific backends
// we'll let KENWOOD backends use the ; char in the rigctl commands
if (backend_num == RIG_KENWOOD || backend_num == RIG_YAESU)
{
diff --git a/tests/test2038.c b/tests/test2038.c
index 8d7fe70a4..cb439548c 100644
--- a/tests/test2038.c
+++ b/tests/test2038.c
@@ -1,6 +1,6 @@
/* 2038 test
This is OK on 64-bit systems and mingw64
-Does fail when compiled with gcc -m32 -o 2038 2038.c
+Does fail when compiled with gcc -m32 -o test2038 test2038.c
*/
#include <stdio.h>
#include <time.h>
commit 84376c45616d0a50023815f10b89eafe6f45e02a
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun May 18 22:53:13 2025 +0200
Use the variable with the version number in the example path
diff --git a/scripts/build-w32.sh b/scripts/build-w32.sh
index 8414faf1f..d6ca19c61 100755
--- a/scripts/build-w32.sh
+++ b/scripts/build-w32.sh
@@ -114,7 +114,7 @@ following:
a semi-colon ';' after the last path before adding the Hamlib path (NB. The
entire path is highlighted and will be erased upon typing a character so
click in the box to unselect the text first. The PATH is important!!)
- Append the Hamlib path, e.g. C:\Program Files\hamlib-w32-4.0~git\bin
+ Append the Hamlib path, e.g. C:\Program Files\hamlib-w32-$RELEASE\bin
* Click OK for all three dialog boxes to save your changes.
diff --git a/scripts/build-w64.sh b/scripts/build-w64.sh
index 665dfadf6..ca4b89571 100755
--- a/scripts/build-w64.sh
+++ b/scripts/build-w64.sh
@@ -114,7 +114,7 @@ following:
a semi-colon ';' after the last path before adding the Hamlib path (NB. The
entire path is highlighted and will be erased upon typing a character so
click in the box to unselect the text first. The PATH is important!!)
- Append the Hamlib path, e.g. C:\Program Files\hamlib-w64-4.0~git\bin
+ Append the Hamlib path, e.g. C:\Program Files\hamlib-w64-$RELEASE\bin
* Click OK for all three dialog boxes to save your changes.
-----------------------------------------------------------------------
Summary of changes:
README.md | 8 ++++----
configure.ac | 4 ----
rigs/aor/ar7030.c | 2 +-
rigs/dummy/aclog.c | 2 +-
rigs/dummy/flrig.c | 2 +-
rigs/dummy/tci1x.c | 2 +-
rigs/elad/elad.c | 2 +-
rigs/icom/frame.c | 4 ++--
rigs/icom/ic746.c | 2 +-
rigs/icom/ic756.c | 2 +-
rigs/icom/ic820h.c | 2 +-
rigs/icom/ic821h.c | 2 +-
rigs/icom/icom.c | 4 ++--
rigs/jrc/jrc.c | 2 +-
rigs/kenwood/kenwood.c | 4 ++--
rigs/kenwood/tmv7.c | 2 +-
rigs/kenwood/ts870s.c | 2 +-
rigs/kit/drt1.c | 2 +-
rigs/kit/elektor507.c | 2 +-
rigs/kit/pcrotor.c | 2 +-
rigs/uniden/uniden.c | 2 +-
rigs/uniden/uniden_digital.c | 4 ++--
rigs/wj/wj8888.c | 2 +-
rigs/yaesu/ft757gx.c | 2 +-
rigs/yaesu/ft817.c | 4 ++--
rigs/yaesu/ft857.c | 4 ++--
rigs/yaesu/ft891.c | 2 +-
rigs/yaesu/ft897.c | 4 ++--
rigs/yaesu/pmr171.c | 4 ++--
rigs/yaesu/vr5000.c | 2 +-
rigs/yaesu/vx1700.c | 2 +-
rotators/celestron/celestron.c | 2 +-
rotators/gs232a/gs232.c | 2 +-
rotators/gs232a/gs232a.c | 2 +-
rotators/gs232a/gs232b.c | 2 +-
rotators/ioptron/rot_ioptron.c | 6 +++---
rotators/m2/rc2800.c | 2 +-
rotators/meade/meade.c | 2 +-
rotators/prosistel/prosistel.c | 2 +-
rotators/spid/spid.c | 2 +-
scripts/build-w32.sh | 7 ++++---
scripts/build-w64.sh | 7 ++++---
simulators/simts890.c | 2 +-
tests/dumpmem.c | 2 +-
tests/rigctl_parse.c | 2 +-
tests/test2038.c | 2 +-
46 files changed, 64 insertions(+), 66 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-05-22 23:15:52
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 9b177cd8b3bcbc47126961377e6b14c689918af2 (commit)
via 5fe81cdef4fcceff52c7cedc0eac6788c2f64881 (commit)
from 91a4d914d9dd1a8aed8822e185109cacc143057c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 9b177cd8b3bcbc47126961377e6b14c689918af2
Merge: 91a4d914d 5fe81cdef
Author: Nate Bargmann <n0...@n0...>
Date: Thu May 22 17:23:35 2025 -0500
Merge GitHub PR #1739.
commit 5fe81cdef4fcceff52c7cedc0eac6788c2f64881
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sat May 17 21:56:40 2025 +0200
Fix compilation errors and warnings and link failure
Compile-tested with commit 8ea3f0e (tag: 3.4.10)
from https://github.com/osmocom/libusrp
Fixes:
usrp_impl.cc:33:10: fatal error: usrp_standard.h: No such file or directory
usrp_impl.cc:49:63: error: expected '(' before 'malloc'
usrp_impl.cc:49:100: error: expected ')' before ';' token
usrp_impl.cc:72:39: error: invalid 'static_cast' from type 'rig_state*' to type 'usrp_priv_data*'
usrp_impl.cc:86:39: error: invalid 'static_cast' from type 'rig_state*' to type 'usrp_priv_data*'
usrp_impl.cc:104:39: error: invalid 'static_cast' from type 'rig_state*' to type 'usrp_priv_data*'
usrp_impl.cc:129:45: error: invalid 'static_cast' from type 'rig_state*' to type 'usrp_priv_data*'
usrp_impl.cc:151:45: error: invalid 'static_cast' from type 'rig_state*' to type 'usrp_priv_data*'
usrp_impl.cc:169:45: error: invalid 'static_cast' from type 'rig_state*' to type 'usrp_priv_data*'
usrp_impl.cc:114:37: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
usrp_impl.cc:139:38: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
/usr/bin/ld: ../src/.libs/libhamlib.so: undefined reference to `usrp_caps'
diff --git a/rigs/kit/usrp.c b/rigs/kit/usrp.c
index 2e844788b..7b05ad1f5 100644
--- a/rigs/kit/usrp.c
+++ b/rigs/kit/usrp.c
@@ -19,6 +19,8 @@
*
*/
+#include <hamlib/config.h>
+
/*
* Compile only this model if usrp is available
*/
diff --git a/rigs/kit/usrp_impl.cc b/rigs/kit/usrp_impl.cc
index fd37f4875..7c1cc9e2a 100644
--- a/rigs/kit/usrp_impl.cc
+++ b/rigs/kit/usrp_impl.cc
@@ -30,7 +30,7 @@
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
-#include <usrp_standard.h>
+#include <usrp/usrp_standard.h>
#include "usrp_impl.h"
#include "token.h"
@@ -46,7 +46,7 @@ struct usrp_priv_data {
int usrp_init(RIG *rig)
{
// cppcheck-suppress leakReturnValNotUsed
- STATE(rig)->priv = static_cast<struct usrp_priv_data*>malloc(sizeof(struct usrp_priv_data));
+ STATE(rig)->priv = static_cast<struct usrp_priv_data*>(malloc(sizeof(struct usrp_priv_data)));
if (!STATE(rig)->priv) {
/* whoops! memory shortage! */
return -RIG_ENOMEM;
@@ -69,7 +69,7 @@ int usrp_cleanup(RIG *rig)
int usrp_open(RIG *rig)
{
- struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>STATE(rig)->priv;
+ struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>(STATE(rig)->priv);
int which_board = 0;
int decim = 125;
@@ -83,7 +83,7 @@ int usrp_open(RIG *rig)
int usrp_close(RIG *rig)
{
- struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>STATE(rig)->priv;
+ struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>(STATE(rig)->priv);
if (!priv)
{
@@ -101,7 +101,7 @@ int usrp_close(RIG *rig)
*/
int usrp_set_conf(RIG *rig, hamlib_token_t token, const char *val)
{
- struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>STATE(rig)->priv;
+ struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>(STATE(rig)->priv);
if (!priv)
{
@@ -111,7 +111,7 @@ int usrp_set_conf(RIG *rig, hamlib_token_t token, const char *val)
switch(token) {
case TOK_IFMIXFREQ:
- sscanf(val, "%"SCNfreq, &priv->if_mix_freq);
+ sscanf(val, "%" SCNfreq, &priv->if_mix_freq);
break;
default:
return -RIG_EINVAL;
@@ -126,7 +126,7 @@ int usrp_set_conf(RIG *rig, hamlib_token_t token, const char *val)
*/
int usrp_get_conf(RIG *rig, hamlib_token_t token, char *val)
{
- const struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>STATE(rig)->priv;
+ const struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>(STATE(rig)->priv);
if (!priv)
{
@@ -136,7 +136,7 @@ int usrp_get_conf(RIG *rig, hamlib_token_t token, char *val)
switch(token) {
case TOK_IFMIXFREQ:
- sprintf(val, "%"PRIfreq, priv->if_mix_freq);
+ sprintf(val, "%" PRIfreq, priv->if_mix_freq);
break;
default:
return -RIG_EINVAL;
@@ -148,7 +148,7 @@ int usrp_get_conf(RIG *rig, hamlib_token_t token, char *val)
int usrp_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
{
- const struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>STATE(rig)->priv;
+ const struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>(STATE(rig)->priv);
int chan = 0;
if (!priv)
@@ -166,7 +166,7 @@ int usrp_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
int usrp_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
{
- const struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>STATE(rig)->priv;
+ const struct usrp_priv_data *priv = static_cast<struct usrp_priv_data*>(STATE(rig)->priv);
int chan = 0;
if (!priv)
-----------------------------------------------------------------------
Summary of changes:
rigs/kit/usrp.c | 2 ++
rigs/kit/usrp_impl.cc | 20 ++++++++++----------
2 files changed, 12 insertions(+), 10 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-05-22 22:20:52
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 91a4d914d9dd1a8aed8822e185109cacc143057c (commit)
via b03dea99b5ad2183f3cf30032794c991b0995d28 (commit)
via 55cae893f02455a2a00491f9b8f165996e672ee3 (commit)
via e34ae180a23a99f4dcff3e6b67310029189f04e9 (commit)
via dc3a71da1b826099f7c1586f7fc451bf3c842571 (commit)
via 57e5dba438cd01adb9ccca1024a74d2665cfd914 (commit)
from 73607aeb5414c90e63f2c1f92ece65c550d76895 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 91a4d914d9dd1a8aed8822e185109cacc143057c
Merge: 73607aeb5 b03dea99b
Author: Nate Bargmann <n0...@n0...>
Date: Thu May 22 17:11:55 2025 -0500
Merge branch 'fix/usage-texts' of github.com:dforsi/Hamlib into dforsi-fix/usage-texts
From GitHub PR #1735.
commit b03dea99b5ad2183f3cf30032794c991b0995d28
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Wed May 14 00:08:29 2025 +0200
Allow to give the command lines options --list or --version
diff --git a/tests/rigctlsync.c b/tests/rigctlsync.c
index 3ce8a6599..f056e6336 100644
--- a/tests/rigctlsync.c
+++ b/tests/rigctlsync.c
@@ -215,12 +215,6 @@ int main(int argc, char *argv[])
printf("rigctlsync Version 1.0\n");
- if (argc < 3)
- {
- usage();
- return 1;
- }
-
while (1)
{
int c;
@@ -491,10 +485,10 @@ int main(int argc, char *argv[])
rig_debug(RIG_DEBUG_VERBOSE, "%s",
"Report bugs to <ham...@li...>\n\n");
- if (argc == 1)
+ if (argc < 3)
{
usage();
- exit(2);
+ exit(1);
}
my_rig = rig_init(my_model[0]);
commit 55cae893f02455a2a00491f9b8f165996e672ee3
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Tue May 13 23:51:16 2025 +0200
Fix definition of -B/--mapa2b command line option
It doesn't accept an argument.
diff --git a/tests/rigctlsync.c b/tests/rigctlsync.c
index a576b3af2..3ce8a6599 100644
--- a/tests/rigctlsync.c
+++ b/tests/rigctlsync.c
@@ -80,7 +80,7 @@
* NB: do NOT use -W since it's reserved by POSIX.
* TODO: add an option to read from a file
*/
-#define SHORT_OPTIONS "B:m:M:r:R:p:d:P:D:s:S:c:C:lLuvhVZ"
+#define SHORT_OPTIONS "Bm:M:r:R:p:d:P:D:s:S:c:C:lLuvhVZ"
static struct option long_options[] =
{
{"mapa2b", 0, 0, 'B'},
commit e34ae180a23a99f4dcff3e6b67310029189f04e9
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Tue May 13 23:48:58 2025 +0200
Remove unused definition of -z command line option
diff --git a/tests/rigctld.c b/tests/rigctld.c
index e0e12e354..c0754acb6 100644
--- a/tests/rigctld.c
+++ b/tests/rigctld.c
@@ -81,7 +81,7 @@
* keep up to date SHORT_OPTIONS, usage()'s output and man page. thanks.
* TODO: add an option to read from a file
*/
-#define SHORT_OPTIONS "m:r:p:d:P:D:s:S:c:T:t:C:W:w:x:z:lLuovhVZRA:b"
+#define SHORT_OPTIONS "m:r:p:d:P:D:s:S:c:T:t:C:W:w:x:lLuovhVZRA:b"
static struct option long_options[] =
{
{"model", 1, 0, 'm'},
commit dc3a71da1b826099f7c1586f7fc451bf3c842571
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Tue May 13 22:29:40 2025 +0200
Document existing option to read commands from stdin
diff --git a/tests/ampctl.c b/tests/ampctl.c
index 096754afe..d08dfd9aa 100644
--- a/tests/ampctl.c
+++ b/tests/ampctl.c
@@ -490,7 +490,9 @@ void usage()
" -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n"
" -Z, --debug-time-stamps enable time stamps for debug messages\n"
" -h, --help display this help and exit\n"
- " -V, --version output version information and exit\n\n"
+ " -V, --version output version information and exit\n"
+ " - read commands from standard input\n"
+ "\n"
);
usage_amp(stdout);
diff --git a/tests/rigctl.c b/tests/rigctl.c
index 29b758e13..d821cff28 100644
--- a/tests/rigctl.c
+++ b/tests/rigctl.c
@@ -957,7 +957,9 @@ void usage(void)
" -h, --help display this help and exit\n"
" -V, --version output version information and exit\n"
" -!, --cookie use cookie control\n"
- " -#, --skip-init skip rig initialization\n\n"
+ " -#, --skip-init skip rig initialization\n"
+ " - read commands from standard input\n"
+ "\n"
);
usage_rig(stdout);
diff --git a/tests/rotctl.c b/tests/rotctl.c
index f16d959a9..65402dd0f 100644
--- a/tests/rotctl.c
+++ b/tests/rotctl.c
@@ -552,7 +552,9 @@ void usage()
" -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n"
" -Z, --debug-time-stamps enable time stamps for debug messages\n"
" -h, --help display this help and exit\n"
- " -V, --version output version information and exit\n\n"
+ " -V, --version output version information and exit\n"
+ " - read commands from standard input\n"
+ "\n"
);
usage_rot(stdout);
commit 57e5dba438cd01adb9ccca1024a74d2665cfd914
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Tue May 13 21:20:44 2025 +0200
Make usage texts more similar
diff --git a/tests/ampctl.c b/tests/ampctl.c
index 04ed2cef5..096754afe 100644
--- a/tests/ampctl.c
+++ b/tests/ampctl.c
@@ -475,7 +475,7 @@ void usage()
"Send COMMANDs to a connected amplifier.\n\n");
printf(
- " -m, --model=ID select amplifier model number. See model list\n"
+ " -m, --model=ID select amplifier model number. See model list (-l)\n"
" -r, --amp-file=DEVICE set device of the amplifier to operate on\n"
" -s, --serial-speed=BAUD set serial speed of the serial port\n"
" -t, --send-cmd-term=CHAR set send_cmd command termination char\n"
@@ -487,7 +487,7 @@ void usage()
" -i, --read-history read prior interactive session history\n"
" -I, --save-history save current interactive session history\n"
#endif
- " -v, --verbose set verbose mode, cumulative\n"
+ " -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n"
" -Z, --debug-time-stamps enable time stamps for debug messages\n"
" -h, --help display this help and exit\n"
" -V, --version output version information and exit\n\n"
diff --git a/tests/ampctld.c b/tests/ampctld.c
index fda0bfa09..964454c13 100644
--- a/tests/ampctld.c
+++ b/tests/ampctld.c
@@ -725,7 +725,7 @@ void usage()
"Daemon serving COMMANDs to a connected amplifier.\n\n");
printf(
- " -m, --model=ID select amplifier model number. See model list\n"
+ " -m, --model=ID select amplifier model number. See model list (-l)\n"
" -r, --amp-file=DEVICE set device of the amplifier to operate on\n"
" -s, --serial-speed=BAUD set serial speed of the serial port\n"
" -t, --port=NUM set TCP listening port, default %s\n"
@@ -734,7 +734,7 @@ void usage()
" -L, --show-conf list all config parameters\n"
" -l, --list list all model numbers and exit\n"
" -u, --dump-caps dump capabilities and exit\n"
- " -v, --verbose set verbose mode, cumulative\n"
+ " -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n"
" -Z, --debug-time-stamps enable time stamps for debug messages\n"
" -h, --help display this help and exit\n"
" -V, --version output version information and exit\n\n",
diff --git a/tests/rigctl.c b/tests/rigctl.c
index 064e54f14..29b758e13 100644
--- a/tests/rigctl.c
+++ b/tests/rigctl.c
@@ -932,7 +932,7 @@ void usage(void)
printf(
- " -m, --model=ID select radio model number. See model list\n"
+ " -m, --model=ID select radio model number. See model list (-l)\n"
" -r, --rig-file=DEVICE set device of the radio to operate on\n"
" -p, --ptt-file=DEVICE set device of the PTT device to operate on\n"
" -d, --dcd-file=DEVICE set device of the DCD device to operate on\n"
@@ -941,7 +941,7 @@ void usage(void)
" -s, --serial-speed=BAUD set serial speed of the serial port\n"
" -c, --civaddr=ID set CI-V address, decimal (for Icom rigs only)\n"
" -t, --send-cmd-term=CHAR set send_cmd command termination char\n"
- " -C, --set-conf=PARM=VAL set config parameters\n"
+ " -C, --set-conf=PARM=VAL[,...] set config parameters\n"
" -L, --show-conf list all config parameters\n"
" -l, --list list all model numbers and exit\n"
" -u, --dump-caps dump capabilities and exit\n"
diff --git a/tests/rigctld.c b/tests/rigctld.c
index ad211b300..e0e12e354 100644
--- a/tests/rigctld.c
+++ b/tests/rigctld.c
@@ -1508,7 +1508,7 @@ void usage(void)
printf(
- " -m, --model=ID select radio model number. See model list\n"
+ " -m, --model=ID select radio model number. See model list (-l)\n"
" -r, --rig-file=DEVICE set device of the radio to operate on\n"
" -p, --ptt-file=DEVICE set device of the PTT device to operate on\n"
" -d, --dcd-file=DEVICE set device of the DCD device to operate on\n"
@@ -1519,7 +1519,7 @@ void usage(void)
" -t, --port=NUM set TCP listening port, default %s\n"
" -S, --separator=CHAR set char as rigctld response separator, default is \\n\n"
" -T, --listen-addr=IPADDR set listening IP address, default ANY\n"
- " -C, --set-conf=PARM=VAL set config parameters\n"
+ " -C, --set-conf=PARM=VAL[,...] set config parameters\n"
" -L, --show-conf list all config parameters\n"
" -l, --list list all model numbers and exit\n"
" -u, --dump-caps dump capabilities and exit\n"
@@ -1527,7 +1527,7 @@ void usage(void)
" -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n"
" -W, --twiddle_timeout=SECONDS timeout after detecting vfo manual change\n"
" -w, --twiddle_rit=SECONDS suppress VFOB getfreq so RIT can be twiddled\n"
- " -x, --uplink set uplink get_freq ignore, 1=Sub, 2=Main\n"
+ " -x, --uplink=OPTION set uplink get_freq ignore: option 1=Sub, 2=Main\n"
" -Z, --debug-time-stamps enable time stamps for debug messages\n"
" -A, --password=PASSWORD set password for rigctld access (NOT IMPLEMENTED)\n"
" -R, --rigctld-idle make rigctld close the rig when no clients are connected\n"
diff --git a/tests/rigctltcp.c b/tests/rigctltcp.c
index cf3a921d4..11a7ef8f8 100644
--- a/tests/rigctltcp.c
+++ b/tests/rigctltcp.c
@@ -1523,7 +1523,7 @@ void usage(void)
printf(
- " -m, --model=ID select radio model number. See model list\n"
+ " -m, --model=ID select radio model number. See model list (-l)\n"
" -r, --rig-file=DEVICE set device of the radio to operate on\n"
" -p, --ptt-file=DEVICE set device of the PTT device to operate on\n"
" -d, --dcd-file=DEVICE set device of the DCD device to operate on\n"
@@ -1540,12 +1540,12 @@ void usage(void)
" -u, --dump-caps dump capabilities and exit\n"
" -o, --vfo do not default to VFO_CURR, require extra vfo arg\n"
" -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n"
- " -W, --twiddle_timeout timeout after detecting vfo manual change\n"
- " -w, --twiddle_rit suppress VFOB getfreq so RIT can be twiddled\n"
+ " -W, --twiddle_timeout=SECONDS timeout after detecting vfo manual change\n"
+ " -w, --twiddle_rit=SECONDS suppress VFOB getfreq so RIT can be twiddled\n"
" -x, --uplink set uplink get_freq ignore, 1=Sub, 2=Main\n"
" -Z, --debug-time-stamps enable time stamps for debug messages\n"
- " -M, --multicast-addr=addr set multicast UDP address, default 0.0.0.0 (off), recommend 224.0.1.1\n"
- " -n, --multicast-port=port set multicast UDP port, default 4531\n"
+ " -M, --multicast-addr=ADDR set multicast UDP address, default 0.0.0.0 (off), recommend 224.0.1.1\n"
+ " -n, --multicast-port=PORT set multicast UDP port, default 4531\n"
" -A, --password set password for rigctld access\n"
" -R, --rigctld-idle make rigctld close the rig when no clients are connected\n"
" -h, --help display this help and exit\n"
diff --git a/tests/rigmem.c b/tests/rigmem.c
index 6c8d9bac2..2a101f778 100644
--- a/tests/rigmem.c
+++ b/tests/rigmem.c
@@ -408,22 +408,22 @@ void version()
void usage()
{
- printf("Usage: rigmem [OPTION]... COMMAND...FILE\n"
+ printf("Usage: rigmem [OPTION]... COMMAND... FILE\n"
"Backup/restore COMMANDs to a connected radio transceiver or receiver.\n\n");
printf(
- " -m, --model=ID select radio model number. See model list\n"
+ " -m, --model=ID select radio model number. See model list (rigctl -l)\n"
" -r, --rig-file=DEVICE set device of the radio to operate on\n"
" -s, --serial-speed=BAUD set serial speed of the serial port\n"
" -c, --civaddr=ID set CI-V address, decimal (for Icom rigs only)\n"
" -C, --set-conf=PARM=VAL set config parameters\n"
- " -p, --set-separator=SEP set character separator instead of the CSV comma\n"
+ " -p, --set-separator=CHAR set character separator instead of the CSV comma\n"
" -a, --all bypass mem_caps, apply to all fields of channel_t\n"
#ifdef HAVE_XML2
" -x, --xml use XML format instead of CSV\n"
#endif
- " -v, --verbose set verbose mode, cumulative\n"
+ " -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n"
" -h, --help display this help and exit\n"
" -V, --version output version information and exit\n\n"
);
diff --git a/tests/rigsmtr.c b/tests/rigsmtr.c
index aae17d2ec..d465ab356 100644
--- a/tests/rigsmtr.c
+++ b/tests/rigsmtr.c
@@ -414,16 +414,16 @@ void usage()
"Input S-Meter vs Azimuth.\n\n");
printf(
- " -m, --model=ID select radio model number. See model list\n"
+ " -m, --model=ID select radio model number. See model list (rigctl -l)\n"
" -r, --rig-file=DEVICE set device of the radio to operate on\n"
" -s, --serial-speed=BAUD set serial speed of the serial port\n"
" -c, --civaddr=ID set CI-V address, decimal (for Icom rigs only)\n"
- " -C, --set-conf=PARM=VAL set config parameters\n"
- " -M, --rot-model=ID select rotator model number. See model list\n"
+ " -C, --set-conf=PARM=VAL[,...] set config parameters\n"
+ " -M, --rot-model=ID select rotator model number. See model list (rotctl -l)\n"
" -R, --rot-file=DEVICE set device of the rotator to operate on\n"
" -S, --rot-serial-speed=BAUD set serial speed of the serial port\n"
" -N, --rot-set-conf=PARM=VAL set rotator config parameters\n"
- " -v, --verbose set verbose mode, cumulative\n"
+ " -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n"
" -h, --help display this help and exit\n"
" -V, --version output version information and exit\n\n"
);
diff --git a/tests/rigswr.c b/tests/rigswr.c
index 2754ec214..cbb427f8c 100644
--- a/tests/rigswr.c
+++ b/tests/rigswr.c
@@ -357,14 +357,14 @@ void usage()
printf(
- " -m, --model=ID select radio model number. See model list\n"
+ " -m, --model=ID select radio model number. See model list (rigctl -l)\n"
" -r, --rig-file=DEVICE set device of the radio to operate on\n"
" -s, --serial-speed=BAUD set serial speed of the serial port\n"
" -c, --civaddr=ID set CI-V address, decimal (for Icom rigs only)\n"
- " -C, --set-conf=PARM=VAL set config parameters\n"
+ " -C, --set-conf=PARM=VAL[,...] set config parameters\n"
" -p, --ptt-file=DEVICE set device of the PTT device to operate on\n"
" -P, --ptt-type=TYPE set type of the PTT device to operate on\n"
- " -v, --verbose set verbose mode, cumulative\n"
+ " -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n"
" -h, --help display this help and exit\n"
" -V, --version output version information and exit\n\n"
);
diff --git a/tests/rotctl.c b/tests/rotctl.c
index 9b713d3ad..f16d959a9 100644
--- a/tests/rotctl.c
+++ b/tests/rotctl.c
@@ -534,12 +534,12 @@ void usage()
"Send COMMANDs to a connected antenna rotator.\n\n");
printf(
- " -m, --model=ID select rotator model number. See model list\n"
+ " -m, --model=ID select rotator model number. See model list (-l)\n"
" -r, --rot-file=DEVICE set device of the rotator to operate on\n"
" -R, --rot-file2=DEVICE set device of the 2nd rotator controller to operate on\n"
" -s, --serial-speed=BAUD set serial speed of the serial port\n"
" -t, --send-cmd-term=CHAR set send_cmd command termination char\n"
- " -C, --set-conf=PARM=VAL set config parameters\n"
+ " -C, --set-conf=PARM=VAL[,...] set config parameters\n"
" -o, --set-azoffset=VAL set offset for azimuth\n"
" -O, --set-eloffset=VAL set offset for elevation\n"
" -L, --show-conf list all config parameters\n"
@@ -549,7 +549,7 @@ void usage()
" -i, --read-history read prior interactive session history\n"
" -I, --save-history save current interactive session history\n"
#endif
- " -v, --verbose set verbose mode, cumulative\n"
+ " -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n"
" -Z, --debug-time-stamps enable time stamps for debug messages\n"
" -h, --help display this help and exit\n"
" -V, --version output version information and exit\n\n"
diff --git a/tests/rotctld.c b/tests/rotctld.c
index aa61d71a4..d908792a5 100644
--- a/tests/rotctld.c
+++ b/tests/rotctld.c
@@ -768,19 +768,19 @@ void usage()
"Daemon serving COMMANDs to a connected antenna rotator.\n\n");
printf(
- " -m, --model=ID select rotator model number. See model list\n"
+ " -m, --model=ID select rotator model number. See model list (-l)\n"
" -r, --rot-file=DEVICE set device of the rotator to operate on\n"
" -R, --rot-file2=DEVICE set device of the 2nd rotator controller to operate on\n"
" -s, --serial-speed=BAUD set serial speed of the serial port\n"
" -t, --port=NUM set TCP listening port, default %s\n"
" -T, --listen-addr=IPADDR set listening IP address, default ANY\n"
- " -C, --set-conf=PARM=VAL set config parameters\n"
- " -o, --set-azoffset==VAL set offset for azimuth\n"
- " -O, --set-eloffset==VAL set offset for elevation\n"
+ " -C, --set-conf=PARM=VAL[,...] set config parameters\n"
+ " -o, --set-azoffset=VAL set offset for azimuth\n"
+ " -O, --set-eloffset=VAL set offset for elevation\n"
" -L, --show-conf list all config parameters\n"
" -l, --list list all model numbers and exit\n"
" -u, --dump-caps dump capabilities and exit\n"
- " -v, --verbose set verbose mode, cumulative\n"
+ " -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n"
" -Z, --debug-time-stamps enable time stamps for debug messages\n"
" -h, --help display this help and exit\n"
" -V, --version output version information and exit\n\n",
-----------------------------------------------------------------------
Summary of changes:
tests/ampctl.c | 8 +++++---
tests/ampctld.c | 4 ++--
tests/rigctl.c | 8 +++++---
tests/rigctld.c | 8 ++++----
tests/rigctlsync.c | 12 +++---------
tests/rigctltcp.c | 10 +++++-----
tests/rigmem.c | 8 ++++----
tests/rigsmtr.c | 8 ++++----
tests/rigswr.c | 6 +++---
tests/rotctl.c | 10 ++++++----
tests/rotctld.c | 10 +++++-----
11 files changed, 46 insertions(+), 46 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-05-22 22:11:29
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 73607aeb5414c90e63f2c1f92ece65c550d76895 (commit)
via 94bf1d717aaa29678a98cf50455648a6410df795 (commit)
via 435a354ee072f9e6fe033add021b5fe44a92b19d (commit)
via ce95b034c65251999c931403ba1228dbef252cf6 (commit)
via 9aee8f8343812a0e671f7b1fa330ba6a8f25da26 (commit)
via 5370bbd32e0d5d212357b2d0f9f4d608eb242b21 (commit)
via 50462e65644056efd43de533798eda5b23097b7f (commit)
via daa5c83a82f12fe397c8a553cb4940bb7b4a72b5 (commit)
from ad824fa85e42fbf185addef24526427803056f1e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 73607aeb5414c90e63f2c1f92ece65c550d76895
Merge: ad824fa85 94bf1d717
Author: Nate Bargmann <n0...@n0...>
Date: Thu May 22 16:56:01 2025 -0500
Merge branch 'dforsi-fix/ac_arg_enable'
Reference GitHub PR #1731.
commit 94bf1d717aaa29678a98cf50455648a6410df795
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sat May 17 11:27:31 2025 +0200
Fix failure of ./configure --with-tcl-binding --with-xml-support
If pkg-config has found tcl.pc, then tclConfig.sh is not executed
and $TCL_INCLUDE_SPEC is empty so the test for tcl.h fails.
This patch moves the test inside the "else" case where the variable
is always defined.
The is a bug exposed by the fact that --with-xml-support redefines
the macro PKG_CHECK_MODULES.
Fix verified moving aside /usr/lib/x86_64-linux-gnu/pkgconfig/tcl.pc
Fixes:
configure: error: Unable to find Tcl headers
diff --git a/configure.ac b/configure.ac
index f9bf267d5..4e4331504 100644
--- a/configure.ac
+++ b/configure.ac
@@ -637,14 +637,14 @@ AS_IF([test x"${build_tcl}" = "xyes"],[
AC_MSG_WARN([Unable to find Tcl pkgconfig])
SC_PATH_TCLCONFIG
SC_LOAD_TCLCONFIG
- ])
- tcl_save_CPPFLAGS=$CPPFLAGS
- CPPFLAGS="$CPPFLAGS $TCL_INCLUDE_SPEC"
- AC_CHECK_HEADERS([tcl.h],
- [],
- [AC_MSG_ERROR([Unable to find Tcl headers])])
- CPPFLAGS=$tcl_save_CPPFLAGS
+ tcl_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $TCL_INCLUDE_SPEC"
+ AC_CHECK_HEADERS([tcl.h],
+ [],
+ [AC_MSG_ERROR([Unable to find Tcl headers])])
+ CPPFLAGS=$tcl_save_CPPFLAGS
+ ])
BINDING_LIST="${BINDING_LIST} tcl"
BINDING_ALL="${BINDING_ALL} all-tcl"
commit 435a354ee072f9e6fe033add021b5fe44a92b19d
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun May 11 19:47:06 2025 +0200
Fix --with-indi[=no] being considered =yes
diff --git a/configure.ac b/configure.ac
index cb020bfb0..f9bf267d5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -403,7 +403,7 @@ AC_MSG_CHECKING([whether to use INDI in rigctl/rotctl])
AC_ARG_WITH([indi],
[AS_HELP_STRING([--without-indi],
[disable INDI in rigctl/rotctl @<:@default=yes@:>@])],
- [cf_with_indi_support=yes],
+ [cf_with_indi_support=$with_indi],
[cf_with_indi_support=no]
)
#])
commit ce95b034c65251999c931403ba1228dbef252cf6
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun May 11 19:24:33 2025 +0200
Fix --with-libusb[=yes] being considered =no
diff --git a/configure.ac b/configure.ac
index 1e51eb698..cb020bfb0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -347,7 +347,7 @@ AC_MSG_CHECKING([whether to build USB dependent backends])
AC_ARG_WITH([libusb],
[AS_HELP_STRING([--without-libusb],
[disable USB dependent backends @<:@default=yes@:>@])],
- [cf_with_libusb=no],
+ [cf_with_libusb=$with_libusb],
[cf_with_libusb=yes]
)
commit 9aee8f8343812a0e671f7b1fa330ba6a8f25da26
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun May 11 18:36:35 2025 +0200
Fix --with-readline[=yes] being considered =no
diff --git a/configure.ac b/configure.ac
index f408f1f18..1e51eb698 100644
--- a/configure.ac
+++ b/configure.ac
@@ -381,7 +381,7 @@ AC_MSG_CHECKING([whether to use readline in rigctl/rotctl])
AC_ARG_WITH([readline],
[AS_HELP_STRING([--without-readline],
[disable readline in rigctl/rotctl @<:@default=yes@:>@])],
- [cf_with_readline_support=no],
+ [cf_with_readline_support=$with_readline],
[cf_with_readline_support=yes]
)
commit 5370bbd32e0d5d212357b2d0f9f4d608eb242b21
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun May 11 11:06:06 2025 +0200
Fix --enable-html-matrix[=yes] being considered =no
diff --git a/configure.ac b/configure.ac
index 58a10b7a2..f408f1f18 100644
--- a/configure.ac
+++ b/configure.ac
@@ -445,12 +445,10 @@ AC_MSG_CHECKING([whether to build HTML rig feature matrix])
AC_ARG_ENABLE([html-matrix],
[AS_HELP_STRING([--disable-html-matrix],
[do not generate HTML rig feature matrix (requires libgd-dev) @<:@default=check@:>@])],
- [cf_enable_html_matrix=no],
+ [cf_enable_html_matrix=$enable_html_matrix],
[cf_enable_html_matrix=check]
)
-AC_MSG_RESULT([$cf_enable_html_matrix])
-
AS_IF([test x"$cf_enable_html_matrix" != "xno"],
[AC_CHECK_HEADERS([gd.h],
[AC_CHECK_LIB([gd],
@@ -462,6 +460,7 @@ AS_IF([test x"$cf_enable_html_matrix" != "xno"],
)
])
+AC_MSG_RESULT([$cf_enable_html_matrix])
AM_CONDITIONAL([HTML_MATRIX], [test x"${cf_enable_html_matrix}" = "xyes"])
commit 50462e65644056efd43de533798eda5b23097b7f
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun May 11 09:45:22 2025 +0200
Fix --enable-parallel[=yes] being considered =no
diff --git a/configure.ac b/configure.ac
index 5f759dc18..58a10b7a2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -746,8 +746,11 @@ AC_MSG_CHECKING([whether to build parallel port devices])
AC_ARG_ENABLE([parallel],
[AS_HELP_STRING([--disable-parallel],
[do not build parallel devices @<:@default=yes@:>@])],
- [cf_with_parallel="no"],
- [cf_with_parallel="yes" AC_DEFINE([HAVE_PARALLEL],[1],[Define if parallel devices are to be built])])
+ [cf_with_parallel="${enable_parallel}"],
+ [cf_with_parallel="yes"])
+AS_IF([test x"${cf_with_parallel}" = "xyes"],
+ [AC_DEFINE([HAVE_PARALLEL],[1],[Define if parallel devices are to be built])]
+)
AC_MSG_RESULT([$cf_with_parallel])
DL_LIBS=""
commit daa5c83a82f12fe397c8a553cb4940bb7b4a72b5
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun May 11 09:45:06 2025 +0200
Fix --enable-winradio[=yes] being considered =no
diff --git a/configure.ac b/configure.ac
index 4a453abdb..5f759dc18 100644
--- a/configure.ac
+++ b/configure.ac
@@ -734,8 +734,11 @@ AC_MSG_CHECKING([whether to build winradio backend])
AC_ARG_ENABLE([winradio],
[AS_HELP_STRING([--disable-winradio],
[do not build winradio backend @<:@default=yes@:>@])],
- [cf_with_winradio="no"],
- [cf_with_winradio="yes" AC_DEFINE([HAVE_WINRADIO],[1],[Define if winradio backend is built])])
+ [cf_with_winradio="${enable_winradio}"],
+ [cf_with_winradio="yes" ])
+AS_IF([test x"${cf_with_winradio}" = "xyes"],
+ [AC_DEFINE([HAVE_WINRADIO],[1],[Define if winradio backend is built])]
+)
AC_MSG_RESULT([$cf_with_winradio])
dnl Parallel port device disable
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 39 ++++++++++++++++++++++-----------------
1 file changed, 22 insertions(+), 17 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-05-11 22:58:43
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via ad824fa85e42fbf185addef24526427803056f1e (commit)
via c7ba4f5384bad446be7bf392539576dd1c572bd2 (commit)
via da60d2d38324bb1d090f6a0d7bf46fa1f01315bd (commit)
via de01821c5121c1097695ff3d783dc0b88ddf95d3 (commit)
via 1e7b1a628eefad3114e2d484ff18bc441552adb5 (commit)
via 56eea198beb22db9aa4f0a1447282e14d4ce7ea3 (commit)
via 23a54a7bdf088394e73182d7a2b911e01ca326a7 (commit)
via 5c05881e0ed0b9fc440bc64f6b60b369f4109139 (commit)
via b73f64f49865ca2d2006f6ef21c6013a57152d7d (commit)
via dcf4b7a4e0c03a02396694479a5069108b3555e2 (commit)
via 0b68dc588539e0d53bdb758fdf1639e5808f010e (commit)
from 6dfa118dace16c3fff039d071ca87a4210c91793 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit ad824fa85e42fbf185addef24526427803056f1e
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Fri May 9 22:23:52 2025 +0200
Remove duplicated assignment of compilation flags
Fixes a double "-g -O2 -g -O2" in compiler invocation.
diff --git a/c++/Makefile.am b/c++/Makefile.am
index c01f91368..b1e9d03a7 100644
--- a/c++/Makefile.am
+++ b/c++/Makefile.am
@@ -4,7 +4,6 @@ lib_LTLIBRARIES = libhamlib++.la
libhamlib___la_SOURCES = rigclass.cc rotclass.cc ampclass.cc
libhamlib___la_LDFLAGS = -no-undefined -version-info $(ABI_VERSION):$(ABI_REVISION):$(ABI_AGE) $(LDFLAGS)
libhamlib___la_LIBADD = $(top_builddir)/src/libhamlib.la
-AM_CXXFLAGS=$(CXXFLAGS)
check_PROGRAMS = testcpp
commit c7ba4f5384bad446be7bf392539576dd1c572bd2
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Fri May 9 22:02:14 2025 +0200
Fix --without-cxx-binding being ignored
Do not build the C++ bindings if the configure script was called
with the option --without-cxx-binding.
diff --git a/c++/Makefile.am b/c++/Makefile.am
index be2b80821..c01f91368 100644
--- a/c++/Makefile.am
+++ b/c++/Makefile.am
@@ -1,3 +1,4 @@
+if ENABLE_CXX
lib_LTLIBRARIES = libhamlib++.la
libhamlib___la_SOURCES = rigclass.cc rotclass.cc ampclass.cc
@@ -15,3 +16,5 @@ TESTS = $(check_PROGRAMS)
$(top_builddir)/src/libhamlib.la:
$(MAKE) -C $(top_builddir)/src/ libhamlib.la
+
+endif
diff --git a/configure.ac b/configure.ac
index ea06ba611..4a453abdb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -560,6 +560,7 @@ AC_MSG_RESULT([$cf_with_cxx_binding])
AS_IF([test x"${cf_with_cxx_binding}" = "xyes"],
[BINDINGS="${BINDINGS} c++"])
+AM_CONDITIONAL([ENABLE_CXX], [test x"${cf_with_cxx_binding}" = "xyes"])
dnl Check if perl-binding is wanted, default is to not build it
commit da60d2d38324bb1d090f6a0d7bf46fa1f01315bd
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Fri May 9 21:08:42 2025 +0200
Replace non-portable make rule with one that is also easier to understand
Fixes:
warning: '%'-style pattern rules are a GNU make extension
diff --git a/src/Makefile.am b/src/Makefile.am
index 572818a22..0e940b317 100755
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -27,17 +27,11 @@ libhamlib_la_LIBADD = $(top_builddir)/lib/libmisc.la $(top_builddir)/security/li
libhamlib_la_DEPENDENCIES = $(top_builddir)/lib/libmisc.la $(top_builddir)/security/libsecurity.la $(BACKENDEPS) $(RIG_BACKENDEPS) $(ROT_BACKENDEPS) $(AMP_BACKENDEPS)
-# Rule to build the dependencies of libhamlib.la that are not in this directory
-# when running make in this directory instead of top_builddir
-# (the % matches any number of subdirectories)
-# warning: '%'-style pattern rules are a GNU make extension
-$(top_builddir)/%.la:
- $(MAKE) -C $(@D) $(@F)
-
-#
-
EXTRA_DIST = Android.mk hamlibdatetime.h.in band_changed.c
+# Rule to build the dependencies of libhamlib.la that are in other directories
+$(libhamlib_la_DEPENDENCIES):
+ $(MAKE) -C $(@D) $(@F)
# If we have a .git directory then we will generate the hamlibdate.h
# file and replace it if it is different. Fall back to a copy of a
commit de01821c5121c1097695ff3d783dc0b88ddf95d3
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Tue May 6 22:17:54 2025 +0200
Fix typo
diff --git a/src/debug.c b/src/debug.c
index df8951ec0..de66c0879 100644
--- a/src/debug.c
+++ b/src/debug.c
@@ -199,7 +199,7 @@ void HAMLIB_API rig_set_debug_time_stamp(int flag)
* \param debug_level Debug level from none to most output.
* \param fmt Formatted character string to print.
*
- * The formatted character string is passed to the `frprintf`(3) C library
+ * The formatted character string is passed to the `vfprintf`(3) C library
* call and follows its format specification.
*/
#undef rig_debug
commit 1e7b1a628eefad3114e2d484ff18bc441552adb5
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Tue May 6 22:57:18 2025 +0200
Fix error return values
All constant error values RIG_E* should be negated when returned.
Found with:
grep -nrE RETURNFUNC.?.RIG_E.+ --include=*.{c,h} | grep -v \-
diff --git a/rigs/dummy/aclog.c b/rigs/dummy/aclog.c
index 3b9fb4cef..c236003df 100644
--- a/rigs/dummy/aclog.c
+++ b/rigs/dummy/aclog.c
@@ -293,7 +293,7 @@ static int aclog_transaction(RIG *rig, char *cmd, char *value,
}
// we get an unknown response if function does not exist
- if (strstr(xml, "UNKNOWN")) { set_transaction_inactive(rig); RETURNFUNC(RIG_ENAVAIL); }
+ if (strstr(xml, "UNKNOWN")) { set_transaction_inactive(rig); RETURNFUNC(-RIG_ENAVAIL); }
if (value) { strncpy(value, xml, value_len); }
@@ -304,7 +304,7 @@ static int aclog_transaction(RIG *rig, char *cmd, char *value,
if (value && strlen(value) == 0)
{
rig_debug(RIG_DEBUG_ERR, "%s: no value returned\n", __func__);
- set_transaction_inactive(rig); RETURNFUNC(RIG_EPROTO);
+ set_transaction_inactive(rig); RETURNFUNC(-RIG_EPROTO);
}
ELAPSED2;
@@ -646,7 +646,7 @@ static int aclog_open(RIG *rig)
if (retval != RIG_OK)
{
rig_debug(RIG_DEBUG_ERR, "%s: aclog_get_freq not working!!\n", __func__);
- RETURNFUNC(RIG_EPROTO);
+ RETURNFUNC(-RIG_EPROTO);
}
STATE(rig)->current_vfo = RIG_VFO_A;
diff --git a/rigs/dummy/flrig.c b/rigs/dummy/flrig.c
index f46b429f5..505f803bb 100644
--- a/rigs/dummy/flrig.c
+++ b/rigs/dummy/flrig.c
@@ -610,9 +610,9 @@ static int flrig_transaction(RIG *rig, char *cmd, char *cmd_arg, char *value,
read_transaction(rig, xml, sizeof(xml)); // this might time out -- that's OK
// we get an unknown response if function does not exist
- if (strstr(xml, "unknown")) { set_transaction_inactive(rig); RETURNFUNC(RIG_ENAVAIL); }
+ if (strstr(xml, "unknown")) { set_transaction_inactive(rig); RETURNFUNC(-RIG_ENAVAIL); }
- if (strstr(xml, "get_bw") && strstr(xml, "NONE")) { set_transaction_inactive(rig); RETURNFUNC(RIG_ENAVAIL); }
+ if (strstr(xml, "get_bw") && strstr(xml, "NONE")) { set_transaction_inactive(rig); RETURNFUNC(-RIG_ENAVAIL); }
if (value)
{
@@ -625,7 +625,7 @@ static int flrig_transaction(RIG *rig, char *cmd, char *cmd_arg, char *value,
if (value && strlen(value) == 0)
{
rig_debug(RIG_DEBUG_ERR, "%s: no value returned\n", __func__);
- set_transaction_inactive(rig); RETURNFUNC(RIG_EPROTO);
+ set_transaction_inactive(rig); RETURNFUNC(-RIG_EPROTO);
}
ELAPSED2;
@@ -919,7 +919,7 @@ static int flrig_open(RIG *rig)
if (retval != RIG_OK)
{
rig_debug(RIG_DEBUG_ERR, "%s: flrig_get_freq not working!!\n", __func__);
- RETURNFUNC(RIG_EPROTO);
+ RETURNFUNC(-RIG_EPROTO);
}
/* see if get_bwA is available */
diff --git a/rigs/dummy/sdrsharp.c b/rigs/dummy/sdrsharp.c
index 9fdd4fc3f..c1753d279 100644
--- a/rigs/dummy/sdrsharp.c
+++ b/rigs/dummy/sdrsharp.c
@@ -254,7 +254,7 @@ static int sdrsharp_transaction(RIG *rig, char *cmd, char *value,
if (value && strlen(value) == 0)
{
rig_debug(RIG_DEBUG_ERR, "%s: no value returned\n", __func__);
- set_transaction_inactive(rig); RETURNFUNC(RIG_EPROTO);
+ set_transaction_inactive(rig); RETURNFUNC(-RIG_EPROTO);
}
ELAPSED2;
@@ -395,7 +395,7 @@ static int sdrsharp_open(RIG *rig)
if (retval != RIG_OK)
{
rig_debug(RIG_DEBUG_ERR, "%s: sdrsharp_get_freq not working!!\n", __func__);
- RETURNFUNC(RIG_EPROTO);
+ RETURNFUNC(-RIG_EPROTO);
}
STATE(rig)->current_vfo = RIG_VFO_A;
diff --git a/rigs/dummy/tci1x.c b/rigs/dummy/tci1x.c
index 779a9a8f3..7fdaa64d1 100644
--- a/rigs/dummy/tci1x.c
+++ b/rigs/dummy/tci1x.c
@@ -407,7 +407,7 @@ static int tci1x_transaction(RIG *rig, char *cmd, char *cmd_arg, char *value,
while ((value && (strlen(value) == 0))
&& retry--); // we'll do retries if needed
- if (value && strlen(value) == 0) { RETURNFUNC(RIG_EPROTO); }
+ if (value && strlen(value) == 0) { RETURNFUNC(-RIG_EPROTO); }
RETURNFUNC(RIG_OK);
}
diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c
index 766297eae..b64cce03a 100644
--- a/rigs/yaesu/newcat.c
+++ b/rigs/yaesu/newcat.c
@@ -9820,7 +9820,7 @@ static int get_roofing_filter(RIG *rig, vfo_t vfo,
"%s: Expected a valid roofing filter but got %c from '%s'\n", __func__,
roofing_filter_choice, priv->ret_data);
- RETURNFUNC(RIG_EPROTO);
+ RETURNFUNC(-RIG_EPROTO);
}
int newcat_get_rx_bandwidth(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t *width)
diff --git a/src/rig.c b/src/rig.c
index e568402f8..227a4aa15 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -8044,7 +8044,7 @@ int HAMLIB_API rig_get_rig_info(RIG *rig, char *response, int max_response_len)
rig_debug(RIG_DEBUG_ERR, "%s(%d): response len exceeded max %d chars\n",
__FILE__, __LINE__, max_response_len);
ELAPSED2;
- RETURNFUNC2(RIG_EINTERNAL);
+ RETURNFUNC2(-RIG_EINTERNAL);
}
ELAPSED2;
commit 56eea198beb22db9aa4f0a1447282e14d4ce7ea3
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Tue May 6 02:44:56 2025 +0200
Remove unneeded test script testcpp.sh
Library directory ../dummy/.libs doesn't exist anymore and ../c++/.libs
(a.k.a. .libs) is already used by the libtool wrapper script that runs
the testcpp program.
diff --git a/c++/Makefile.am b/c++/Makefile.am
index daca3f4cd..be2b80821 100644
--- a/c++/Makefile.am
+++ b/c++/Makefile.am
@@ -11,15 +11,7 @@ testcpp_SOURCES = testcpp.cc
testcpp_LDADD = libhamlib++.la $(top_builddir)/src/libhamlib.la $(top_builddir)/lib/libmisc.la $(DL_LIBS)
testcpp_DEPENDENCIES = libhamlib++.la
-check_SCRIPTS = testcpp.sh
-
-TESTS = $(check_SCRIPTS)
+TESTS = $(check_PROGRAMS)
$(top_builddir)/src/libhamlib.la:
$(MAKE) -C $(top_builddir)/src/ libhamlib.la
-
-testcpp.sh:
- echo 'LD_LIBRARY_PATH=$(top_builddir)/c++/.libs:$(top_builddir)/dummy/.libs ./testcpp' > testcpp.sh
- chmod +x ./testcpp.sh
-
-CLEANFILES = testcpp.sh
commit 23a54a7bdf088394e73182d7a2b911e01ca326a7
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Tue May 6 02:08:11 2025 +0200
Remove unneeded dependency
diff --git a/security/Makefile.am b/security/Makefile.am
index 86680d79e..f0ca51ceb 100644
--- a/security/Makefile.am
+++ b/security/Makefile.am
@@ -4,4 +4,3 @@ EXTRA_DIST = sctest.c
noinst_LTLIBRARIES = libsecurity.la
libsecurity_la_SOURCES = aes.c AESStringCrypt.c password.c security.c sha256.c md5.c aes.h AESStringCrypt.h password.h security.h sha256.h md5.h
-LDADD = $(top_builddir)/src/libhamlib.la
commit 5c05881e0ed0b9fc440bc64f6b60b369f4109139
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sat May 3 22:23:53 2025 +0200
Add rules to build dependencies of libhamlib.la in other directories
This makes it possible to run "make -C src/" or "make -C tests/ rigctl"
or "make -C bindings/ check" (and so on) in a clean tree, but it doesn't
rebuild those targets if libhamlib.la is changed; for this run make from
the top directory as usual, to rebuild all SUBDIRS if needed.
diff --git a/bindings/Makefile.am b/bindings/Makefile.am
index 0f4c1d2f0..11ecea1ec 100644
--- a/bindings/Makefile.am
+++ b/bindings/Makefile.am
@@ -30,6 +30,8 @@ example_DATA =
BUILT_SOURCES =
MOSTLYCLEANFILES =
+$(top_builddir)/src/libhamlib.la:
+ $(MAKE) -C $(top_builddir)/src/ libhamlib.la
if ENABLE_PERL
##########################################
diff --git a/c++/Makefile.am b/c++/Makefile.am
index 599b40041..daca3f4cd 100644
--- a/c++/Makefile.am
+++ b/c++/Makefile.am
@@ -15,6 +15,8 @@ check_SCRIPTS = testcpp.sh
TESTS = $(check_SCRIPTS)
+$(top_builddir)/src/libhamlib.la:
+ $(MAKE) -C $(top_builddir)/src/ libhamlib.la
testcpp.sh:
echo 'LD_LIBRARY_PATH=$(top_builddir)/c++/.libs:$(top_builddir)/dummy/.libs ./testcpp' > testcpp.sh
diff --git a/simulators/Makefile.am b/simulators/Makefile.am
index a58e79147..a9a799e79 100644
--- a/simulators/Makefile.am
+++ b/simulators/Makefile.am
@@ -44,5 +44,7 @@ EXTRA_DIST =
#TESTS = $(check_SCRIPTS)
+$(top_builddir)/src/libhamlib.la:
+ $(MAKE) -C $(top_builddir)/src/ libhamlib.la
CLEANFILES = simelelecraft simicgeneric simkenwood simyaesu
diff --git a/src/Makefile.am b/src/Makefile.am
index 5c484f971..572818a22 100755
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -27,6 +27,15 @@ libhamlib_la_LIBADD = $(top_builddir)/lib/libmisc.la $(top_builddir)/security/li
libhamlib_la_DEPENDENCIES = $(top_builddir)/lib/libmisc.la $(top_builddir)/security/libsecurity.la $(BACKENDEPS) $(RIG_BACKENDEPS) $(ROT_BACKENDEPS) $(AMP_BACKENDEPS)
+# Rule to build the dependencies of libhamlib.la that are not in this directory
+# when running make in this directory instead of top_builddir
+# (the % matches any number of subdirectories)
+# warning: '%'-style pattern rules are a GNU make extension
+$(top_builddir)/%.la:
+ $(MAKE) -C $(@D) $(@F)
+
+#
+
EXTRA_DIST = Android.mk hamlibdatetime.h.in band_changed.c
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 706d59bc5..c120165ff 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -110,6 +110,8 @@ check_SCRIPTS = testrig.sh testfreq.sh testbcd.sh testloc.sh testrigcaps.sh test
TESTS = $(check_SCRIPTS)
+$(top_builddir)/src/libhamlib.la:
+ $(MAKE) -C $(top_builddir)/src/ libhamlib.la
testrig.sh:
echo 'LD_LIBRARY_PATH=$(top_builddir)/src/.libs:$(top_builddir)/dummy/.libs ./testrig 1' > testrig.sh
commit b73f64f49865ca2d2006f6ef21c6013a57152d7d
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sat May 3 00:55:51 2025 +0200
Remove redundant dependencies
All *.swg files are in $(SWIGDEP) via $(SWGFILES).
diff --git a/bindings/Makefile.am b/bindings/Makefile.am
index 17df597df..0f4c1d2f0 100644
--- a/bindings/Makefile.am
+++ b/bindings/Makefile.am
@@ -39,7 +39,7 @@ BUILT_SOURCES += hamlibperl_wrap.c
MOSTLYCLEANFILES += hamlibperl_wrap.c Hamlib.pm Hamlib.bs Hamlib-pl.mk.old
example_DATA += perltest.pl
-hamlibperl_wrap.c: hamlib.swg $(SWIGDEP) ignore.swg rig.swg
+hamlibperl_wrap.c: $(SWIGDEP)
$(AM_V_GEN)$(SWIG) -perl5 -shadow $(AM_CPPFLAGS) -I$(top_srcdir)/bindings \
-o $@ $$(test -f hamlib.swg || echo '$(srcdir)/')hamlib.swg
@@ -120,7 +120,7 @@ check-py: all-py
Hamlib.py: hamlibpy_wrap.c
-hamlibpy_wrap.c: hamlib.swg $(SWGDEP)
+hamlibpy_wrap.c: $(SWGDEP)
$(AM_V_GEN)$(SWIG) -python $(AM_CPPFLAGS) $(PYTHON_CPPFLAGS) -I$(top_srcdir)/bindings \
-o $@ $$(test -f hamlib.swg || echo '$(srcdir)/')hamlib.swg
@@ -166,7 +166,7 @@ hamlibtcl_la_LTLIBRARIES = $(tcl_ltlib)
pkgIndex.tcl: Makefile
$(AM_V_at)echo 'package ifneeded hamlib $(PKG_VER) [list load [file join $$dir $(DLL)] Hamlib]' > pkgIndex.tcl
-hamlibtcl_wrap.c: hamlib.swg $(SWGDEP)
+hamlibtcl_wrap.c: $(SWGDEP)
$(AM_V_GEN)$(SWIG) -tcl -pkgversion $(PKG_VER) $(AM_CPPFLAGS) \
-I$(top_srcdir)/bindings \
-o $@ $$(test -f hamlib.swg || echo '$(srcdir)/')hamlib.swg
@@ -219,7 +219,7 @@ check-lua: all-lua
Hamlib.lua: hamliblua_wrap.c
-hamliblua_wrap.c: hamlib.swg $(SWGDEP)
+hamliblua_wrap.c: $(SWGDEP)
$(AM_V_GEN)$(SWIG) -lua $(AM_CPPFLAGS) -I$(top_srcdir)/bindings \
-o $@ $$(test -f hamlib.swg || echo '$(srcdir)/')hamlib.swg
commit dcf4b7a4e0c03a02396694479a5069108b3555e2
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Wed Apr 30 16:30:56 2025 +0200
Fix syntax of #define
It was invalid C syntax, but it is currently unused.
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index a6bc0a7e6..f165dca29 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -829,7 +829,7 @@ typedef enum { // numbers here reflect generic values -- need to map to rig valu
#define RIG_BANDSELECT_LF (RIG_BANDSELECT_2200M | RIG_BANDSELECT_600M)
#define RIG_BANDSELECT_HF (RIG_BANDSELECT_160M | RIG_BANDSELECT_80M | RIG_BANDSELECT_60M | RIG_BANDSELECT_40M\
| RIG_BANDSELECT_30M | RIG_BANDSELECT_20M | RIG_BANDSELECT_17M | RIG_BANDSELECT_15M | RIG_BANDSELECT_12M\
-RIG_BANDSELECT_10M | RIG_BANDSELECT_6M)
+| RIG_BANDSELECT_10M | RIG_BANDSELECT_6M)
#define RIG_BANDSELECT_VHF (RIG_BANDSELECT_AIR | RIG_BANDSELECT_2M| RIG_BANDSELECT_1_25M(
#define RIG_BANDSELECT_UHF (RIG_BANDSELECT_70CM)
commit 0b68dc588539e0d53bdb758fdf1639e5808f010e
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Mon Apr 28 22:32:52 2025 +0200
Also check the "name" parameter
Avoids a segfault if calling strtol(NULL, NULL, 0).
diff --git a/src/conf.c b/src/conf.c
index 24fd6a5e3..335b419dd 100644
--- a/src/conf.c
+++ b/src/conf.c
@@ -1386,6 +1386,10 @@ const struct confparams *HAMLIB_API rig_confparam_lookup(RIG *rig,
return NULL;
}
+ if (!name) {
+ rig_debug(RIG_DEBUG_ERR, "%s: name is NULL\n", __func__);
+ return NULL;
+ }
/* 0 returned for invalid format */
token = strtol(name, NULL, 0);
-----------------------------------------------------------------------
Summary of changes:
bindings/Makefile.am | 10 ++++++----
c++/Makefile.am | 14 +++++---------
configure.ac | 1 +
include/hamlib/rig.h | 2 +-
rigs/dummy/aclog.c | 6 +++---
rigs/dummy/flrig.c | 8 ++++----
rigs/dummy/sdrsharp.c | 4 ++--
rigs/dummy/tci1x.c | 2 +-
rigs/yaesu/newcat.c | 2 +-
security/Makefile.am | 1 -
simulators/Makefile.am | 2 ++
src/Makefile.am | 3 +++
src/conf.c | 4 ++++
src/debug.c | 2 +-
src/rig.c | 2 +-
tests/Makefile.am | 2 ++
16 files changed, 37 insertions(+), 28 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-05-04 17:13:02
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 6dfa118dace16c3fff039d071ca87a4210c91793 (commit)
via e5d8dc0f07bd0de56b87430811f549e3f2e2a1f1 (commit)
via 584ddb001d5ba15bb3047a566adbd242fa4710ff (commit)
via f4b95826d490bd033c7fb87e849c0edc428775d2 (commit)
via fb8abe93bb3805127d457be3c11d1e6d87789f1e (commit)
via 6f789b60ecdd19a4ebd6f1a5e17805c665d51073 (commit)
via 7a466c779ac1bbe0427429670899f82e6c63787f (commit)
via 49b0be5be2cb40e565da74a8ba7a393747d48cb4 (commit)
from 12cc40f4f77c5dea54d03b39c8657e8a6038a05f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 6dfa118dace16c3fff039d071ca87a4210c91793
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun May 4 10:46:28 2025 +0200
Describe the use of simulators
diff --git a/README.developer b/README.developer
index b4a3d650f..1c1a7c27c 100644
--- a/README.developer
+++ b/README.developer
@@ -686,8 +686,32 @@ Testing:
touched the build system files or added a backend.
Simulators:
- * The simulators directory contains various programs that are built
- invoking "make -C simulators/ check" or "make check" from topdir.
+ * The 'simulators' directory contains programs to simulate the protocol
+ of many devices. They are built invoking "make -C simulators/ check"
+ or "make check" from topdir. While simulators are made to test Hamlib
+ with rigctl and rigctld, you should be able to guess the model number
+ that corresponds to a given simulator and configure an application such
+ as wsjtx to use that model and the port name printed by the simulator,
+ as shown in the examples below.
+
+ To use a simulator on *nix-like systems, run its executable and take
+ note of the port name:
+ $ ./simulators/simft991
+ name=/dev/pts/6
+ then from another terminal run rigctl/rigctld using that port and a
+ matching model number (see rigctl --list):
+ $ ./tests/rigctl --model=1035 --rig-file=/dev/pts/6 \get_freq
+ 14074000
+
+ To use a simulator on Windows, first install a virtual COM port, then
+ run the simulator passing the port name as first and only argument:
+ > simulators\simft991 COM1234
+ then from another command prompt run rigctl/rigctld or your
+ application.
+
+ The COM port argument is currently ignored on *nix but it can be
+ handled if there is a need to test a low level issue with RS-232
+ and/or USB communication, if your machine has the needed hardware.
8.2.1 Use of rig_debug() function
commit e5d8dc0f07bd0de56b87430811f549e3f2e2a1f1
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun May 4 00:23:46 2025 +0200
Fix compilation error in simicr8600.c
Fixes:
simicr8600.c:445:5: warning: ‘main’ is normally a non-static function [-Wmain]
diff --git a/simulators/simicr8600.c b/simulators/simicr8600.c
index 0c55061fa..ae5e0470d 100644
--- a/simulators/simicr8600.c
+++ b/simulators/simicr8600.c
@@ -388,6 +388,7 @@ void frameParse(int fd, unsigned char *frame, int len)
// don't care about the rig type yet
+ }
}
#if defined(WIN32) || defined(_WIN32)
commit 584ddb001d5ba15bb3047a566adbd242fa4710ff
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun May 4 00:10:30 2025 +0200
Fix compilation error in simid5100.c
Fixes:
simid5100.c:90:35: error: ‘errno’ undeclared (first use in this function)
diff --git a/simulators/simid5100.c b/simulators/simid5100.c
index eb36e3fdc..93fd7bf4d 100644
--- a/simulators/simid5100.c
+++ b/simulators/simid5100.c
@@ -10,6 +10,7 @@ struct ip_mreq
};
#endif
+#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
commit f4b95826d490bd033c7fb87e849c0edc428775d2
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun May 4 00:08:44 2025 +0200
Explain how to use the simulators
diff --git a/README.developer b/README.developer
index 252fc2a52..b4a3d650f 100644
--- a/README.developer
+++ b/README.developer
@@ -685,6 +685,10 @@ Testing:
package ready for distribution. This is a good test if you have
touched the build system files or added a backend.
+Simulators:
+ * The simulators directory contains various programs that are built
+ invoking "make -C simulators/ check" or "make check" from topdir.
+
8.2.1 Use of rig_debug() function
commit fb8abe93bb3805127d457be3c11d1e6d87789f1e
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun May 4 00:05:08 2025 +0200
List more optional dependencies
diff --git a/README.developer b/README.developer
index 621a69d46..252fc2a52 100644
--- a/README.developer
+++ b/README.developer
@@ -285,11 +285,15 @@ Optional, but highly recommended:
* perl devel # h2xs
* tcl devel # tcltk-depends
* python devel # python-config
+* lua devel
* libxml2 devel # xml2-config --version
-* libgd2 devel # gdlib-config --version
+* libgd2 devel # gdlib-config --version (rigmatrix)
+* libindi devel # INDI rotators
+* libnova devel
* libusb-1.0 devel # 1.0.0 or newer
* libreadline devel # ver 5.2 or newer
* pkg-config # pkg-config --version (libxml and USRP)
+* zlib1g devel # (rigmatrix)
N.B.: The libusb-1.0 package is required for building most of the 'kit'
backend. The older version of libusb 0.1.x is no longer supported.
commit 6f789b60ecdd19a4ebd6f1a5e17805c665d51073
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sat May 3 19:33:17 2025 +0200
Update copyright year
diff --git a/README.developer b/README.developer
index e9e0fc83b..621a69d46 100644
--- a/README.developer
+++ b/README.developer
@@ -1,6 +1,6 @@
Hamlib - (C) Frank Singleton 2000 (vk...@ix...)
(C) Stephane Fillod 2000-2011
- (C) The Hamlib Group 2000-2013
+ (C) The Hamlib Group 2000-2025
Primary site for the latest development version of Hamlib is https://github.com/Hamlib/Hamlib
Also take a look at http://sourceforge.net/projects/hamlib/
commit 7a466c779ac1bbe0427429670899f82e6c63787f
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sat May 3 16:51:37 2025 +0200
Remove old version numbers
diff --git a/README.developer b/README.developer
index 8031e52c8..e9e0fc83b 100644
--- a/README.developer
+++ b/README.developer
@@ -281,7 +281,7 @@ N.B. Hamlib requires libtool >= 2.2.6b in compliance with CVE-2009-3736.
Optional, but highly recommended:
* GNU C++ # g++ --version
-* swig (for bindings) 1.3.14 # swig -version
+* swig (for bindings) # swig -version
* perl devel # h2xs
* tcl devel # tcltk-depends
* python devel # python-config
@@ -289,7 +289,7 @@ Optional, but highly recommended:
* libgd2 devel # gdlib-config --version
* libusb-1.0 devel # 1.0.0 or newer
* libreadline devel # ver 5.2 or newer
-* pkg-config 0.9.0 # pkg-config --version (libxml and USRP)
+* pkg-config # pkg-config --version (libxml and USRP)
N.B.: The libusb-1.0 package is required for building most of the 'kit'
backend. The older version of libusb 0.1.x is no longer supported.
commit 49b0be5be2cb40e565da74a8ba7a393747d48cb4
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sat May 3 16:24:31 2025 +0200
Update the directory tree
diff --git a/README.developer b/README.developer
index 4ded18b26..8031e52c8 100644
--- a/README.developer
+++ b/README.developer
@@ -39,21 +39,27 @@ utility), and USB. Other connectivity will follow afterwards.
General Guidelines.
-------------------
-0. The top level directory looks like this as of 2020-01-18
+0. The top level directory looks like this as of 2025-05-03
$ tree -d -I .git
.
+.
├── amplifiers
-│ └── elecraft
+│ ├── elecraft
+│ ├── expert
+│ └── gemini
├── android
├── autom4te.cache
├── bindings
+│ └── csharp
+│ └── multicast
├── build-aux
├── c++
├── doc
│ ├── man1
-│ └── man7
-├── dummy
+│ ├── man7
+│ └── manuals
+├── docker-build
├── extra
│ ├── gnuradio
│ └── kylix
@@ -66,12 +72,18 @@ $ tree -d -I .git
├── rigs
│ ├── adat
│ ├── alinco
+│ ├── anytone
│ ├── aor
│ ├── barrett
+│ ├── codan
+│ ├── commradio
│ ├── dorji
│ ├── drake
+│ ├── dummy
│ ├── elad
│ ├── flexradio
+│ ├── gomspace
+│ │ └── gs100_sim
│ ├── icmarine
│ ├── icom
│ ├── jrc
@@ -79,6 +91,8 @@ $ tree -d -I .git
│ ├── kenwood
│ ├── kit
│ ├── lowe
+│ ├── mds
+│ ├── motorola
│ ├── pcr
│ ├── prm80
│ ├── racal
@@ -95,24 +109,36 @@ $ tree -d -I .git
│ └── yaesu
├── rotators
│ ├── amsat
+│ ├── androidsensor
+│ ├── apex
│ ├── ars
│ ├── celestron
│ ├── cnctrk
│ ├── easycomm
│ ├── ether6
+│ ├── flir
│ ├── fodtrack
+│ ├── grbltrk
│ ├── gs232a
│ ├── heathkit
+│ ├── indi
│ ├── ioptron
│ ├── m2
│ ├── meade
│ ├── prosistel
+│ ├── radant
│ ├── rotorez
+│ ├── saebrtrack
│ ├── sartek
+│ ├── satel
+│ ├── skywatcher
│ ├── spid
│ └── ts7400
│ └── include
├── scripts
+│ └── MSVC
+├── security
+├── simulators
├── src
└── tests
├── config
@@ -121,7 +147,7 @@ $ tree -d -I .git
├── testfreq.test
└── testloc.test
-77 directories
+103 directories
1. Building
-----------------------------------------------------------------------
Summary of changes:
README.developer | 76 +++++++++++++++++++++++++++++++++++++++++++------
simulators/simicr8600.c | 1 +
simulators/simid5100.c | 1 +
3 files changed, 69 insertions(+), 9 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-05-03 15:47:23
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 12cc40f4f77c5dea54d03b39c8657e8a6038a05f (commit)
from fa2520c894c91f23c1c7be58e7ee4566e1dc102c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 12cc40f4f77c5dea54d03b39c8657e8a6038a05f
Author: Kenji Rikitake <ken...@ac...>
Date: Fri May 2 12:58:33 2025 +0000
Fix IC-705 filter selection and bandwidth handling for FM and WFM
* Enable `.fm_filters` in `IC705_priv_caps`
* `icom_get_mode_without_data()`: activate FM filter selection code if `RIG_IS_IC705`
* `icom2rig_mode()`: activate FM filter fixed width code if `RIG_IS_IC705`
* TODO: cases in WFM should be solved independently
* `icom2rig_mode()`: handle FM and WFM separately and correctly at least for IC-705, no changes for IC-7300 and IC-9700
* `icom_get_mode_without_data()`: add WFM to the code assuming that values from `icom2rig_mode()` is correct
* icom.c: A partial rollback for https://github.com/Hamlib/Hamlib/pull/1719/commits/a395b91be6bd19d760e57005ecb8079b15af9ede
* The workaround to use `icom_set_mode_without_data()` is not necessary
* The later experiments showed CI-V command 0x26 worked OK too for WFM
* Add WFM freq to ic705_caps.filters
* Fix icom_set_mode_x26() FM behavior
`icom_set_mode_x26()` did not pass the correct command value
for FM or PKTFM modes when width is set to
`RIG_PASSBAND_NORMAL` (i.e., 0 (zero)).
With this source code change,
the command value `buf[2]` is forcefully set to 1
when `RIG_PASSBAND_NORMAL` or `RIG_PASSBAND_NOCHANGE` are
passed to the parameter `width`.
This fix solves the bug for IC-705 with rigctl when
entering the command `M FM 0` after `M WFM 0` *did not*
change the mode properly to (narrow) FM.
diff --git a/rigs/icom/frame.c b/rigs/icom/frame.c
index 09a2faddd..df2019e09 100644
--- a/rigs/icom/frame.c
+++ b/rigs/icom/frame.c
@@ -814,15 +814,27 @@ void icom2rig_mode(RIG *rig, unsigned char md, int pd, rmode_t *mode,
rig_debug(RIG_DEBUG_TRACE, "%s: mode=0x%02x, pd=%d\n", __func__, md, pd);
// Some rigs return fixed with for FM mode
- if ((RIG_IS_IC7300 || RIG_IS_IC9700) && (md == S_FM || md == S_WFM))
- {
- *mode = RIG_MODE_FM;
+ if (RIG_IS_IC7300 || RIG_IS_IC9700 || RIG_IS_IC705) {
+ if (md == S_FM) {
+ *mode = RIG_MODE_FM;
- if (*width == 1) { *width = 15000; }
- else if (*width == 2) { *width = 10000; }
- else { *width = 7000; }
+ if (*width == 1) { *width = 15000; }
+ else if (*width == 2) { *width = 10000; }
+ else { *width = 7000; }
+
+ return;
+ } else if (md == S_WFM) {
+
+ // For IC-705, *width will always be 1
+ // At least this works for IC-705
- return;
+ *mode = RIG_MODE_WFM;
+ *width = 200000;
+
+ return;
+ }
+ // If not FM nor SFM mode,
+ // fall down this block for further processing
}
*width = RIG_PASSBAND_NORMAL;
diff --git a/rigs/icom/ic7300.c b/rigs/icom/ic7300.c
index a43939060..fe633a77e 100644
--- a/rigs/icom/ic7300.c
+++ b/rigs/icom/ic7300.c
@@ -637,7 +637,8 @@ static const struct icom_priv_caps IC705_priv_caps =
.x1cx03_possibly = 1,
.x1ax03_supported = 1,
.mode_with_filter = 1,
- .data_mode_supported = 1
+ .data_mode_supported = 1,
+ .fm_filters = { 7000, 10000, 15000 }
};
static const struct icom_priv_caps IC905_priv_caps =
@@ -1498,6 +1499,7 @@ struct rig_caps ic705_caps =
{RIG_MODE_FM | RIG_MODE_PKTFM, kHz(10)},
{RIG_MODE_FM | RIG_MODE_PKTFM, kHz(7)},
{RIG_MODE_FM | RIG_MODE_PKTFM, kHz(15)},
+ {RIG_MODE_WFM, kHz(200)},
RIG_FLT_END,
},
diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c
index b55608983..71cd24eba 100644
--- a/rigs/icom/icom.c
+++ b/rigs/icom/icom.c
@@ -2441,6 +2441,22 @@ static int icom_set_mode_x26(RIG *rig, vfo_t vfo, rmode_t mode,
if (width > 10000) { buf[2] = 1; }
else if (width > 7000) { buf[2] = 2; }
else if (width > 3) { buf[2] = 3; }
+ // Set "normal" bandwidth explicitly here
+ // when width is zero or even less
+ // (namely RIG_PASSBAND_NORMAL or RIG_PASSBAND_NOCHANGE)
+ else if (width < 1) { buf[2] = 1; }
+
+ if (width == RIG_PASSBAND_NOCHANGE)
+ {
+ buf_len = 1;
+ }
+ }
+ else if (mode == RIG_MODE_WFM)
+ {
+ rig_debug(RIG_DEBUG_TRACE, "%s: wfm_width=%d\n", __func__, (int)width);
+ // For IC-705, there's only one filter mode for WFM
+ // So set always to 1
+ buf[2] = 1;
if (width == RIG_PASSBAND_NOCHANGE)
{
@@ -2574,9 +2590,7 @@ int icom_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
(int) base_mode, (int) width, rig_strvfo(rs->current_vfo));
// It is only necessary to change base mode if command 0x26 is not supported
- // NOTE: IC-705 does not support WFM for command 0x26
- if (!(rs->targetable_vfo & RIG_TARGETABLE_MODE) || force_vfo_swap ||
- (RIG_IS_IC705 && (mode == RIG_MODE_WFM)))
+ if (!(rs->targetable_vfo & RIG_TARGETABLE_MODE) || force_vfo_swap)
{
retval = icom_set_mode_without_data(rig, vfo, base_mode, width);
}
@@ -2625,8 +2639,8 @@ int icom_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
if (datamode[0] == 0) { datamode[1] = 0; } // the only good combo possible according to manual
// we need to let FM mode widths through here with datamode[1] set to FM width
- if ((priv_caps->fm_filters[0] != 0) && (mode == RIG_MODE_FM
- || mode == RIG_MODE_WFM))
+ // (This is not applicable to WFM)
+ if ((priv_caps->fm_filters[0] != 0) && (mode == RIG_MODE_FM))
{
// assumed fm_filters is ascending sequence -- see ic7300.c for example
if (width >= 1 && width <= 3) { datamode[1] = width; }
@@ -2653,6 +2667,13 @@ int icom_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
{
if (datamode[0] == 0) { datamode[1] = 0; }
+ // For IC-705, this is the only valid values for WFM
+ if (RIG_IS_IC705 && (mode == RIG_MODE_WFM))
+ {
+ datamode[0] = 0;
+ datamode[1] = 1;
+ }
+
retval = icom_set_mode_x26(rig, vfo, mode, mode_icom, datamode[0], datamode[1],
width);
}
@@ -2816,8 +2837,8 @@ static int icom_get_mode_without_data(RIG *rig, vfo_t vfo, rmode_t *mode,
mode_len == 2 ? modebuf[2] : -1, mode, width);
}
- if ((RIG_IS_IC7300 || RIG_IS_IC9700) && (*mode == RIG_MODE_FM
- || *mode == RIG_MODE_PKTFM))
+ if ((RIG_IS_IC7300 || RIG_IS_IC9700 || RIG_IS_IC705) && (*mode == RIG_MODE_FM
+ || *mode == RIG_MODE_PKTFM || *mode == RIG_MODE_WFM))
{
// we already have width from icom2rig_mode
RETURNFUNC2(RIG_OK);
@@ -2849,7 +2870,7 @@ static int icom_get_mode_without_data(RIG *rig, vfo_t vfo, rmode_t *mode,
if (vfo == rs->current_vfo)
{
- if (!((RIG_IS_IC7300 || RIG_IS_IC9700) && (*mode == RIG_MODE_FM
+ if (!((RIG_IS_IC7300 || RIG_IS_IC9700 || RIG_IS_IC705) && (*mode == RIG_MODE_FM
|| *mode == RIG_MODE_PKTFM))) // can't do this in FM mode
{
filter_width = icom_get_dsp_flt(rig, *mode);
@@ -2872,13 +2893,18 @@ static int icom_get_mode_without_data(RIG *rig, vfo_t vfo, rmode_t *mode,
{
*width = 12000; // some default to 12000
- if (RIG_IS_IC7300 || RIG_IS_IC9700)
+ if (RIG_IS_IC7300 || RIG_IS_IC9700 || RIG_IS_IC705)
{
if (priv_data->filter == 1) { *width = 15000; }
else if (priv_data->filter == 2) { *width = 10000; }
else if (priv_data->filter == 3) { *width = 7000; }
}
}
+ else if (*mode == RIG_MODE_WFM)
+ {
+ // IC-705 only valid value
+ if (RIG_IS_IC705) { *width = 200000; }
+ }
RETURNFUNC2(RIG_OK);
}
-----------------------------------------------------------------------
Summary of changes:
rigs/icom/frame.c | 26 +++++++++++++++++++-------
rigs/icom/ic7300.c | 4 +++-
rigs/icom/icom.c | 44 +++++++++++++++++++++++++++++++++++---------
3 files changed, 57 insertions(+), 17 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-05-03 02:45:07
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via fa2520c894c91f23c1c7be58e7ee4566e1dc102c (commit)
via d893974b3d3fb26cfb46e3f85adaa1b0f9da9ac2 (commit)
from fe3bb8b84a47ec4e928e65fc5a9a104b89747162 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit fa2520c894c91f23c1c7be58e7ee4566e1dc102c
Merge: fe3bb8b84 d893974b3
Author: Nate Bargmann <n0...@n0...>
Date: Fri May 2 21:43:46 2025 -0500
Merge pull request #1723 from jj1bdx/jj1bdx-ic705-meters
Fix IC-705 COMP, VD, and ID meter calibration values
commit d893974b3d3fb26cfb46e3f85adaa1b0f9da9ac2
Author: Kenji Rikitake <ken...@ac...>
Date: Fri May 2 03:11:27 2025 +0000
Fix IC-705 COMP, VD, and ID meter calibration values
* Define IC-705-specific values ported from flrig-2.0.05.93
diff --git a/rigs/icom/ic7300.c b/rigs/icom/ic7300.c
index 16e3602db..a43939060 100644
--- a/rigs/icom/ic7300.c
+++ b/rigs/icom/ic7300.c
@@ -170,6 +170,38 @@ int ic9700_set_vfo(RIG *rig, vfo_t vfo);
{ 255, 12.0f } \
} }
+// flrig-2.0.05.93
+#define IC705_COMP_METER_CAL { 12, \
+ { \
+ { 0, 0.0f }, \
+ { 11, 0.0f }, \
+ { 34, 3.0f }, \
+ { 58, 6.0f }, \
+ { 81, 9.0f }, \
+ { 104, 12.0f }, \
+ { 128, 15.0f }, \
+ { 151, 18.0f }, \
+ { 174, 21.0f }, \
+ { 197, 24.0f }, \
+ { 221, 27.0f }, \
+ { 244, 30.0f } \
+ } }
+
+// flrig-2.0.05.93
+#define IC705_VD_METER_CAL { 2, \
+ { \
+ { 0, 0.0f }, \
+ { 241, 16.0f } \
+ } }
+
+
+// flrig-2.0.05.93
+#define IC705_ID_METER_CAL { 2, \
+ { \
+ { 0, 0.0f }, \
+ { 241, 4.0f } \
+ } }
+
/*
* IC9700 items that differ from IC7300
*/
@@ -1473,9 +1505,9 @@ struct rig_caps ic705_caps =
.swr_cal = IC7300_SWR_CAL,
.alc_cal = IC7300_ALC_CAL,
.rfpower_meter_cal = IC705_RFPOWER_METER_CAL,
- .comp_meter_cal = IC7300_COMP_METER_CAL,
- .vd_meter_cal = IC7300_VD_METER_CAL,
- .id_meter_cal = IC7300_ID_METER_CAL,
+ .comp_meter_cal = IC705_COMP_METER_CAL,
+ .vd_meter_cal = IC705_VD_METER_CAL,
+ .id_meter_cal = IC705_ID_METER_CAL,
.spectrum_scopes = {
{
-----------------------------------------------------------------------
Summary of changes:
rigs/icom/ic7300.c | 38 +++++++++++++++++++++++++++++++++++---
1 file changed, 35 insertions(+), 3 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-05-02 01:49:57
|
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 fe3bb8b84a47ec4e928e65fc5a9a104b89747162 (commit)
via c8838cd3a6f4ea57ccbde8cb646c5a4fbfd82a3e (commit)
via 12265fde9ad35e36ebdf591f0d88421dd08e121c (commit)
via 7c5c71588881fe9c81eb9c0ce15544703208db44 (commit)
via edef6206f7e11b74237e927939a5b1ea6ceecfdb (commit)
via 5cf875582756aec6c4d5f97267a37374e05541f1 (commit)
via a395b91be6bd19d760e57005ecb8079b15af9ede (commit)
via dda30532b512e34d65308c03dd68205de09ba2b8 (commit)
via bd5ed18bddbef070b893ed278c6e12d6706739f3 (commit)
via c1788e2cf86edfad398ff6eb7e7e5389cc58cf66 (commit)
via 56b075ab452c92017a9a144c74dcebd5271c5fa3 (commit)
via 8feb174711bcc6756e46547837116499b80e2057 (commit)
via 24eafbd2a4affe66e6cef0af38343652a4a54f09 (commit)
via aeb827a2f1dab1d7a481e873890e8beee0ddb8ab (commit)
via 3448c735b064dccd2aea26d5b15c9a30d06a1650 (commit)
via 037c4953ed1f7d3b31b2c09d48dbf9e79210b8b1 (commit)
from d03cde33b05367231b69309064edae9aef402f5a (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 fe3bb8b84a47ec4e928e65fc5a9a104b89747162
Merge: 12265fde9 c8838cd3a
Author: Nate Bargmann <n0...@n0...>
Date: Thu May 1 20:48:00 2025 -0500
Merge pull request #1722 from N0NB/aclog_get_freq-thousands_separator
Avoid truncating AC Log frequencies above 1 GHz
commit c8838cd3a6f4ea57ccbde8cb646c5a4fbfd82a3e
Author: Nate Bargmann <n0...@n0...>
Date: Thu May 1 19:49:44 2025 -0500
Avoid truncating AC Log frequencies above 1 GHz
Per GitHub issue #1704, frequencies higher than 1 GHz passed from AC Log
have an embedded comma. Even though sscanf() offers the "'" (single
quote) character as a means of ignoring thousands separator, apparently
it depends on the environment variable LC_NUMERIC being set correctly
and that may not be supported on all platforms.
This patch just parses through the string while skipping any comma that
may appear and then uses strtold() to convert to a numeric variable. It
is supected that AC Log always uses a comma as a thousands separator.
diff --git a/rigs/dummy/aclog.c b/rigs/dummy/aclog.c
index 8baeef075..3b9fb4cef 100644
--- a/rigs/dummy/aclog.c
+++ b/rigs/dummy/aclog.c
@@ -19,6 +19,7 @@
*
*/
+#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -421,9 +422,14 @@ static rmode_t modeMapGetHamlib(const char *modeACLog)
/*
* aclog_get_freq
* Assumes rig!=NULL, STATE(rig)->priv!=NULL, freq!=NULL
+*
+* string='<CMD><READBMFRESPONSE><BAND>23</BAND><MODE>SSB</MODE><MODETEST>PH</MODETEST><FREQ>1,296.171100</FREQ></CMD> '
*/
static int aclog_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
{
+ int i, j = 0;
+ char f_string[32];
+
char value[MAXARGLEN];
struct aclog_priv_data *priv = (struct aclog_priv_data *) STATE(rig)->priv;
@@ -461,7 +467,30 @@ static int aclog_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
char *p = strstr(value, "<FREQ>");
*freq = 0;
- if (p) { sscanf(p, "<FREQ>%'lf", freq); }
+ if (p)
+ {
+ // Move the pointer to the first digit.
+ p += strlen("<FREQ>");
+
+ // Parse "1,296.171100" ignoring the comma.
+ for (i = 0; p[i] != '<'; i++)
+ {
+ if (isdigit(p[i]))
+ {
+ f_string[j++] = p[i];
+ }
+ else if (ispunct(p[i]) && p[i] == '.')
+ {
+ f_string[j++] = p[i];
+ }
+ }
+
+ f_string[j] = '\0';
+ rig_debug(RIG_DEBUG_TRACE, "%s: f_string=%s\n", __func__, f_string);
+
+ *freq = strtold(f_string, NULL);
+ rig_debug(RIG_DEBUG_TRACE, "%s: freq=%.0f\n", __func__, *freq);
+ }
*freq *= 1e6; // convert from MHz to Hz
commit 12265fde9ad35e36ebdf591f0d88421dd08e121c
Merge: 7c5c71588 5cf875582
Author: Nate Bargmann <n0...@n0...>
Date: Thu May 1 12:17:44 2025 -0500
Merge pull request #1720 from N0NB/lua_macro
Update ax_lua.m4 macro file
commit 7c5c71588881fe9c81eb9c0ce15544703208db44
Merge: edef6206f a395b91be
Author: Nate Bargmann <n0...@n0...>
Date: Thu May 1 12:17:24 2025 -0500
Merge pull request #1719 from jj1bdx/jj1bdx-ic705-wfm
Add support of setting IC-705 WFM mode
commit edef6206f7e11b74237e927939a5b1ea6ceecfdb
Merge: d03cde33b dda30532b
Author: Nate Bargmann <n0...@n0...>
Date: Thu May 1 12:16:44 2025 -0500
Merge pull request #1718 from dforsi/fix/typos
Fix/typos
commit 5cf875582756aec6c4d5f97267a37374e05541f1
Author: Nate Bargmann <n0...@n0...>
Date: Thu May 1 07:04:04 2025 -0500
Update ax_lua.m4 macro file
Per GitHub issue #1712, the older macro file was causing bootstrap
issues on Fedora 42.
diff --git a/configure.ac b/configure.ac
index a2b22ed0b..ea06ba611 100644
--- a/configure.ac
+++ b/configure.ac
@@ -667,6 +667,10 @@ AC_SUBST([TCL_CFLAGS])
dnl Check for lua availability, so we can enable HamlibLua
+
+dnl Newer ax_lua.m4 macro, at least Serial 47, requires LUAJIT be present.
+AM_CONDITIONAL([LUAJIT], [false])
+
# Lua bindings
AC_MSG_CHECKING([whether to build lua binding])
AC_ARG_WITH([lua-binding],
diff --git a/macros/ax_lua.m4 b/macros/ax_lua.m4
index 7607c5fe2..5f63cacee 100644
--- a/macros/ax_lua.m4
+++ b/macros/ax_lua.m4
@@ -1,5 +1,5 @@
# ===========================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_lua.html
+# https://www.gnu.org/software/autoconf-archive/ax_lua.html
# ===========================================================================
#
# SYNOPSIS
@@ -19,7 +19,7 @@
# header is checked to match the Lua interpreter version exactly. When
# searching for Lua libraries, the version number is used as a suffix.
# This is done with the goal of supporting multiple Lua installs (5.1,
-# 5.2, and 5.3 side-by-side).
+# 5.2, 5.3, and 5.4 side-by-side).
#
# A note on compatibility with previous versions: This file has been
# mostly rewritten for serial 18. Most developers should be able to use
@@ -49,6 +49,14 @@
# interpreter. If LUA is blank, the user's path is searched for an
# suitable interpreter.
#
+# Optionally a LUAJIT option may be set ahead of time to look for and
+# validate a LuaJIT install instead of PUC Lua. Usage might look like:
+#
+# AC_ARG_WITH(luajit, [AS_HELP_STRING([--with-luajit],
+# [Prefer LuaJIT over PUC Lua, even if the latter is newer. Default: no])
+# ])
+# AM_CONDITIONAL([LUAJIT], [test "x$with_luajit" != 'xno'])
+#
# If MINIMUM-VERSION is supplied, then only Lua interpreters with a
# version number greater or equal to MINIMUM-VERSION will be accepted. If
# TOO-BIG-VERSION is also supplied, then only Lua interpreters with a
@@ -152,6 +160,7 @@
#
# LICENSE
#
+# Copyright (c) 2023 Caleb Maclennan <ca...@al...>
# Copyright (c) 2015 Reuben Thomas <rr...@sc...>
# Copyright (c) 2014 Tim Perkins <tp...@gm...>
#
@@ -166,7 +175,7 @@
# Public License for more details.
#
# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <http://www.gnu.org/licenses/>.
+# with this program. If not, see <https://www.gnu.org/licenses/>.
#
# As a special exception, the respective Autoconf Macro's copyright owner
# gives unlimited permission to copy, distribute and modify the configure
@@ -181,7 +190,7 @@
# modified version of the Autoconf Macro, you may extend this special
# exception to the GPL to apply to your modified version as well.
-#serial 39
+#serial 47
dnl =========================================================================
dnl AX_PROG_LUA([MINIMUM-VERSION], [TOO-BIG-VERSION],
@@ -197,13 +206,14 @@ AC_DEFUN([AX_PROG_LUA],
AC_ARG_VAR([LUA], [The Lua interpreter, e.g. /usr/bin/lua5.1])
dnl Find a Lua interpreter.
- m4_define_default([_AX_LUA_INTERPRETER_LIST],
- [lua lua5.3 lua53 lua5.2 lua52 lua5.1 lua51 lua50])
+ AM_COND_IF([LUAJIT],
+ [_ax_lua_interpreter_list='luajit luajit-2.1.0-beta3 luajit-2.0.5 luajit-2.0.4 luajit-2.0.3'],
+ [_ax_lua_interpreter_list='lua lua5.4 lua54 lua5.3 lua53 lua5.2 lua52 lua5.1 lua51 lua5.0 lua50'])
m4_if([$1], [],
[ dnl No version check is needed. Find any Lua interpreter.
AS_IF([test "x$LUA" = 'x'],
- [AC_PATH_PROGS([LUA], [_AX_LUA_INTERPRETER_LIST], [:])])
+ [AC_PATH_PROGS([LUA], [$_ax_lua_interpreter_list], [:])])
ax_display_LUA='lua'
AS_IF([test "x$LUA" != 'x:'],
@@ -242,7 +252,7 @@ AC_DEFUN([AX_PROG_LUA],
[_ax_check_text="for a Lua interpreter with version >= $1, < $2"])
AC_CACHE_CHECK([$_ax_check_text],
[ax_cv_pathless_LUA],
- [ for ax_cv_pathless_LUA in _AX_LUA_INTERPRETER_LIST none; do
+ [ for ax_cv_pathless_LUA in $_ax_lua_interpreter_list none; do
test "x$ax_cv_pathless_LUA" = 'xnone' && break
_AX_LUA_CHK_IS_INTRP([$ax_cv_pathless_LUA], [], [continue])
_AX_LUA_CHK_VER([$ax_cv_pathless_LUA], [$1], [$2], [break])
@@ -268,13 +278,25 @@ AC_DEFUN([AX_PROG_LUA],
ax_cv_lua_version=[`$LUA -e '
-- return a version number in X.Y format
local _, _, ver = string.find(_VERSION, "^Lua (%d+%.%d+)")
- print(ver)'`]
+ print(ver or "")'`]
])
AS_IF([test "x$ax_cv_lua_version" = 'x'],
[AC_MSG_ERROR([invalid Lua version number])])
AC_SUBST([LUA_VERSION], [$ax_cv_lua_version])
AC_SUBST([LUA_SHORT_VERSION], [`echo "$LUA_VERSION" | $SED 's|\.||'`])
+ AM_COND_IF([LUAJIT], [
+ AC_CACHE_CHECK([for $ax_display_LUA jit version], [ax_cv_luajit_version],
+ [ ax_cv_luajit_version=[`$LUA -e '
+ local _, _, ver = string.find(jit and jit.version, "(%d+%..+)")
+ print(ver or "")'`]
+ ])
+ AS_IF([test "x$ax_cv_luajit_version" = 'x'],
+ [AC_MSG_ERROR([invalid Lua jit version number])])
+ AC_SUBST([LUAJIT_VERSION], [$ax_cv_luajit_version])
+ AC_SUBST([LUAJIT_SHORT_VERSION], [$(echo "$LUAJIT_VERSION" | $SED 's|\.|§|;s|\..*||;s|§|.|')])
+ ])
+
dnl The following check is not supported:
dnl At times (like when building shared libraries) you may want to know
dnl which OS platform Lua thinks this is.
@@ -464,33 +486,50 @@ AC_DEFUN([AX_LUA_HEADERS],
AC_MSG_ERROR([cannot check Lua headers without knowing LUA_VERSION])
])
+ AM_COND_IF([LUAJIT],[
+ dnl Check for LUAJIT_VERSION.
+ AC_MSG_CHECKING([if LUAJIT_VERSION is defined])
+ AS_IF([test "x$LUAJIT_VERSION" != 'x'],
+ [AC_MSG_RESULT([yes])],
+ [ AC_MSG_RESULT([no])
+ AC_MSG_ERROR([cannot check Lua jit headers without knowing LUAJIT_VERSION])
+ ])
+ ])
+
dnl Make LUA_INCLUDE a precious variable.
AC_ARG_VAR([LUA_INCLUDE], [The Lua includes, e.g. -I/usr/include/lua5.1])
- dnl Some default directories to search.
- LUA_SHORT_VERSION=`echo "$LUA_VERSION" | $SED 's|\.||'`
- m4_define_default([_AX_LUA_INCLUDE_LIST],
- [ /usr/include/lua$LUA_VERSION \
- /usr/include/lua-$LUA_VERSION \
- /usr/include/lua/$LUA_VERSION \
- /usr/include/lua$LUA_SHORT_VERSION \
- /usr/local/include/lua$LUA_VERSION \
- /usr/local/include/lua-$LUA_VERSION \
- /usr/local/include/lua/$LUA_VERSION \
- /usr/local/include/lua$LUA_SHORT_VERSION \
- ])
+ dnl Some default directories to search.
+ AM_COND_IF([LUAJIT],
+ [_ax_lua_include_list="
+ /usr/include/luajit-$LUAJIT_VERSION
+ /usr/include/luajit-$LUAJIT_SHORT_VERSION
+ /usr/local/include/luajit-$LUAJIT_VERSION
+ /usr/local/include/luajit-$LUAJIT_SHORT_VERSION"],
+ [_ax_lua_include_list="
+ /usr/include/lua$LUA_VERSION
+ /usr/include/lua-$LUA_VERSION
+ /usr/include/lua/$LUA_VERSION
+ /usr/include/lua$LUA_SHORT_VERSION
+ /usr/local/include/lua$LUA_VERSION
+ /usr/local/include/lua-$LUA_VERSION
+ /usr/local/include/lua/$LUA_VERSION
+ /usr/local/include/lua$LUA_SHORT_VERSION"])
dnl Try to find the headers.
_ax_lua_saved_cppflags=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $LUA_INCLUDE"
AC_CHECK_HEADERS([lua.h lualib.h lauxlib.h luaconf.h])
+ AM_COND_IF([LUAJIT], [AC_CHECK_HEADERS([luajit.h])])
CPPFLAGS=$_ax_lua_saved_cppflags
dnl Try some other directories if LUA_INCLUDE was not set.
AS_IF([test "x$LUA_INCLUDE" = 'x' &&
- test "x$ac_cv_header_lua_h" != 'xyes'],
+ test "x$ac_cv_header_lua_h" != 'xyes' ||
+ test "x$with_luajit" != 'xno' &&
+ test "x$ac_cv_header_luajit_h" != 'xyes'],
[ dnl Try some common include paths.
- for _ax_include_path in _AX_LUA_INCLUDE_LIST; do
+ for _ax_include_path in $_ax_lua_include_list; do
test ! -d "$_ax_include_path" && continue
AC_MSG_CHECKING([for Lua headers in])
@@ -500,10 +539,12 @@ AC_DEFUN([AX_LUA_HEADERS],
AS_UNSET([ac_cv_header_lualib_h])
AS_UNSET([ac_cv_header_lauxlib_h])
AS_UNSET([ac_cv_header_luaconf_h])
+ AS_UNSET([ac_cv_header_luajit_h])
_ax_lua_saved_cppflags=$CPPFLAGS
CPPFLAGS="$CPPFLAGS -I$_ax_include_path"
AC_CHECK_HEADERS([lua.h lualib.h lauxlib.h luaconf.h])
+ AM_COND_IF([LUAJIT], [AC_CHECK_HEADERS([luajit.h])])
CPPFLAGS=$_ax_lua_saved_cppflags
AS_IF([test "x$ac_cv_header_lua_h" = 'xyes'],
@@ -524,22 +565,17 @@ AC_DEFUN([AX_LUA_HEADERS],
[ax_cv_lua_header_version],
[ _ax_lua_saved_cppflags=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $LUA_INCLUDE"
- AC_RUN_IFELSE(
- [ AC_LANG_SOURCE([[
+ AC_COMPUTE_INT(ax_cv_lua_header_version_major,[LUA_VERSION_NUM/100],[AC_INCLUDES_DEFAULT
#include <lua.h>
-#include <stdlib.h>
-#include <stdio.h>
-int main(int argc, char ** argv)
-{
- if(argc > 1) printf("%s", LUA_VERSION);
- exit(EXIT_SUCCESS);
-}
-]])
- ],
- [ ax_cv_lua_header_version=`./conftest$EXEEXT p | \
- $SED -n "s|^Lua \(@<:@0-9@:>@\{1,\}\.@<:@0-9@:>@\{1,\}\).\{0,\}|\1|p"`
- ],
- [ax_cv_lua_header_version='unknown'])
+],[ax_cv_lua_header_version_major=unknown])
+ AC_COMPUTE_INT(ax_cv_lua_header_version_minor,[LUA_VERSION_NUM%100],[AC_INCLUDES_DEFAULT
+#include <lua.h>
+],[ax_cv_lua_header_version_minor=unknown])
+ AS_IF([test "x$ax_cv_lua_header_version_major" = xunknown || test "x$ax_cv_lua_header_version_minor" = xunknown],[
+ ax_cv_lua_header_version=unknown
+ ],[
+ ax_cv_lua_header_version="$ax_cv_lua_header_version_major.$ax_cv_lua_header_version_minor"
+ ])
CPPFLAGS=$_ax_lua_saved_cppflags
])
@@ -626,16 +662,26 @@ AC_DEFUN([AX_LUA_LIBS],
dnl Try to find the Lua libs.
_ax_lua_saved_libs=$LIBS
LIBS="$LIBS $LUA_LIB"
- AC_SEARCH_LIBS([lua_load],
- [ lua$LUA_VERSION \
- lua$LUA_SHORT_VERSION \
- lua-$LUA_VERSION \
- lua-$LUA_SHORT_VERSION \
- lua \
- ],
- [_ax_found_lua_libs='yes'],
- [_ax_found_lua_libs='no'],
- [$_ax_lua_extra_libs])
+ AM_COND_IF([LUAJIT],
+ [AC_SEARCH_LIBS([lua_load],
+ [ luajit$LUA_VERSION \
+ luajit$LUA_SHORT_VERSION \
+ luajit-$LUA_VERSION \
+ luajit-$LUA_SHORT_VERSION \
+ luajit],
+ [_ax_found_lua_libs='yes'],
+ [_ax_found_lua_libs='no'],
+ [$_ax_lua_extra_libs])],
+ [AC_SEARCH_LIBS([lua_load],
+ [ lua$LUA_VERSION \
+ lua$LUA_SHORT_VERSION \
+ lua-$LUA_VERSION \
+ lua-$LUA_SHORT_VERSION \
+ lua \
+ ],
+ [_ax_found_lua_libs='yes'],
+ [_ax_found_lua_libs='no'],
+ [$_ax_lua_extra_libs])])
LIBS=$_ax_lua_saved_libs
AS_IF([test "x$ac_cv_search_lua_load" != 'xno' &&
commit a395b91be6bd19d760e57005ecb8079b15af9ede
Author: Kenji Rikitake <ken...@ac...>
Date: Thu May 1 02:29:16 2025 +0000
Add support of setting IC-705 WFM mode
On IC-705, setting WFM mode via ICOM CI-V command 0x26 does not work.
This patch implements a workaround using CI-V command 0x06 instead
via icom_set_mode_without_data for IC-705 setting mode WFM.
diff --git a/rigs/icom/ic7300.c b/rigs/icom/ic7300.c
index 1aed17acc..16e3602db 100644
--- a/rigs/icom/ic7300.c
+++ b/rigs/icom/ic7300.c
@@ -149,7 +149,7 @@ int ic9700_set_vfo(RIG *rig, vfo_t vfo);
*/
#define IC705_PARMS (RIG_PARM_ANN|RIG_PARM_BACKLIGHT|RIG_PARM_SCREENSAVER|RIG_PARM_TIME|RIG_PARM_BEEP|RIG_PARM_KEYERTYPE|RIG_PARM_AFIF|RIG_PARM_AFIF_WLAN)
#define IC705_ALL_TX_MODES (RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_DSTAR)
-#define IC705_ALL_RX_MODES (RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_PKTLSB|RIG_MODE_PKTUSB|RIG_MODE_PKTFM|RIG_MODE_PKTAM|RIG_MODE_DSTAR)
+#define IC705_ALL_RX_MODES (RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_PKTLSB|RIG_MODE_PKTUSB|RIG_MODE_PKTFM|RIG_MODE_PKTAM|RIG_MODE_DSTAR|RIG_MODE_WFM)
#define IC705_OTHER_TX_MODES (RIG_MODE_FM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_DSTAR)
#define IC705_LEVELS (RIG_LEVEL_PREAMP|RIG_LEVEL_ATT|RIG_LEVEL_AGC|RIG_LEVEL_COMP|RIG_LEVEL_BKINDL|RIG_LEVEL_NR|RIG_LEVEL_PBT_IN|RIG_LEVEL_PBT_OUT|RIG_LEVEL_CWPITCH|RIG_LEVEL_RFPOWER|RIG_LEVEL_MICGAIN|RIG_LEVEL_KEYSPD|RIG_LEVEL_NOTCHF_RAW|RIG_LEVEL_SQL|RIG_LEVEL_RAWSTR|RIG_LEVEL_STRENGTH|RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_VOXGAIN|RIG_LEVEL_ANTIVOX|RIG_LEVEL_VOXDELAY|RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_RFPOWER_METER_WATTS|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER|RIG_LEVEL_MONITOR_GAIN|RIG_LEVEL_NB|RIG_LEVEL_SPECTRUM_MODE|RIG_LEVEL_SPECTRUM_SPAN|RIG_LEVEL_SPECTRUM_SPEED|RIG_LEVEL_SPECTRUM_REF|RIG_LEVEL_SPECTRUM_AVG|RIG_LEVEL_SPECTRUM_EDGE_LOW|RIG_LEVEL_SPECTRUM_EDGE_HIGH)
diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c
index cd05edcdb..b55608983 100644
--- a/rigs/icom/icom.c
+++ b/rigs/icom/icom.c
@@ -2574,7 +2574,9 @@ int icom_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
(int) base_mode, (int) width, rig_strvfo(rs->current_vfo));
// It is only necessary to change base mode if command 0x26 is not supported
- if (!(rs->targetable_vfo & RIG_TARGETABLE_MODE) || force_vfo_swap)
+ // NOTE: IC-705 does not support WFM for command 0x26
+ if (!(rs->targetable_vfo & RIG_TARGETABLE_MODE) || force_vfo_swap ||
+ (RIG_IS_IC705 && (mode == RIG_MODE_WFM)))
{
retval = icom_set_mode_without_data(rig, vfo, base_mode, width);
}
commit dda30532b512e34d65308c03dd68205de09ba2b8
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Wed Apr 30 19:04:14 2025 +0200
Add cross references hash mark for Doxygen
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index 1e3486ef1..a6bc0a7e6 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -744,7 +744,7 @@ typedef enum {
* NOTE: the vfo argument for some vfo operation may be irrelevant,
* and thus will be ignored.
*
- * The VFO/MEM "mode" is set by rig_set_vfo.\n
+ * The VFO/MEM "mode" is set by #rig_set_vfo.\n
* \c STRING used in rigctl
*
* \sa rig_parse_vfo_op(), rig_strvfop()
@@ -1065,10 +1065,10 @@ typedef uint64_t rig_level_e;
#define RIG_LEVEL_KEYSPD CONSTANT_64BIT_FLAG(14) /*!< \c KEYSPD -- Key Speed, arg int (WPM) */
#define RIG_LEVEL_NOTCHF CONSTANT_64BIT_FLAG(15) /*!< \c NOTCHF -- Notch Freq., arg int (Hz) */
#define RIG_LEVEL_COMP CONSTANT_64BIT_FLAG(16) /*!< \c COMP -- Compressor, arg float [0.0 ... 1.0] */
-#define RIG_LEVEL_AGC CONSTANT_64BIT_FLAG(17) /*!< \c AGC -- AGC, arg int (see enum agc_level_e) */
+#define RIG_LEVEL_AGC CONSTANT_64BIT_FLAG(17) /*!< \c AGC -- AGC, arg int (see enum #agc_level_e) */
#define RIG_LEVEL_BKINDL CONSTANT_64BIT_FLAG(18) /*!< \c BKINDL -- BKin Delay, arg int (tenth of dots) */
#define RIG_LEVEL_BALANCE CONSTANT_64BIT_FLAG(19) /*!< \c BAL -- Balance (Dual Watch) arg float [0.0 ... 1.0] */
-#define RIG_LEVEL_METER CONSTANT_64BIT_FLAG(20) /*!< \c METER -- Display meter, arg int (see enum meter_level_e) */
+#define RIG_LEVEL_METER CONSTANT_64BIT_FLAG(20) /*!< \c METER -- Display meter, arg int (see enum #meter_level_e) */
#define RIG_LEVEL_VOXGAIN CONSTANT_64BIT_FLAG(21) /*!< \c VOXGAIN -- VOX gain level, arg float [0.0 ... 1.0] */
#define RIG_LEVEL_ANTIVOX CONSTANT_64BIT_FLAG(22) /*!< \c ANTIVOX -- anti-VOX level, arg float [0.0 ... 1.0] */
#define RIG_LEVEL_SLOPE_LOW CONSTANT_64BIT_FLAG(23) /*!< \c SLOPE_LOW -- Slope tune, low frequency cut, arg int (Hz) */
@@ -1091,7 +1091,7 @@ typedef uint64_t rig_level_e;
#define RIG_LEVEL_MONITOR_GAIN CONSTANT_64BIT_FLAG(37) /*!< \c MONITOR_GAIN -- Monitor gain (level for monitoring of transmitted audio) arg float [0.0 ... 1.0] */
#define RIG_LEVEL_NB CONSTANT_64BIT_FLAG(38) /*!< \c NB -- Noise Blanker level, arg float [0.0 ... 1.0] */
#define RIG_LEVEL_RFPOWER_METER_WATTS CONSTANT_64BIT_FLAG(39) /*!< \c RFPOWER_METER_WATTS -- RF power output meter, arg float [0.0 ... MAX] (output power in watts) */
-#define RIG_LEVEL_SPECTRUM_MODE CONSTANT_64BIT_FLAG(40) /*!< \c SPECTRUM_MODE -- Spectrum scope mode, arg int (see enum rig_spectrum_mode_e). Supported modes defined in rig caps. */
+#define RIG_LEVEL_SPECTRUM_MODE CONSTANT_64BIT_FLAG(40) /*!< \c SPECTRUM_MODE -- Spectrum scope mode, arg int (see enum #rig_spectrum_mode_e). Supported modes defined in rig caps. */
#define RIG_LEVEL_SPECTRUM_SPAN CONSTANT_64BIT_FLAG(41) /*!< \c SPECTRUM_SPAN -- Spectrum scope span in center mode, arg int (Hz). Supported spans defined in rig caps. */
#define RIG_LEVEL_SPECTRUM_EDGE_LOW CONSTANT_64BIT_FLAG(42) /*!< \c SPECTRUM_EDGE_LOW -- Spectrum scope low edge in fixed mode, arg int (Hz) */
#define RIG_LEVEL_SPECTRUM_EDGE_HIGH CONSTANT_64BIT_FLAG(43) /*!< \c SPECTRUM_EDGE_HIGH -- Spectrum scope high edge in fixed mode, arg int (Hz) */
@@ -1136,7 +1136,7 @@ typedef uint64_t rig_level_e;
*/
enum rig_parm_e {
RIG_PARM_NONE = 0, /*!< '' -- No Parm */
- RIG_PARM_ANN = (1 << 0), /*!< \c ANN -- "Announce" level, see ann_t */
+ RIG_PARM_ANN = (1 << 0), /*!< \c ANN -- "Announce" level, see #ann_t */
RIG_PARM_APO = (1 << 1), /*!< \c APO -- Auto power off, int in minute */
RIG_PARM_BACKLIGHT = (1 << 2), /*!< \c BACKLIGHT -- LCD light, float [0.0 ... 1.0] */
RIG_PARM_BEEP = (1 << 4), /*!< \c BEEP -- Beep on keypressed, int (0,1) */
@@ -1696,7 +1696,7 @@ typedef enum {
struct chan_list {
int startc; /*!< Starting memory channel \b number */
int endc; /*!< Ending memory channel \b number */
- chan_type_t type; /*!< Memory type. see chan_type_t */
+ chan_type_t type; /*!< Memory type. See #chan_type_t */
channel_cap_t mem_caps; /*!< Definition of attributes that can be stored/retrieved */
};
diff --git a/src/extamp.c b/src/extamp.c
index 19552b651..278e308bf 100644
--- a/src/extamp.c
+++ b/src/extamp.c
@@ -259,7 +259,7 @@ const struct confparams *HAMLIB_API amp_ext_lookup_tok(AMP *amp,
* \note As this function calls amp_ext_lookup(), it can be considered a
* higher level API.
*
- * \return The token ID or RIG_CONF_END if there is a lookup failure.
+ * \return The token ID or #RIG_CONF_END if there is a lookup failure.
*
* \sa amp_ext_lookup()
*/
diff --git a/src/rig.c b/src/rig.c
index cecfa78d0..e568402f8 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -6893,8 +6893,8 @@ int HAMLIB_API rig_set_powerstat(RIG *rig, powerstat_t status)
* \param rig The rig handle
* \param status The location where to store the current status
*
- * Retrieve the status of the radio. See RIG_POWER_ON, RIG_POWER_OFF and
- * RIG_POWER_STANDBY defines for the \a status.
+ * Retrieve the status of the radio. See #RIG_POWER_ON, #RIG_POWER_OFF and
+ * #RIG_POWER_STANDBY defines for the \a status.
*
* \return RIG_OK if the operation has been successful, otherwise
* a negative value if an error occurred (in which case, cause is
diff --git a/src/rot_ext.c b/src/rot_ext.c
index 0d7c34a32..63915b7ed 100644
--- a/src/rot_ext.c
+++ b/src/rot_ext.c
@@ -362,7 +362,7 @@ const struct confparams *HAMLIB_API rot_ext_lookup_tok(ROT *rot,
* \note As this function calls rot_ext_lookup(), it can be considered a
* higher level API.
*
- * \return The token ID or RIG_CONF_END if there is a lookup failure.
+ * \return The token ID or #RIG_CONF_END if there is a lookup failure.
*
* \sa rot_ext_lookup()
*/
commit bd5ed18bddbef070b893ed278c6e12d6706739f3
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Wed Apr 30 19:00:33 2025 +0200
Add documentation for RIG_CONF_END
Fixes:
warning: explicit link request to 'RIG_CONF_END' could not be resolved
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index a8065a05a..1e3486ef1 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -861,11 +861,10 @@ typedef enum {
typedef long hamlib_token_t;
#define token_t hamlib_token_t
-
-//! @cond Doxygen_Suppress
+/**
+ * \brief configuration token not found
+ */
#define RIG_CONF_END 0
-//! @endcond
-
/**
* \brief parameter types
commit c1788e2cf86edfad398ff6eb7e7e5389cc58cf66
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Wed Apr 30 18:39:57 2025 +0200
Fix names of parameters in Doxygen comments
diff --git a/src/misc.c b/src/misc.c
index 3bba193fa..091655dca 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -339,7 +339,7 @@ double morse_code_dot_to_millis(int wpm)
/**
* \brief Convert duration of tenths of morse code dots to milliseconds at the given speed.
- * \param tenths_of_dots number of 1/10ths of dots
+ * \param dot10ths number of 1/10ths of dots
* \param wpm morse code speed in words per minute
* \return int duration in milliseconds
*
@@ -1448,7 +1448,7 @@ const char *HAMLIB_API rig_stragclevel(enum agc_level_e level)
/**
* \brief Convert a enum agc_level_e to value
- * \param integer...
+ * \param agcLevel level to convert
* \return agc_level_e value
*/
value_t rig_valueagclevel(enum agc_level_e agcLevel)
@@ -1468,7 +1468,7 @@ value_t rig_valueagclevel(enum agc_level_e agcLevel)
/**
* \brief Convert a value to agc_level_e -- constrains the range
- * \param integer...
+ * \param agcValue value to convert
* \return agc_level_e
*/
enum agc_level_e rig_levelagcvalue(int agcValue)
@@ -1499,7 +1499,7 @@ enum agc_level_e rig_levelagcvalue(int agcValue)
/**
* \brief Convert AGC string... to agc_level_e
- * \param mode AGC string...
+ * \param agcString AGC string to convert
* \return agc_level_e
*/
enum agc_level_e rig_levelagcstr(const char *agcString)
@@ -2358,7 +2358,8 @@ const char *HAMLIB_API rot_strstatus(rot_status_t status)
/**
* \brief Get pointer to rig function instead of using rig->caps
- * \param RIG* and rig_function_e
+ * \param rig_model
+ * \param rig_function
* \return the corresponding function pointer
*/
void *HAMLIB_API rig_get_function_ptr(rig_model_t rig_model,
@@ -2650,7 +2651,8 @@ void *HAMLIB_API rig_get_function_ptr(rig_model_t rig_model,
/**
* \brief Get integer/long instead of using rig->caps
* watch out for integer values that may be negative -- if needed must change hamlib
- * \param RIG* and rig_caps_int_e
+ * \param rig_model
+ * \param rig_caps
* \return the corresponding long value -- -RIG_EINVAL is the only error possible
*/
uint64_t HAMLIB_API rig_get_caps_int(rig_model_t rig_model,
@@ -2751,7 +2753,7 @@ static const struct
/**
* \brief Convert enum RIG_COMM_STATUS... to alpha string
- * \param vfo RIG_COMM_STATUS_...
+ * \param status RIG_COMM_STATUS_...
* \return alpha string
*/
const char *HAMLIB_API rig_strcommstatus(rig_comm_status_t status)
commit 56b075ab452c92017a9a144c74dcebd5271c5fa3
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Wed Apr 30 16:21:08 2025 +0200
Fix Doxygen comment
It is about the tpyedef, not the defines.
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index b9806b82b..a8065a05a 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -299,9 +299,9 @@ typedef struct s_rig RIG;
*
* Digitally-Coded Squelch codes are simple direct integers.
*/
+typedef unsigned int tone_t;
#define CTCSS_LIST_SIZE 60
#define DCS_LIST_SIZE 128
-typedef unsigned int tone_t;
/**
commit 8feb174711bcc6756e46547837116499b80e2057
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Tue Apr 29 19:35:23 2025 +0200
Fix typos
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index 253f07231..b9806b82b 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -451,7 +451,7 @@ typedef enum {
/**
- * \brief Frequency type,
+ * \brief Frequency type
*
* Frequency type unit in Hz, able to hold SHF frequencies.
*/
@@ -2701,7 +2701,7 @@ typedef unsigned int rig_comm_status_t;
* This struct contains live data, as well as a copy of capability fields
* that may be updated (ie. customized)
*
- * It is NOT fine to move fields around as it can break share library offset
+ * It is NOT fine to move fields around as it can break shared library offset
* As of 2024-03-03 freq_event_elapsed is the last known item being reference externally
* So any additions or changes to this structure must be at the end of the structure
*/
@@ -2739,7 +2739,7 @@ struct rig_state {
ann_t announces; /*!< Announces bit field list */
int preamp[HAMLIB_MAXDBLSTSIZ]; /*!< Preamp list in dB, 0 terminated */
- int attenuator[HAMLIB_MAXDBLSTSIZ]; /*!< Preamp list in dB, 0 terminated */
+ int attenuator[HAMLIB_MAXDBLSTSIZ]; /*!< Attenuator list in dB, 0 terminated */
setting_t has_get_func; /*!< List of get functions */
setting_t has_set_func; /*!< List of set functions */
@@ -2939,7 +2939,7 @@ struct rig_state_deprecated {
ann_t announces; /*!< Announces bit field list */
int preamp[HAMLIB_MAXDBLSTSIZ]; /*!< Preamp list in dB, 0 terminated */
- int attenuator[HAMLIB_MAXDBLSTSIZ]; /*!< Preamp list in dB, 0 terminated */
+ int attenuator[HAMLIB_MAXDBLSTSIZ]; /*!< Attenuator list in dB, 0 terminated */
setting_t has_get_func; /*!< List of get functions */
setting_t has_set_func; /*!< List of set functions */
diff --git a/src/debug.c b/src/debug.c
index 0e78b7b22..df8951ec0 100644
--- a/src/debug.c
+++ b/src/debug.c
@@ -325,7 +325,7 @@ vprintf_cb_t HAMLIB_API rig_set_debug_callback(vprintf_cb_t cb, rig_ptr_t arg)
/**
- * \brief Change the output stream from `stderr` a different stream.
+ * \brief Change the output stream from `stderr` to a different stream.
*
* \param stream The stream to direct debugging output.
*
commit 24eafbd2a4affe66e6cef0af38343652a4a54f09
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Tue Apr 29 08:54:56 2025 +0200
Fix Doxygen comment
The description of hamlib_version was attached to hamlib_license
and hamlib_license was missing the description.
diff --git a/src/rig.c b/src/rig.c
index 0e5aa74e7..cecfa78d0 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -74,6 +74,11 @@
#include "hamlibdatetime.h"
#include "cache.h"
+/**
+ * \brief Hamlib short license name
+ *
+ */
+const char *hamlib_license = "LGPL";
/**
* \brief Hamlib release number
*
@@ -84,7 +89,6 @@
* the hamlib_version string. Changing the size provokes a warning from the
* dynamic loader.
*/
-const char *hamlib_license = "LGPL";
//! @cond Doxygen_Suppress
const char hamlib_version[21] = "Hamlib " PACKAGE_VERSION;
#if INTPTR_MAX == INT128_MAX
@@ -94,6 +98,7 @@ const char hamlib_version[21] = "Hamlib " PACKAGE_VERSION;
#else
#define ARCHBITS "32-bit"
#endif
+//! @endcond
const char *hamlib_version2 = "Hamlib " PACKAGE_VERSION " " HAMLIBDATETIME " "
ARCHBITS;
HAMLIB_EXPORT_VAR(int) cookie_use;
@@ -101,7 +106,6 @@ HAMLIB_EXPORT_VAR(int) skip_init;
HAMLIB_EXPORT_VAR(int) lock_mode; // for use by rigctld
HAMLIB_EXPORT_VAR(powerstat_t)
rig_powerstat; // for use by both rigctld and rigctl
-//! @endcond
struct rig_caps caps_test;
commit aeb827a2f1dab1d7a481e873890e8beee0ddb8ab
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Mon Apr 28 17:09:50 2025 +0200
Remove duplicated line
diff --git a/bindings/ignore.swg b/bindings/ignore.swg
index 25c570377..258b7677c 100644
--- a/bindings/ignore.swg
+++ b/bindings/ignore.swg
@@ -141,7 +141,6 @@
%ignore rig_mW2power;
%ignore rig_get_resolution;
%ignore rig_set_level;
-%ignore rig_set_ext_level;
%ignore rig_get_level;
%ignore rig_set_parm;
%ignore rig_get_parm;
commit 3448c735b064dccd2aea26d5b15c9a30d06a1650
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun Apr 27 18:56:43 2025 +0200
Remove non-working compilation instructions from comments
Some instructions were a copy and paste error, some did not link
to Hamlib. Compile all simulators with: make -C simulators check
or compile a single simulator replacing "check" with the name of
the simulator.
Fixed with:
perl -pe 's,// gcc.*\n,,' -i *.c
perl -pe 's,// On mingw.*\n,,' -i *.c
diff --git a/simulators/simatd578.c b/simulators/simatd578.c
index 9790a78b6..5fe16fd0f 100644
--- a/simulators/simatd578.c
+++ b/simulators/simatd578.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simatd578 simatd578.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simeasycomm.c b/simulators/simeasycomm.c
index 09e4538f5..2a92869ba 100644
--- a/simulators/simeasycomm.c
+++ b/simulators/simeasycomm.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simspid simspid.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simelecraft.c b/simulators/simelecraft.c
index 20a10e081..9c52dc230 100644
--- a/simulators/simelecraft.c
+++ b/simulators/simelecraft.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simelecraftk4.c b/simulators/simelecraftk4.c
index 407f27da2..2e64bc8ee 100644
--- a/simulators/simelecraftk4.c
+++ b/simulators/simelecraftk4.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simft1000.c b/simulators/simft1000.c
index 6b420077f..94f6d9c07 100644
--- a/simulators/simft1000.c
+++ b/simulators/simft1000.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simft1000 simft1000.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simft450.c b/simulators/simft450.c
index f314d9712..abee8b1c9 100644
--- a/simulators/simft450.c
+++ b/simulators/simft450.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simft710.c b/simulators/simft710.c
index 95ab23b39..eeb80727c 100644
--- a/simulators/simft710.c
+++ b/simulators/simft710.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simft736.c b/simulators/simft736.c
index c4a781152..1822bfc36 100644
--- a/simulators/simft736.c
+++ b/simulators/simft736.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simft897 simft897.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simft747gx.c b/simulators/simft747gx.c
index bc40e3d2a..b996c92bb 100644
--- a/simulators/simft747gx.c
+++ b/simulators/simft747gx.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simft747gx simft747gx.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simft817.c b/simulators/simft817.c
index 22d7d25fa..afc43c83d 100644
--- a/simulators/simft817.c
+++ b/simulators/simft817.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simft897 simft897.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simft818.c b/simulators/simft818.c
index 621b6e0c5..b0511728c 100644
--- a/simulators/simft818.c
+++ b/simulators/simft818.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simft847.c b/simulators/simft847.c
index 424977a60..d73bea1a5 100644
--- a/simulators/simft847.c
+++ b/simulators/simft847.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simft897 simft897.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simft897.c b/simulators/simft897.c
index e78de3e61..8af0b36b9 100644
--- a/simulators/simft897.c
+++ b/simulators/simft897.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simft897 simft897.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simft990.c b/simulators/simft990.c
index e3315dd69..06dca62a6 100644
--- a/simulators/simft990.c
+++ b/simulators/simft990.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simft990 simft990.c
// emulates 1.2 ROM FT990 which can only read 1492 bytes
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
diff --git a/simulators/simft991.c b/simulators/simft991.c
index 8b7ec9613..6d420ae9b 100644
--- a/simulators/simft991.c
+++ b/simulators/simft991.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simftdx101.c b/simulators/simftdx101.c
index 5abeea4aa..dc0b39532 100644
--- a/simulators/simftdx101.c
+++ b/simulators/simftdx101.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simftdx1200.c b/simulators/simftdx1200.c
index 96ac3b2f9..dac4e51f5 100644
--- a/simulators/simftdx1200.c
+++ b/simulators/simftdx1200.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simftdx3000.c b/simulators/simftdx3000.c
index 877cf4359..b81c88570 100644
--- a/simulators/simftdx3000.c
+++ b/simulators/simftdx3000.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simftdx5000.c b/simulators/simftdx5000.c
index 6b778aa65..4a843af01 100644
--- a/simulators/simftdx5000.c
+++ b/simulators/simftdx5000.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simic2730.c b/simulators/simic2730.c
index e1e396acd..061fb45c0 100644
--- a/simulators/simic2730.c
+++ b/simulators/simic2730.c
@@ -1,9 +1,6 @@
// simicom will show the pts port to use for rigctl on Unix
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simic275.c b/simulators/simic275.c
index b2edf63b6..8e8b16b80 100644
--- a/simulators/simic275.c
+++ b/simulators/simic275.c
@@ -1,9 +1,6 @@
// simicom will show the pts port to use for rigctl on Unix
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simic7000.c b/simulators/simic7000.c
index aa698e583..0e5e4c3c9 100644
--- a/simulators/simic7000.c
+++ b/simulators/simic7000.c
@@ -1,9 +1,6 @@
// simicom will show the pts port to use for rigctl on Unix
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simic705.c b/simulators/simic705.c
index 326899aa8..0110780cf 100644
--- a/simulators/simic705.c
+++ b/simulators/simic705.c
@@ -1,9 +1,6 @@
// simicom will show the pts port to use for rigctl on Unix
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simic7100.c b/simulators/simic7100.c
index fe5399edb..fb5c3191e 100644
--- a/simulators/simic7100.c
+++ b/simulators/simic7100.c
@@ -1,9 +1,6 @@
// simicom will show the pts port to use for rigctl on Unix
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simic7200.c b/simulators/simic7200.c
index 4b7cc343c..ab4ea7bf6 100644
--- a/simulators/simic7200.c
+++ b/simulators/simic7200.c
@@ -1,9 +1,6 @@
// simicom will show the pts port to use for rigctl on Unix
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simic7300.c b/simulators/simic7300.c
index c807fd899..4f16f65de 100644
--- a/simulators/simic7300.c
+++ b/simulators/simic7300.c
@@ -1,9 +1,6 @@
// simicom will show the pts port to use for rigctl on Unix
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simic7600.c b/simulators/simic7600.c
index 61f5af61f..d506d0391 100644
--- a/simulators/simic7600.c
+++ b/simulators/simic7600.c
@@ -1,9 +1,6 @@
// simicom will show the pts port to use for rigctl on Unix
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simic7610.c b/simulators/simic7610.c
index 855f7a076..8f55e660c 100644
--- a/simulators/simic7610.c
+++ b/simulators/simic7610.c
@@ -1,8 +1,5 @@
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simic7700.c b/simulators/simic7700.c
index 892b19ff7..2279c64da 100644
--- a/simulators/simic7700.c
+++ b/simulators/simic7700.c
@@ -1,9 +1,6 @@
// simicom will show the pts port to use for rigctl on Unix
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simic7851.c b/simulators/simic7851.c
index a48550663..8fa9aa992 100644
--- a/simulators/simic7851.c
+++ b/simulators/simic7851.c
@@ -1,8 +1,5 @@
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simic905.c b/simulators/simic905.c
index f16a87a4a..9afe9968c 100644
--- a/simulators/simic905.c
+++ b/simulators/simic905.c
@@ -1,9 +1,6 @@
// simicom will show the pts port to use for rigctl on Unix
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simic910.c b/simulators/simic910.c
index e4bee9ae1..9778fada3 100644
--- a/simulators/simic910.c
+++ b/simulators/simic910.c
@@ -1,9 +1,6 @@
// simicom will show the pts port to use for rigctl on Unix
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simic9100.c b/simulators/simic9100.c
index 102f8d7e1..6917ac8ea 100644
--- a/simulators/simic9100.c
+++ b/simulators/simic9100.c
@@ -1,9 +1,6 @@
// simicom will show the pts port to use for rigctl on Unix
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simic9700.c b/simulators/simic9700.c
index 575497f02..600b1043e 100644
--- a/simulators/simic9700.c
+++ b/simulators/simic9700.c
@@ -1,9 +1,6 @@
// simicom will show the pts port to use for rigctl on Unix
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simicgeneric.c b/simulators/simicgeneric.c
index 9f6994357..b3e8947bf 100644
--- a/simulators/simicgeneric.c
+++ b/simulators/simicgeneric.c
@@ -1,9 +1,6 @@
// simicom will show the pts port to use for rigctl on Unix
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simicr8600.c b/simulators/simicr8600.c
index 74b32a617..0c55061fa 100644
--- a/simulators/simicr8600.c
+++ b/simulators/simicr8600.c
@@ -1,9 +1,6 @@
// simicom will show the pts port to use for rigctl on Unix
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simid5100.c b/simulators/simid5100.c
index f2345e86f..eb36e3fdc 100644
--- a/simulators/simid5100.c
+++ b/simulators/simid5100.c
@@ -1,9 +1,6 @@
// simicom will show the pts port to use for rigctl on Unix
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simjupiter.c b/simulators/simjupiter.c
index 392bb3a06..f4a383ebc 100644
--- a/simulators/simjupiter.c
+++ b/simulators/simjupiter.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simft897 simft897.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simkenwood.c b/simulators/simkenwood.c
index 70a5d14d2..7c865ee8c 100644
--- a/simulators/simkenwood.c
+++ b/simulators/simkenwood.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simmicom.c b/simulators/simmicom.c
index 5e44d0511..76aef1e0e 100644
--- a/simulators/simmicom.c
+++ b/simulators/simmicom.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simspid simspid.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simorion.c b/simulators/simorion.c
index 577de1fae..cbb11edb7 100644
--- a/simulators/simorion.c
+++ b/simulators/simorion.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simorion simorion.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simpmr171.c b/simulators/simpmr171.c
index a50c5aca8..cc3c9cc4d 100644
--- a/simulators/simpmr171.c
+++ b/simulators/simpmr171.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simprm171 simprm171.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simpowersdr.c b/simulators/simpowersdr.c
index f64e70bfe..189270e5d 100644
--- a/simulators/simpowersdr.c
+++ b/simulators/simpowersdr.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simqrplabs.c b/simulators/simqrplabs.c
index ad37449a1..04c203300 100644
--- a/simulators/simqrplabs.c
+++ b/simulators/simqrplabs.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simrotorez.c b/simulators/simrotorez.c
index 6f380d345..d1688a9b3 100644
--- a/simulators/simrotorez.c
+++ b/simulators/simrotorez.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simspid simspid.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simspid.c b/simulators/simspid.c
index 7dd304ecb..b0783adf0 100644
--- a/simulators/simspid.c
+++ b/simulators/simspid.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simspid simspid.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simtmd700.c b/simulators/simtmd700.c
index 24779ac30..2e6876a37 100644
--- a/simulators/simtmd700.c
+++ b/simulators/simtmd700.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simtmd710.c b/simulators/simtmd710.c
index 53e82877f..2ee48c76c 100644
--- a/simulators/simtmd710.c
+++ b/simulators/simtmd710.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simtrusdx.c b/simulators/simtrusdx.c
index 0cc8950e9..991c2bb99 100644
--- a/simulators/simtrusdx.c
+++ b/simulators/simtrusdx.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simts450.c b/simulators/simts450.c
index 1e279ee8f..ccb24b23a 100644
--- a/simulators/simts450.c
+++ b/simulators/simts450.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simts590.c b/simulators/simts590.c
index 08451ce0a..abb894007 100644
--- a/simulators/simts590.c
+++ b/simulators/simts590.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simts890.c b/simulators/simts890.c
index 61f9ad745..597d19054 100644
--- a/simulators/simts890.c
+++ b/simulators/simts890.c
@@ -1,6 +1,5 @@
//#define TRACE /* Full traffic trace if enabled */
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simts890 -l hamlib simts890.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simts950.c b/simulators/simts950.c
index 886bbc89d..2218dbd51 100644
--- a/simulators/simts950.c
+++ b/simulators/simts950.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simts990.c b/simulators/simts990.c
index 671d8a5c3..1b2c93fbf 100644
--- a/simulators/simts990.c
+++ b/simulators/simts990.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simxiegug90.c b/simulators/simxiegug90.c
index 2aabcda85..3d27a00b1 100644
--- a/simulators/simxiegug90.c
+++ b/simulators/simxiegug90.c
@@ -1,9 +1,6 @@
// simicom will show the pts port to use for rigctl on Unix
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simxiegux108g.c b/simulators/simxiegux108g.c
index 42ac62fa9..1a0c7bd41 100644
--- a/simulators/simxiegux108g.c
+++ b/simulators/simxiegux108g.c
@@ -1,9 +1,6 @@
// simicom will show the pts port to use for rigctl on Unix
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simxiegux6100.c b/simulators/simxiegux6100.c
index ec61e15dd..4fe96854c 100644
--- a/simulators/simxiegux6100.c
+++ b/simulators/simxiegux6100.c
@@ -1,9 +1,6 @@
// simicom will show the pts port to use for rigctl on Unix
// using virtual serial ports on Windows is to be developed yet
// Needs a lot of improvement to work on all Icoms
-// gcc -g -Wall -o simicom simicom.c -lhamlib
-// On mingw in the hamlib src directory
-// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
diff --git a/simulators/simyaesu.c b/simulators/simyaesu.c
index b4c92295d..09baaf0c4 100644
--- a/simulators/simyaesu.c
+++ b/simulators/simyaesu.c
@@ -1,5 +1,4 @@
// can run this using rigctl/rigctld and socat pty devices
-// gcc -o simyaesu simyaesu.c
#define _XOPEN_SOURCE 700
// since we are POSIX here we need this
#if 0
commit 037c4953ed1f7d3b31b2c09d48dbf9e79210b8b1
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun Apr 27 18:36:58 2025 +0200
Fix name of function in error messages
Fixed with:
perl -pe s/pstname/ptsname/ -i *.c
diff --git a/simulators/simatd578.c b/simulators/simatd578.c
index 02bfb6f0a..9790a78b6 100644
--- a/simulators/simatd578.c
+++ b/simulators/simatd578.c
@@ -82,7 +82,7 @@ int openPort(char *comport) // doesn't matter for using pts devices
if (name == NULL)
{
- perror("pstname");
+ perror("ptsname");
return -1;
}
diff --git a/simulators/simeasycomm.c b/simulators/simeasycomm.c
index 34a1430e9..09e4538f5 100644
--- a/simulators/simeasycomm.c
+++ b/simulators/simeasycomm.c
@@ -67,7 +67,7 @@ int openPort(char *comport) // doesn't matter for using pts devices
if (name == NULL)
{
- perror("pstname");
+ perror("ptsname");
return -1;
}
diff --git a/simulators/simelecraft.c b/simulators/simelecraft.c
index c1abded7a..20a10e081 100644
--- a/simulators/simelecraft.c
+++ b/simulat...
[truncated message content] |
|
From: n0nb <n0...@us...> - 2025-04-27 11:56:45
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via d03cde33b05367231b69309064edae9aef402f5a (commit)
via 12c538fc1424f8ae5e34d27852cf48e0e9f0a7eb (commit)
from 4f6c61719cd1962f8942f5044e43f868cf54cb26 (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 d03cde33b05367231b69309064edae9aef402f5a
Merge: 4f6c61719 12c538fc1
Author: Nate Bargmann <n0...@n0...>
Date: Sun Apr 27 06:55:30 2025 -0500
Merge pull request #1714 from dforsi/fix/cppcheck
Remove duplicated cppcheck suppressions
commit 12c538fc1424f8ae5e34d27852cf48e0e9f0a7eb
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Tue Apr 22 22:57:52 2025 +0200
Remove duplicated cppcheck suppressions
Fixes:
cppcheck: error: suppression '*:extra/gnuradio/wfm.h' already exists
cppcheck: error: suppression '*:extra/gnuradio/HrAGC.h' already exists
diff --git a/cppcheck.sh b/cppcheck.sh
index 73565cf9b..83ecda000 100755
--- a/cppcheck.sh
+++ b/cppcheck.sh
@@ -21,8 +21,6 @@ SUPPRESS="\
--suppress=*:extra/gnuradio/am.h \
--suppress=*:extra/gnuradio/ssb.h \
--suppress=*:extra/gnuradio/wfm.h \
---suppress=*:extra/gnuradio/wfm.h \
---suppress=*:extra/gnuradio/HrAGC.h \
--suppress=*:extra/gnuradio/gnuradio.cc \
--suppress=missingIncludeSystem \
--suppress=*:style/rigs/adat/adat.c
-----------------------------------------------------------------------
Summary of changes:
cppcheck.sh | 2 --
1 file changed, 2 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-04-27 11:51: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 4f6c61719cd1962f8942f5044e43f868cf54cb26 (commit)
via 535fb6e2bd8ae96cd561ee6b7369672234d4bd24 (commit)
from 5d81ea38bbdfd92e680995057b8ed46f53f5a8d8 (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 4f6c61719cd1962f8942f5044e43f868cf54cb26
Merge: 5d81ea38b 535fb6e2b
Author: Nate Bargmann <n0...@n0...>
Date: Sun Apr 27 06:46:49 2025 -0500
Merge pull request #1715 from dforsi/fix/typos
Fix typos
commit 535fb6e2bd8ae96cd561ee6b7369672234d4bd24
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sat Apr 26 20:50:14 2025 +0200
Fix typos
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index b0c790011..253f07231 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -26,7 +26,7 @@
// as of 2023-11-23 rig_caps is no longer constant
// this #define allows clients to test which declaration to use for backwards compatibility
-// As of 2025-01-03 removeing this -- fldigi was the only one that got it right
+// As of 2025-01-03 removing this -- fldigi was the only one that got it right
// riglist_foreach is now constant again but others are not
// #define RIGCAPS_NOT_CONST 1
diff --git a/rigs/codan/README.codan b/rigs/codan/README.codan
index d98dec0ab..3c97f9758 100644
--- a/rigs/codan/README.codan
+++ b/rigs/codan/README.codan
@@ -10,7 +10,7 @@ is a 15-pin D-Sub connector on a flying lead on the back of the radio.
(NGT and Envoy models). Programming must be set to select "CICS" as
the device which is addressed via the GP port.
-As of SDR firmware V3.51 for Envoy and Sentry radios, the Amatuer option
+As of SDR firmware V3.51 for Envoy and Sentry radios, the Amateur option
allows for Freetune Tx on ham bands only. Freetune Tx is no longer required
for this rig file to work.
VK5MCA
-----------------------------------------------------------------------
Summary of changes:
include/hamlib/rig.h | 2 +-
rigs/codan/README.codan | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-04-22 03:04:58
|
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 5d81ea38bbdfd92e680995057b8ed46f53f5a8d8 (commit)
via 923a789c29ad81abfbb7149f80cebd51afc6b756 (commit)
from 9aed2637a63abb8b175a21b06942cca5308e7527 (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 5d81ea38bbdfd92e680995057b8ed46f53f5a8d8
Merge: 9aed2637a 923a789c2
Author: Nate Bargmann <n0...@n0...>
Date: Mon Apr 21 22:03:00 2025 -0500
Merge pull request #1710 from N0NB/aclog_get_freq-thousands_separator
Fix sscanf() truncating input from thousands separator
commit 923a789c29ad81abfbb7149f80cebd51afc6b756
Author: Nate Bargmann <n0...@n0...>
Date: Mon Apr 21 21:27:55 2025 -0500
Fix sscanf() truncating input from thousands separator
Per Github issue #1704, N3FJP logger sends a string with an embedded
comma for frequencies above 1 GHz resulting in such frequencies being
truncated. This patch uses the optional apostrophe character in the
sscanf() format string to ignore the thousands separator.
A possible bug is when the locale of the system on which libhamlib is
executing uses a dot for the thousands separator rather than a comma.
It is unclear if the N3FJP software obeys such locales or not. If this
turns out to be an issue then this fix will need to be reconsidered.
diff --git a/rigs/dummy/aclog.c b/rigs/dummy/aclog.c
index 3e0f69803..8baeef075 100644
--- a/rigs/dummy/aclog.c
+++ b/rigs/dummy/aclog.c
@@ -461,7 +461,7 @@ static int aclog_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
char *p = strstr(value, "<FREQ>");
*freq = 0;
- if (p) { sscanf(p, "<FREQ>%lf", freq); }
+ if (p) { sscanf(p, "<FREQ>%'lf", freq); }
*freq *= 1e6; // convert from MHz to Hz
-----------------------------------------------------------------------
Summary of changes:
rigs/dummy/aclog.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-04-21 22:28:27
|
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 9aed2637a63abb8b175a21b06942cca5308e7527 (commit)
via 4f3f308d7af83316eb8e3aebe48abb960f9e9e11 (commit)
via 1f707ab31ef5ceebd552e1292d541fd9baed55a1 (commit)
via 8150583541e4230c6b76dc38209b58694f6e6f99 (commit)
via ba011462efc37b12d18d5bf59d0e0a7b117fceeb (commit)
from 8f641b2b6a4fabe4d4f3062f4fa591ba2e7a672f (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 9aed2637a63abb8b175a21b06942cca5308e7527
Merge: 8f641b2b6 4f3f308d7
Author: Nate Bargmann <n0...@n0...>
Date: Mon Apr 21 17:27:29 2025 -0500
Merge pull request #1708 from GeoBaltz/fix27
Minor fixes/cleanups for 4.6.3
commit 4f3f308d7af83316eb8e3aebe48abb960f9e9e11
Author: George Baltz N3GB <Geo...@gm...>
Date: Mon Apr 21 13:32:42 2025 -0400
Enable rig_vfo_op for TS-890S
diff --git a/rigs/kenwood/ts890s.c b/rigs/kenwood/ts890s.c
index c5906f6dc..32d8c4533 100644
--- a/rigs/kenwood/ts890s.c
+++ b/rigs/kenwood/ts890s.c
@@ -669,6 +669,7 @@ struct rig_caps ts890s_caps =
.get_mode = kenwood_get_mode,
.set_vfo = kenwood_set_vfo,
.get_vfo = kenwood_get_vfo_if,
+ .vfo_op = kenwood_vfo_op,
.set_split_vfo = kenwood_set_split_vfo,
.get_split_vfo = ts890s_get_split_vfo,
.set_ctcss_tone = kenwood_set_ctcss_tone_tn,
commit 1f707ab31ef5ceebd552e1292d541fd9baed55a1
Author: George Baltz N3GB <Geo...@gm...>
Date: Wed Apr 16 03:35:48 2025 -0400
Make local functions static.
diff --git a/tests/rigmem.c b/tests/rigmem.c
index bf73e7102..6c8d9bac2 100644
--- a/tests/rigmem.c
+++ b/tests/rigmem.c
@@ -55,7 +55,7 @@ extern int csv_parm_load(RIG *rig, const char *infilename);
*/
void usage();
void version();
-int set_conf(RIG *rig, char *conf_parms);
+static int set_conf(RIG *rig, char *conf_parms);
int clear_chans(RIG *rig, const char *infilename);
@@ -442,7 +442,7 @@ void usage()
}
-int set_conf(RIG *rig, char *conf_parms)
+static int set_conf(RIG *rig, char *conf_parms)
{
char *p, *n;
diff --git a/tests/rigswr.c b/tests/rigswr.c
index 0caf9bb22..2754ec214 100644
--- a/tests/rigswr.c
+++ b/tests/rigswr.c
@@ -374,7 +374,7 @@ void usage()
}
-int set_conf(RIG *rig, char *conf_parms)
+static int set_conf(RIG *rig, char *conf_parms)
{
char *p, *n;
commit 8150583541e4230c6b76dc38209b58694f6e6f99
Author: George Baltz N3GB <Geo...@gm...>
Date: Wed Apr 16 03:33:51 2025 -0400
Drop redundant token lookups.
diff --git a/tests/ampctl.c b/tests/ampctl.c
index 6a0cf29b3..04ed2cef5 100644
--- a/tests/ampctl.c
+++ b/tests/ampctl.c
@@ -315,7 +315,7 @@ int main(int argc, char *argv[])
continue;
}
- retcode = amp_set_conf(my_amp, amp_token_lookup(my_amp, mytoken), myvalue);
+ retcode = amp_set_conf(my_amp, lookup, myvalue);
if (retcode != RIG_OK)
{
diff --git a/tests/ampctld.c b/tests/ampctld.c
index 079eb068b..fda0bfa09 100644
--- a/tests/ampctld.c
+++ b/tests/ampctld.c
@@ -340,7 +340,7 @@ int main(int argc, char *argv[])
continue;
}
- retcode = amp_set_conf(my_amp, amp_token_lookup(my_amp, mytoken), myvalue);
+ retcode = amp_set_conf(my_amp, lookup, myvalue);
if (retcode != RIG_OK)
{
diff --git a/tests/rigctl.c b/tests/rigctl.c
index 35d1241b3..064e54f14 100644
--- a/tests/rigctl.c
+++ b/tests/rigctl.c
@@ -585,7 +585,7 @@ int main(int argc, char *argv[])
continue;
}
- retcode = rig_set_conf(my_rig, rig_token_lookup(my_rig, mytoken), myvalue);
+ retcode = rig_set_conf(my_rig, lookup, myvalue);
if (retcode != RIG_OK)
{
diff --git a/tests/rigctld.c b/tests/rigctld.c
index 8ee613cf1..f14effe7b 100644
--- a/tests/rigctld.c
+++ b/tests/rigctld.c
@@ -681,7 +681,7 @@ int main(int argc, char *argv[])
continue;
}
- retcode = rig_set_conf(my_rig, rig_token_lookup(my_rig, mytoken), myvalue);
+ retcode = rig_set_conf(my_rig, lookup, myvalue);
if (retcode != RIG_OK)
{
diff --git a/tests/rotctl.c b/tests/rotctl.c
index 873c9b96e..9b713d3ad 100644
--- a/tests/rotctl.c
+++ b/tests/rotctl.c
@@ -355,7 +355,7 @@ int main(int argc, char *argv[])
continue;
}
- retcode = rot_set_conf(my_rot, rot_token_lookup(my_rot, mytoken), myvalue);
+ retcode = rot_set_conf(my_rot, lookup, myvalue);
if (retcode != RIG_OK)
{
diff --git a/tests/rotctld.c b/tests/rotctld.c
index e68227acf..aa61d71a4 100644
--- a/tests/rotctld.c
+++ b/tests/rotctld.c
@@ -363,7 +363,7 @@ int main(int argc, char *argv[])
continue;
}
- retcode = rot_set_conf(my_rot, rot_token_lookup(my_rot, mytoken), myvalue);
+ retcode = rot_set_conf(my_rot, lookup, myvalue);
if (retcode != RIG_OK)
{
commit ba011462efc37b12d18d5bf59d0e0a7b117fceeb
Author: George Baltz N3GB <Geo...@gm...>
Date: Wed Apr 16 03:31:14 2025 -0400
Add dates for recent releases
diff --git a/NEWS b/NEWS
index 9ab81f35b..7da905aae 100644
--- a/NEWS
+++ b/NEWS
@@ -17,12 +17,14 @@ Version 4.6.3
* Add rig CODAN 2110
Version 4.6.2
+ * 2025-02-09
* Add missing levels for IC746/PRO RIG_LEVEL_RFPOWER_METER,RIG_LEVEL_RFPOWER_METER_WATTS,RIG_LEVEL_SWR,RIG_LEVEL_ALC
* Fix IC905 for gpredict
* Fix potential segfault on QMX
* Fix pmr171
Version 4.6.1
+ * 2025-01-21
* Fix C++ builds failing on rig_list_foreach function
* Fix IC9100 rigctld startup to end up on VFOA
* Fix grig build by removing sys/socket.h -- apparently not needed
@@ -34,6 +36,7 @@ Version 4.6.1
* Fix SDRConsole by removing lots of things it does not have
Version 4.6
+ * 2024-12-24
* send_raw can now take hex digits as colon-separated -- e.g. send_raw icom xfe:xfe:x94:xe0:03:xfd
* Add IC7760
* IC7300 Mode filter can now be set by # (i.e. 1,2,3)
-----------------------------------------------------------------------
Summary of changes:
NEWS | 3 +++
rigs/kenwood/ts890s.c | 1 +
tests/ampctl.c | 2 +-
tests/ampctld.c | 2 +-
tests/rigctl.c | 2 +-
tests/rigctld.c | 2 +-
tests/rigmem.c | 4 ++--
tests/rigswr.c | 2 +-
tests/rotctl.c | 2 +-
tests/rotctld.c | 2 +-
10 files changed, 13 insertions(+), 9 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-04-21 22:25: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, master has been updated
via 8f641b2b6a4fabe4d4f3062f4fa591ba2e7a672f (commit)
via cee0fcb2cb621deba277fe9e2c4f8283f43b136a (commit)
via 7f717d520d0e7adbb436f258e03e8ce6105d65f9 (commit)
via cd82f08ec56b153029067be4a616bf0fd136b6a4 (commit)
via 2c0067d51062b7d37f66274e1ecee6a2869b8f5e (commit)
via faae6b5405fd24c7f10810d46f6684042ab18bab (commit)
via 0323d3a06a4ebe48c342a86972bb9976949fdde5 (commit)
via 735d54e318da14309308e9bb0b35ac3b39729335 (commit)
via 576cfb66b1efd20c9bcd5057a15023de34a0845b (commit)
via 69f2c609393437b126d3e620f025a77026d83192 (commit)
via 19de592d3ca0a1a1afb52be874b198eb26619c20 (commit)
via f9deb43e803a4177440f69a18136e64efe7fd11f (commit)
via cd092fc65421a1494abde9da5c8dbe5b9eed0eb8 (commit)
via f890fcf6482c8197b3c29f716cad7370a9806d6b (commit)
via d724f04163d0bfe29717b11efb8f044025204807 (commit)
from 49af447f27ffd1c481e72293d04e9fa1dd56de53 (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 8f641b2b6a4fabe4d4f3062f4fa591ba2e7a672f
Merge: 49af447f2 cee0fcb2c
Author: Nate Bargmann <n0...@n0...>
Date: Mon Apr 21 17:22:59 2025 -0500
Merge pull request #1707 from dforsi/fix/manpage
Fix/manpage
commit cee0fcb2cb621deba277fe9e2c4f8283f43b136a
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Mon Apr 21 22:21:10 2025 +0200
Add -b, --bind-all to --help text
diff --git a/tests/rigctld.c b/tests/rigctld.c
index 487ff22f4..beb369fc5 100644
--- a/tests/rigctld.c
+++ b/tests/rigctld.c
@@ -1531,6 +1531,7 @@ void usage(void)
" -Z, --debug-time-stamps enable time stamps for debug messages\n"
" -A, --password=PASSWORD set password for rigctld access (NOT IMPLEMENTED)\n"
" -R, --rigctld-idle make rigctld close the rig when no clients are connected\n"
+ " -b, --bind-all make rigctld bind to first network device available\n"
" -h, --help display this help and exit\n"
" -V, --version output version information and exit\n\n",
portno);
commit 7f717d520d0e7adbb436f258e03e8ce6105d65f9
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Mon Apr 21 20:11:40 2025 +0200
Add that passwords aren't implemented
diff --git a/doc/man1/rigctl.1 b/doc/man1/rigctl.1
index 3b46c3754..2fec9b6a9 100644
--- a/doc/man1/rigctl.1
+++ b/doc/man1/rigctl.1
@@ -1491,6 +1491,7 @@ before sending the next command to the radio.
.TP
.BR password " \(aq" \fIPassword\fP \(aq
Sends password to rigctld when rigctld has been secured with -A. Must use the 32-char shared secret from rigctld.
+(NOT IMPLEMENTED)
.
.TP
.BR set_lock_mode " \(aq" \fILocked\fP \(aq
diff --git a/doc/man1/rigctld.1 b/doc/man1/rigctld.1
index e5ff2b199..187ecfce1 100644
--- a/doc/man1/rigctld.1
+++ b/doc/man1/rigctld.1
@@ -404,6 +404,7 @@ option as it generates no output on its own.
Sets password on
.B rigctld
which requires hamlib to use rig_set_password and rigctl to use \\password to access rigctld. A 32-char shared secret will be displayed to be used on the client side.
+(NOT IMPLEMENTED)
.
.TP
.BR \-R ", " \-\-rigctld\-idle
diff --git a/tests/rigctld.c b/tests/rigctld.c
index 9d16c4606..487ff22f4 100644
--- a/tests/rigctld.c
+++ b/tests/rigctld.c
@@ -1529,7 +1529,7 @@ void usage(void)
" -w, --twiddle_rit=SECONDS suppress VFOB getfreq so RIT can be twiddled\n"
" -x, --uplink set uplink get_freq ignore, 1=Sub, 2=Main\n"
" -Z, --debug-time-stamps enable time stamps for debug messages\n"
- " -A, --password=PASSWORD set password for rigctld access\n"
+ " -A, --password=PASSWORD set password for rigctld access (NOT IMPLEMENTED)\n"
" -R, --rigctld-idle make rigctld close the rig when no clients are connected\n"
" -h, --help display this help and exit\n"
" -V, --version output version information and exit\n\n",
commit cd82f08ec56b153029067be4a616bf0fd136b6a4
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Mon Apr 21 20:00:02 2025 +0200
Add missing command line short option -b for --bind-all
diff --git a/tests/rigctld.c b/tests/rigctld.c
index dee99fee3..9d16c4606 100644
--- a/tests/rigctld.c
+++ b/tests/rigctld.c
@@ -81,7 +81,7 @@
* keep up to date SHORT_OPTIONS, usage()'s output and man page. thanks.
* TODO: add an option to read from a file
*/
-#define SHORT_OPTIONS "m:r:p:d:P:D:s:S:c:T:t:C:W:w:x:z:lLuovhVZRA:"
+#define SHORT_OPTIONS "m:r:p:d:P:D:s:S:c:T:t:C:W:w:x:z:lLuovhVZRA:b"
static struct option long_options[] =
{
{"model", 1, 0, 'm'},
commit 2c0067d51062b7d37f66274e1ecee6a2869b8f5e
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Mon Apr 21 19:57:44 2025 +0200
Remove unused command line short options -M and -N
The long options --multicast-addr and --multicast-port were
removed in commit c8c8869a.
diff --git a/tests/rigctld.c b/tests/rigctld.c
index d600c68a1..dee99fee3 100644
--- a/tests/rigctld.c
+++ b/tests/rigctld.c
@@ -81,7 +81,7 @@
* keep up to date SHORT_OPTIONS, usage()'s output and man page. thanks.
* TODO: add an option to read from a file
*/
-#define SHORT_OPTIONS "m:r:p:d:P:D:s:S:c:T:t:C:W:w:x:z:lLuovhVZMRA:n:"
+#define SHORT_OPTIONS "m:r:p:d:P:D:s:S:c:T:t:C:W:w:x:z:lLuovhVZRA:"
static struct option long_options[] =
{
{"model", 1, 0, 'm'},
commit faae6b5405fd24c7f10810d46f6684042ab18bab
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Mon Apr 21 19:46:29 2025 +0200
Add missing arguments to command line options
diff --git a/tests/rigctld.c b/tests/rigctld.c
index 8ee613cf1..d600c68a1 100644
--- a/tests/rigctld.c
+++ b/tests/rigctld.c
@@ -1525,11 +1525,11 @@ void usage(void)
" -u, --dump-caps dump capabilities and exit\n"
" -o, --vfo do not default to VFO_CURR, require extra vfo arg\n"
" -v, --verbose set verbose mode, cumulative (-v to -vvvvv)\n"
- " -W, --twiddle_timeout timeout after detecting vfo manual change\n"
- " -w, --twiddle_rit suppress VFOB getfreq so RIT can be twiddled\n"
+ " -W, --twiddle_timeout=SECONDS timeout after detecting vfo manual change\n"
+ " -w, --twiddle_rit=SECONDS suppress VFOB getfreq so RIT can be twiddled\n"
" -x, --uplink set uplink get_freq ignore, 1=Sub, 2=Main\n"
" -Z, --debug-time-stamps enable time stamps for debug messages\n"
- " -A, --password set password for rigctld access\n"
+ " -A, --password=PASSWORD set password for rigctld access\n"
" -R, --rigctld-idle make rigctld close the rig when no clients are connected\n"
" -h, --help display this help and exit\n"
" -V, --version output version information and exit\n\n",
commit 0323d3a06a4ebe48c342a86972bb9976949fdde5
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Mon Apr 21 19:40:15 2025 +0200
Add description for -w/--twiddle_rit
diff --git a/doc/man1/rigctld.1 b/doc/man1/rigctld.1
index b8144f58e..e5ff2b199 100644
--- a/doc/man1/rigctld.1
+++ b/doc/man1/rigctld.1
@@ -380,6 +380,10 @@ Should only be needed when controlling software should be "paused"
so you can move the VFO. Continuous movement extends the timeout.
.
.TP
+.BR \-w ", " \-\-twiddle_rit = \fIseconds\fP
+Suppress VFOB getfreq so RIT can be twiddled.
+.
+.TP
.BR \-x ", " \-\-uplink = \fIoption\fP
1=Sub, 2=Main
.IP
commit 735d54e318da14309308e9bb0b35ac3b39729335
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun Apr 20 23:36:04 2025 +0200
Sync text between man rigctl and man rigctld
diff --git a/doc/man1/rigctl.1 b/doc/man1/rigctl.1
index e22181be6..3b46c3754 100644
--- a/doc/man1/rigctl.1
+++ b/doc/man1/rigctl.1
@@ -384,9 +384,9 @@ Since most of the
.B Hamlib
operations have a
.BR set " and a " get
-method, a single upper case letter will often be used for a
+method, a single upper case letter will be used for
.B set
-method whereas the corresponding single lower case letter refers to the
+methods whereas the corresponding single lower case letter refers to the
.B get
method. Each operation also has a long name; in interactive mode, prepend a
backslash, \(oq\\\(cq, to enter a long command name all lower case.
@@ -528,7 +528,8 @@ Set
.RI \(aq VFO \(aq.
.IP
VFO is a token: \(oqVFOA\(cq, \(oqVFOB\(cq, \(oqVFOC\(cq, \(oqcurrVFO\(cq,
-\(oqVFO\(cq, \(oqMEM\(cq, \(oqMain\(cq, \(oqSub\(cq, \(oqTX\(cq, \(oqRX\(cq.
+\(oqVFO\(cq, \(oqMEM\(cq, \(oqMain\(cq, \(oqSub\(cq, \(oqTX\(cq, \(oqRX\(cq,
+\(oqMainA\(cq, \(oqMainB\(cq, \(oqMainC\(cq, \(oqSubA\(cq, \(oqSubB\(cq \(oqSubC\(cq.
.IP
In VFO mode (see
.B \-\-vfo
@@ -733,7 +734,7 @@ Option returned depends on rig. For Icom it is likely the RX only flag.
.BR b ", " send_morse " \(aq" \fIMorse\fP \(aq
Send
.RI \(aq Morse \(aq
-symbols. For Yaesu rigs use memory#1-5 or up to 50 char msg
+symbols. For Yaesu rigs use memory# (1-5 for most rigs) or up to 50 char message (which will use memory#1)
Example from command line:
.EX
@@ -750,7 +751,7 @@ Stop sending the current morse code.
.
.TP
.BR 0xbc ", " wait_morse "
-Wait for morse to finish -- only works on full break-in
+Wait for morse to finish -- only works on full break-in.
.
.TP
.BR 0x94 ", " send_voice_mem " \(aq" \fIMsgnum\fP \(aq
@@ -1532,7 +1533,9 @@ For Unix/Linux
.
.TP
.BR client_version " \(aq" \fIString\fP "\(aq
-Client can send its version to rigctld and get feedback on compatibility, deprecation, and alternatives.
+Client can send its version to
+.B rigctld
+and get feedback on compatibility, deprecation, and alternatives
.TP
.BR hamlib_version
Returns Hamlib version with ISO8601 date/time
diff --git a/doc/man1/rigctld.1 b/doc/man1/rigctld.1
index cc790d4fe..b8144f58e 100644
--- a/doc/man1/rigctld.1
+++ b/doc/man1/rigctld.1
@@ -110,7 +110,7 @@ Here is a summary of the supported options:
.
.TP
.BR \-m ", " \-\-model = \fIid\fP
-Select radio model number. Defaults to dummy device.
+Select radio model number. Defaults to dummy rig.
.IP
See model list (use \(lqrigctld -l\(rq).
.IP
@@ -163,7 +163,7 @@ Use
of Push-To-Talk device.
.IP
Supported types are \(oqRIG\(cq (CAT command), \(oqDTR\(cq, \(oqRTS\(cq,
-\(oqPARALLEL\(cq, \(oqNONE\(cq, overriding PTT type defined in the rig's
+\(oqPARALLEL\(cq, \(oqCM108\(cq, \(oqGPIO\(cq, \(oqGPION\(cq, \(oqNONE\(cq, overriding PTT type defined in the rig's
backend.
.IP
Some side effects of this command are that when type is set to DTR, read
@@ -179,7 +179,7 @@ Use
of Data Carrier Detect device.
.IP
Supported types are \(oqRIG\(cq (CAT command), \(oqDSR\(cq, \(oqCTS\(cq,
-\(oqCD\(cq, \(oqPARALLEL\(cq, \(oqNONE\(cq.
+\(oqCD\(cq, \(oqPARALLEL\(cq, \(oqCM108\(cq, \(oqGPIO\(cq, \(oqGPION\(cq, \(oqNONE\(cq.
.
.TP
.BR \-s ", " \-\-serial\-speed = \fIbaud\fP
@@ -517,6 +517,7 @@ Mode is a token: \(oqUSB\(cq, \(oqLSB\(cq, \(oqCW\(cq, \(oqCWR\(cq,
\(oqDSB\(cq.
.IP
Passband is in Hz as an integer, -1 for no change, or \(oq0\(cq for the radio backend default.
+IC7300 can use 1,2,3 to select which filter to use
.IP
.BR Note :
Passing a \(oq?\(cq (query) as the first argument instead of a Mode token will
@@ -708,21 +709,23 @@ Returns TX Mode as a token and TX Passband in Hz as in
above.
.
.TP
-.BR Y ", " set_ant " \(aq" \fIAntenna\fP \(aq
+.BR Y ", " set_ant " \(aq" \fIAntenna\fP "\(aq \(aq" \fIOption\fP \(aq
Set
.RI \(aq Antenna \(aq
-number (\(oq0\(cq, \(oq1\(cq, \(oq2\(cq, ...).
+and
+.RI \(aq Option \(aq.
.IP
+Number is 1-based antenna# (\(oq1\(cq, \(oq2\(cq, \(oq3\(cq, ...).
.IP
Option depends on rig. For Icom it probably sets the Tx & Rx antennas as in the IC-7851. See your manual for rig specific option values. Most rigs don't care about the option.
.IP
-For the IC-7851 (and perhaps others) it means this:
+For the IC-7851, FTDX3000 (and perhaps others) it means this:
.IP
.in +4n
.EX
-1 = TX/RX = ANT1
-2 = TX/RX = ANT2
-3 = TX/RX = ANT3
+1 = TX/RX = ANT1 FTDX3000=ANT1/ANT3
+2 = TX/RX = ANT2 FTDX3000=ANT2/ANT3
+3 = TX/RX = ANT3 FTDX3000=ANT3
4 = TX/RX = ANT1/ANT4
5 = TX/RX = ANT2/ANT4
6 = TX/RX = ANT3/ANT4
@@ -730,10 +733,15 @@ For the IC-7851 (and perhaps others) it means this:
.in
.
.TP
-.BR y ", " get_ant
+.BR y ", " get_ant " \(aq" \fIAntenna\fP \(aq
Get
.RI \(aq Antenna \(aq
-number (\(oq0\(cq, \(oq1\(cq, \(oq2\(cq, ...).
+.IP
+A value of 0 for Antenna will return the current TX antenna
+.IP
+> 0 is 1-based antenna# (\(oq1\(cq, \(oq2\(cq, \(oq3\(cq, ...).
+.IP
+Option returned depends on rig. For Icom it is likely the RX only flag.
.
.TP
.BR b ", " send_morse " \(aq" \fIMorse\fP \(aq
@@ -861,16 +869,55 @@ Set
and
.RI \(aq "Func Status" \(aq.
.IP
-Func is a token: \(oqFAGC\(cq, \(oqNB\(cq, \(oqCOMP\(cq, \(oqVOX\(cq,
-\(oqTONE\(cq, \(oqTSQL\(cq, \(oqSBKIN\(cq, \(oqFBKIN\(cq, \(oqANF\(cq,
-\(oqNR\(cq, \(oqAIP\(cq, \(oqAPF\(cq, \(oqMON\(cq, \(oqMN\(cq, \(oqRF\(cq,
-\(oqARO\(cq, \(oqLOCK\(cq, \(oqMUTE\(cq, \(oqVSC\(cq, \(oqREV\(cq,
-\(oqSQL\(cq, \(oqABM\(cq, \(oqBC\(cq, \(oqMBC\(cq, \(oqRIT\(cq, \(oqAFC\(cq,
-\(oqSATMODE\(cq, \(oqSCOPE\(cq, \(oqRESUME\(cq, \(oqTBURST\(cq, \(oqTUNER\(cq,
-\(oqXIT\(cq, \(oqNB2\(cq, \(oqDSQL\(cq, \(oqAFLT\(cq, \(oqANL\(cq, \(oqBC2\(cq,
-\(oqDUAL_WATCH\(cq, \(oqDIVERSITY\(cq, \(oqCSQL\(cq, \(oqSCEN\(cq,
-\(oqTRANSCEIVE\(cq, \(oqSPECTRUM\(cq, \(oqSPECTRUM_HOLD\(cq, \(oqSEND_MORSE\(cq,
-\(oqSEND_VOICE_MEM\(cq, \(oqOVF_STATUS\(cq, \(oqSYNC\(cq.
+Func is a token:
+\(oqABM\(cq,
+\(oqAFC\(cq,
+\(oqAFLT\(cq,
+\(oqAIP\(cq,
+\(oqANF\(cq,
+\(oqANL\(cq,
+\(oqAPF\(cq,
+\(oqARO\(cq,
+\(oqBC2\(cq,
+\(oqBC\(cq,
+\(oqCOMP\(cq,
+\(oqCSQL\(cq,
+\(oqDIVERSITY\(cq,
+\(oqDSQL\(cq,
+\(oqDUAL_WATCH\(cq,
+\(oqFAGC\(cq,
+\(oqFBKIN\(cq,
+\(oqLOCK\(cq,
+\(oqMBC\(cq,
+\(oqMN\(cq,
+\(oqMON\(cq,
+\(oqMUTE\(cq,
+\(oqNB2\(cq,
+\(oqNB\(cq,
+\(oqNR\(cq,
+\(oqOVF_STATUS\(cq,
+\(oqRESUME\(cq,
+\(oqREV\(cq,
+\(oqRF\(cq,
+\(oqRIT\(cq,
+\(oqSATMODE\(cq,
+\(oqSBKIN\(cq,
+\(oqSCEN\(cq,
+\(oqSCOPE\(cq,
+\(oqSEND_MORSE\(cq,
+\(oqSEND_VOICE_MEM\(cq,
+\(oqSPECTRUM\(cq,
+\(oqSPECTRUM_HOLD\(cq,
+\(oqSQL\(cq,
+\(oqSYNC\(cq,
+\(oqTBURST\(cq,
+\(oqTONE\(cq,
+\(oqTRANSCEIVE\(cq,
+\(oqTSQL\(cq,
+\(oqTUNER\(cq,
+\(oqVOX\(cq,
+\(oqVSC\(cq,
+\(oqXIT\(cq.
.IP
Func Status is a non null value for \(lqactivate\(rq or \(lqde-activate\(rq
otherwise, much as TRUE/FALSE definitions in the C language (true is non-zero
@@ -1138,7 +1185,8 @@ Set
.RI \(aq "Power Status" \(aq.
.IP
Power Status is a value: \(oq0\(cq = Power Off, \(oq1\(cq = Power On,
-\(oq2\(cq = Power Standby.
+\(oq2\(cq = Power Standby (enter standby), \(oq4\(cq = Power Operate (leave
+standby).
.
.TP
.BR 0x88 ", " get_powerstat
@@ -1163,11 +1211,11 @@ Get DTMF
Get misc information about the rig.
.
.TP
-.BR 0xf5 ", " get_rig_info "
-Get misc information about the rig vfos and other info.
+.BR 0xf5 ", " get_rig_info
+Get misc information about the rig vfo status and other info.
.
.TP
-.BR 0xf3 ", " get_vfo_info " \(aq" "\fIVFO\fP" \(aq
+.BR 0xf3 ", " get_vfo_info " \(aq" \fIVFO\fP \(aq
Get misc information about a specific vfo.
.
.TP
@@ -1226,15 +1274,29 @@ Set
.RI \(aq DateTime \(aq
.IP
Sets rig clock -- note that some rigs do not handle seconds or milliseconds.
-If you try to set that you will get a debug warning message.
+If you try to set sec/msec and rig does not support it you will get a debug warning message.
Format is ISO8601.
+Formats accepted allow for 2-digit or 4-digit time zone
.EX
-Formats accepted
-YYYY-MM-DDTHH:MM:SS.sss+ZZ (where +ZZ is either -/+ UTC offset)
+YYYY-MM-DDTHH:MM:SS.SSS+ZZ (where +ZZ is either -/+ UTC offset HH)
+YYYY-MM-DDTHH:MM:SS.SSS+ZZZZ (where +ZZZZ is either -/+ UTC offset HHMM)
YYYY-MM-DDTHH:MM:SS+ZZ
+YYYY-MM-DDTHH:MM:SS+ZZZZ
YYYY-MM-DDTHH:MM+ZZ
+YYYY-MM-DDTHH:MM+ZZZZ
YYYY-MM-DD (sets date only)
+local (sets both clocks to local time)
+utc (sets both clocks to utc time)
.EE
+Note: Icom rigs expect you to set local time and the hours off to UTC.
+So...4PM EST example would be 2021-12-01T16:00:00-0500
+But...if you want to display GMT you must set the clock for GMT with zero UTC offset.
+Hopefully Icom will allow displaying either clock in the future
+
+Note: Kenwood rigs only allow setting local clock, and then only if not autoset by NTP.
+Trying to set clock when NTP is in use will set the offset, but not the time -
+and no error status will be returned.
+Time displayed on the auxiliary clock is solely determined by UTC and the aux offset.
.
.TP
.BR get_clock
commit 576cfb66b1efd20c9bcd5057a15023de34a0845b
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun Apr 20 20:55:34 2025 +0200
Fix typos
diff --git a/doc/man1/rigctl.1 b/doc/man1/rigctl.1
index 055cae80f..e22181be6 100644
--- a/doc/man1/rigctl.1
+++ b/doc/man1/rigctl.1
@@ -1417,7 +1417,7 @@ Set
.IP
Sets rig clock -- note that some rigs do not handle seconds or milliseconds.
If you try to set sec/msec and rig does not support it you will get a debug warning message.
-Format is ISO8601,
+Format is ISO8601.
Formats accepted allow for 2-digit or 4-digit time zone
.EX
YYYY-MM-DDTHH:MM:SS.SSS+ZZ (where +ZZ is either -/+ UTC offset HH)
@@ -1535,7 +1535,7 @@ For Unix/Linux
Client can send its version to rigctld and get feedback on compatibility, deprecation, and alternatives.
.TP
.BR hamlib_version
-Returns hamlib version with ISO8601 date/time
+Returns Hamlib version with ISO8601 date/time
.
.TP
.BR test
diff --git a/doc/man1/rigctld.1 b/doc/man1/rigctld.1
index 2332dd936..cc790d4fe 100644
--- a/doc/man1/rigctld.1
+++ b/doc/man1/rigctld.1
@@ -88,7 +88,7 @@ directly through a TCP socket.
.
.PP
Keep in mind that Hamlib is BETA level software. While a lot of backend
-libraries lack complete rotator support, the basic functions are usually well
+libraries lack complete rig support, the basic functions are usually well
supported.
.
.PP
commit 69f2c609393437b126d3e620f025a77026d83192
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun Apr 20 20:42:18 2025 +0200
Add missing diagram
diff --git a/doc/man1/rigctlsync.1 b/doc/man1/rigctlsync.1
index d35dd41eb..18c454567 100644
--- a/doc/man1/rigctlsync.1
+++ b/doc/man1/rigctlsync.1
@@ -274,6 +274,8 @@ to communicate with a radio connected to Flrig:
.
.PP
.in +4n
+.EX
+Flrig -><- rigctlcom -> COM9 <- virt_port_pipe -> COM10 <- N1MM
.EE
.in
.
commit 19de592d3ca0a1a1afb52be874b198eb26619c20
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun Apr 20 19:43:59 2025 +0200
Fix list of parameters for get_parm/set_parm
Fixes: AFIF_ACC, AFIF_LAN, AFIF_WLAN were missing.
Uses the list returned by \get_parm ? sorted alphabetically
to be more user friendly and to easily spot any missing item in
future.
diff --git a/doc/man1/rigctl.1 b/doc/man1/rigctl.1
index c419c1ee0..055cae80f 100644
--- a/doc/man1/rigctl.1
+++ b/doc/man1/rigctl.1
@@ -1121,8 +1121,21 @@ Set
and
.RI \(aq "Parm Value" \(aq.
.IP
-Parm is a token: \(oqANN\(cq, \(oqAPO\(cq, \(oqBACKLIGHT\(cq, \(oqBEEP\(cq,
-\(oqTIME\(cq, \(oqBAT\(cq, \(oqKEYLIGHT\(cq, \(oqSCREENSAVER\(cq, \(oqAFIF\(cq, \(oqBANDSELECT\(cq, \(oqKEYERTYPE\(cq.
+Parm is a token:
+\(oqAFIF\(cq,
+\(oqAFIF_ACC\(cq,
+\(oqAFIF_LAN\(cq,
+\(oqAFIF_WLAN\(cq,
+\(oqANN\(cq,
+\(oqAPO\(cq,
+\(oqBACKLIGHT\(cq,
+\(oqBANDSELECT\(cq,
+\(oqBAT\(cq,
+\(oqBEEP\(cq,
+\(oqKEYERTYPE\(cq,
+\(oqKEYLIGHT\(cq,
+\(oqSCREENSAVER\(cq,
+\(oqTIME\(cq.
.IP
.BR Note :
Passing a \(oq?\(cq (query) as the first argument instead of a Parm token will
diff --git a/doc/man1/rigctld.1 b/doc/man1/rigctld.1
index 2b3227e5a..2332dd936 100644
--- a/doc/man1/rigctld.1
+++ b/doc/man1/rigctld.1
@@ -989,8 +989,21 @@ Set
and
.RI \(aq "Parm Value" \(aq.
.IP
-Parm is a token: \(oqANN\(cq, \(oqAPO\(cq, \(oqBACKLIGHT\(cq, \(oqBEEP\(cq,
-\(oqTIME\(cq, \(oqBAT\(cq, \(oqKEYLIGHT\(cq, \(oqBANDSELECT\(cq, \(oqKEYERTYPE\(cq.
+Parm is a token:
+\(oqAFIF\(cq,
+\(oqAFIF_ACC\(cq,
+\(oqAFIF_LAN\(cq,
+\(oqAFIF_WLAN\(cq,
+\(oqANN\(cq,
+\(oqAPO\(cq,
+\(oqBACKLIGHT\(cq,
+\(oqBANDSELECT\(cq,
+\(oqBAT\(cq,
+\(oqBEEP\(cq,
+\(oqKEYERTYPE\(cq,
+\(oqKEYLIGHT\(cq,
+\(oqSCREENSAVER\(cq,
+\(oqTIME\(cq.
.IP
.BR Note :
Passing a \(oq?\(cq (query) as the first argument instead of a Parm token will
commit f9deb43e803a4177440f69a18136e64efe7fd11f
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun Apr 20 19:34:26 2025 +0200
Fix list of parameters for get_level/set_level
Fixes: BAND_SELECT and COMP_METER were spelled wrong, NB was
spelled NQ, USB_AF_INPUT, AGC_TIME, MGL, MGF, MGC, were missing.
Uses the list returned by \get_level ? sorted alphabetically
to be more user friendly and to easily spot any missing item
in future.
diff --git a/doc/man1/rigctl.1 b/doc/man1/rigctl.1
index b5897f2f1..c419c1ee0 100644
--- a/doc/man1/rigctl.1
+++ b/doc/man1/rigctl.1
@@ -985,17 +985,61 @@ Set
and
.RI \(aq "Level Value" \(aq.
.IP
-Level is a token: \(oqPREAMP\(cq, \(oqATT\(cq, \(oqVOXDELAY\(cq, \(oqAF\(cq,
-\(oqRF\(cq, \(oqSQL\(cq, \(oqIF\(cq, \(oqAPF\(cq, \(oqNR\(cq, \(oqPBT_IN\(cq,
-\(oqPBT_OUT\(cq, \(oqCWPITCH\(cq, \(oqRFPOWER\(cq, \(oqMICGAIN\(cq,
-\(oqKEYSPD\(cq, \(oqNOTCHF\(cq, \(oqCOMP\(cq, \(oqAGC\(cq, \(oqBKINDL\(cq,
-\(oqBAL\(cq, \(oqMETER\(cq, \(oqVOXGAIN\(cq, \(oqANTIVOX\(cq,
-\(oqSLOPE_LOW\(cq, \(oqSLOPE_HIGH\(cq, \(oqBKIN_DLYMS\(cq, \(oqRAWSTR\(cq, \(oqSWR\(cq,
-\(oqALC\(cq, \(oqSTRENGTH\(cq, \(oqRFPOWER_METER\(cq, \(oqCOMPMETER\(cq, \(oqVD_METER\(cq, \(oqID_METER\(cq,
-\(oqNOTCHF_RAW\(cq, \(oqMONITOR_GAIN\(cq, \(oqNQ\(cq, \(oqRFPOWER_METER_WATTS\(cq, \(oqSPECTRUM_MODE\(cq,
-\(oqSPECTRUM_SPAN\(cq, \(oqSPECTRUM_EDGE_LOW\(cq, \(oqSPECTRUM_EDGE_HIGH\(cq, \(oqSPECTRUM_SPEED\(cq,
-\(oqSPECTRUM_REF\(cq, \(oqSPECTRUM_AVG\(cq, \(oqSPECTRUM_ATT\(cq, \(oqTEMP_METER\(cq, \(oqBANDSELECT\(cq,
-\(oqUSB_AF\(cq.
+Level is a token:
+\(oqAF\(cq,
+\(oqAGC\(cq,
+\(oqAGC_TIME\(cq,
+\(oqALC\(cq,
+\(oqANTIVOX\(cq,
+\(oqAPF\(cq,
+\(oqATT\(cq,
+\(oqBAL\(cq,
+\(oqBAND_SELECT\(cq,
+\(oqBKINDL\(cq,
+\(oqBKIN_DLYMS\(cq,
+\(oqCOMP\(cq,
+\(oqCOMP_METER\(cq,
+\(oqCWPITCH\(cq,
+\(oqID_METER\(cq,
+\(oqIF\(cq,
+\(oqKEYSPD\(cq,
+\(oqMETER\(cq,
+\(oqMGC\(cq,
+\(oqMGF\(cq,
+\(oqMGL\(cq,
+\(oqMICGAIN\(cq,
+\(oqMONITOR_GAIN\(cq,
+\(oqNB\(cq,
+\(oqNOTCHF\(cq,
+\(oqNOTCHF_RAW\(cq,
+\(oqNR\(cq,
+\(oqPBT_IN\(cq,
+\(oqPBT_OUT\(cq,
+\(oqPREAMP\(cq,
+\(oqRAWSTR\(cq,
+\(oqRF\(cq,
+\(oqRFPOWER\(cq,
+\(oqRFPOWER_METER\(cq,
+\(oqRFPOWER_METER_WATTS\(cq,
+\(oqSLOPE_HIGH\(cq,
+\(oqSLOPE_LOW\(cq,
+\(oqSPECTRUM_ATT\(cq,
+\(oqSPECTRUM_AVG\(cq,
+\(oqSPECTRUM_EDGE_HIGH\(cq,
+\(oqSPECTRUM_EDGE_LOW\(cq,
+\(oqSPECTRUM_MODE\(cq,
+\(oqSPECTRUM_REF\(cq,
+\(oqSPECTRUM_SPAN\(cq,
+\(oqSPECTRUM_SPEED\(cq,
+\(oqSQL\(cq,
+\(oqSTRENGTH\(cq,
+\(oqSWR\(cq,
+\(oqTEMP_METER\(cq,
+\(oqUSB_AF\(cq,
+\(oqUSB_AF_INPUT\(cq,
+\(oqVD_METER\(cq,
+\(oqVOXDELAY\(cq,
+\(oqVOXGAIN\(cq.
.IP
The Level Value can be a float or an integer value. For the AGC token the
value is one of \(oq0\(cq = OFF, \(oq1\(cq = SUPERFAST, \(oq2\(cq = FAST,
diff --git a/doc/man1/rigctld.1 b/doc/man1/rigctld.1
index 93916d9cd..2b3227e5a 100644
--- a/doc/man1/rigctld.1
+++ b/doc/man1/rigctld.1
@@ -902,17 +902,61 @@ Set
and
.RI \(aq "Level Value" \(aq.
.IP
-Level is a token: \(oqPREAMP\(cq, \(oqATT\(cq, \(oqVOXDELAY\(cq, \(oqAF\(cq,
-\(oqRF\(cq, \(oqSQL\(cq, \(oqIF\(cq, \(oqAPF\(cq, \(oqNR\(cq, \(oqPBT_IN\(cq,
-\(oqPBT_OUT\(cq, \(oqCWPITCH\(cq, \(oqRFPOWER\(cq, \(oqMICGAIN\(cq,
-\(oqKEYSPD\(cq, \(oqNOTCHF\(cq, \(oqCOMP\(cq, \(oqAGC\(cq, \(oqBKINDL\(cq,
-\(oqBAL\(cq, \(oqMETER\(cq, \(oqVOXGAIN\(cq, \(oqANTIVOX\(cq,
-\(oqSLOPE_LOW\(cq, \(oqSLOPE_HIGH\(cq, \(oqBKIN_DLYMS\(cq, \(oqRAWSTR\(cq, \(oqSWR\(cq,
-\(oqALC\(cq, \(oqSTRENGTH\(cq, \(oqRFPOWER_METER\(cq, \(oqCOMPMETER\(cq, \(oqVD_METER\(cq, \(oqID_METER\(cq,
-\(oqNOTCHF_RAW\(cq, \(oqMONITOR_GAIN\(cq, \(oqNQ\(cq, \(oqRFPOWER_METER_WATTS\(cq, \(oqSPECTRUM_MODE\(cq,
-\(oqSPECTRUM_SPAN\(cq, \(oqSPECTRUM_EDGE_LOW\(cq, \(oqSPECTRUM_EDGE_HIGH\(cq, \(oqSPECTRUM_SPEED\(cq,
-\(oqSPECTRUM_REF\(cq, \(oqSPECTRUM_AVG\(cq, \(oqSPECTRUM_ATT\(cq, \(oqTEMP_METER\(cq, \(oqBAND_SELECT\(cq,
-\(oqUSB_AF\(cq.
+Level is a token:
+\(oqAF\(cq,
+\(oqAGC\(cq,
+\(oqAGC_TIME\(cq,
+\(oqALC\(cq,
+\(oqANTIVOX\(cq,
+\(oqAPF\(cq,
+\(oqATT\(cq,
+\(oqBAL\(cq,
+\(oqBAND_SELECT\(cq,
+\(oqBKINDL\(cq,
+\(oqBKIN_DLYMS\(cq,
+\(oqCOMP\(cq,
+\(oqCOMP_METER\(cq,
+\(oqCWPITCH\(cq,
+\(oqID_METER\(cq,
+\(oqIF\(cq,
+\(oqKEYSPD\(cq,
+\(oqMETER\(cq,
+\(oqMGC\(cq,
+\(oqMGF\(cq,
+\(oqMGL\(cq,
+\(oqMICGAIN\(cq,
+\(oqMONITOR_GAIN\(cq,
+\(oqNB\(cq,
+\(oqNOTCHF\(cq,
+\(oqNOTCHF_RAW\(cq,
+\(oqNR\(cq,
+\(oqPBT_IN\(cq,
+\(oqPBT_OUT\(cq,
+\(oqPREAMP\(cq,
+\(oqRAWSTR\(cq,
+\(oqRF\(cq,
+\(oqRFPOWER\(cq,
+\(oqRFPOWER_METER\(cq,
+\(oqRFPOWER_METER_WATTS\(cq,
+\(oqSLOPE_HIGH\(cq,
+\(oqSLOPE_LOW\(cq,
+\(oqSPECTRUM_ATT\(cq,
+\(oqSPECTRUM_AVG\(cq,
+\(oqSPECTRUM_EDGE_HIGH\(cq,
+\(oqSPECTRUM_EDGE_LOW\(cq,
+\(oqSPECTRUM_MODE\(cq,
+\(oqSPECTRUM_REF\(cq,
+\(oqSPECTRUM_SPAN\(cq,
+\(oqSPECTRUM_SPEED\(cq,
+\(oqSQL\(cq,
+\(oqSTRENGTH\(cq,
+\(oqSWR\(cq,
+\(oqTEMP_METER\(cq,
+\(oqUSB_AF\(cq,
+\(oqUSB_AF_INPUT\(cq,
+\(oqVD_METER\(cq,
+\(oqVOXDELAY\(cq,
+\(oqVOXGAIN\(cq.
.IP
The Level Value can be a float or an integer value. For the AGC token the
value is one of \(oq0\(cq = OFF, \(oq1\(cq = SUPERFAST, \(oq2\(cq = FAST,
commit cd092fc65421a1494abde9da5c8dbe5b9eed0eb8
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun Apr 20 19:16:56 2025 +0200
Fix list of parameters for get_func/set_func
Fixes: OVF_STATUS was spelled wrong, SYNC was missing, SLICE is
not available. Uses the list returned by \get_func ? sorted
alphabetically to be more user friendly and to easily spot any
missing item in future.
diff --git a/doc/man1/rigctl.1 b/doc/man1/rigctl.1
index 3e28d2785..b5897f2f1 100644
--- a/doc/man1/rigctl.1
+++ b/doc/man1/rigctl.1
@@ -855,65 +855,104 @@ Set
and
.RI \(aq "Func Status" \(aq.
.IP
-Func is a token: \(oqFAGC\(cq, \(oqNB\(cq, \(oqCOMP\(cq, \(oqVOX\(cq,
-\(oqTONE\(cq, \(oqTSQL\(cq, \(oqSBKIN\(cq, \(oqFBKIN\(cq, \(oqANF\(cq,
-\(oqNR\(cq, \(oqAIP\(cq, \(oqAPF\(cq, \(oqMON\(cq, \(oqMN\(cq, \(oqRF\(cq,
-\(oqARO\(cq, \(oqLOCK\(cq, \(oqMUTE\(cq, \(oqVSC\(cq, \(oqREV\(cq,
-\(oqSQL\(cq, \(oqABM\(cq, \(oqBC\(cq, \(oqMBC\(cq, \(oqRIT\(cq, \(oqAFC\(cq,
-\(oqSATMODE\(cq, \(oqSCOPE\(cq, \(oqRESUME\(cq, \(oqTBURST\(cq, \(oqTUNER\(cq,
-\(oqXIT\(cq, \(oqNB2\(cq, \(oqDSQL\(cq, \(oqAFLT\(cq, \(oqANL\(cq, \(oqBC2\(cq,
-\(oqDUAL_WATCH\(cq, \(oqDIVERSITY\(cq, \(oqCSQL\(cq, \(oqSCEN\(cq,
-\(oqTRANSCEIVE\(cq, \(oqSPECTRUM\(cq, \(oqSPECTRUM_HOLD\(cq, \(oqSEND_MORSE\(cq,
-\(oqSEND_VOICE_MEM\(cq, \(oqOVF_STATUS\(cq.
+Func is a token:
+\(oqABM\(cq,
+\(oqAFC\(cq,
+\(oqAFLT\(cq,
+\(oqAIP\(cq,
+\(oqANF\(cq,
+\(oqANL\(cq,
+\(oqAPF\(cq,
+\(oqARO\(cq,
+\(oqBC2\(cq,
+\(oqBC\(cq,
+\(oqCOMP\(cq,
+\(oqCSQL\(cq,
+\(oqDIVERSITY\(cq,
+\(oqDSQL\(cq,
+\(oqDUAL_WATCH\(cq,
+\(oqFAGC\(cq,
+\(oqFBKIN\(cq,
+\(oqLOCK\(cq,
+\(oqMBC\(cq,
+\(oqMN\(cq,
+\(oqMON\(cq,
+\(oqMUTE\(cq,
+\(oqNB2\(cq,
+\(oqNB\(cq,
+\(oqNR\(cq,
+\(oqOVF_STATUS\(cq,
+\(oqRESUME\(cq,
+\(oqREV\(cq,
+\(oqRF\(cq,
+\(oqRIT\(cq,
+\(oqSATMODE\(cq,
+\(oqSBKIN\(cq,
+\(oqSCEN\(cq,
+\(oqSCOPE\(cq,
+\(oqSEND_MORSE\(cq,
+\(oqSEND_VOICE_MEM\(cq,
+\(oqSPECTRUM\(cq,
+\(oqSPECTRUM_HOLD\(cq,
+\(oqSQL\(cq,
+\(oqSYNC\(cq,
+\(oqTBURST\(cq,
+\(oqTONE\(cq,
+\(oqTRANSCEIVE\(cq,
+\(oqTSQL\(cq,
+\(oqTUNER\(cq,
+\(oqVOX\(cq,
+\(oqVSC\(cq,
+\(oqXIT\(cq.
- FAGC -- Fast AGC
- NB -- Noise Blanker
- COMP -- Speech Compression
- VOX -- Voice Operated Relay
- TONE -- CTCSS Tone TX
- TSQL -- CTCSS Activate/De-activate RX
- SBKIN -- Semi Break-in (CW mode)
- FBKIN -- Full Break-in (CW mode)
- ANF -- Automatic Notch Filter (DSP)
- NR -- Noise Reduction (DSP)
+ ABM -- Auto Band Mode
+ AFC -- Auto Frequency Control ON/OFF
+ AFLT -- AF Filter setting
AIP -- RF pre-amp (AIP on Kenwood, IPO on Yaesu, etc.)
+ ANF -- Automatic Notch Filter (DSP)
+ ANL -- Noise limiter setting
APF -- Audio Peak Filter
- MON -- Monitor transmitted signal
- MN -- Manual Notch
- RF -- RTTY Filter
ARO -- Auto Repeater Offset
+ BC -- Beat Canceller
+ BC2 -- 2nd Beat Cancel
+ COMP -- Speech Compression
+ CSQL -- DCS Squelch setting
+ DIVERSITY -- Diversity receive
+ DSQL -- Digital modes squelch
+ DUAL_WATCH -- Dual Watch / Sub Receiver
+ FAGC -- Fast AGC
+ FBKIN -- Full Break-in (CW mode)
LOCK -- Lock
+ MBC -- Manual Beat Canceller
+ MN -- Manual Notch
+ MON -- Monitor transmitted signal
MUTE -- Mute
- VSC -- Voice Scan Control
+ NB -- Noise Blanker
+ NB2 -- 2nd Noise Blanker
+ NR -- Noise Reduction (DSP)
+ OVF_STATUS -- Read overflow status 0=Off, 1=On
+ RESUME -- Scan auto-resume
REV -- Reverse transmit and receive frequencies
- SQL -- Turn Squelch Monitor on/off
- ABM -- Auto Band Mode
- BC -- Beat Canceller
- MBC -- Manual Beat Canceller
+ RF -- RTTY Filter
RIT -- Receiver Incremental Tuning
- AFC -- Auto Frequency Control ON/OFF
SATMODE -- Satellite mode ON/OFF
+ SBKIN -- Semi Break-in (CW mode)
+ SCEN -- scrambler/encryption
SCOPE -- Simple bandscope ON/OFF
- RESUME -- Scan auto-resume
+ SEND_MORSE -- Send specified characters using CW
+ SEND_VOICE_MEM -- Transmit in SSB message stored in memory
+ SPECTRUM -- Spectrum scope data output ON/OFF
+ SPECTRUM_HOLD -- Pause spectrum scope updates ON/OFF
+ SQL -- Turn Squelch Monitor on/off
+ SYNC -- Synchronize VFOs
TBURST -- 1750 Hz tone burst
+ TONE -- CTCSS Tone TX
+ TRANSCEIVE -- Send radio state changes automatically ON/OFF
+ TSQL -- CTCSS Activate/De-activate RX
TUNER -- Enable automatic tuner
+ VOX -- Voice Operated Relay
+ VSC -- Voice Scan Control
XIT -- Transmitter Incremental Tuning
- NB2 -- 2nd Noise Blanker
- CSQL -- DCS Squelch setting
- AFLT -- AF Filter setting
- ANL -- Noise limiter setting
- BC2 -- 2nd Beat Cancel
- DUAL_WATCH -- Dual Watch / Sub Receiver
- DIVERSITY -- Diversity receive
- DSQL -- Digital modes squelch
- SCEN -- scrambler/encryption
- SLICE -- Rig slice selection -- Flex
- TRANSCEIVE -- Send radio state changes automatically ON/OFF
- SPECTRUM -- Spectrum scope data output ON/OFF
- SPECTRUM_HOLD -- Pause spectrum scope updates ON/OFF
- SEND_MORSE -- Send specified characters using CW
- SEND_VOICE_MEM -- Transmit in SSB message stored in memory
- OVF -- Read overflow status 0=Off, 1=On
.IP
Func Status is a non null value for \(lqactivate\(rq or \(lqde-activate\(rq
diff --git a/doc/man1/rigctld.1 b/doc/man1/rigctld.1
index 6f834a8c1..93916d9cd 100644
--- a/doc/man1/rigctld.1
+++ b/doc/man1/rigctld.1
@@ -867,7 +867,10 @@ Func is a token: \(oqFAGC\(cq, \(oqNB\(cq, \(oqCOMP\(cq, \(oqVOX\(cq,
\(oqARO\(cq, \(oqLOCK\(cq, \(oqMUTE\(cq, \(oqVSC\(cq, \(oqREV\(cq,
\(oqSQL\(cq, \(oqABM\(cq, \(oqBC\(cq, \(oqMBC\(cq, \(oqRIT\(cq, \(oqAFC\(cq,
\(oqSATMODE\(cq, \(oqSCOPE\(cq, \(oqRESUME\(cq, \(oqTBURST\(cq, \(oqTUNER\(cq,
-\(oqXIT\(cq.
+\(oqXIT\(cq, \(oqNB2\(cq, \(oqDSQL\(cq, \(oqAFLT\(cq, \(oqANL\(cq, \(oqBC2\(cq,
+\(oqDUAL_WATCH\(cq, \(oqDIVERSITY\(cq, \(oqCSQL\(cq, \(oqSCEN\(cq,
+\(oqTRANSCEIVE\(cq, \(oqSPECTRUM\(cq, \(oqSPECTRUM_HOLD\(cq, \(oqSEND_MORSE\(cq,
+\(oqSEND_VOICE_MEM\(cq, \(oqOVF_STATUS\(cq, \(oqSYNC\(cq.
.IP
Func Status is a non null value for \(lqactivate\(rq or \(lqde-activate\(rq
otherwise, much as TRUE/FALSE definitions in the C language (true is non-zero
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index ea6bd8db0..b0c790011 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -1296,7 +1296,7 @@ typedef uint64_t setting_t;
#define RIG_FUNC_SPECTRUM_HOLD CONSTANT_64BIT_FLAG (44) /*!< \c SPECTRUM_HOLD -- Pause spectrum scope updates ON/OFF */
#define RIG_FUNC_SEND_MORSE CONSTANT_64BIT_FLAG (45) /*!< \c SEND_MORSE -- Send specified characters using CW */
#define RIG_FUNC_SEND_VOICE_MEM CONSTANT_64BIT_FLAG (46) /*!< \c SEND_VOICE_MEM -- Transmit in SSB message stored in memory */
-#define RIG_FUNC_OVF_STATUS CONSTANT_64BIT_FLAG (47) /*!< \c OVF -- Read overflow status 0=Off, 1=On */
+#define RIG_FUNC_OVF_STATUS CONSTANT_64BIT_FLAG (47) /*!< \c OVF_STATUS -- Read overflow status 0=Off, 1=On */
#define RIG_FUNC_SYNC CONSTANT_64BIT_FLAG (48) /*!< \c Synchronize VFOS -- FTDX101D/MP for now SY command */
#define RIG_FUNC_BIT49 CONSTANT_64BIT_FLAG (49) /*!< \c available for future RIG_FUNC items */
#define RIG_FUNC_BIT50 CONSTANT_64BIT_FLAG (50) /*!< \c available for future RIG_FUNC items */
commit f890fcf6482c8197b3c29f716cad7370a9806d6b
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun Apr 20 17:48:52 2025 +0200
Fix groff syntax
A leading space prevents joining two lines.
diff --git a/doc/man1/rigctl.1 b/doc/man1/rigctl.1
index 56ae33044..3e28d2785 100644
--- a/doc/man1/rigctl.1
+++ b/doc/man1/rigctl.1
@@ -726,8 +726,6 @@ Get
A value of 0 for Antenna will return the current TX antenna
.IP
> 0 is 1-based antenna# (\(oq1\(cq, \(oq2\(cq, \(oq3\(cq, ...).
-
-
.IP
Option returned depends on rig. For Icom it is likely the RX only flag.
.
@@ -736,9 +734,14 @@ Option returned depends on rig. For Icom it is likely the RX only flag.
Send
.RI \(aq Morse \(aq
symbols. For Yaesu rigs use memory#1-5 or up to 50 char msg
+
+Example from command line:
.EX
-Example from command line: rigctl -m 3073 -r /dev/ttyUSB0 b "CQ CQ DE ME"
-Yaesu example to send message#1: rigctl -m 1035 -r /dev/ttyUSB0 b 1
+rigctl -m 3073 -r /dev/ttyUSB0 b "CQ CQ DE ME"
+.EE
+Yaesu example to send message#1:
+.EX
+rigctl -m 1035 -r /dev/ttyUSB0 b 1
.EE
.
.TP
@@ -1319,8 +1322,8 @@ Set
Sets rig clock -- note that some rigs do not handle seconds or milliseconds.
If you try to set sec/msec and rig does not support it you will get a debug warning message.
Format is ISO8601,
-.EX
Formats accepted allow for 2-digit or 4-digit time zone
+.EX
YYYY-MM-DDTHH:MM:SS.SSS+ZZ (where +ZZ is either -/+ UTC offset HH)
YYYY-MM-DDTHH:MM:SS.SSS+ZZZZ (where +ZZZZ is either -/+ UTC offset HHMM)
YYYY-MM-DDTHH:MM:SS+ZZ
@@ -1330,6 +1333,7 @@ YYYY-MM-DDTHH:MM+ZZZZ
YYYY-MM-DD (sets date only)
local (sets both clocks to local time)
utc (sets both clocks to utc time)
+.EE
Note: Icom rigs expect you to set local time and the hours off to UTC.
So...4PM EST example would be 2021-12-01T16:00:00-0500
But...if you want to display GMT you must set the clock for GMT with zero UTC offset.
@@ -1337,11 +1341,8 @@ Hopefully Icom will allow displaying either clock in the future
Note: Kenwood rigs only allow setting local clock, and then only if not autoset by NTP.
Trying to set clock when NTP is in use will set the offset, but not the time -
- and no error status will be returned.
+and no error status will be returned.
Time displayed on the auxiliary clock is solely determined by UTC and the aux offset.
-
-.EE
-.
.TP
.BR get_clock
Get
@@ -1435,7 +1436,7 @@ For Unix/Linux
.
.TP
.BR client_version " \(aq" \fIString\fP "\(aq
- Client can send its version to rigctld and get feedback on compatibility, deprecation, and alternatives
+Client can send its version to rigctld and get feedback on compatibility, deprecation, and alternatives.
.TP
.BR hamlib_version
Returns hamlib version with ISO8601 date/time
diff --git a/doc/man1/rigctld.1 b/doc/man1/rigctld.1
index 1c77bf3e2..6f834a8c1 100644
--- a/doc/man1/rigctld.1
+++ b/doc/man1/rigctld.1
@@ -136,7 +136,6 @@ etc. on Linux,
etc. on MS Windows. The BSD flavors and Mac OS/X have their own designations.
See your system's documentation.
.IP
-.IP
Can be a network address:port, e.g.
.IR 127.0.0.1:12345
.IP
@@ -741,9 +740,14 @@ number (\(oq0\(cq, \(oq1\(cq, \(oq2\(cq, ...).
Send
.RI \(aq Morse \(aq
symbols. For Yaesu rigs use memory# (1-5 for most rigs) or up to 50 char message (which will use memory#1)
+
+Example from rigctld socket:
+.EX
+b CQ CQ DE ME
+.EE
+Yaesu example to send message#1 from rigctld socket:
.EX
-Example from rigctld socket: b CQ CQ DE ME
-Yaesu example to send message#1 frm rigctld socket: b 1
+b 1
.EE
.
.TP
@@ -1380,7 +1384,7 @@ the value terminated by the response separator. e.g. \(lqFrequency:
.PP
4. All commands received will be acknowledged by
.B rigctld
- with records from rules 1 and 2. Records from rule 3 are only returned when
+with records from rules 1 and 2. Records from rule 3 are only returned when
data values must be returned to the client.
.
.PP
commit d724f04163d0bfe29717b11efb8f044025204807
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun Apr 20 17:48:17 2025 +0200
Remove duplicated text
diff --git a/doc/man1/ampctld.1 b/doc/man1/ampctld.1
index 31d97844f..b9bb10c9d 100644
--- a/doc/man1/ampctld.1
+++ b/doc/man1/ampctld.1
@@ -492,12 +492,6 @@ the value terminated by the response separator. e.g. \(lqFrequency:
.
.PP
4. All commands received will be acknowledged by
-.B ampctld
- with records from rules 1 and 2. Records from rule 3 are only returned when
-data values must be returned to the client.
-.
-.PP
-4. All commands received will be acknowledged by
.B ampctld
with records from rules 1 and 2. Records from rule 3 are only returned when
data values must be returned to the client.
-----------------------------------------------------------------------
Summary of changes:
doc/man1/ampctld.1 | 6 --
doc/man1/rigctl.1 | 253 +++++++++++++++++++++++++++++++++++---------------
doc/man1/rigctld.1 | 215 +++++++++++++++++++++++++++++++++---------
doc/man1/rigctlsync.1 | 2 +
include/hamlib/rig.h | 2 +-
tests/rigctld.c | 9 +-
6 files changed, 358 insertions(+), 129 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-04-20 23:18:20
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 49af447f27ffd1c481e72293d04e9fa1dd56de53 (commit)
via a3da9bbe4260d6dcd52ccb342cec056b9ca7e584 (commit)
via 21bf64b7ba3296f8b00512f0f6604ee1f0c45736 (commit)
via 5b85a716fc3e1c38aeeb496ee0b27b6a2ed97cfd (commit)
via 864c60b86d2e032470af0b16feec90e91962e00d (commit)
from 071416d0d40c42f294064ccd7a3682bdd5a82cbc (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 49af447f27ffd1c481e72293d04e9fa1dd56de53
Merge: 071416d0d a3da9bbe4
Author: Nate Bargmann <n0...@n0...>
Date: Sun Apr 20 18:14:58 2025 -0500
Merge pull request #1703 from CallumMcEwen/master
Updates to codan_set_ptt command and README.md
commit a3da9bbe4260d6dcd52ccb342cec056b9ca7e584
Author: Callum McEwen (VK5MCA) <Cal...@us...>
Date: Mon Apr 21 04:25:40 2025 +0930
Update comments on codan_set_ptt
diff --git a/rigs/codan/codan.c b/rigs/codan/codan.c
index aad561ac6..2c275cfdc 100644
--- a/rigs/codan/codan.c
+++ b/rigs/codan/codan.c
@@ -473,7 +473,6 @@ int codan_get_ptt_2110(RIG *rig, vfo_t vfo, ptt_t *ptt)
* VK5MCA
* Changing PTT activation from 'connect tcvr rf ptt %s' to CICS command 'ptt %s voice'.
* This sets fast ALC and allows audio to pass to the transmitter via the GPIO port.
- * Using the 'rf ptt' command does allow audio to pass through the GPIO port of the Envoy RF Unit or Console.
*/
int codan_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
{
commit 21bf64b7ba3296f8b00512f0f6604ee1f0c45736
Author: Callum McEwen (VK5MCA) <Cal...@us...>
Date: Mon Apr 21 04:19:49 2025 +0930
Add V3.51 firmware comment
diff --git a/rigs/codan/README.codan b/rigs/codan/README.codan
index 3f6ecaaa1..d98dec0ab 100644
--- a/rigs/codan/README.codan
+++ b/rigs/codan/README.codan
@@ -13,4 +13,4 @@ the device which is addressed via the GP port.
As of SDR firmware V3.51 for Envoy and Sentry radios, the Amatuer option
allows for Freetune Tx on ham bands only. Freetune Tx is no longer required
for this rig file to work.
-$${\color{lightblue}VK5MCA}$$
+VK5MCA
commit 5b85a716fc3e1c38aeeb496ee0b27b6a2ed97cfd
Author: Callum McEwen (VK5MCA) <Cal...@us...>
Date: Mon Apr 21 04:18:58 2025 +0930
Update README.codan
diff --git a/rigs/codan/README.codan b/rigs/codan/README.codan
index 0e57bd27c..3f6ecaaa1 100644
--- a/rigs/codan/README.codan
+++ b/rigs/codan/README.codan
@@ -9,3 +9,8 @@ programming. This is most often the GP (general purpose) port which
is a 15-pin D-Sub connector on a flying lead on the back of the radio.
(NGT and Envoy models). Programming must be set to select "CICS" as
the device which is addressed via the GP port.
+
+As of SDR firmware V3.51 for Envoy and Sentry radios, the Amatuer option
+allows for Freetune Tx on ham bands only. Freetune Tx is no longer required
+for this rig file to work.
+$${\color{lightblue}VK5MCA}$$
commit 864c60b86d2e032470af0b16feec90e91962e00d
Author: Callum McEwen (VK5MCA) <Cal...@us...>
Date: Tue Apr 1 20:30:55 2025 +1030
Update codan.c
Updated ptt command to CICS
diff --git a/rigs/codan/codan.c b/rigs/codan/codan.c
index 996d2c595..aad561ac6 100644
--- a/rigs/codan/codan.c
+++ b/rigs/codan/codan.c
@@ -469,6 +469,11 @@ int codan_get_ptt_2110(RIG *rig, vfo_t vfo, ptt_t *ptt)
/*
* codan_set_ptt
* Assumes rig!=NULL
+ *
+ * VK5MCA
+ * Changing PTT activation from 'connect tcvr rf ptt %s' to CICS command 'ptt %s voice'.
+ * This sets fast ALC and allows audio to pass to the transmitter via the GPIO port.
+ * Using the 'rf ptt' command does allow audio to pass through the GPIO port of the Envoy RF Unit or Console.
*/
int codan_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
{
@@ -478,7 +483,7 @@ int codan_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
rig_debug(RIG_DEBUG_VERBOSE, "%s: ptt=%d\n", __func__, ptt);
- SNPRINTF(cmd_buf, sizeof(cmd_buf), "connect tcvr rf ptt %s\rptt",
+ SNPRINTF(cmd_buf, sizeof(cmd_buf), "ptt %s voice\rptt",
ptt == 0 ? "off" : "on");
response = NULL;
retval = codan_transaction(rig, cmd_buf, 0, &response);
-----------------------------------------------------------------------
Summary of changes:
rigs/codan/README.codan | 5 +++++
rigs/codan/codan.c | 6 +++++-
2 files changed, 10 insertions(+), 1 deletion(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-04-20 02:36:05
|
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 071416d0d40c42f294064ccd7a3682bdd5a82cbc (commit)
via b141c142709c327f58b29fb136119657237c912f (commit)
from 1ee8fc9bd18aee629539bb911e7beabe5569756c (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 071416d0d40c42f294064ccd7a3682bdd5a82cbc
Merge: 1ee8fc9bd b141c1427
Author: Nate Bargmann <n0...@n0...>
Date: Sat Apr 19 21:35:06 2025 -0500
Merge pull request #1699 from dforsi/fix/help-strings
Make help strings more similar
commit b141c142709c327f58b29fb136119657237c912f
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sat Apr 19 23:57:26 2025 +0200
Make help strings more similar
Fixes text indent and verbs.
diff --git a/tests/rigctl.c b/tests/rigctl.c
index 9affbab35..35d1241b3 100644
--- a/tests/rigctl.c
+++ b/tests/rigctl.c
@@ -957,7 +957,7 @@ void usage(void)
" -h, --help display this help and exit\n"
" -V, --version output version information and exit\n"
" -!, --cookie use cookie control\n"
- " -#, --skip-init skips rig initialization\n\n"
+ " -#, --skip-init skip rig initialization\n\n"
);
usage_rig(stdout);
diff --git a/tests/rigctlcom.c b/tests/rigctlcom.c
index f81de0ce5..e7b8fbf07 100644
--- a/tests/rigctlcom.c
+++ b/tests/rigctlcom.c
@@ -1781,7 +1781,7 @@ void usage()
" -S, --serial-speed2=BAUD set serial speed of the virtual com port [default=115200]\n"
" -c, --civaddr=ID set CI-V address, decimal (for Icom rigs only)\n"
" -C, --set-conf=PARM=VAL set config parameters\n"
- " -B, --mapa2b maps set_freq on VFOA to VFOB -- useful for CW Skimmer\n"
+ " -B, --mapa2b map set_freq on VFOA to VFOB -- useful for CW Skimmer\n"
" -L, --show-conf list all config parameters\n"
" -l, --list list all model numbers and exit\n"
" -u, --dump-caps dump capabilities and exit\n"
-----------------------------------------------------------------------
Summary of changes:
tests/rigctl.c | 2 +-
tests/rigctlcom.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-04-17 02:10: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 1ee8fc9bd18aee629539bb911e7beabe5569756c (commit)
via f9d3a2e6676304e73e1247bce28b31dc303ee51c (commit)
via cb113b5c8401e893dfa71dde31b3f616924cba9d (commit)
via cfc5c821a0b344badef0b4dae441476cff92c21e (commit)
via 428e3075eb693c3e7387e48cb29ecaefa4b3ffde (commit)
via fa5b4cf6eaf3193212c9f71fc2ad69e689bebcec (commit)
from 34698df17acf6cc2ee72d3944b4149f0f621515a (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 1ee8fc9bd18aee629539bb911e7beabe5569756c
Merge: f9d3a2e66 cb113b5c8
Author: Nate Bargmann <n0...@n0...>
Date: Wed Apr 16 21:09:19 2025 -0500
Merge pull request #1696 from dforsi/fix/tests
Ignore files related to tests and delete generated files
commit f9d3a2e6676304e73e1247bce28b31dc303ee51c
Merge: 34698df17 428e3075e
Author: Nate Bargmann <n0...@n0...>
Date: Wed Apr 16 21:07:51 2025 -0500
Merge pull request #1695 from arekm/master
flrig: Additional PKTUSB and PKTLSB mapping for USB-D1/LSB-D1
commit cb113b5c8401e893dfa71dde31b3f616924cba9d
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Wed Apr 16 20:34:15 2025 +0200
Delete a generated directory when doing make clean
diff --git a/bindings/Makefile.am b/bindings/Makefile.am
index 34272b70c..17df597df 100644
--- a/bindings/Makefile.am
+++ b/bindings/Makefile.am
@@ -126,6 +126,7 @@ hamlibpy_wrap.c: hamlib.swg $(SWGDEP)
install-py:
clean-py:
+ $(AM_V_at)rm -rf $(builddir)/__pycache__
distclean-py:
uninstall-py:
commit cfc5c821a0b344badef0b4dae441476cff92c21e
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Wed Apr 16 19:48:20 2025 +0200
Delete a generated file when doing make clean
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 4f45b4b94..706d59bc5 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -147,4 +147,4 @@ test2038.sh:
echo 'LD_LIBRARY_PATH=$(top_builddir)/src/.libs:$(top_builddir)/dummy/.libs ./test2038 1' > test2038.sh
chmod +x ./test2038.sh
-CLEANFILES = testrig.sh testfreq.sh testbcd.sh testloc.sh testrigcaps.sh testcache.sh testcookie.sh rigtestlibusb build-w32.sh build-w64.sh build-w64-jtsdk.sh testgrid.sh testrigcaps.sh test2038.sh
+CLEANFILES = testrig.sh testfreq.sh testbcd.sh testloc.sh testrigcaps.sh testcache.sh testcookie.sh rigtestlibusb build-w32.sh build-w64.sh build-w64-jtsdk.sh testgrid.sh testrigcaps.sh test2038.sh tuner_control.log
commit 428e3075eb693c3e7387e48cb29ecaefa4b3ffde
Author: Arkadiusz Miśkiewicz <ar...@ma...>
Date: Mon Apr 14 23:54:36 2025 +0200
Additional PKTUSB and PKTLSB mapping for USB-D1/LSB-D1
Some radios (icom 7760 for example) expose USB/LSB-Dn modes (e.g., USB-D1).
By default, USB-D1 acts as PKTUSB and LSB-D1 as PKTLSB. Adding this mapping
improves compatibility with software expecting standard PKTUSB/PKTLSB modes.
A real-life scenario: this makes WSJT-X usage much nicer, as WSJT-X requests
PKTUSB, which is then mapped to USB-D1 — the default mode for FT4/FT8 operations
on Icom radios.
diff --git a/rigs/dummy/flrig.c b/rigs/dummy/flrig.c
index f6a3620d8..f46b429f5 100644
--- a/rigs/dummy/flrig.c
+++ b/rigs/dummy/flrig.c
@@ -254,6 +254,20 @@ static struct s_modeMap modeMap[] =
{0, NULL}
};
+// Fallback mappings between modes
+struct s_fmodeMap {
+ rmode_t mode_flrig;
+ char *old_mode_hamlib;
+ char *new_mode_hamlib;
+};
+
+// Some radios (icom) provide PKT data on LSB/USB-D1 by default. Add these modes.
+static struct s_fmodeMap fmodeMap[] = {
+ { RIG_MODE_PKTLSB, "PKTLSB", "LSB-D1" },
+ { RIG_MODE_PKTUSB, "PKTUSB", "USB-D1" },
+ {0, NULL, NULL}
+};
+
/*
* check_vfo
* No assumptions
@@ -740,7 +754,7 @@ static rmode_t modeMapGetHamlib(const char *modeFLRig)
* modeMapAdd
* Assumes modes!=NULL
*/
-static void modeMapAdd(rmode_t *modes, rmode_t mode_hamlib, char *mode_flrig)
+static void modeMapAdd(rmode_t *modes, rmode_t mode_hamlib, char *mode_flrig, int force)
{
int i;
int len1;
@@ -748,8 +762,11 @@ static void modeMapAdd(rmode_t *modes, rmode_t mode_hamlib, char *mode_flrig)
rig_debug(RIG_DEBUG_TRACE, "%s:mode_flrig=%s\n", __func__, mode_flrig);
// if we already have it just return
+ // unless forced where we want to add additional hamlib->flrig mapping
+ // for flrig mode that already exists in map
+ //
// We get ERROR if the mode is not known so non-ERROR is OK
- if (modeMapGetHamlib(mode_flrig) != RIG_MODE_NONE) { return; }
+ if (!force && modeMapGetHamlib(mode_flrig) != RIG_MODE_NONE) { return; }
len1 = strlen(mode_flrig) + 3; /* bytes needed for allocating */
@@ -1031,81 +1048,81 @@ static int flrig_open(RIG *rig)
for (p = strtok_r(value, "|", &pr); p != NULL; p = strtok_r(NULL, "|", &pr))
{
- if (streq(p, "AM-D")) { modeMapAdd(&modes, RIG_MODE_PKTAM, p); }
- else if (streq(p, "AM")) { modeMapAdd(&modes, RIG_MODE_AM, p); }
- else if (streq(p, "AM-N")) { modeMapAdd(&modes, RIG_MODE_AMN, p); }
- else if (streq(p, "AMN")) { modeMapAdd(&modes, RIG_MODE_AMN, p); }
- else if (streq(p, "CW")) { modeMapAdd(&modes, RIG_MODE_CW, p); }
- else if (streq(p, "CW-L")) { modeMapAdd(&modes, RIG_MODE_CWR, p); }
- else if (streq(p, "CW-LSB")) { modeMapAdd(&modes, RIG_MODE_CWR, p); }
- else if (streq(p, "CW-R")) { modeMapAdd(&modes, RIG_MODE_CWR, p); }
- else if (streq(p, "CW-U")) { modeMapAdd(&modes, RIG_MODE_CW, p); }
- else if (streq(p, "CW-USB")) { modeMapAdd(&modes, RIG_MODE_CW, p); }
- else if (streq(p, "CWL")) { modeMapAdd(&modes, RIG_MODE_CWR, p); }
- else if (streq(p, "CWU")) { modeMapAdd(&modes, RIG_MODE_CW, p); }
- else if (streq(p, "D-LSB")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p); }
- else if (streq(p, "D-USB")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); }
- else if (streq(p, "DATA")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); }
- else if (streq(p, "DATA-FM")) { modeMapAdd(&modes, RIG_MODE_PKTFM, p); }
- else if (streq(p, "DATA-FMN")) { modeMapAdd(&modes, RIG_MODE_PKTFMN, p); }
- else if (streq(p, "DATA-L")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p); }
- else if (streq(p, "DATA-R")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p); }
- else if (streq(p, "DATA-LSB")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p); }
- else if (streq(p, "DATA-USB")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); }
- else if (streq(p, "DATA-U")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); }
- else if (streq(p, "DIG")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); }
- else if (streq(p, "DIGI")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); }
- else if (streq(p, "DIGL")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p); }
- else if (streq(p, "DIGI-L")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p); }
- else if (streq(p, "DIGU")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); }
- else if (streq(p, "DIGI-U")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); }
- else if (streq(p, "DSB")) { modeMapAdd(&modes, RIG_MODE_DSB, p); }
- else if (streq(p, "FM")) { modeMapAdd(&modes, RIG_MODE_FM, p); }
- else if (streq(p, "FM-D")) { modeMapAdd(&modes, RIG_MODE_PKTFM, p); }
- else if (streq(p, "FMN")) { modeMapAdd(&modes, RIG_MODE_FMN, p); }
- else if (streq(p, "FM-N")) { modeMapAdd(&modes, RIG_MODE_FMN, p); }
- else if (streq(p, "FMW")) { modeMapAdd(&modes, RIG_MODE_WFM, p); }
- else if (streq(p, "FSK")) { modeMapAdd(&modes, RIG_MODE_RTTY, p); }
- else if (streq(p, "FSK-R")) { modeMapAdd(&modes, RIG_MODE_RTTYR, p); }
- else if (streq(p, "LCW")) { modeMapAdd(&modes, RIG_MODE_CWR, p); }
- else if (streq(p, "LSB")) { modeMapAdd(&modes, RIG_MODE_LSB, p); }
- else if (streq(p, "LSB-D")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p); }
- else if (streq(p, "LSB-D1")) { modeMapAdd(&modes, RIG_MODE_LSBD1, p); }
- else if (streq(p, "LSB-D2")) { modeMapAdd(&modes, RIG_MODE_LSBD2, p); }
- else if (streq(p, "LSB-D3")) { modeMapAdd(&modes, RIG_MODE_LSBD3, p); }
- else if (streq(p, "NFM")) { modeMapAdd(&modes, RIG_MODE_FMN, p); }
- else if (streq(p, "PKT")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); }
- else if (streq(p, "PKT-FM")) { modeMapAdd(&modes, RIG_MODE_PKTFM, p); }
- else if (streq(p, "PKT-L")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p); }
- else if (streq(p, "PKT-U")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); }
- else if (streq(p, "PKT(L)")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p); }
- else if (streq(p, "PKT(U)")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); }
- else if (streq(p, "PSK")) { modeMapAdd(&modes, RIG_MODE_RTTY, p); }
- else if (streq(p, "PSK-L")) { modeMapAdd(&modes, RIG_MODE_RTTYR, p); }
- else if (streq(p, "PSK-R")) { modeMapAdd(&modes, RIG_MODE_RTTYR, p); }
- else if (streq(p, "PSK-U")) { modeMapAdd(&modes, RIG_MODE_RTTY, p); }
- else if (streq(p, "RTTY")) { modeMapAdd(&modes, RIG_MODE_RTTY, p); }
- else if (streq(p, "RTTY-L")) { modeMapAdd(&modes, RIG_MODE_RTTYR, p); }
- else if (streq(p, "RTTY-R")) { modeMapAdd(&modes, RIG_MODE_RTTYR, p); }
- else if (streq(p, "RTTY-U")) { modeMapAdd(&modes, RIG_MODE_RTTY, p); }
- else if (streq(p, "RTTY(U)")) { modeMapAdd(&modes, RIG_MODE_RTTY, p); }
- else if (streq(p, "RTTY(R")) { modeMapAdd(&modes, RIG_MODE_RTTYR, p); }
- else if (streq(p, "SAH")) { modeMapAdd(&modes, RIG_MODE_SAH, p); }
- else if (streq(p, "SAL")) { modeMapAdd(&modes, RIG_MODE_SAL, p); }
- else if (streq(p, "SAM")) { modeMapAdd(&modes, RIG_MODE_SAM, p); }
- else if (streq(p, "USB")) { modeMapAdd(&modes, RIG_MODE_USB, p); }
- else if (streq(p, "USB-D")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); }
- else if (streq(p, "USB-D1")) { modeMapAdd(&modes, RIG_MODE_USBD1, p); }
- else if (streq(p, "USB-D2")) { modeMapAdd(&modes, RIG_MODE_USBD2, p); }
- else if (streq(p, "USB-D3")) { modeMapAdd(&modes, RIG_MODE_USBD3, p); }
- else if (streq(p, "USER-U")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); }
- else if (streq(p, "USER-L")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p); }
- else if (streq(p, "W-FM")) { modeMapAdd(&modes, RIG_MODE_WFM, p); }
- else if (streq(p, "WFM")) { modeMapAdd(&modes, RIG_MODE_WFM, p); }
- else if (streq(p, "UCW")) { modeMapAdd(&modes, RIG_MODE_CW, p); }
- else if (streq(p, "C4FM")) { modeMapAdd(&modes, RIG_MODE_C4FM, p); }
- else if (streq(p, "SPEC")) { modeMapAdd(&modes, RIG_MODE_SPEC, p); }
- else if (streq(p, "DV")) { modeMapAdd(&modes, RIG_MODE_DSTAR, p); }
+ if (streq(p, "AM-D")) { modeMapAdd(&modes, RIG_MODE_PKTAM, p, 0); }
+ else if (streq(p, "AM")) { modeMapAdd(&modes, RIG_MODE_AM, p, 0); }
+ else if (streq(p, "AM-N")) { modeMapAdd(&modes, RIG_MODE_AMN, p, 0); }
+ else if (streq(p, "AMN")) { modeMapAdd(&modes, RIG_MODE_AMN, p, 0); }
+ else if (streq(p, "CW")) { modeMapAdd(&modes, RIG_MODE_CW, p, 0); }
+ else if (streq(p, "CW-L")) { modeMapAdd(&modes, RIG_MODE_CWR, p, 0); }
+ else if (streq(p, "CW-LSB")) { modeMapAdd(&modes, RIG_MODE_CWR, p, 0); }
+ else if (streq(p, "CW-R")) { modeMapAdd(&modes, RIG_MODE_CWR, p, 0); }
+ else if (streq(p, "CW-U")) { modeMapAdd(&modes, RIG_MODE_CW, p, 0); }
+ else if (streq(p, "CW-USB")) { modeMapAdd(&modes, RIG_MODE_CW, p, 0); }
+ else if (streq(p, "CWL")) { modeMapAdd(&modes, RIG_MODE_CWR, p, 0); }
+ else if (streq(p, "CWU")) { modeMapAdd(&modes, RIG_MODE_CW, p, 0); }
+ else if (streq(p, "D-LSB")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p, 0); }
+ else if (streq(p, "D-USB")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p, 0); }
+ else if (streq(p, "DATA")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p, 0); }
+ else if (streq(p, "DATA-FM")) { modeMapAdd(&modes, RIG_MODE_PKTFM, p, 0); }
+ else if (streq(p, "DATA-FMN")) { modeMapAdd(&modes, RIG_MODE_PKTFMN, p, 0); }
+ else if (streq(p, "DATA-L")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p, 0); }
+ else if (streq(p, "DATA-R")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p, 0); }
+ else if (streq(p, "DATA-LSB")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p, 0); }
+ else if (streq(p, "DATA-USB")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p, 0); }
+ else if (streq(p, "DATA-U")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p, 0); }
+ else if (streq(p, "DIG")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p, 0); }
+ else if (streq(p, "DIGI")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p, 0); }
+ else if (streq(p, "DIGL")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p, 0); }
+ else if (streq(p, "DIGI-L")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p, 0); }
+ else if (streq(p, "DIGU")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p, 0); }
+ else if (streq(p, "DIGI-U")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p, 0); }
+ else if (streq(p, "DSB")) { modeMapAdd(&modes, RIG_MODE_DSB, p, 0); }
+ else if (streq(p, "FM")) { modeMapAdd(&modes, RIG_MODE_FM, p, 0); }
+ else if (streq(p, "FM-D")) { modeMapAdd(&modes, RIG_MODE_PKTFM, p, 0); }
+ else if (streq(p, "FMN")) { modeMapAdd(&modes, RIG_MODE_FMN, p, 0); }
+ else if (streq(p, "FM-N")) { modeMapAdd(&modes, RIG_MODE_FMN, p, 0); }
+ else if (streq(p, "FMW")) { modeMapAdd(&modes, RIG_MODE_WFM, p, 0); }
+ else if (streq(p, "FSK")) { modeMapAdd(&modes, RIG_MODE_RTTY, p, 0); }
+ else if (streq(p, "FSK-R")) { modeMapAdd(&modes, RIG_MODE_RTTYR, p, 0); }
+ else if (streq(p, "LCW")) { modeMapAdd(&modes, RIG_MODE_CWR, p, 0); }
+ else if (streq(p, "LSB")) { modeMapAdd(&modes, RIG_MODE_LSB, p, 0); }
+ else if (streq(p, "LSB-D")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p, 0); }
+ else if (streq(p, "LSB-D1")) { modeMapAdd(&modes, RIG_MODE_LSBD1, p, 0); }
+ else if (streq(p, "LSB-D2")) { modeMapAdd(&modes, RIG_MODE_LSBD2, p, 0); }
+ else if (streq(p, "LSB-D3")) { modeMapAdd(&modes, RIG_MODE_LSBD3, p, 0); }
+ else if (streq(p, "NFM")) { modeMapAdd(&modes, RIG_MODE_FMN, p, 0); }
+ else if (streq(p, "PKT")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p, 0); }
+ else if (streq(p, "PKT-FM")) { modeMapAdd(&modes, RIG_MODE_PKTFM, p, 0); }
+ else if (streq(p, "PKT-L")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p, 0); }
+ else if (streq(p, "PKT-U")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p, 0); }
+ else if (streq(p, "PKT(L)")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p, 0); }
+ else if (streq(p, "PKT(U)")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p, 0); }
+ else if (streq(p, "PSK")) { modeMapAdd(&modes, RIG_MODE_RTTY, p, 0); }
+ else if (streq(p, "PSK-L")) { modeMapAdd(&modes, RIG_MODE_RTTYR, p, 0); }
+ else if (streq(p, "PSK-R")) { modeMapAdd(&modes, RIG_MODE_RTTYR, p, 0); }
+ else if (streq(p, "PSK-U")) { modeMapAdd(&modes, RIG_MODE_RTTY, p, 0); }
+ else if (streq(p, "RTTY")) { modeMapAdd(&modes, RIG_MODE_RTTY, p, 0); }
+ else if (streq(p, "RTTY-L")) { modeMapAdd(&modes, RIG_MODE_RTTYR, p, 0); }
+ else if (streq(p, "RTTY-R")) { modeMapAdd(&modes, RIG_MODE_RTTYR, p, 0); }
+ else if (streq(p, "RTTY-U")) { modeMapAdd(&modes, RIG_MODE_RTTY, p, 0); }
+ else if (streq(p, "RTTY(U)")) { modeMapAdd(&modes, RIG_MODE_RTTY, p, 0); }
+ else if (streq(p, "RTTY(R")) { modeMapAdd(&modes, RIG_MODE_RTTYR, p, 0); }
+ else if (streq(p, "SAH")) { modeMapAdd(&modes, RIG_MODE_SAH, p, 0); }
+ else if (streq(p, "SAL")) { modeMapAdd(&modes, RIG_MODE_SAL, p, 0); }
+ else if (streq(p, "SAM")) { modeMapAdd(&modes, RIG_MODE_SAM, p, 0); }
+ else if (streq(p, "USB")) { modeMapAdd(&modes, RIG_MODE_USB, p, 0); }
+ else if (streq(p, "USB-D")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p, 0); }
+ else if (streq(p, "USB-D1")) { modeMapAdd(&modes, RIG_MODE_USBD1, p, 0); }
+ else if (streq(p, "USB-D2")) { modeMapAdd(&modes, RIG_MODE_USBD2, p, 0); }
+ else if (streq(p, "USB-D3")) { modeMapAdd(&modes, RIG_MODE_USBD3, p, 0); }
+ else if (streq(p, "USER-U")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p, 0); }
+ else if (streq(p, "USER-L")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p, 0); }
+ else if (streq(p, "W-FM")) { modeMapAdd(&modes, RIG_MODE_WFM, p, 0); }
+ else if (streq(p, "WFM")) { modeMapAdd(&modes, RIG_MODE_WFM, p, 0); }
+ else if (streq(p, "UCW")) { modeMapAdd(&modes, RIG_MODE_CW, p, 0); }
+ else if (streq(p, "C4FM")) { modeMapAdd(&modes, RIG_MODE_C4FM, p, 0); }
+ else if (streq(p, "SPEC")) { modeMapAdd(&modes, RIG_MODE_SPEC, p, 0); }
+ else if (streq(p, "DV")) { modeMapAdd(&modes, RIG_MODE_DSTAR, p, 0); }
else if (streq(p, "DRM")) // we don't support DRM yet (or maybe ever)
{
rig_debug(RIG_DEBUG_VERBOSE, "%s: no mapping for mode %s\n", __func__, p);
@@ -1113,6 +1130,14 @@ static int flrig_open(RIG *rig)
else { rig_debug(RIG_DEBUG_ERR, "%s: Unknown mode (new?) for this rig='%s'\n", __func__, p); }
}
+ // fallback between modes
+ for (struct s_fmodeMap *mode = fmodeMap; mode->old_mode_hamlib != NULL; mode++) {
+ if (modeMapGetHamlib(mode->old_mode_hamlib) == RIG_MODE_NONE &&
+ modeMapGetHamlib(mode->new_mode_hamlib) != RIG_MODE_NONE) {
+ modeMapAdd(&modes, mode->mode_flrig, mode->new_mode_hamlib, 1);
+ }
+ }
+
rs->mode_list = modes;
retval = rig_strrmodes(modes, value, sizeof(value));
commit fa5b4cf6eaf3193212c9f71fc2ad69e689bebcec
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun Apr 13 10:57:42 2025 +0200
Ignore files related to tests
diff --git a/.gitignore b/.gitignore
index a02baabb8..caa28b297 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,6 +29,7 @@ libtool
ltmain.sh
missing
py-compile
+tuner_control.log
autom4te.cache/
bindings/Hamlib.py
bindings/hamlibvb.bas
@@ -57,6 +58,7 @@ tests/rigctlcom
tests/rigctld
tests/rigctlsync
tests/rigctltcp
+tests/rigfreqwalk
tests/rigmem
tests/rigsmtr
tests/rigswr
@@ -75,3 +77,4 @@ obj/
.cproject
.DS_Store
._.DS_Store
+__pycache__
-----------------------------------------------------------------------
Summary of changes:
.gitignore | 3 +
bindings/Makefile.am | 1 +
rigs/dummy/flrig.c | 179 +++++++++++++++++++++++++++++----------------------
tests/Makefile.am | 2 +-
4 files changed, 107 insertions(+), 78 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-04-09 19:09:05
|
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 34698df17acf6cc2ee72d3944b4149f0f621515a (commit)
via 285a865d9ff9a0dff484b5c880f3d17097692175 (commit)
from d8a3aac62587e7e73cc27d165115a5ee3833baa8 (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 34698df17acf6cc2ee72d3944b4149f0f621515a
Merge: d8a3aac62 285a865d9
Author: Nate Bargmann <n0...@n0...>
Date: Wed Apr 9 14:05:33 2025 -0500
Merge pull request #1694 from N0NB/static_lib
Restore libtool default of building shared and static libs
commit 285a865d9ff9a0dff484b5c880f3d17097692175
Author: Nate Bargmann <n0...@n0...>
Date: Wed Apr 9 13:40:53 2025 -0500
Restore libtool default of building shared and static libs
Commit 43159e5 prevented the libtool default of building both shared and
static libraries during a compilation run.
This addresses GitHub issue 1500 that seeks to enable both shared and
static libs.
At this point, I have not found the motivation for commit 43159e5
despite searching all forums and the mailing list. While the reason
might not now be ever known, restoring the default behavior alligns the
project with other software package.
diff --git a/configure.ac b/configure.ac
index 9bf5390d2..a2b22ed0b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -43,23 +43,23 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
## ------------------------------ ##
## Hamlib specific configuration. ##
## ------------------------------ ##
-AC_ARG_ENABLE([shared],
- [AS_HELP_STRING([--enable-shared],
- [Enable shared libraries @<:@default=yes@:>@])],
- [enable_shared=$enableval],
- [enable_shared=yes])
-AC_ARG_ENABLE([static],
- [AS_HELP_STRING([--enable-static],
- [Enable static libraries @<:@default=check@:>@])],
- [enable_static=$enableval],
- [enable_static=check])
-
-AS_IF([test "x$enable_static" = "xyes"], [
- enable_shared=no
-])
-AS_IF([test "x$enable_static" = "xyes" && test "x$enable_shared" = "xyes"], [
- AC_MSG_ERROR([Both --enable-static and --enable-shared cannot be enabled at the same time.])
-])
+dnl AC_ARG_ENABLE([shared],
+dnl [AS_HELP_STRING([--enable-shared],
+dnl [Enable shared libraries @<:@default=yes@:>@])],
+dnl [enable_shared=$enableval],
+dnl [enable_shared=yes])
+dnl AC_ARG_ENABLE([static],
+dnl [AS_HELP_STRING([--enable-static],
+dnl [Enable static libraries @<:@default=check@:>@])],
+dnl [enable_static=$enableval],
+dnl [enable_static=check])
+dnl
+dnl AS_IF([test "x$enable_static" = "xyes"], [
+dnl enable_shared=no
+dnl ])
+dnl AS_IF([test "x$enable_static" = "xyes" && test "x$enable_shared" = "xyes"], [
+dnl AC_MSG_ERROR([Both --enable-static and --enable-shared cannot be enabled at the same time.])
+dnl ])
dnl New backends must be listed here! Also the new Makefile path must be
dnl added to AC_CONFIG_FILES near the end of this file. See README.developer
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-04-01 20:41: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, master has been updated
via d8a3aac62587e7e73cc27d165115a5ee3833baa8 (commit)
via a9ce0b07dd8730bc901f11ca3008230b1606633d (commit)
via 44014b914ea69c7418569a1f7b6b55711aeaa81a (commit)
via ad20668c752e61e8866891adc29c339dbca6a33d (commit)
via 9fe15f396312dca878435ed4ed1121a3928bd025 (commit)
via e00f3575697d8258fb88745d428b77fff75f1095 (commit)
via c6a30081cbc3752ef1c904512ff4bbf8b2fe9e03 (commit)
via d9545845b01b830f4aa5470e842e754ca023484a (commit)
via 0e1e794cfa569c8994ab98a75d133a1fb6b3fbb3 (commit)
via cd72187a7cc99c0168f6150de7cb21dbed7801d5 (commit)
via 2da07e484c5162a8ed8e3be2395452c2b21a0bcb (commit)
via cb0196875b1580cdef6cd8748eed8f84b305a173 (commit)
via e109fe355d0fb4f1da9fc0dcb3dc5a304f08a771 (commit)
via 0f519185acd7861412cb320e423145984ba05ab9 (commit)
via 1049dc2457f2c90d47012da376836803b7c19dea (commit)
via f8740ddd2899388f86bc3098afc0ae9d05f297a7 (commit)
via ed52875c3d6988917b84cae6f96f2440063453e3 (commit)
via c2d3202ffb0f4c51431b982ca023a586fcdbafc0 (commit)
via a3e23e79cd97b4c48ea56cc2776b68d86db61a08 (commit)
via 9b2904c0b676dc4ed57bd09e300b6a1e81b930c8 (commit)
via 5caa22b79a5532b2848a8e6689e0be2b36a94fde (commit)
via 43f8afa6a4f13fbfb96c2ec75f25ddfb5da9a8e2 (commit)
via 7269ba62647a613ba7b63fc6ddbd2070ba7f9db5 (commit)
via 701d6bf477f784192684c8035cd874d10966a5e6 (commit)
via 3dbb7011d1a2c14cc0f2351c321b66787d51e9f3 (commit)
via 6b11c7e970ba9f7a348ba4836d94bfcf177f2ece (commit)
via f2f947c51d45f5596afd0b8b3c8df7c3d88d93dd (commit)
via 0147da5a3ca8dc0f874d2a43ff5a2e702bbc4f41 (commit)
via 439bd96b5d01ddbaf811a1e1df98c08a1caff406 (commit)
via 3d46647808dc9dde14106d259aebefa85042cd43 (commit)
via 9de6fe2400cff5489cd487e71af299758a4ee567 (commit)
via 2a9634d7053c2fa9d125473f9d285c32bcca24fb (commit)
via fb145e873b63adf3c640292efb336783a97117bd (commit)
via beea87c2aece53f04a6ac8ae10a43f456136e31d (commit)
from 98a0184680a70aa4943ea2ba7dbcf8ca03bebf1f (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 d8a3aac62587e7e73cc27d165115a5ee3833baa8
Merge: 44014b914 a9ce0b07d
Author: Nate Bargmann <n0...@n0...>
Date: Tue Apr 1 15:37:16 2025 -0500
Merge pull request #1688 from brianjester/patch-1
Update README.developer
commit a9ce0b07dd8730bc901f11ca3008230b1606633d
Author: brianjester <bri...@pr...>
Date: Sun Mar 30 18:34:43 2025 -0700
Update README.developer
fix typo
diff --git a/README.developer b/README.developer
index 2b5f64695..4ded18b26 100644
--- a/README.developer
+++ b/README.developer
@@ -331,7 +331,7 @@ Additionally, you may want to add the '--with-perl-binding' or
'--with-python-binding' or '--with-tcl-binding' or '--with-lua-binding' if you are
interested in SWIG binding support for those scripting languages.
-For LUA bindinds if you run "lua luatest.lua" and see this error message:
+For LUA bindings if you run "lua luatest.lua" and see this error message:
luatest.lua:44: Error in Rig::set_mode (arg 2), expected 'rmode_t' got 'string'
This means you need to upgrade both swig and lua for 64-bit lua support
This is known to work on swig 4.0.1 and lua 5.3.5
commit 44014b914ea69c7418569a1f7b6b55711aeaa81a
Merge: ad20668c7 9fe15f396
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Mar 22 14:47:18 2025 -0500
Merge branch 'master' of github.com:Hamlib/Hamlib
commit ad20668c752e61e8866891adc29c339dbca6a33d
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Mar 22 14:45:32 2025 -0500
Fix headers for compability with swig 4.3.0
https://github.com/Hamlib/Hamlib/issues/1669
diff --git a/include/hamlib/riglist.h b/include/hamlib/riglist.h
index b7a441c0a..2dda81d2a 100644
--- a/include/hamlib/riglist.h
+++ b/include/hamlib/riglist.h
@@ -32,7 +32,7 @@
// With a max of 1000 models per backend we get total a model number range of 1001-33001
// This MAX was 100 prior to 2020-02-18 and Icom was close to running out of the 100 range
#define MAX_MODELS_PER_BACKEND 1000
-#define RIG_MAKE_MODEL(a,b) ((a)*MAX_MODELS_PER_BACKEND+(b))
+#define RIG_MAKE_MODEL(a,b) (MAX_MODELS_PER_BACKEND*(a)+(b))
#define RIG_BACKEND_NUM(a) ((a)/MAX_MODELS_PER_BACKEND)
//! @endcond
diff --git a/include/hamlib/rotlist.h b/include/hamlib/rotlist.h
index 37d410846..0fff30f3a 100644
--- a/include/hamlib/rotlist.h
+++ b/include/hamlib/rotlist.h
@@ -24,7 +24,7 @@
#define _ROTLIST_H 1
//! @cond Doxygen_Suppress
-#define ROT_MAKE_MODEL(a,b) ((a)*100+(b))
+#define ROT_MAKE_MODEL(a,b) (100*(a)+(b))
#define ROT_BACKEND_NUM(a) ((a)/100)
//! @endcond
commit 9fe15f396312dca878435ed4ed1121a3928bd025
Merge: c6a30081c e00f35756
Author: Michael Black <mdb...@ya...>
Date: Mon Mar 17 15:59:31 2025 -0500
Merge pull request #1683 from dforsi/fix/typos
Fix my previous commit ("Add bold" d9545845)
commit e00f3575697d8258fb88745d428b77fff75f1095
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Mon Mar 17 21:49:57 2025 +0100
Fix my previous commit ("Add bold" d9545845)
diff --git a/doc/man1/rigctld.1 b/doc/man1/rigctld.1
index 39d4f29c7..1c77bf3e2 100644
--- a/doc/man1/rigctld.1
+++ b/doc/man1/rigctld.1
@@ -119,7 +119,7 @@ See model list (use \(lqrigctld -l\(rq).
(or third party software using the C API) will use radio model 2 for
.B NET rigctl
(this model number is not used for
-.B rigctl
+.B rigctld
even though it shows in the model
list).
.
@@ -399,19 +399,19 @@ option as it generates no output on its own.
.TP
.BR \-A ", " \-\-password
Sets password on
-.B rigctl
+.B rigctld
which requires hamlib to use rig_set_password and rigctl to use \\password to access rigctld. A 32-char shared secret will be displayed to be used on the client side.
.
.TP
.BR \-R ", " \-\-rigctld\-idle
Will make
-.B rigctl
+.B rigctld
close the rig when no clients are connected. Normally remains connected to speed up connects.
.
.TP
.BR \-b ", " \-\-bind\-all
Will make
-.B rigctl
+.B rigctld
try to bind to first network device available.
.
.TP
@@ -421,7 +421,7 @@ Show a summary of these options and exit.
.TP
.BR \-V ", " \-\-version
Show version of
-.B rigctl
+.B rigctld
and exit.
.
.PP
@@ -1233,7 +1233,7 @@ Examples:
.TP
.BR client_version " \(aq" \fIString\fP "\(aq
Client can send its version to
-.B rigctl
+.B rigctld
and get feedback on compatibility, deprecation, and alternatives
.TP
.BR hamlib_version
commit c6a30081cbc3752ef1c904512ff4bbf8b2fe9e03
Merge: 0f519185a d9545845b
Author: Michael Black <mdb...@ya...>
Date: Sun Mar 16 17:10:43 2025 -0500
Merge pull request #1682 from dforsi/fix/manpages
Fix manpages
commit d9545845b01b830f4aa5470e842e754ca023484a
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sun Mar 16 18:21:06 2025 +0100
Add bold
diff --git a/doc/man1/rigctld.1 b/doc/man1/rigctld.1
index ea3d35329..39d4f29c7 100644
--- a/doc/man1/rigctld.1
+++ b/doc/man1/rigctld.1
@@ -118,7 +118,9 @@ See model list (use \(lqrigctld -l\(rq).
.B rigctl
(or third party software using the C API) will use radio model 2 for
.B NET rigctl
-(this model number is not used for rigctld even though it shows in the model
+(this model number is not used for
+.B rigctl
+even though it shows in the model
list).
.
.TP
@@ -396,15 +398,21 @@ option as it generates no output on its own.
.
.TP
.BR \-A ", " \-\-password
-Sets password on rigctld which requires hamlib to use rig_set_password and rigctl to use \\password to access rigctld. A 32-char shared secret will be displayed to be used on the client side.
+Sets password on
+.B rigctl
+which requires hamlib to use rig_set_password and rigctl to use \\password to access rigctld. A 32-char shared secret will be displayed to be used on the client side.
.
.TP
.BR \-R ", " \-\-rigctld\-idle
-Will make rigctld close the rig when no clients are connected. Normally remains connected to speed up connects.
+Will make
+.B rigctl
+close the rig when no clients are connected. Normally remains connected to speed up connects.
.
.TP
.BR \-b ", " \-\-bind\-all
-Will make rigctld try to bind to first network device available.
+Will make
+.B rigctl
+try to bind to first network device available.
.
.TP
.BR \-h ", " \-\-help
@@ -1224,7 +1232,9 @@ Examples:
.
.TP
.BR client_version " \(aq" \fIString\fP "\(aq
-Client can send its version to rigctld and get feedback on compatibility, deprecation, and alternatives
+Client can send its version to
+.B rigctl
+and get feedback on compatibility, deprecation, and alternatives
.TP
.BR hamlib_version
Returns Hamlib version with ISO8601 date/time
commit 0e1e794cfa569c8994ab98a75d133a1fb6b3fbb3
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sat Mar 8 16:12:38 2025 +0100
Set parameter keywords bold, not their descriptions
diff --git a/doc/man1/rigctl.1 b/doc/man1/rigctl.1
index d7176bd1f..56ae33044 100644
--- a/doc/man1/rigctl.1
+++ b/doc/man1/rigctl.1
@@ -191,27 +191,27 @@ above. Will exit if no -r is given. Note the dummy device has no serial paramete
Set configuration parameter(s). Some common ones are:
.in +4n
.EX
-.RB async: "True enables asynchronous data transfer for backends that support it. This allows use of transceive and spectrum data."
-.RB auto_power_on: "True enables compatible rigs to be powered up on open"
-.RB auto_power_off: "True enables compatible rigs to be powered down on close"
-.RB auto_disable_screensaver: "True enables compatible rigs to have their screen saver disabled on open"
-.RB dcd_type: "Data Carrier Detect (or squelch) interface type override"
-.RB dcd_pathname: "Path name to the device file of the Data Carrier Detect (or squelch)"
-.RB disable_yaesu_bandselect: "True disables the automatic band select on band change for Yaesu rigs"
-.RB dtr_state: "ON turns on DTR, OFF turns it off, Unset disables it"
-.RB lo_freq: "Frequency to add to the VFO frequency for use with a transverter"
-.RB post_write_delay: "Delay in ms between each command sent out"
-.RB ptt_share: "True enables ptt port to be shared with other apps"
-.RB ptt_type: "Push-To-Talk interface type override"
-.RB ptt_pathname: "Path name to the device file of the Push-To-Talk"
-.RB ptt_bitnum: "Push-To-Talk GPIO bit number"
-.RB retry: "Max number of retry"
-.RB rts_state: "ON turns on DTR, OFF turns it off, Unset disables it"
-.RB twiddle_timeout: "For satellite ops when VFOB is twiddled will pause VFOB commands until timeout"
-.RB twiddle_rit: "Suppress get_freq on VFOB for RIT tuning satellites"
-.RB timeout: "Timeout in ms"
-.RB write_delay: "Delay in ms between each byte sent out"
-.RB tuner_control_pathname: "Path name to a script/program to control a tuner with 1 argument of 0/1 for Tuner Off/On"
+.BR async: "True enables asynchronous data transfer for backends that support it. This allows use of transceive and spectrum data."
+.BR auto_power_on: "True enables compatible rigs to be powered up on open"
+.BR auto_power_off: "True enables compatible rigs to be powered down on close"
+.BR auto_disable_screensaver: "True enables compatible rigs to have their screen saver disabled on open"
+.BR dcd_type: "Data Carrier Detect (or squelch) interface type override"
+.BR dcd_pathname: "Path name to the device file of the Data Carrier Detect (or squelch)"
+.BR disable_yaesu_bandselect: "True disables the automatic band select on band change for Yaesu rigs"
+.BR dtr_state: "ON turns on DTR, OFF turns it off, Unset disables it"
+.BR lo_freq: "Frequency to add to the VFO frequency for use with a transverter"
+.BR post_write_delay: "Delay in ms between each command sent out"
+.BR ptt_share: "True enables ptt port to be shared with other apps"
+.BR ptt_type: "Push-To-Talk interface type override"
+.BR ptt_pathname: "Path name to the device file of the Push-To-Talk"
+.BR ptt_bitnum: "Push-To-Talk GPIO bit number"
+.BR retry: "Max number of retry"
+.BR rts_state: "ON turns on DTR, OFF turns it off, Unset disables it"
+.BR twiddle_timeout: "For satellite ops when VFOB is twiddled will pause VFOB commands until timeout"
+.BR twiddle_rit: "Suppress get_freq on VFOB for RIT tuning satellites"
+.BR timeout: "Timeout in ms"
+.BR write_delay: "Delay in ms between each byte sent out"
+.BR tuner_control_pathname: "Path name to a script/program to control a tuner with 1 argument of 0/1 for Tuner Off/On"
.EE
.in
.IP
diff --git a/doc/man1/rigctld.1 b/doc/man1/rigctld.1
index 439c3a742..ea3d35329 100644
--- a/doc/man1/rigctld.1
+++ b/doc/man1/rigctld.1
@@ -299,27 +299,27 @@ above.
Set configuration parameter(s). Some common ones are:
.in +4
.EX
-.RB async: "True enables asynchronous data transfer for backends that support it. This allows use of transceive and spectrum data."
-.RB auto_power_on: "True enables compatible rigs to be powered up on open"
-.RB auto_power_off: "True enables compatible rigs to be powered down on close"
-.RB auto_disable_screensaver: "True enables compatible rigs to have their screen saver disabled on open"
-.RB dcd_type: "Data Carrier Detect (or squelch) interface type override"
-.RB dcd_pathname: "Path name to the device file of the Data Carrier Detect (or squelch)"
-.RB disable_yaesu_bandselect: "True disables the automatic band select on band change for Yaesu rigs"
-.RB dtr_state: "ON turns on DTR, OFF turns it off, Unset disables it"
-.RB lo_freq: "Frequency to add to the VFO frequency for use with a transverter"
-.RB post_write_delay: "Delay in ms between each command sent out"
-.RB ptt_share: "True enables ptt port to be shared with other apps"
-.RB ptt_type: "Push-To-Talk interface type override"
-.RB ptt_pathname: "Path name to the device file of the Push-To-Talk"
-.RB ptt_bitnum: "Push-To-Talk GPIO bit number"
-.RB retry: "Max number of retry"
-.RB rts_state: "ON turns on DTR, OFF turns it off, Unset disables it"
-.RB twiddle_timeout: "For satellite ops when VFOB is twiddled will pause VFOB commands until timeout"
-.RB twiddle_rit: "Suppress get_freq on VFOB for RIT tuning satellites"
-.RB timeout: "Timeout in ms"
-.RB write_delay: "Delay in ms between each byte sent out"
-.RB tuner_control_pathname: "Path name to a script/program to control a tuner with 1 argument of 0/1 for Tuner Off/On"
+.BR async: "True enables asynchronous data transfer for backends that support it. This allows use of transceive and spectrum data."
+.BR auto_power_on: "True enables compatible rigs to be powered up on open"
+.BR auto_power_off: "True enables compatible rigs to be powered down on close"
+.BR auto_disable_screensaver: "True enables compatible rigs to have their screen saver disabled on open"
+.BR dcd_type: "Data Carrier Detect (or squelch) interface type override"
+.BR dcd_pathname: "Path name to the device file of the Data Carrier Detect (or squelch)"
+.BR disable_yaesu_bandselect: "True disables the automatic band select on band change for Yaesu rigs"
+.BR dtr_state: "ON turns on DTR, OFF turns it off, Unset disables it"
+.BR lo_freq: "Frequency to add to the VFO frequency for use with a transverter"
+.BR post_write_delay: "Delay in ms between each command sent out"
+.BR ptt_share: "True enables ptt port to be shared with other apps"
+.BR ptt_type: "Push-To-Talk interface type override"
+.BR ptt_pathname: "Path name to the device file of the Push-To-Talk"
+.BR ptt_bitnum: "Push-To-Talk GPIO bit number"
+.BR retry: "Max number of retry"
+.BR rts_state: "ON turns on DTR, OFF turns it off, Unset disables it"
+.BR twiddle_timeout: "For satellite ops when VFOB is twiddled will pause VFOB commands until timeout"
+.BR twiddle_rit: "Suppress get_freq on VFOB for RIT tuning satellites"
+.BR timeout: "Timeout in ms"
+.BR write_delay: "Delay in ms between each byte sent out"
+.BR tuner_control_pathname: "Path name to a script/program to control a tuner with 1 argument of 0/1 for Tuner Off/On"
.EE
.in
.IP
commit cd72187a7cc99c0168f6150de7cb21dbed7801d5
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Sat Mar 8 16:08:03 2025 +0100
Fix usage of .EX
Add missing .EE and remove some .EE that were out of place.
diff --git a/doc/man1/rigctl.1 b/doc/man1/rigctl.1
index a0d6e8e32..d7176bd1f 100644
--- a/doc/man1/rigctl.1
+++ b/doc/man1/rigctl.1
@@ -739,6 +739,7 @@ symbols. For Yaesu rigs use memory#1-5 or up to 50 char msg
.EX
Example from command line: rigctl -m 3073 -r /dev/ttyUSB0 b "CQ CQ DE ME"
Yaesu example to send message#1: rigctl -m 1035 -r /dev/ttyUSB0 b 1
+.EE
.
.TP
.BR 0xbb ", " stop_morse "
@@ -1406,62 +1407,59 @@ Returns current lock mode status 1=On, 2=Off (only useful when using rigctld)
.
.TP
.BR send_raw " \(aq" \fITerminator\fP "\(aq \(aq" \fIString\fP \(aq
-.EX
Can send ASCII string or 0xnn values or xnn values -- there can be no spaces in the command string.
Possible terminator values are CR, LF, ;, ICOM, 0-100 (bytes to read), or -1 meaning unknown (will timeout on read)
Examples (note that a ; must be escaped in Unix/Linux):
+.IP
For Windows & Unix/Linux we have a new colon-separated format for hex digits
+.EX
send_raw icom 0xFE:0xFE:0x94:0x03:0xFD Note: colon-separated does not have to be escaped on Unix/Linux
send_raw -1 0xFE:0xFE:0x94:0x03:0xFD
send_raw 14 0xFE:0xFE:0x94:0x03:0xFD
Note that ASCII commands still require escaping the semicolon on Unix/Linux
send_raw \; FA\;MD\;
-
+.EE
For Windows:
+.EX
send_raw icom 0xFE;0xFE;0x94;0x03;0xFD
send_raw -1 0xFE;0xFE;0x94;0x03;0xFD
send_raw 14 0xFE;0xFE;0x94;0x03;0xFD
-
- For Unix/Linux
+.EE
+For Unix/Linux
+.EX
send_raw icom 0xFE\;0xFE\;0x94\;0x03\;0xFD
send_raw \; FA\;MD\;
send_raw -1 0xFE\;0xFE\;0x94\;0x03\;0xFD
send_raw 14 0xFE\;0xFE\;0x94\;0x03\;0xFD
+.EE
.
.TP
.BR client_version " \(aq" \fIString\fP "\(aq
-.EX
Client can send its version to rigctld and get feedback on compatibility, deprecation, and alternatives
.TP
.BR hamlib_version
-.EX
Returns hamlib version with ISO8601 date/time
.
.TP
.BR test
-.EX
Performs test routines. Under development.
.
.TP
.BR set_gpio " \(aq" \fIGPIO#\fP "\(aq
-.EX
Sets GPIO1, GPIO2, GPIO3, GPIO4 on the GPIO ptt port
Can also use 1,2,3,4
.
.TP
.BR get_gpio " \(aq" \fIGPIO#\fP "\(aq
-.EX
Reads GPIO1, GPIO2, GPIO3, GPIO4 on the GPIO ptt port
Can also use 1,2,3,4
.
.TP
.BR skip_init
-.EX
Skips rig initialization -- useful when executing commands with rigctl to speed up things
.
.TP
.BR freq_skip " " 'skip'
-.EX
When skip!=0 skips setting freq on TX_VFO when in RX and on RX_VFO when in TX -- for use with gpredict and rigs that do not have TARGETABLE_VFO
.
.SH READLINE
diff --git a/doc/man1/rigctld.1 b/doc/man1/rigctld.1
index 5d2f18055..439c3a742 100644
--- a/doc/man1/rigctld.1
+++ b/doc/man1/rigctld.1
@@ -736,6 +736,7 @@ symbols. For Yaesu rigs use memory# (1-5 for most rigs) or up to 50 char messag
.EX
Example from rigctld socket: b CQ CQ DE ME
Yaesu example to send message#1 frm rigctld socket: b 1
+.EE
.
.TP
.BR 0xbb ", " stop_morse "
@@ -1211,38 +1212,34 @@ Returns current lock mode status 1=On, 2=Off (only useful with rigctld)
.
.TP
.BR send_raw " \(aq" \fITerminator\fP "\(aq \(aq" \fIString\fP \(aq
-.EX
Can send ASCII string or 0xnn values -- there can be no spaces in the command string.
Possible terminator values are CR, LF, ;, ICOM, 0-100 (bytes to read), or -1 meaning unknown (will timeout on read)
Examples:
+.EX
send_raw ; FA;MD;
send_raw icom 0xFE;0xFE;0x94;0x03;0xFD
send_raw -1 0xFE;0xFE;0x94;0x03;0xFD
send_raw 14 0xFE;0xFE;0x94;0x03;0xFD
+.EE
.
.TP
.BR client_version " \(aq" \fIString\fP "\(aq
-.EX
Client can send its version to rigctld and get feedback on compatibility, deprecation, and alternatives
.TP
.BR hamlib_version
-.EX
Returns Hamlib version with ISO8601 date/time
.
.TP
.BR test
-.EX
Performs test routines. Under development.
.
.TP
.BR set_gpio " \(aq" \fIGPIO#\fP "\(aq
-.EX
Sets GPIO1, GPIO2, GPIO3, GPIO4 on the GPIO ptt port
Can also use 1,2,3,4
.
.TP
.BR get_gpio " \(aq" \fIGPIO#\fP "\(aq
-.EX
Reads GPIO1, GPIO2, GPIO3, GPIO4 on the GPIO ptt port
Can also use 1,2,3,4
.
commit 2da07e484c5162a8ed8e3be2395452c2b21a0bcb
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Thu Mar 6 23:39:45 2025 +0100
Escape literal \n
Otherwise it isn't rendered correctly.
diff --git a/doc/man1/rigctld.1 b/doc/man1/rigctld.1
index e1fbb6ca9..5d2f18055 100644
--- a/doc/man1/rigctld.1
+++ b/doc/man1/rigctld.1
@@ -211,7 +211,7 @@ Use
.I char
as separator instead of line feed.
.IP
-The default is \n. Recommend using $ or @ as they work on both Unix and Windows
+The default is \(oq\\n\(cq. Recommend using $ or @ as they work on both Unix and Windows.
.IP
.
.TP
commit cb0196875b1580cdef6cd8748eed8f84b305a173
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Wed Mar 5 22:35:09 2025 +0100
Fix underline and italics
diff --git a/doc/man1/rigctl.1 b/doc/man1/rigctl.1
index 95c7bbddd..a0d6e8e32 100644
--- a/doc/man1/rigctl.1
+++ b/doc/man1/rigctl.1
@@ -81,13 +81,15 @@ Use
.I device
as the file name of the port connected to the radio.
.IP
-Typically /dev/ttyS0 ", " /dev/ttyS1 ", " /dev/ttyUSB0 ,
+Typically
+.IR /dev/ttyS0 ", " /dev/ttyS1 ", " /dev/ttyUSB0 ,
etc. on Linux,
.IR COM1 ", " COM2 ,
etc. on MS Windows. The BSD flavors and Mac OS/X have their own designations.
See your system's documentation.
.IP
-Can be a network address:port, e.g. 127.0.0.1:12345
+Can be a network address:port, e.g.
+.IR 127.0.0.1:12345
.IP
The special string \(lquh\-rig\(rq may be given to enable micro-ham device
support.
diff --git a/doc/man1/rigctld.1 b/doc/man1/rigctld.1
index 9c22bd619..e1fbb6ca9 100644
--- a/doc/man1/rigctld.1
+++ b/doc/man1/rigctld.1
@@ -127,14 +127,16 @@ Use
.I device
as the file name of the port connected to the radio.
.IP
-Typically /dev/ttyS0 ", " /dev/ttyS1 ", " /dev/ttyUSB0 ,
+Typically
+.IR /dev/ttyS0 ", " /dev/ttyS1 ", " /dev/ttyUSB0 ,
etc. on Linux,
.IR COM1 ", " COM2 ,
etc. on MS Windows. The BSD flavors and Mac OS/X have their own designations.
See your system's documentation.
.IP
.IP
-Can be a network address:port, e.g. 127.0.0.1:12345
+Can be a network address:port, e.g.
+.IR 127.0.0.1:12345
.IP
The special string \(lquh\-rig\(rq may be given to enable micro-ham device
support.
@@ -205,7 +207,9 @@ in which case it is hexadecimal.
.
.TP
.BR \-S ", " \-\-separator = \fIchar\fP
-Use char as separator instead of line feed
+Use
+.I char
+as separator instead of line feed.
.IP
The default is \n. Recommend using $ or @ as they work on both Unix and Windows
.IP
commit e109fe355d0fb4f1da9fc0dcb3dc5a304f08a771
Author: Daniele Forsi IU5HKX <iu...@gm...>
Date: Wed Mar 5 22:28:14 2025 +0100
Fix typos
diff --git a/doc/man1/rigctl.1 b/doc/man1/rigctl.1
index e8ce4e31a..95c7bbddd 100644
--- a/doc/man1/rigctl.1
+++ b/doc/man1/rigctl.1
@@ -335,7 +335,7 @@ Sets the cookie to be used for remote access security
.
.TP
.BR \-# ", " \-\-skip_init
-Skips most startup intialization.
+Skips most startup initialization.
.
.TP
.B \-
@@ -701,7 +701,7 @@ and
.IP
Number is 1-based antenna# (\(oq1\(cq, \(oq2\(cq, \(oq3\(cq, ...).
.IP
-Option depends on rig..for Icom it probably sets the Tx & Rx antennas as in the IC-7851. See your manual for rig specific option values. Most rigs don't care about the option.
+Option depends on rig. For Icom it probably sets the Tx & Rx antennas as in the IC-7851. See your manual for rig specific option values. Most rigs don't care about the option.
.IP
For the IC-7851, FTDX3000 (and perhaps others) it means this:
.IP
@@ -727,7 +727,7 @@ A value of 0 for Antenna will return the current TX antenna
.IP
-Option returned depends on rig..for Icom is likely the RX only flag.
+Option returned depends on rig. For Icom it is likely the RX only flag.
.
.TP
.BR b ", " send_morse " \(aq" \fIMorse\fP \(aq
@@ -828,7 +828,7 @@ code.
.BR 0x93 ", " get_dcs_sql
Get
.RI \(aq "DCS Sql" \(aq
- code.
+code.
.
.TP
.BR N ", " set_ts " \(aq" "\fITuning Step\fP" \(aq
@@ -1138,7 +1138,6 @@ Sets memory channel information
Get channel memory.
.IP
If readonly!=0 then only channel data is returned and rig remains on the current channel. If readonly=0 then rig will be set to the channel requested.
-data.
.
.TP
.BR A ", " set_trn " \(aq" \fITransceive\fP \(aq
@@ -1465,8 +1464,6 @@ When skip!=0 skips setting freq on TX_VFO when in RX and on RX_VFO when in TX --
.
.SH READLINE
.
-.SH READLINE
-.
If
.B Readline
library development files are found at configure time,
diff --git a/doc/man1/rigctld.1 b/doc/man1/rigctld.1
index b42b83066..9c22bd619 100644
--- a/doc/man1/rigctld.1
+++ b/doc/man1/rigctld.1
@@ -112,7 +112,7 @@ Here is a summary of the supported options:
.BR \-m ", " \-\-model = \fIid\fP
Select radio model number. Defaults to dummy device.
.IP
-See model list (use \(lqrigctl -l\(rq).
+See model list (use \(lqrigctld -l\(rq).
.IP
.BR Note :
.B rigctl
@@ -256,7 +256,7 @@ rigctl -m 2 ip6-localhost
Exceptions:
.EX
rigctl -m 2 -r 127.0.0.1 (only works if localhost is IPV4 address)
-rigctl -m 2 -r ::1 (only works localhost is IPV6 address)
+rigctl -m 2 -r ::1 (only works if localhost is IPV6 address)
.EE
.in
.
@@ -345,7 +345,7 @@ Windows. The output can be piped to
.BR more (1)
or
.BR less (1),
-e.g. \(lqrigctl -l | more\(rq.
+e.g. \(lqrigctld -l | more\(rq.
.
.TP
.BR \-o ", " \-\-vfo
@@ -375,12 +375,12 @@ Should only be needed when controlling software should be "paused"
so you can move the VFO. Continuous movement extends the timeout.
.
.TP
-.BR \-x ", " \-\-uplink=option
+.BR \-x ", " \-\-uplink = \fIoption\fP
1=Sub, 2=Main
.IP
For GPredict use to ignore get_freq for Sub or Main uplink VFO.
.IP
-Should allow downlink VFO movement without confusing GPredict or the uplink
+Should allow downlink VFO movement without confusing GPredict or the uplink.
.
.TP
.BR \-Z ", " \-\-debug\-time\-stamps
@@ -703,7 +703,7 @@ Set
number (\(oq0\(cq, \(oq1\(cq, \(oq2\(cq, ...).
.IP
.IP
-Option depends on rig..for Icom it probably sets the Tx & Rx antennas as in the IC-7851. See your manual for rig specific option values. Most rigs don't care about the option.
+Option depends on rig. For Icom it probably sets the Tx & Rx antennas as in the IC-7851. See your manual for rig specific option values. Most rigs don't care about the option.
.IP
For the IC-7851 (and perhaps others) it means this:
.IP
@@ -739,7 +739,7 @@ Stop sending the current morse code.
.
.TP
.BR 0xbc ", " wait_morse "
-Wait for morse to finish -- only works on full break-in
+Wait for morse to finish -- only works on full break-in.
.
.TP
.BR 0x94 ", " send_voice_mem " \(aq" \fIMsgnum\fP \(aq
@@ -823,7 +823,7 @@ code.
.BR 0x93 ", " get_dcs_sql
Get
.RI \(aq "DCS Sql" \(aq
- code.
+code.
.
.TP
.BR N ", " set_ts " \(aq" "\fITuning Step\fP" \(aq
@@ -882,7 +882,7 @@ Set
and
.RI \(aq "Level Value" \(aq.
.IP
-evel is a token: \(oqPREAMP\(cq, \(oqATT\(cq, \(oqVOXDELAY\(cq, \(oqAF\(cq,
+Level is a token: \(oqPREAMP\(cq, \(oqATT\(cq, \(oqVOXDELAY\(cq, \(oqAF\(cq,
\(oqRF\(cq, \(oqSQL\(cq, \(oqIF\(cq, \(oqAPF\(cq, \(oqNR\(cq, \(oqPBT_IN\(cq,
\(oqPBT_OUT\(cq, \(oqCWPITCH\(cq, \(oqRFPOWER\(cq, \(oqMICGAIN\(cq,
\(oqKEYSPD\(cq, \(oqNOTCHF\(cq, \(oqCOMP\(cq, \(oqAGC\(cq, \(oqBKINDL\(cq,
@@ -1013,7 +1013,6 @@ Not implemented yet.
Get channel memory.
.IP
If readonly!=0 then only channel data is returned and rig remains on the current channel. If readonly=0 then rig will be set to the channel requested.
-data.
.
.TP
.BR A ", " set_trn " \(aq" \fITransceive\fP \(aq
@@ -1021,7 +1020,7 @@ Set
.RI \(aq Transceive \(aq
mode.
.IP
-Transcieve is a token: \(oqOFF\(cq, \(oqRIG\(cq, \(oqPOLL\(cq.
+Transceive is a token: \(oqOFF\(cq, \(oqRIG\(cq, \(oqPOLL\(cq.
.IP
Transceive is a mechanism for radios to report events without a specific call
for information.
@@ -1220,16 +1219,11 @@ Examples:
.TP
.BR client_version " \(aq" \fIString\fP "\(aq
.EX
- Client can send its version to rigctld and get feedback on compatibility, deprecation, and alternatives
-.TP
-.BR hamlib_version
-.EX
-Returns hamlib version with ISO8601 date/time
-.
+Client can send its version to rigctld and get feedback on compatibility, deprecation, and alternatives
.TP
.BR hamlib_version
.EX
-Returns hamlib version with ISO8601 date/time
+Returns Hamlib version with ISO8601 date/time
.
.TP
.BR test
commit 0f519185acd7861412cb320e423145984ba05ab9
Merge: 1049dc245 a3e23e79c
Author: Michael Black <mdb...@ya...>
Date: Wed Mar 12 23:10:20 2025 -0500
Merge pull request #1676 from GeoBaltz/fix26a
More fixes for send_morse sync
commit 1049dc2457f2c90d47012da376836803b7c19dea
Merge: f8740ddd2 ed52875c3
Author: Michael Black W9MDB <mdb...@ya...>
Date: Wed Mar 12 12:49:40 2025 -0500
Merge branch 'master' of github.com:Hamlib/Hamlib
commit f8740ddd2899388f86bc3098afc0ae9d05f297a7
Author: Michael Black W9MDB <mdb...@ya...>
Date: Wed Mar 12 12:49:17 2025 -0500
Fix FTDX101D/MP ALC scale
diff --git a/rigs/yaesu/ftdx101.c b/rigs/yaesu/ftdx101.c
index 82e5d5eea..1ae7918c6 100644
--- a/rigs/yaesu/ftdx101.c
+++ b/rigs/yaesu/ftdx101.c
@@ -173,7 +173,7 @@ struct rig_caps ftdx101d_caps =
RIG_MODEL(RIG_MODEL_FTDX101D),
.model_name = "FTDX-101D",
.mfg_name = "Yaesu",
- .version = NEWCAT_VER ".21",
+ .version = NEWCAT_VER ".22",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
@@ -238,6 +238,7 @@ struct rig_caps ftdx101d_caps =
.bank_qty = 0,
.chan_desc_sz = 0,
.rfpower_meter_cal = FTDX101D_RFPOWER_METER_WATTS_CAL,
+ .alc_cal = FTDX101D_ALC_METER_CAL,
.str_cal = FTDX101D_STR_CAL,
.swr_cal = FTDX101D_SWR_CAL,
.chan_list = {
diff --git a/rigs/yaesu/ftdx101.h b/rigs/yaesu/ftdx101.h
index 64a433a3c..f0e3c3972 100644
--- a/rigs/yaesu/ftdx101.h
+++ b/rigs/yaesu/ftdx101.h
@@ -73,6 +73,15 @@
RIG_OP_UP|RIG_OP_DOWN|RIG_OP_BAND_UP|RIG_OP_BAND_DOWN|\
RIG_OP_TO_VFO|RIG_OP_FROM_VFO|RIG_OP_TOGGLE)
+#define FTDX101D_ALC_METER_CAL \
+{ \
+ 2, \
+ { \
+ {0, 0.0f}, \
+ {121, 1.0f} \
+ } \
+}
+
#define FTDX101D_RFPOWER_METER_CAL \
{ \
6, \
commit ed52875c3d6988917b84cae6f96f2440063453e3
Merge: 43f8afa6a c2d3202ff
Author: Michael Black <mdb...@ya...>
Date: Mon Mar 10 09:24:53 2025 -0500
Merge pull request #1679 from gereta/patch-3
Update skywatcher.h - Added coordinates for parking position
commit c2d3202ffb0f4c51431b982ca023a586fcdbafc0
Author: gereta <355...@us...>
Date: Mon Mar 10 08:18:46 2025 +0100
Update skywatcher.h - Added coordinates for parking position
Added coordinates for parking position
diff --git a/rotators/skywatcher/skywatcher.h b/rotators/skywatcher/skywatcher.h
index 2164098ff..70c6c5dfc 100644
--- a/rotators/skywatcher/skywatcher.h
+++ b/rotators/skywatcher/skywatcher.h
@@ -20,6 +20,9 @@
#ifndef HAMLIB_SKYWATCHER_H
#define HAMLIB_SKYWATCHER_H 1
+#define SKYWATCHER_PARK_AZ 0
+#define SKYWATCHER_PARK_EL 0
+
#include "rotator.h"
extern const struct rot_caps skywatcher_rot_caps;
commit a3e23e79cd97b4c48ea56cc2776b68d86db61a08
Author: George Baltz N3GB <Geo...@gm...>
Date: Tue Mar 4 21:32:34 2025 -0500
Minor cleanups/fixes
Return status from rig_send_morse
Remove duplicate include and some dead code
Avoid future NULL dereference in error cases
diff --git a/src/rig.c b/src/rig.c
index dffbcbcbc..0e5aa74e7 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -61,9 +61,8 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
-#include "mutex.h"
-#include <hamlib/rig.h>
+#include "mutex.h"
#include "serial.h"
#include "parallel.h"
#include "network.h"
@@ -957,9 +956,7 @@ int HAMLIB_API rig_open(RIG *rig)
{
struct rig_caps *caps;
struct rig_state *rs;
- hamlib_port_t *rp = RIGPORT(rig);
- hamlib_port_t *pttp = PTTPORT(rig);
- hamlib_port_t *dcdp = DCDPORT(rig);
+ hamlib_port_t *rp, *pttp, *dcdp;
int status = RIG_OK;
value_t parm_value;
//unsigned int net1, net2, net3, net4, net5, net6, net7, net8, port;
@@ -975,6 +972,9 @@ int HAMLIB_API rig_open(RIG *rig)
caps = rig->caps;
rs = STATE(rig);
+ rp = RIGPORT(rig);
+ pttp = PTTPORT(rig);
+ dcdp = DCDPORT(rig);
rp->rig = rig;
rs->rigport_deprecated.rig = rig;
@@ -1685,9 +1685,7 @@ int HAMLIB_API rig_open(RIG *rig)
int HAMLIB_API rig_close(RIG *rig)
{
const struct rig_caps *caps;
- hamlib_port_t *rp = RIGPORT(rig);
- hamlib_port_t *pttp = PTTPORT(rig);
- hamlib_port_t *dcdp = DCDPORT(rig);
+ hamlib_port_t *rp, *pttp, *dcdp;
struct rig_state *rs;
if (!rig || !rig->caps)
@@ -1701,6 +1699,9 @@ int HAMLIB_API rig_close(RIG *rig)
caps = rig->caps;
rs = STATE(rig);
+ rp = RIGPORT(rig);
+ pttp = PTTPORT(rig);
+ dcdp = DCDPORT(rig);
if (!rs->comm_state)
{
@@ -7476,9 +7477,10 @@ int HAMLIB_API rig_send_morse(RIG *rig, vfo_t vfo, const char *msg)
LOCK(1);
retcode = caps->send_morse(rig, vfo, msg);
LOCK(0);
+#else
+ retcode = push(rs->fifo_morse, msg);
#endif
- push(rs->fifo_morse, msg);
- RETURNFUNC(RIG_OK);
+ RETURNFUNC(retcode);
}
if (!caps->set_vfo)
@@ -8404,20 +8406,6 @@ void rig_lock(RIG *rig, int lock)
struct rig_state *rs = STATE(rig);
-#if 0
- if (rs->multicast == NULL)
- {
- rig_debug(RIG_DEBUG_BUG, "%s: locking skipped, lock = %d\n", __func__, lock);
- return;
- } // not initialized yet
-
- if (!rs->multicast->mutex_initialized)
- {
- rs->multicast->mutex = initializer;
- rs->multicast->mutex_initialized = 1;
- }
-#endif
-
if (lock)
{
pthread_mutex_lock(&rs->api_mutex);
@@ -9058,7 +9046,7 @@ int morse_data_handler_set_keyspd(RIG *rig, int keyspd)
* Get the address of a structure without relying on changeable
* internal data organization.
*
- * \retval The address of the enumed structure
+ * \retval The address of the enumed structure, NULL if error
*
* Note: This is meant for use by the HAMLIB_???PORT macros mostly. Only
* compatibility with them is supported.
@@ -9067,6 +9055,13 @@ int morse_data_handler_set_keyspd(RIG *rig, int keyspd)
*/
HAMLIB_EXPORT(void *) rig_data_pointer(RIG *rig, rig_ptrx_t idx)
{
+
+ if (!rig)
+ {
+ rig_debug(RIG_DEBUG_ERR, "%s: missing rig\n", __func__);
+ return NULL;
+ }
+
switch (idx)
{
case RIG_PTRX_RIGPORT:
commit 9b2904c0b676dc4ed57bd09e300b6a1e81b930c8
Author: George Baltz N3GB <Geo...@gm...>
Date: Tue Mar 4 16:58:43 2025 -0500
Fix timeout in kenwood_stop_morse
Add "KY0" to exceptions.
diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c
index d2e444a45..83a93270c 100644
--- a/rigs/kenwood/kenwood.c
+++ b/rigs/kenwood/kenwood.c
@@ -392,6 +392,7 @@ transaction_write:
skip |= strncmp(cmdstr, "RD", 2) == 0;
skip |= strncmp(cmdstr, "KYW", 3) == 0;
skip |= strncmp(cmdstr, "KY ", 3) == 0;
+ skip |= strncmp(cmdstr, "KY0", 3) == 0;
skip |= strncmp(cmdstr, "KY2", 3) == 0;
skip |= strncmp(cmdstr, "PS1", 3) == 0;
skip |= strncmp(cmdstr, "PS0", 3) == 0;
@@ -400,7 +401,8 @@ transaction_write:
if (skip)
{
// most command we give them a little time -- but not KY
- if (strncmp(cmdstr, "KY ", 3) != 0 && strncmp(cmdstr, "KY2", 3) != 0)
+ if (strncmp(cmdstr, "KY", 2) != 0 || (cmdstr[2] != ' ' && cmdstr[2] != '0'
+ && cmdstr[2] != '2'))
{
hl_usleep(200 * 1000); // give little settle time for these commands
}
commit 5caa22b79a5532b2848a8e6689e0be2b36a94fde
Author: George Baltz N3GB <Geo...@gm...>
Date: Mon Mar 3 15:49:12 2025 -0500
Add locking to rig_stop_morse
and rig_wait_morse
diff --git a/src/rig.c b/src/rig.c
index bddb74d07..dffbcbcbc 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -7545,14 +7545,18 @@ int HAMLIB_API rig_stop_morse(RIG *rig, vfo_t vfo)
resetFIFO(rs->fifo_morse); // clear out the CW queue
+ LOCK(1);
if (vfo == RIG_VFO_CURR
|| vfo == rs->current_vfo)
{
- RETURNFUNC(caps->stop_morse(rig, vfo));
+ retcode = caps->stop_morse(rig, vfo);
+ LOCK(0);
+ RETURNFUNC(retcode);
}
if (!caps->set_vfo)
{
+ LOCK(0);
RETURNFUNC(-RIG_ENAVAIL);
}
@@ -7562,6 +7566,7 @@ int HAMLIB_API rig_stop_morse(RIG *rig, vfo_t vfo)
if (retcode != RIG_OK)
{
+ LOCK(0);
RETURNFUNC(retcode);
}
@@ -7576,6 +7581,7 @@ int HAMLIB_API rig_stop_morse(RIG *rig, vfo_t vfo)
retcode = rc2;
}
+ LOCK(0);
RETURNFUNC(retcode);
}
@@ -7645,14 +7651,18 @@ int HAMLIB_API rig_wait_morse(RIG *rig, vfo_t vfo)
caps = rig->caps;
+ LOCK(1);
if (vfo == RIG_VFO_CURR
|| vfo == STATE(rig)->current_vfo)
{
- RETURNFUNC(wait_morse_ptt(rig, vfo));
+ retcode = wait_morse_ptt(rig, vfo);
+ LOCK(0);
+ RETURNFUNC(retcode);
}
if (!caps->set_vfo)
{
+ LOCK(0);
RETURNFUNC(-RIG_ENAVAIL);
}
@@ -7662,6 +7672,7 @@ int HAMLIB_API rig_wait_morse(RIG *rig, vfo_t vfo)
if (retcode != RIG_OK)
{
+ LOCK(0);
RETURNFUNC(retcode);
}
@@ -7676,6 +7687,7 @@ int HAMLIB_API rig_wait_morse(RIG *rig, vfo_t vfo)
retcode = rc2;
}
+ LOCK(0);
RETURNFUNC(retcode);
}
commit 43f8afa6a4f13fbfb96c2ec75f25ddfb5da9a8e2
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Mar 4 14:43:40 2025 -0600
Add simicr8600
diff --git a/simulators/Makefile.am b/simulators/Makefile.am
index 489484799..a58e79147 100644
--- a/simulators/Makefile.am
+++ b/simulators/Makefile.am
@@ -8,7 +8,7 @@ DISTCLEANFILES =
bin_PROGRAMS =
-check_PROGRAMS = simelecraft simicgeneric simkenwood simyaesu simic9100 simic9700 simft991 simftdx1200 simftdx3000 simjupiter simpowersdr simid5100 simft736 simftdx5000 simtmd700 simrotorez simspid simft817 simts590 simft847 simic7300 simic7000 simic7100 simic7200 simatd578 simic905 simts450 simic7600 simic7610 simic705 simts950 simts990 simic7851 simftdx101 simxiegug90 simqrplabs simft818 simic275 simtrusdx simft1000 simtmd710 simts890 simxiegux108g simxiegux6100 simic910 simft450 simelecraftk4 simmicom simflex simft710 simic2730 simorion simpmr171 simic7700 simft990 simpstrotator simeasycomm
+check_PROGRAMS = simelecraft simicgeneric simkenwood simyaesu simic9100 simic9700 simft991 simftdx1200 simftdx3000 simjupiter simpowersdr simid5100 simft736 simftdx5000 simtmd700 simrotorez simspid simft817 simts590 simft847 simic7300 simic7000 simic7100 simic7200 simatd578 simic905 simts450 simic7600 simic7610 simic705 simts950 simts990 simic7851 simftdx101 simxiegug90 simqrplabs simft818 simic275 simtrusdx simft1000 simtmd710 simts890 simxiegux108g simxiegux6100 simic910 simft450 simelecraftk4 simmicom simflex simft710 simic2730 simorion simpmr171 simic7700 simft990 simpstrotator simeasycomm simicr8600
simelecraft_SOURCES = simelecraft.c
simkenwood_SOURCES = simkenwood.c
diff --git a/simulators/simicr8600.c b/simulators/simicr8600.c
new file mode 100644
index 000000000..8a29e2ffd
--- /dev/null
+++ b/simulators/simicr8600.c
@@ -0,0 +1,485 @@
+// simicom will show the pts port to use for rigctl on Unix
+// using virtual serial ports on Windows is to be developed yet
+// Needs a lot of improvement to work on all Icoms
+// gcc -g -Wall -o simicom simicom.c -lhamlib
+// On mingw in the hamlib src directory
+// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32
+#define _XOPEN_SOURCE 700
+// since we are POSIX here we need this
+#if 0
+struct ip_mreq
+{
+ int dummy;
+};
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/time.h>
+#include <hamlib/rig.h>
+#include "../src/misc.h"
+#include "sim.h"
+
+#define BUFSIZE 256
+//#define X25
+
+int civ_731_mode = 0;
+vfo_t current_vfo = RIG_VFO_A;
+int split = 0;
+
+// we make B different from A to ensure we see a difference at startup
+float freqA = 14074000;
+float freqB = 14074500;
+mode_t modeA = RIG_MODE_CW;
+mode_t modeB = RIG_MODE_USB;
+int datamodeA = 0;
+int datamodeB = 0;
+pbwidth_t widthA = 0;
+pbwidth_t widthB = 1;
+ant_t ant_curr = 0;
+int ant_option = 0;
+int ptt = 0;
+
+void dumphex(const unsigned char *buf, int n)
+{
+ for (int i = 0; i < n; ++i) { printf("%02x ", buf[i]); }
+
+ printf("\n");
+}
+
+int
+frameGet(int fd, unsigned char *buf)
+{
+ int i = 0;
+ memset(buf, 0, BUFSIZE);
+ unsigned char c;
+
+ while (read(fd, &c, 1) > 0)
+ {
+ buf[i++] = c;
+ //printf("i=%d, c=0x%02x\n",i,c);
+
+ if (c == 0xfd)
+ {
+ dumphex(buf, i);
+ return i;
+ }
+ }
+
+ printf("Error %s\n", strerror(errno));
+
+ return 0;
+}
+
+void frameParse(int fd, unsigned char *frame, int len)
+{
+ double freq;
+
+ if (len == 0)
+ {
+ printf("%s: len==0\n", __func__);
+ return;
+ }
+
+ dumphex(frame, len);
+
+ if (frame[0] != 0xfe && frame[1] != 0xfe)
+ {
+ printf("expected fe fe, got ");
+ dumphex(frame, len);
+ return;
+ }
+
+ switch (frame[4])
+ {
+ case 0x03:
+
+ //from_bcd(frameackbuf[2], (civ_731_mode ? 4 : 5) * 2);
+ if (current_vfo == RIG_VFO_A || current_vfo == RIG_VFO_MAIN)
+ {
+ printf("get_freqA\n");
+ to_bcd(&frame[5], (long long)freqA, (civ_731_mode ? 4 : 5) * 2);
+ }
+ else
+ {
+ printf("get_freqB\n");
+ to_bcd(&frame[5], (long long)freqB, (civ_731_mode ? 4 : 5) * 2);
+ }
+
+ frame[10] = 0xfd;
+ WRITE(fd, frame, 11);
+
+ break;
+
+ case 0x04:
+ if (current_vfo == RIG_VFO_A || current_vfo == RIG_VFO_MAIN)
+ {
+ printf("get_modeA\n");
+ frame[5] = modeA;
+ frame[6] = widthA;
+ }
+ else
+ {
+ printf("get_modeB\n");
+ frame[5] = modeB;
+ frame[6] = widthB;
+ }
+
+ frame[7] = 0xfd;
+ WRITE(fd, frame, 8);
+ break;
+
+ case 0x05:
+ freq = from_bcd(&frame[5], (civ_731_mode ? 4 : 5) * 2);
+ printf("set_freq to %.0f\n", freq);
+
+ if (current_vfo == RIG_VFO_A || current_vfo == RIG_VFO_MAIN) { freqA = freq; }
+ else { freqB = freq; }
+
+ frame[4] = 0xfb;
+ frame[5] = 0xfd;
+ WRITE(fd, frame, 6);
+ break;
+
+ case 0x06:
+ if (current_vfo == RIG_VFO_A || current_vfo == RIG_VFO_MAIN) { modeA = frame[6]; }
+ else { modeB = frame[6]; }
+
+ frame[4] = 0xfb;
+ frame[5] = 0xfd;
+ WRITE(fd, frame, 6);
+ break;
+
+ case 0x07:
+ switch (frame[5])
+ {
+ case 0x00: current_vfo = RIG_VFO_VFO; break;
+
+ case 0x01: current_vfo = RIG_VFO_MEM; break;
+
+ printf("set_vfo to %s\n", rig_strvfo(current_vfo));
+
+ frame[4] = 0xfb;
+ frame[5] = 0xfd;
+ WRITE(fd, frame, 6);
+ break;
+
+ case 0x0f:
+ if (frame[5] == 0) { split = 0; }
+ else { split = 1; }
+
+ printf("set split %d\n", 1);
+ frame[4] = 0xfb;
+ frame[5] = 0xfd;
+ WRITE(fd, frame, 6);
+ break;
+
+ case 0x12: // we're simulating the 3-byte version -- not the 2-byte
+ if (frame[5] != 0xfd)
+ {
+ printf("Set ant %d\n", -1);
+ ant_curr = frame[5];
+ ant_option = frame[6];
+ dump_hex(frame, 8);
+ }
+ else
+ {
+ printf("Get ant\n");
+ }
+
+ frame[5] = ant_curr;
+ frame[6] = ant_option;
+ frame[7] = 0xfd;
+ printf("n=WRITE 8 bytes\n");
+ dump_hex(frame, 8);
+ WRITE(fd, frame, 8);
+ break;
+
+ case 0x14:
+ switch (frame[5])
+ {
+ static int power_level = 0;
+ static int level = 0;
+
+ case 0x01:
+ level = 255;
+ printf("Using AF level %d\n", level);
+ to_bcd(&frame[6], (long long) level, 2);
+ frame[8] = 0xfd;
+ WRITE(fd, frame, 9);
+ break;
+
+ case 0x0a:
+ printf("Using power level %d\n", power_level);
+ power_level += 10;
+
+ if (power_level > 250) { power_level = 0; }
+
+ to_bcd(&frame[6], (long long)power_level, 2);
+ frame[8] = 0xfd;
+ WRITE(fd, frame, 9);
+ break;
+ }
+
+ break;
+
+ case 0x15:
+ switch (frame[5])
+ {
+ static int meter_level = 0;
+
+ case 0x11:
+ printf("Using meter level %d\n", meter_level);
+ meter_level += 10;
+
+ if (meter_level > 250) { meter_level = 0; }
+
+ to_bcd(&frame[6], (long long)meter_level, 2);
+ frame[8] = 0xfd;
+ WRITE(fd, frame, 9);
+ break;
+ }
+
+ break;
+
+ case 0x18: // miscellaneous things
+ frame[5] = 1;
+ frame[6] = 0xfd;
+ WRITE(fd, frame, 7);
+ break;
+
+ case 0x1a: // miscellaneous things
+ switch (frame[5])
+ {
+ case 0x03: // width
+ if (current_vfo == RIG_VFO_A || current_vfo == RIG_VFO_MAIN) { frame[6] = widthA; }
+ else { frame[6] = widthB; }
+
+ frame[7] = 0xfd;
+ WRITE(fd, frame, 8);
+ break;
+
+ case 0x04: // IC7200 data mode
+ frame[6] = 0;
+ frame[7] = 0;
+ frame[8] = 0xfd;
+ WRITE(fd, frame, 9);
+ break;
+
+ case 0x07: // satmode
+ frame[6] = 0;
+ frame[7] = 0xfd;
+ WRITE(fd, frame, 8);
+ break;
+
+ }
+
+ break;
+
+ case 0x1c:
+ switch (frame[5])
+ {
+ case 0:
+ if (frame[6] == 0xfd)
+ {
+ frame[6] = ptt;
+ frame[7] = 0xfd;
+ WRITE(fd, frame, 8);
+ }
+ else
+ {
+ ptt = frame[6];
+ frame[7] = 0xfb;
+ frame[8] = 0xfd;
+ WRITE(fd, frame, 9);
+ }
+
+ break;
+
+ }
+
+ break;
+
+
+#ifdef X25
+
+ case 0x25:
+ if (frame[6] == 0xfd)
+ {
+ if (frame[5] == 0x00)
+ {
+ to_bcd(&frame[6], (long long)freqA, (civ_731_mode ? 4 : 5) * 2);
+ printf("get_freqA=%.0f\n", freqA);
+ }
+ else
+ {
+ to_bcd(&frame[6], (long long)freqB, (civ_731_mode ? 4 : 5) * 2);
+ printf("get_freqB=%.0f\n", freqB);
+ }
+
+ frame[11] = 0xfd;
+ WRITE(fd, frame, 12);
+ }
+ else
+ {
+ freq = from_bcd(&frame[6], (civ_731_mode ? 4 : 5) * 2);
+ printf("set_freq to %.0f\n", freq);
+
+ if (frame[5] == 0x00) { freqA = freq; }
+ else { freqB = freq; }
+
+ frame[4] = 0xfb;
+ frame[5] = 0xfd;
+ WRITE(fd, frame, 6);
+ }
+
+ break;
+
+ case 0x26:
+ for (int i = 0; i < 6; ++i) { printf("%02x:", frame[i]); }
+
+ if (frame[6] == 0xfd) // then a query
+ {
+ for (int i = 0; i < 6; ++i) { printf("%02x:", frame[i]); }
+
+ frame[6] = frame[5] == 0 ? modeA : modeB;
+ frame[7] = frame[5] == 0 ? datamodeA : datamodeB;
+ frame[8] = 0xfb;
+ frame[9] = 0xfd;
+ WRITE(fd, frame, 10);
+ }
+ else
+ {
+ for (int i = 0; i < 12; ++i) { printf("%02x:", frame[i]); }
+
+ if (frame[5] == 0)
+ {
+ modeA = frame[6];
+ datamodeA = frame[7];
+ }
+ else
+ {
+ modeB = frame[6];
+ datamodeB = frame[7];
+ }
+
+ frame[4] = 0xfb;
+ frame[5] = 0xfd;
+ WRITE(fd, frame, 6);
+ }
+
+ printf("\n");
+ break;
+#else
+
+ case 0x25:
+ frame[4] = 0xfa;
+ frame[5] = 0xfd;
+ break;
+
+ case 0x26:
+ frame[4] = 0xfa;
+ frame[5] = 0xfd;
+ break;
+#endif
+
+ default: printf("cmd 0x%02x unknown\n", frame[4]);
+ }
+
+ // don't care about the rig type yet
+
+}
+
+#if defined(WIN32) || defined(_WIN32)
+int openPort(char *comport) // doesn't matter for using pts devices
+{
+ int fd;
+ fd = open(comport, O_RDWR);
+
+ if (fd < 0)
+ {
+ perror(comport);
+ }
+
+ return fd;
+}
+
+#else
+int openPort(char *comport) // doesn't matter for using pts devices
+{
+ int fd = posix_openpt(O_RDWR);
+ char *name = ptsname(fd);
+
+ if (name == NULL)
+ {
+ perror("pstname");
+ return -1;
+ }
+
+ printf("name=%s\n", name);
+
+ if (fd == -1 || grantpt(fd) == -1 || unlockpt(fd) == -1)
+ {
+ perror("posix_openpt");
+ return -1;
+ }
+
+ return fd;
+}
+#endif
+
+void rigStatus()
+{
+ char vfoa = current_vfo == RIG_VFO_A ? '*' : ' ';
+ char vfob = current_vfo == RIG_VFO_B ? '*' : ' ';
+ printf("%cVFOA: mode=%d datamode=%d width=%ld freq=%.0f\n", vfoa, modeA,
+ datamodeA,
+ widthA,
+ freqA);
+ printf("%cVFOB: mode=%d datamode=%d width=%ld freq=%.0f\n", vfob, modeB,
+ datamodeB,
+ widthB,
+ freqB);
+}
+
+int main(int argc, char **argv)
+{
+ unsigned char buf[256];
+ int fd = openPort(argv[1]);
+
+ printf("%s: %s\n", argv[0], rig_version());
+#ifdef X25
+ printf("x25/x26 command recognized\n");
+#else
+ printf("x25/x26 command rejected\n");
+#endif
+#if defined(WIN32) || defined(_WIN32)
+
+ if (argc != 2)
+ {
+ printf("Missing comport argument\n");
+ printf("%s [comport]\n", argv[0]);
+ exit(1);
+ }
+
+#endif
+
+ while (1)
+ {
+ int len = frameGet(fd, buf);
+
+ if (len <= 0)
+ {
+ close(fd);
+ fd = openPort(argv[1]);
+ }
+
+ frameParse(fd, buf, len);
+ rigStatus();
+ }
+
+ return 0;
+}
commit 7269ba62647a613ba7b63fc6ddbd2070ba7f9db5
Merge: 701d6bf47 f2f947c51
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Mar 4 14:42:32 2025 -0600
Merge branch 'master' of github.com:Hamlib/Hamlib
commit 701d6bf477f784192684c8035cd874d10966a5e6
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Mar 4 14:41:31 2025 -0600
Hopefully fix CODAN NGS set_freq/get_freq
diff --git a/rigs/codan/codan.c b/rigs/codan/codan.c
index a311105d9..996d2c595 100644
--- a/rigs/codan/codan.c
+++ b/rigs/codan/codan.c
@@ -55,7 +55,7 @@ int codan_transaction(RIG *rig, char *cmd, int expected, char **result)
// Seems the 2110 wants CR instead of LF
if (rig->caps->rig_model == RIG_MODEL_CODAN_2110 || rig->caps->rig_model == RIG_MODEL_CODAN_NGT)
{
- SNPRINTF(cmd_buf, sizeof(cmd_buf), "%s%c", cmd, 0x0d);
+ SNPRINTF(cmd_buf, sizeof(cmd_buf), "%s%c%c", cmd, 0x0d, 0x0a);
}
else
{
@@ -170,7 +170,7 @@ int codan_init(RIG *rig)
RETURNFUNC2(RIG_OK);
}
-int codan_set_freq_2110(RIG *rig, vfo_t vfo, freq_t freq)
+int codan_set_freq_ngt(RIG *rig, vfo_t vfo, freq_t freq)
{
char cmd_buf[MAXCMDLEN];
int retval;
@@ -179,7 +179,7 @@ int codan_set_freq_2110(RIG *rig, vfo_t vfo, freq_t freq)
rig_strvfo(vfo), freq);
// Purportedly can't do split so we just set VFOB=VFOA
- SNPRINTF(cmd_buf, sizeof(cmd_buf), "\rfreq %.0f", freq / 1000);
+ SNPRINTF(cmd_buf, sizeof(cmd_buf), "\rfreq %.3f", freq / 1000);
char *response = NULL;
retval = codan_transaction(rig, cmd_buf, 0, &response);
@@ -207,9 +207,9 @@ int codan_open(RIG *rig)
codan_transaction(rig, "login", 1, &results);
- if (rig->caps->rig_model == RIG_MODEL_CODAN_2110)
+ if (rig->caps->rig_model == RIG_MODEL_CODAN_NGT)
{
- codan_set_freq_2110(rig, RIG_VFO_A, 14074000.0);
+ codan_set_freq_ngt(rig, RIG_VFO_A, 14074000.0);
}
else
{
@@ -385,6 +385,9 @@ int codan_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
retval = sscanf(response, "FREQ: %lg", freq);
+ if (retval == 0)
+ retval = sscanf(response, "CHAN: %lg", freq);
+
*freq *= 1000; // returned freq is in kHz
if (retval != 1)
@@ -491,7 +494,7 @@ int codan_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
return RIG_OK;
}
-int codan_set_ptt_2110(RIG *rig, vfo_t vfo, ptt_t ptt)
+int codan_set_ptt_ngs(RIG *rig, vfo_t vfo, ptt_t ptt)
{
int retval;
char cmd_buf[MAXCMDLEN];
@@ -585,7 +588,7 @@ struct rig_caps codan_ngt_caps =
RIG_MODEL(RIG_MODEL_CODAN_NGT),
.model_name = "NGT",
.mfg_name = "CODAN",
- .version = BACKEND_VER ".2",
+ .version = BACKEND_VER ".3",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
@@ -635,7 +638,7 @@ struct rig_caps codan_ngt_caps =
.rig_open = codan_open,
- .set_freq = codan_set_freq,
+ .set_freq = codan_set_freq_ngt,
.get_freq = codan_get_freq,
.set_mode = codan_set_mode,
.get_mode = codan_get_mode,
@@ -650,7 +653,7 @@ struct rig_caps codan_2110_caps =
RIG_MODEL(RIG_MODEL_CODAN_2110),
.model_name = "2110",
.mfg_name = "CODAN",
- .version = BACKEND_VER ".1",
+ .version = BACKEND_VER ".0",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
@@ -699,13 +702,13 @@ struct rig_caps codan_2110_caps =
.rig_open = codan_open,
.rig_cleanup = codan_cleanup,
- .set_freq = codan_set_freq_2110,
+ .set_freq = codan_set_freq,
.get_freq = codan_get_freq,
.set_mode = codan_set_mode,
.get_mode = codan_get_mode,
- .set_ptt = codan_set_ptt_2110,
- .get_ptt = codan_get_ptt_2110,
+ .set_ptt = codan_set_ptt,
+ .get_ptt = codan_get_ptt,
.hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
};
@@ -714,7 +717,7 @@ DECLARE_INITRIG_BACKEND(codan)
rig_debug(RIG_DEBUG_VERBOSE, "%s: _init called\n", __func__);
rig_register(&codan_envoy_caps);
- rig_register(&codan_ngs_caps);
+ rig_register(&codan_ngt_caps);
rig_register(&codan_2110_caps);
rig_debug(RIG_DEBUG_VERBOSE, "%s: _init back from rig_register\n", __func__);
diff --git a/rigs/codan/codan.h b/rigs/codan/codan.h
index 96ae9e10d..2338be809 100644
--- a/rigs/codan/codan.h
+++ b/rigs/codan/codan.h
@@ -35,7 +35,7 @@
#define CODAN_DATA_LEN 64
extern struct rig_caps codan_envoy_caps;
-extern struct rig_caps codan_ngs_caps;
+extern struct rig_caps codan_ngt_caps;
extern struct rig_caps codan_2021_caps;
struct codan_priv_data {
diff --git a/src/rig.c b/src/rig.c
index 6e772fcf0..c016f30f4 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -1551,9 +1551,11 @@ int HAMLIB_API rig_open(RIG *rig)
if (ICOM_EXCEPTIONS) { myvfo = RIG_VFO_MAIN_A; }
+ if ((STATE(rig)->vfo_list & RIG_VFO_VFO) == RIG_VFO_VFO) { myvfo = RIG_VFO_VFO; }
+
retval = rig_get_freq(rig, myvfo, &freq);
- if (retval == RIG_OK && rig->caps->rig_model != RIG_MODEL_F6K)
+ if (retval == RIG_OK && rig->caps->rig_model != RIG_MODEL_F6K && ((STATE(rig)->vfo_list & RIG_VFO_VFO) == RIG_VFO_VFO))
{
split_t split = RIG_SPLIT_OFF;
vfo_t tx_vfo = RIG_VFO_NONE;
commit 3dbb7011d1a2c14cc0f2351c321b66787d51e9f3
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Mar 1 16:42:15 2025 -0600
Fix NGT caps name
diff --git a/rigs/codan/codan.c b/rigs/codan/codan.c
index 53fa82f6d..a311105d9 100644
--- a/rigs/codan/codan.c
+++ b/rigs/codan/codan.c
@@ -580,7 +580,7 @@ struct rig_caps codan_envoy_caps =
.hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
};
-struct rig_caps codan_ngs_caps =
+struct rig_caps codan_ngt_caps =
{
RIG_MODEL(RIG_MODEL_CODAN_NGT),
.model_name = "NGT",
commit 6b11c7e970ba9f7a348ba4836d94bfcf177f2ece
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Mar 1 16:40:14 2025 -0600
Remove ptt from CODAN NGS -- does not have it
diff --git a/rigs/codan/codan.c b/rigs/codan/codan.c
index bf7078eaf..53fa82f6d 100644
--- a/rigs/codan/codan.c
+++ b/rigs/codan/codan.c
@@ -515,11 +515,6 @@ int codan_set_ptt_2110(RIG *rig, vfo_t vfo, ptt_t ptt)
return RIG_OK;
}
-
-
-
-
-
struct rig_caps codan_envoy_caps =
{
RIG_MODEL(RIG_MODEL_CODAN_ENVOY),
@@ -590,7 +585,7 @@ struct rig_caps codan_ngs_caps =
RIG_MODEL(RIG_MODEL_CODAN_NGT),
.model_name = "NGT",
.mfg_name = "CODAN",
- .version = BACKEND_VER ".1",
+ .version = BACKEND_VER ".2",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
@@ -638,13 +633,15 @@ struct rig_caps codan_ngs_caps =
.rig_init = codan_init,
.rig_cleanup = codan_cleanup,
+ .rig_open = codan_open,
+
.set_freq = codan_set_freq,
.get_freq = codan_get_freq,
.set_mode = codan_set_mode,
.get_mode = codan_get_mode,
- .set_ptt = codan_set_ptt,
- .get_ptt = codan_get_ptt,
+ //.set_ptt = codan_set_ptt, // does not have it
+ //.get_ptt = codan_get_ptt,
.hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
};
commit f2f947c51d45f5596afd0b8b3c8df7c3d88d93dd
Merge: 3d4664780 0147da5a3
Author: Michael Black <mdb...@ya...>
Date: Fri Feb 28 06:13:46 2025 -0600
Merge pull request #1675 from GeoBaltz/fix26
DO NOT MERGE!
commit 0147da5a3ca8dc0f874d2a43ff5a2e702bbc4f41
Author: George Baltz N3GB <Geo...@gm...>
Date: Fri Feb 28 05:29:44 2025 -0500
Replace rs->multicast->mutex with a dedicated mutex for the API.
Use PTHREAD_MUTEX_RECURSIVE and change LOCK() to always call rig_lock().
Still needs a reliable way to determine availability.
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index 6db75e359..ea6bd8db0 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -2891,6 +2891,7 @@ struct rig_state {
struct timespec freq_event_elapsed;
int freq_skip; /*!< allow frequency skip for gpredict RX/TX freq set */
client_t client;
+ pthread_mutex_t api_mutex; // Lock for any API entry
// New rig_state items go before this line ============================================
};
diff --git a/src/rig.c b/src/rig.c
index 6232a46b7..5234e3f3c 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -171,11 +171,21 @@ const char hamlib_copyright[231] = /* hamlib 1.2 ABI specifies 231 bytes */
#define ICOM_EXCEPTIONS (rig->caps->rig_model == RIG_MODEL_IC9700 || rig->caps->rig_model == RIG_MODEL_IC9100 || rig->caps->rig_model == RIG_MODEL_IC910)
+// If the OS/library supports it, use a recursive mutex for the main lock.
+// This eliminates depth races, and guards against multiple app threads, too.
+// Set define to 0 to use depth-based locking. It should be deduced from the
+// environment, but I can't find a fine-grained enough parameter. Should be
+// OK on any POSIX-2017 or later system.
+#define USE_RECURSIVE_MUTEX 1
+#if USE_RECURSIVE_MUTEX
+#define LOCK(n) rig_lock(rig,n)
+#else
// The LOCK m...
[truncated message content] |
|
From: n0nb <n0...@us...> - 2025-02-22 21:50: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 98a0184680a70aa4943ea2ba7dbcf8ca03bebf1f (commit)
via 84c656edd1a04a0b9c6f558274a108496b7d7521 (commit)
via e93d368fcbb0c28254de48ff5bad93345c66874c (commit)
via f2fe51fac889c2c9606a164a69029d7b4736a143 (commit)
via 9a2f72fc328760b6c47cbcfeb81af22bd3b92805 (commit)
via e95cc440d73964567a27b3d58bb48c826a46284b (commit)
via 2070edab861bfb018fcb613d13565f4512618ad0 (commit)
via 2d3f5fe8a153c134f289d676618daf3eb3103fde (commit)
via 3fcf3006296ef6f768dcc558e19bed5457819ac8 (commit)
from a6e280ca2ea3b49ada7d52bfd0fabf9633a18fb2 (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 98a0184680a70aa4943ea2ba7dbcf8ca03bebf1f
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Feb 18 09:10:26 2025 -0600
Remote -w451 flag -- not available in all versions of gcc
diff --git a/bindings/Makefile.am b/bindings/Makefile.am
index d5bd8aca8..34272b70c 100644
--- a/bindings/Makefile.am
+++ b/bindings/Makefile.am
@@ -4,7 +4,7 @@
#
AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/include -I$(top_srcdir)/bindings \
- $(TCL_INCLUDE_SPEC) $(PYTHON_CPPFLAGS) -w451
+ $(TCL_INCLUDE_SPEC) $(PYTHON_CPPFLAGS)
AM_CFLAGS = @AM_CPPFLAGS@ -fno-strict-aliasing
AM_CXXFLAGS = -O2
diff --git a/src/rig.c b/src/rig.c
index 739a17fce..6e772fcf0 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -8769,7 +8769,7 @@ void *morse_data_handler(void *arg)
int nloops = 10;
MUTEX_LOCK(morse_mutex); // wait until the write is idle
- rig_lock(rig, 1);
+ rig_lock(rig, 1);
do
{
result = rig->caps->send_morse(rig, RIG_VFO_CURR, c);
commit 84c656edd1a04a0b9c6f558274a108496b7d7521
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sun Feb 16 10:57:11 2025 -0600
Fix CODAN 2110 -- correct model# and all the minor changes to the CICS protocol
diff --git a/NEWS b/NEWS
index 07d28147a..9ab81f35b 100644
--- a/NEWS
+++ b/NEWS
@@ -14,7 +14,7 @@ Version 5.x -- future
Version 4.6.3
* Fix rigctl showing hamlib_verson when connecting to rigctld
- * Add rig CODAN 2021
+ * Add rig CODAN 2110
Version 4.6.2
* Add missing levels for IC746/PRO RIG_LEVEL_RFPOWER_METER,RIG_LEVEL_RFPOWER_METER_WATTS,RIG_LEVEL_SWR,RIG_LEVEL_ALC
diff --git a/include/hamlib/riglist.h b/include/hamlib/riglist.h
index 88d0b28ce..b7a441c0a 100644
--- a/include/hamlib/riglist.h
+++ b/include/hamlib/riglist.h
@@ -657,7 +657,7 @@
#define RIG_BACKEND_CODAN "codan"
#define RIG_MODEL_CODAN_ENVOY RIG_MAKE_MODEL(RIG_CODAN, 1)
#define RIG_MODEL_CODAN_NGT RIG_MAKE_MODEL(RIG_CODAN, 2)
-#define RIG_MODEL_CODAN_2021 RIG_MAKE_MODEL(RIG_CODAN, 3)
+#define RIG_MODEL_CODAN_2110 RIG_MAKE_MODEL(RIG_CODAN, 3)
/*
* Gomspace
diff --git a/rigs/codan/codan.c b/rigs/codan/codan.c
index 50dcce4a1..84ae99e86 100644
--- a/rigs/codan/codan.c
+++ b/rigs/codan/codan.c
@@ -48,21 +48,21 @@ int codan_transaction(RIG *rig, char *cmd, int expected, char **result)
int retval;
hamlib_port_t *rp = RIGPORT(rig);
struct codan_priv_data *priv = STATE(rig)->priv;
- //int retry = 3;
+ int retry = 3;
rig_debug(RIG_DEBUG_VERBOSE, "%s: cmd=%s\n", __func__, cmd);
- // Seems the 2021 wants LF instead of CR
- if (rig->caps->rig_model == RIG_MODEL_CODAN_2021)
+ // Seems the 2110 wants CR instead of LF
+ if (rig->caps->rig_model == RIG_MODEL_CODAN_2110)
{
- SNPRINTF(cmd_buf, sizeof(cmd_buf), "%s%d", cmd, 0x0a);
+ SNPRINTF(cmd_buf, sizeof(cmd_buf), "%s%c", cmd, 0x0d);
}
else
{
- SNPRINTF(cmd_buf, sizeof(cmd_buf), "%s%d", cmd, 0x0d);
+ SNPRINTF(cmd_buf, sizeof(cmd_buf), "%s%c", cmd, 0x0a);
}
- rig_flush(rp);
+repeat:
retval = write_block(rp, (unsigned char *) cmd_buf, strlen(cmd_buf));
hl_usleep(rig->caps->post_write_delay);
@@ -83,6 +83,10 @@ again1:
if (strncmp(cmd, priv->ret_data, strlen(cmd)) == 0) { goto again1; }
+ if (strstr(priv->ret_data, "ERROR") && --retry > 0) { goto repeat; }
+
+ if (strstr(priv->ret_data, "CHAN") && --retry > 0) { goto again1; }
+
if (retval < 0)
{
return retval;
@@ -97,6 +101,10 @@ again2:
if (strncmp(cmd, priv->ret_data, strlen(cmd)) == 0) { goto again2; }
+ if (strstr(priv->ret_data, "ERROR") && --retry > 0) { goto repeat; }
+
+ if (strstr(priv->ret_data, "CHAN")) { goto again2; }
+
if (retval < 0)
{
return retval;
@@ -162,6 +170,28 @@ int codan_init(RIG *rig)
RETURNFUNC2(RIG_OK);
}
+int codan_set_freq_2110(RIG *rig, vfo_t vfo, freq_t freq)
+{
+ char cmd_buf[MAXCMDLEN];
+ int retval;
+
+ rig_debug(RIG_DEBUG_VERBOSE, "%s: vfo=%s freq=%.0f\n", __func__,
+ rig_strvfo(vfo), freq);
+
+ // Purportedly can't do split so we just set VFOB=VFOA
+ SNPRINTF(cmd_buf, sizeof(cmd_buf), "\rfreq %.0f", freq / 1000);
+
+ char *response = NULL;
+ retval = codan_transaction(rig, cmd_buf, 0, &response);
+
+ if (retval < 0)
+ {
+ return retval;
+ }
+
+ return retval;
+}
+
int codan_open(RIG *rig)
{
char *results = NULL;
@@ -176,7 +206,15 @@ int codan_open(RIG *rig)
}
codan_transaction(rig, "login", 1, &results);
- codan_set_freq(rig, RIG_VFO_A, 14074000.0);
+
+ if (rig->caps->rig_model == RIG_MODEL_CODAN_2110)
+ {
+ codan_set_freq_2110(rig, RIG_VFO_A, 14074000.0);
+ }
+ else
+ {
+ codan_set_freq(rig, RIG_VFO_A, 14074000.0);
+ }
RETURNFUNC2(RIG_OK);
}
@@ -393,6 +431,38 @@ int codan_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt)
return RIG_OK;
}
+int codan_get_ptt_2110(RIG *rig, vfo_t vfo, ptt_t *ptt)
+{
+ int retval;
+ char *response = NULL;
+
+ rig_debug(RIG_DEBUG_VERBOSE, "%s: vfo=%s\n", __func__, rig_strvfo(vfo));
+
+ retval = codan_transaction(rig, "ptt", 0, &response);
+
+ if (retval != RIG_OK)
+ {
+ rig_debug(RIG_DEBUG_ERR, "%s: error response?='%s'\n", __func__, response);
+ return retval;
+ }
+
+ const char *p = strstr(response, "PTT");
+
+ if (p)
+ {
+ if (strstr(p, "OFF")) { *ptt = 0; }
+ else { *ptt = 1; }
+ }
+ else
+ {
+ rig_debug(RIG_DEBUG_ERR, "%s: unable to find Ptt in %s\n", __func__, response);
+ return -RIG_EPROTO;
+ }
+
+ return RIG_OK;
+}
+
+
/*
* codan_set_ptt
* Assumes rig!=NULL
@@ -421,6 +491,32 @@ int codan_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
return RIG_OK;
}
+int codan_set_ptt_2110(RIG *rig, vfo_t vfo, ptt_t ptt)
+{
+ int retval;
+ char cmd_buf[MAXCMDLEN];
+ char *response;
+
+ rig_debug(RIG_DEBUG_VERBOSE, "%s: ptt=%d\n", __func__, ptt);
+
+ SNPRINTF(cmd_buf, sizeof(cmd_buf), "ptt %s",
+ ptt == 0 ? "off" : "on");
+ response = NULL;
+ retval = codan_transaction(rig, cmd_buf, 0, &response);
+
+ if (retval < 0)
+ {
+ rig_debug(RIG_DEBUG_ERR, "%s: invalid response=%s\n", __func__, response);
+ return retval;
+ }
+
+ rig_debug(RIG_DEBUG_VERBOSE, "%s: cmd result=%s\n", __func__, response);
+
+ return RIG_OK;
+}
+
+
+
@@ -552,14 +648,14 @@ struct rig_caps codan_ngs_caps =
.hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
};
-struct rig_caps codan_2021_caps =
+struct rig_caps codan_2110_caps =
{
- RIG_MODEL(RIG_MODEL_CODAN_2021),
- .model_name = "2021",
+ RIG_MODEL(RIG_MODEL_CODAN_2110),
+ .model_name = "2110",
.mfg_name = "CODAN",
.version = BACKEND_VER ".0",
.copyright = "LGPL",
- .status = RIG_STATUS_ALPHA,
+ .status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
.targetable_vfo = RIG_TARGETABLE_FREQ,
.ptt_type = RIG_PTT_RIG,
@@ -603,15 +699,16 @@ struct rig_caps codan_2021_caps =
.priv = NULL,
.rig_init = codan_init,
+ .rig_open = codan_open,
.rig_cleanup = codan_cleanup,
- .set_freq = codan_set_freq,
+ .set_freq = codan_set_freq_2110,
.get_freq = codan_get_freq,
.set_mode = codan_set_mode,
.get_mode = codan_get_mode,
- .set_ptt = codan_set_ptt,
- .get_ptt = codan_get_ptt,
+ .set_ptt = codan_set_ptt_2110,
+ .get_ptt = codan_get_ptt_2110,
.hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
};
@@ -621,7 +718,7 @@ DECLARE_INITRIG_BACKEND(codan)
rig_register(&codan_envoy_caps);
rig_register(&codan_ngs_caps);
- rig_register(&codan_2021_caps);
+ rig_register(&codan_2110_caps);
rig_debug(RIG_DEBUG_VERBOSE, "%s: _init back from rig_register\n", __func__);
return RIG_OK;
diff --git a/rigs/codan/codan.h b/rigs/codan/codan.h
index b7eac8310..96ae9e10d 100644
--- a/rigs/codan/codan.h
+++ b/rigs/codan/codan.h
@@ -24,7 +24,7 @@
#include "hamlib/rig.h"
-#define BACKEND_VER "20240318"
+#define BACKEND_VER "20250216"
#define EOM "\x0d"
#define TRUE 1
commit e93d368fcbb0c28254de48ff5bad93345c66874c
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Feb 15 16:20:56 2025 -0600
Suppress swig 452 warning
diff --git a/bindings/Makefile.am b/bindings/Makefile.am
index 34272b70c..d5bd8aca8 100644
--- a/bindings/Makefile.am
+++ b/bindings/Makefile.am
@@ -4,7 +4,7 @@
#
AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/include -I$(top_srcdir)/bindings \
- $(TCL_INCLUDE_SPEC) $(PYTHON_CPPFLAGS)
+ $(TCL_INCLUDE_SPEC) $(PYTHON_CPPFLAGS) -w451
AM_CFLAGS = @AM_CPPFLAGS@ -fno-strict-aliasing
AM_CXXFLAGS = -O2
commit f2fe51fac889c2c9606a164a69029d7b4736a143
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Feb 15 16:16:46 2025 -0600
Fix codan.c some more
diff --git a/rigs/codan/codan.c b/rigs/codan/codan.c
index 99dbffe89..50dcce4a1 100644
--- a/rigs/codan/codan.c
+++ b/rigs/codan/codan.c
@@ -424,7 +424,7 @@ int codan_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
-struct rig_caps envoy_caps =
+struct rig_caps codan_envoy_caps =
{
RIG_MODEL(RIG_MODEL_CODAN_ENVOY),
.model_name = "Envoy",
@@ -489,7 +489,7 @@ struct rig_caps envoy_caps =
.hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
};
-struct rig_caps ngs_caps =
+struct rig_caps codan_ngs_caps =
{
RIG_MODEL(RIG_MODEL_CODAN_NGT),
.model_name = "NGT",
commit 9a2f72fc328760b6c47cbcfeb81af22bd3b92805
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Feb 15 16:09:15 2025 -0600
Fix codan.c
diff --git a/rigs/codan/codan.c b/rigs/codan/codan.c
index 2b64dd7be..99dbffe89 100644
--- a/rigs/codan/codan.c
+++ b/rigs/codan/codan.c
@@ -51,12 +51,16 @@ int codan_transaction(RIG *rig, char *cmd, int expected, char **result)
//int retry = 3;
rig_debug(RIG_DEBUG_VERBOSE, "%s: cmd=%s\n", __func__, cmd);
-
+
// Seems the 2021 wants LF instead of CR
if (rig->caps->rig_model == RIG_MODEL_CODAN_2021)
+ {
SNPRINTF(cmd_buf, sizeof(cmd_buf), "%s%d", cmd, 0x0a);
+ }
else
+ {
SNPRINTF(cmd_buf, sizeof(cmd_buf), "%s%d", cmd, 0x0d);
+ }
rig_flush(rp);
retval = write_block(rp, (unsigned char *) cmd_buf, strlen(cmd_buf));
@@ -76,7 +80,8 @@ again1:
"\x0a", 1, 0, 1);
rig_debug(RIG_DEBUG_VERBOSE, "%s: result=%s, resultlen=%d\n", __func__,
priv->ret_data, (int)strlen(priv->ret_data));
- if (strncmp(cmd, priv->ret_data, strlen(cmd))==0) goto again1;
+
+ if (strncmp(cmd, priv->ret_data, strlen(cmd)) == 0) { goto again1; }
if (retval < 0)
{
@@ -89,7 +94,8 @@ again2:
retval = read_string(rp, (unsigned char *) priv->ret_data,
sizeof(priv->ret_data),
"\x0a", 1, 0, 1);
- if (strncmp(cmd, priv->ret_data, strlen(cmd))==0) goto again2;
+
+ if (strncmp(cmd, priv->ret_data, strlen(cmd)) == 0) { goto again2; }
if (retval < 0)
{
@@ -546,7 +552,7 @@ struct rig_caps ngs_caps =
.hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
};
-struct rig_caps ngs_caps =
+struct rig_caps codan_2021_caps =
{
RIG_MODEL(RIG_MODEL_CODAN_2021),
.model_name = "2021",
commit e95cc440d73964567a27b3d58bb48c826a46284b
Merge: 2070edab8 2d3f5fe8a
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Feb 15 16:05:38 2025 -0600
Merge branch 'master' of github.com:Hamlib/Hamlib
commit 2070edab861bfb018fcb613d13565f4512618ad0
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Feb 15 16:05:21 2025 -0600
Add CODAN 2021
diff --git a/NEWS b/NEWS
index 14d02f805..07d28147a 100644
--- a/NEWS
+++ b/NEWS
@@ -14,6 +14,7 @@ Version 5.x -- future
Version 4.6.3
* Fix rigctl showing hamlib_verson when connecting to rigctld
+ * Add rig CODAN 2021
Version 4.6.2
* Add missing levels for IC746/PRO RIG_LEVEL_RFPOWER_METER,RIG_LEVEL_RFPOWER_METER_WATTS,RIG_LEVEL_SWR,RIG_LEVEL_ALC
diff --git a/include/hamlib/riglist.h b/include/hamlib/riglist.h
index 768c40691..88d0b28ce 100644
--- a/include/hamlib/riglist.h
+++ b/include/hamlib/riglist.h
@@ -657,6 +657,7 @@
#define RIG_BACKEND_CODAN "codan"
#define RIG_MODEL_CODAN_ENVOY RIG_MAKE_MODEL(RIG_CODAN, 1)
#define RIG_MODEL_CODAN_NGT RIG_MAKE_MODEL(RIG_CODAN, 2)
+#define RIG_MODEL_CODAN_2021 RIG_MAKE_MODEL(RIG_CODAN, 3)
/*
* Gomspace
diff --git a/rigs/codan/codan.c b/rigs/codan/codan.c
index 92b146709..2b64dd7be 100644
--- a/rigs/codan/codan.c
+++ b/rigs/codan/codan.c
@@ -51,8 +51,12 @@ int codan_transaction(RIG *rig, char *cmd, int expected, char **result)
//int retry = 3;
rig_debug(RIG_DEBUG_VERBOSE, "%s: cmd=%s\n", __func__, cmd);
-
- SNPRINTF(cmd_buf, sizeof(cmd_buf), "%s%s", cmd, EOM);
+
+ // Seems the 2021 wants LF instead of CR
+ if (rig->caps->rig_model == RIG_MODEL_CODAN_2021)
+ SNPRINTF(cmd_buf, sizeof(cmd_buf), "%s%d", cmd, 0x0a);
+ else
+ SNPRINTF(cmd_buf, sizeof(cmd_buf), "%s%d", cmd, 0x0d);
rig_flush(rp);
retval = write_block(rp, (unsigned char *) cmd_buf, strlen(cmd_buf));
@@ -65,12 +69,14 @@ int codan_transaction(RIG *rig, char *cmd, int expected, char **result)
if (expected == 0)
{
+again1:
// response format is response...0x0d0x0a
retval = read_string(rp, (unsigned char *) priv->ret_data,
sizeof(priv->ret_data),
"\x0a", 1, 0, 1);
rig_debug(RIG_DEBUG_VERBOSE, "%s: result=%s, resultlen=%d\n", __func__,
priv->ret_data, (int)strlen(priv->ret_data));
+ if (strncmp(cmd, priv->ret_data, strlen(cmd))==0) goto again1;
if (retval < 0)
{
@@ -79,9 +85,11 @@ int codan_transaction(RIG *rig, char *cmd, int expected, char **result)
}
else
{
+again2:
retval = read_string(rp, (unsigned char *) priv->ret_data,
sizeof(priv->ret_data),
"\x0a", 1, 0, 1);
+ if (strncmp(cmd, priv->ret_data, strlen(cmd))==0) goto again2;
if (retval < 0)
{
@@ -538,14 +546,76 @@ struct rig_caps ngs_caps =
.hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
};
+struct rig_caps ngs_caps =
+{
+ RIG_MODEL(RIG_MODEL_CODAN_2021),
+ .model_name = "2021",
+ .mfg_name = "CODAN",
+ .version = BACKEND_VER ".0",
+ .copyright = "LGPL",
+ .status = RIG_STATUS_ALPHA,
+ .rig_type = RIG_TYPE_TRANSCEIVER,
+ .targetable_vfo = RIG_TARGETABLE_FREQ,
+ .ptt_type = RIG_PTT_RIG,
+ .dcd_type = RIG_DCD_NONE,
+ .port_type = RIG_PORT_SERIAL,
+ .serial_rate_min = 9600,
+ .serial_rate_max = 115200,
+ .serial_data_bits = 8,
+ .serial_stop_bits = 1,
+ .serial_parity = RIG_PARITY_NONE,
+ .serial_handshake = RIG_HANDSHAKE_NONE,
+ .write_delay = 0,
+ .post_write_delay = 50,
+ .timeout = 1000,
+ .retry = 3,
+
+ .has_get_func = RIG_FUNC_NONE,
+ .has_set_func = RIG_FUNC_NONE,
+ .has_get_level = RIG_LEVEL_NONE,
+ .has_set_level = RIG_LEVEL_NONE,
+ .has_get_parm = RIG_PARM_NONE,
+ .has_set_parm = RIG_PARM_NONE,
+ .transceive = RIG_TRN_RIG,
+ .rx_range_list1 = {{
+ .startf = kHz(1600), .endf = MHz(30), .modes = CODAN_MODES,
+ .low_power = -1, .high_power = -1, CODAN_VFOS, RIG_ANT_1
+ },
+ RIG_FRNG_END,
+ },
+ .rx_range_list2 = {RIG_FRNG_END,},
+ .tx_range_list1 = {RIG_FRNG_END,},
+ .tx_range_list2 = {RIG_FRNG_END,},
+ .tuning_steps = { {CODAN_MODES, 1}, {CODAN_MODES, RIG_TS_ANY}, RIG_TS_END, },
+ .filters = {
+ {RIG_MODE_SSB, kHz(2.4)},
+ {RIG_MODE_SSB, kHz(0.5)},
+ {RIG_MODE_SSB, kHz(2.7)},
+ {RIG_MODE_SSB, kHz(3.0)},
+ RIG_FLT_END,
+ },
+ .priv = NULL,
+
+ .rig_init = codan_init,
+ .rig_cleanup = codan_cleanup,
+ .set_freq = codan_set_freq,
+ .get_freq = codan_get_freq,
+ .set_mode = codan_set_mode,
+ .get_mode = codan_get_mode,
+
+ .set_ptt = codan_set_ptt,
+ .get_ptt = codan_get_ptt,
+ .hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
+};
DECLARE_INITRIG_BACKEND(codan)
{
rig_debug(RIG_DEBUG_VERBOSE, "%s: _init called\n", __func__);
- rig_register(&envoy_caps);
- rig_register(&ngs_caps);
+ rig_register(&codan_envoy_caps);
+ rig_register(&codan_ngs_caps);
+ rig_register(&codan_2021_caps);
rig_debug(RIG_DEBUG_VERBOSE, "%s: _init back from rig_register\n", __func__);
return RIG_OK;
diff --git a/rigs/codan/codan.h b/rigs/codan/codan.h
index ad334276a..b7eac8310 100644
--- a/rigs/codan/codan.h
+++ b/rigs/codan/codan.h
@@ -26,7 +26,7 @@
#define BACKEND_VER "20240318"
-#define EOM "\x0a"
+#define EOM "\x0d"
#define TRUE 1
#define FALSE 0
// For the current implemented command set 64 is long enough
@@ -34,8 +34,9 @@
// But that would 9999*41 or 406KB so didn't do that right now
#define CODAN_DATA_LEN 64
-extern struct rig_caps envoy_caps;
-extern struct rig_caps ngs_caps;
+extern struct rig_caps codan_envoy_caps;
+extern struct rig_caps codan_ngs_caps;
+extern struct rig_caps codan_2021_caps;
struct codan_priv_data {
char cmd_str[CODAN_DATA_LEN]; /* command string buffer */
commit 2d3f5fe8a153c134f289d676618daf3eb3103fde
Merge: a6e280ca2 3fcf30062
Author: Michael Black <mdb...@ya...>
Date: Fri Feb 14 12:45:44 2025 -0600
Merge pull request #1672 from clzls/fix-typo-pmr171
pmr171.c: Fix typo in get_freq
commit 3fcf3006296ef6f768dcc558e19bed5457819ac8
Author: Chen (Kina) <164...@us...>
Date: Sat Feb 15 02:41:42 2025 +0800
pmr171.c: Fix typo in get_freq
Fix typo in get_freq returning freqMainB in any situations.
diff --git a/rigs/yaesu/pmr171.c b/rigs/yaesu/pmr171.c
index 46d3b3d69..bdff4fd1f 100644
--- a/rigs/yaesu/pmr171.c
+++ b/rigs/yaesu/pmr171.c
@@ -579,12 +579,12 @@ static int pmr171_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
vfob);
// Now grab the ptt status
- cachep->ptt = reply[6] == 1;
+ cachep->ptt = (reply[6] == 1);
// And the mode
cachep->modeMainA = guohe2rmode(reply[7], pmr171_modes);
cachep->modeMainB = guohe2rmode(reply[8], pmr171_modes);
- if (vfo == RIG_VFO_B) { *freq = cachep->freqMainA; }
+ if (vfo == RIG_VFO_A) { *freq = cachep->freqMainA; }
else { *freq = cachep->freqMainB; }
return RIG_OK;
-----------------------------------------------------------------------
Summary of changes:
NEWS | 1 +
include/hamlib/riglist.h | 1 +
rigs/codan/codan.c | 189 +++++++++++++++++++++++++++++++++++++++++++++--
rigs/codan/codan.h | 9 ++-
rigs/yaesu/pmr171.c | 4 +-
src/rig.c | 2 +-
6 files changed, 191 insertions(+), 15 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-02-11 21:16:25
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via a6e280ca2ea3b49ada7d52bfd0fabf9633a18fb2 (commit)
via 88fce980df31ddf9f8b772c4584f453843841dcb (commit)
via f3a932bf50b5e9edaf0ad26d8658fd2bd056a187 (commit)
via eb9bf6fb841aac0575fee73c1bf97ec4b7d5b950 (commit)
from c939f1a83ac1b7ad1bb903120da13f19b468e4be (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 a6e280ca2ea3b49ada7d52bfd0fabf9633a18fb2
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Feb 11 10:53:21 2025 -0600
Update NEWS
diff --git a/NEWS b/NEWS
index d30dfad21..14d02f805 100644
--- a/NEWS
+++ b/NEWS
@@ -12,6 +12,9 @@ Version 5.x -- future
* rot_get_conf deprecated and replaced by rot_get_conf2
* Change FT1000MP Mark V model names to align with FT1000MP
+Version 4.6.3
+ * Fix rigctl showing hamlib_verson when connecting to rigctld
+
Version 4.6.2
* Add missing levels for IC746/PRO RIG_LEVEL_RFPOWER_METER,RIG_LEVEL_RFPOWER_METER_WATTS,RIG_LEVEL_SWR,RIG_LEVEL_ALC
* Fix IC905 for gpredict
commit 88fce980df31ddf9f8b772c4584f453843841dcb
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Feb 11 10:48:48 2025 -0600
Fix rigctld hamib_version print to suppress it
Add simeasycomm.c
diff --git a/rigs/dummy/netrigctl.c b/rigs/dummy/netrigctl.c
index 69241b448..382f5f039 100644
--- a/rigs/dummy/netrigctl.c
+++ b/rigs/dummy/netrigctl.c
@@ -892,7 +892,7 @@ static int netrigctl_open(RIG *rig)
}
else if (strcmp(setting, "hamlib_version") == 0)
{
- printf("rigctld: %s\n", value);
+ //printf("rigctld: %s\n", value);
}
@@ -2823,7 +2823,7 @@ struct rig_caps netrigctl_caps =
RIG_MODEL(RIG_MODEL_NETRIGCTL),
.model_name = "NET rigctl",
.mfg_name = "Hamlib",
- .version = "20240418.0",
+ .version = "20250211.0",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_OTHER,
diff --git a/simulators/Makefile.am b/simulators/Makefile.am
index 72a556395..489484799 100644
--- a/simulators/Makefile.am
+++ b/simulators/Makefile.am
@@ -8,7 +8,7 @@ DISTCLEANFILES =
bin_PROGRAMS =
-check_PROGRAMS = simelecraft simicgeneric simkenwood simyaesu simic9100 simic9700 simft991 simftdx1200 simftdx3000 simjupiter simpowersdr simid5100 simft736 simftdx5000 simtmd700 simrotorez simspid simft817 simts590 simft847 simic7300 simic7000 simic7100 simic7200 simatd578 simic905 simts450 simic7600 simic7610 simic705 simts950 simts990 simic7851 simftdx101 simxiegug90 simqrplabs simft818 simic275 simtrusdx simft1000 simtmd710 simts890 simxiegux108g simxiegux6100 simic910 simft450 simelecraftk4 simmicom simflex simft710 simic2730 simorion simpmr171 simic7700 simft990 simpstrotator
+check_PROGRAMS = simelecraft simicgeneric simkenwood simyaesu simic9100 simic9700 simft991 simftdx1200 simftdx3000 simjupiter simpowersdr simid5100 simft736 simftdx5000 simtmd700 simrotorez simspid simft817 simts590 simft847 simic7300 simic7000 simic7100 simic7200 simatd578 simic905 simts450 simic7600 simic7610 simic705 simts950 simts990 simic7851 simftdx101 simxiegug90 simqrplabs simft818 simic275 simtrusdx simft1000 simtmd710 simts890 simxiegux108g simxiegux6100 simic910 simft450 simelecraftk4 simmicom simflex simft710 simic2730 simorion simpmr171 simic7700 simft990 simpstrotator simeasycomm
simelecraft_SOURCES = simelecraft.c
simkenwood_SOURCES = simkenwood.c
diff --git a/simulators/simeasycomm.c b/simulators/simeasycomm.c
new file mode 100644
index 000000000..34a1430e9
--- /dev/null
+++ b/simulators/simeasycomm.c
@@ -0,0 +1,209 @@
+// can run this using rigctl/rigctld and socat pty devices
+// gcc -o simspid simspid.c
+#define _XOPEN_SOURCE 700
+// since we are POSIX here we need this
+#if 0
+struct ip_mreq
+{
+ int dummy;
+};
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <string.h>
+#include <unistd.h>
+#include "../include/hamlib/rig.h"
+
+#define BUFSIZE 256
+
+static void *rotorez_thread(void *arg);
+
+int
+getmyline(int fd, char *buf)
+{
+ unsigned char c = 0;
+ int i = 0;
+ int n = 0;
+ memset(buf, 0, BUFSIZE);
+
+ //printf("fd=%d\n", fd);
+
+ while (read(fd, &c, 1) > 0 && c != 0xa)
+ {
+ buf[i++] = c;
+ n++;
+
+ for (int j = 0; j < strlen(buf); ++j) { printf("%02x ", buf[j]); }
+
+ printf("\n");
+ }
+
+ if (strlen(buf) == 0) { hl_usleep(10 * 1000); }
+
+ return n;
+}
+
+#if defined(WIN32) || defined(_WIN32)
+int openPort(char *comport) // doesn't matter for using pts devices
+{
+ int fd;
+ fd = open(comport, O_RDWR);
+
+ if (fd < 0)
+ {
+ perror(comport);
+ }
+
+ return fd;
+}
+
+#else
+int openPort(char *comport) // doesn't matter for using pts devices
+{
+ int fd = posix_openpt(O_RDWR);
+ char *name = ptsname(fd);
+
+ if (name == NULL)
+ {
+ perror("pstname");
+ return -1;
+ }
+
+ printf("name=%s\n", name);
+
+ if (fd == -1 || grantpt(fd) == -1 || unlockpt(fd) == -1)
+ {
+ perror("posix_openpt");
+ return -1;
+ }
+
+ return fd;
+}
+#endif
+
+int thread_args[2];
+
+
+int main(int argc, char *argv[])
+{
+ int fd = openPort(argv[1]);
+ //int fd2 = openPort(argv[2]);
+ pthread_t threads[2];
+ thread_args[0] = fd;
+ //thread_args[1] = fd2;
+ pthread_create(&threads[0], NULL, rotorez_thread, (void *)&thread_args[0]);
+ //pthread_create(&threads[1], NULL, rotorez_thread, (void *)&thread_args[1]);
+ pthread_exit(NULL);
+ return 0;
+ /*
+ again:
+ int flag = 0;
+
+ while (1)
+ {
+ int bytes;
+ if (!flag) bytes = getmyline(fd, buf);
+ else bytes = getmyline(fd2, buf);
+ flag = !flag;
+
+ if (bytes == 0)
+ {
+ //close(fd);
+ printf("again\n");
+ goto again;
+ }
+ printf("line=%s\n", buf);
+
+ if (strncmp(buf,"BI1",3) == 0)
+ {
+ sprintf(buf,"%3.1f;", az);
+ n = write(flag?fd:fd2, buf, strlen(buf));
+ printf("n=%d\n", n);
+ }
+ else if (strncmp(buf,"AP1",3) == 0)
+ {
+ sscanf(buf,"AP1%f", &az);
+ }
+ else
+ {
+ printf("Unknown cmd=%s\n", buf);
+ }
+
+ #if 0
+ switch (buf[0])
+ {
+ case '?': printf("Query %c\n", buf[1]); break;
+
+ case '*': printf("Set %c\n", buf[1]); break;
+
+ default: printf("Unknown cmd=%02x\n", buf[4]);
+ }
+ #endif
+ }
+
+ return 0;
+ */
+}
+
+static void *rotorez_thread(void *arg)
+{
+ int n = 0;
+ char buf[256];
+ int fd = *(int *)arg;
+ float az = 123;
+ float el = 45;
+again:
+
+ while (1)
+ {
+ int bytes;
+ bytes = getmyline(fd, buf);
+
+ if (bytes == 0)
+ {
+ //close(fd);
+ hl_usleep(100 * 1000);
+ //printf("again\n");
+ goto again;
+ }
+
+ printf("line[%d]=%s\n", fd, buf);
+
+ if (sscanf(buf, "AZ%g EL%g", &az, &el) == 2)
+ {
+ //n = write(fd, buf, strlen(buf));
+ printf("n=%d fd=%d\n", n, fd);
+ }
+ else if (strcmp(buf,"AZ")==0)
+ {
+ sprintf(buf,"AZ%.1f\n", az);
+ n = write(fd, buf, strlen(buf));
+ }
+ else if (strcmp(buf,"EL")==0)
+ {
+ sprintf(buf,"EL%.1f\n", el);
+ n = write(fd, buf, strlen(buf));
+ }
+ else
+ {
+ printf("Unknown cmd=%s\n", buf);
+ }
+
+#if 0
+
+ switch (buf[0])
+ {
+ case '?': printf("Query %c\n", buf[1]); break;
+
+ case '*': printf("Set %c\n", buf[1]); break;
+
+ default: printf("Unknown cmd=%02x\n", buf[4]);
+ }
+
+#endif
+ }
+
+ pthread_exit(NULL);
+}
commit f3a932bf50b5e9edaf0ad26d8658fd2bd056a187
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Feb 6 22:33:54 2025 -0600
Revert "Remove setting debug in rotctl.c"
This reverts commit eb9bf6fb841aac0575fee73c1bf97ec4b7d5b950.
diff --git a/tests/rotctl.c b/tests/rotctl.c
index 2199cede5..873c9b96e 100644
--- a/tests/rotctl.c
+++ b/tests/rotctl.c
@@ -310,6 +310,8 @@ int main(int argc, char *argv[])
}
}
+ rig_set_debug(verbose);
+
rig_debug(RIG_DEBUG_VERBOSE, "rotctl %s\n", hamlib_version2);
rig_debug(RIG_DEBUG_VERBOSE, "%s",
"Report bugs to <ham...@li...>\n\n");
commit eb9bf6fb841aac0575fee73c1bf97ec4b7d5b950
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Feb 6 22:27:46 2025 -0600
Remove setting debug in rotctl.c
diff --git a/tests/rotctl.c b/tests/rotctl.c
index 873c9b96e..2199cede5 100644
--- a/tests/rotctl.c
+++ b/tests/rotctl.c
@@ -310,8 +310,6 @@ int main(int argc, char *argv[])
}
}
- rig_set_debug(verbose);
-
rig_debug(RIG_DEBUG_VERBOSE, "rotctl %s\n", hamlib_version2);
rig_debug(RIG_DEBUG_VERBOSE, "%s",
"Report bugs to <ham...@li...>\n\n");
-----------------------------------------------------------------------
Summary of changes:
NEWS | 3 +++
rigs/dummy/netrigctl.c | 4 +--
simulators/Makefile.am | 2 +-
simulators/{simrotorez.c => simeasycomm.c} | 40 +++++++++++-------------------
4 files changed, 20 insertions(+), 29 deletions(-)
copy simulators/{simrotorez.c => simeasycomm.c} (82%)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-02-09 21:07:40
|
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 annotated tag, 4.6.2 has been created
at 70e54ac426d4d1dd1724bcb97150935c556d2bbb (tag)
tagging 8703647c8cb277cad66f5a4eaff103126b7a1b5a (commit)
tagged by Nate Bargmann
on Sun Feb 9 15:06:35 2025 -0600
- Log -----------------------------------------------------------------
Hamlib 4.6.2 release
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQSC1k9rDmfNQfaJu6b7LFEw1VqIGQUCZ6kY6AAKCRD7LFEw1VqI
GXsgAJ9oxYBh/ZpL95jDzv40iZVDl4L9+gCgrxwgo7FU7gCOrscGS/E1OUDB9ok=
=RSNO
-----END PGP SIGNATURE-----
(no author) (1):
New repository initialized by cvs2svn.
Addison Schuhardt (1):
Refactoring GPIO push-to-talk logic to use libgpiod rather than the deprecated/broken sysfs method. TODO: I'm not familiar with autoconf to set up linking to libgpiod correctly, so I'd like to ask someone else to do that. Fixes #1538
Adrian Chadd (1):
Upgrade TS-711 and TS-811 to work.
Agis Zisimatos (1):
easycomm: Return the correct value of pointer val
Alessandro Zummo, IZ1PRB (36):
Remove const from priv_caps to allow kenwood_init to initialize default values if they're missing
Call kenwood_init in each and every driver
Use an appropriate debug level
Support get/set_powerstat on pcr100
Add kenwood_simple_cmd
Make set_ptt behave as before, fix set_ant for ts570.c
ts450: remove RIG_FUNC_TONE from has_xx_func if tone unit is not detected
ts450,ts690,ts850: use FL command to get/set filters in get/set_mode. (code from ts850.c)
ts450: indentation fixes
remove fixed command terminator (;) from generic code
ts140,ts2000,ts480,ts570,ts680,ts850,ts870s: remove usage of fixed ; and EOM
fix tabs
thg71,tmv7,ts450s,ts690: verify rig id at rig_open
ts450: implement set_channel
remove unused parameter from get_kenwood_func
ts570,ts850,ts870s,ts140,ts480,ts680: use kenwood_simple_cmd where possible
Replace __FUNCTION__, which is gcc specific and was deprecated a long time ago, with __func__, which is at least defined in C99.
generic, ts850: implemented CTCSS TN command (reported not working for ts850, should now be fixed)
Add description for the kenwood mode n. 8
implemented set/get_ext_param (voice, fine, xit, rit). enabled on ts450 and ts850
Added my call sign
removed comment about switch optimizatons. the compiler will generate the assembly code in a different order which is usually based on the case value. other compiler optimizations might also affect it, so it's useless to optimize the order.
check ptt status before set_ptt. enabled on ts850.
style fixes
band up/down was inverted
Try to compensate for leftover characters
Try to cope withe the PCR100 and PCR1000 at the same time
Bumped out to beta, solved a few bugs. Tested with PCR100/1000/1500.
kenwood: send the whole buffer at once, added kenwood_cmd
- removed EOM, it's handled by kenwood_transaction - fixed tabs and spaces - added generic routine for vfo errors - set_mem: do not switch vfo if already in mem mode - simplified invocation of some commands - buffer optimizations - added PARM_BEEP and PARM_APO - fixed getting of LEVEL_RFPOWER - fixed get_ant
tmv7: removed EOM
thg71: removed EOM
thf7: - wrong rfpower level granularity - added .reset - call kenwood_open - use generic th_set_vfo
th: fixed formatting issue
th: fixed stack corruption
th: fixed a missing newline
Alex V Flinsch, KC2IVL (8):
Initial changes for ft100
Initial release
initial release
fixed various command options
new file, list of tones/codes and sequence used by various yaesu rigs
added get frequency to ft100 code
added getinfo func hdr
*** empty log message ***
Alexander Sack (1):
Get firmware revision level from K3/KX3.
Alexander Schultze (3):
easycomm: include a new EasyComm3 to support move speed and infostring
update EasyComm3 to include setting and getting of config and status
easycomm: implement get/set config, easycom include status and error bytes, fix get_info
Alexandru Csete OZ9AEC (34):
Added new stylesheet to make API docs look better.
Modified to use new stylesheet.
Added doxygen comments.
Added rotator.h and rotlist.h to the input list.
Applied Tommi's improvements from the FT-857 backend with the following changes and additions:
Full RF power scale corresponds to 10 bars, not 15.
Added RIT, XIT and IF shift ranges to dummy backend.
Cast constant caps to variable caps in order to avoid compiler warnings.
Cast from const to variable in order to avoid compiler warnings.
- Cast unsigned char to char in order to avoid compiler warnings. - Ensure that all variables have a value before they are used (ft920). - Disable unused functions and variables (frg100). - Incremented backend version numbers.
Use tone_t for pcr1_ctcss_list. Changed arg 4 of pcr_transaction to unsigned. Cast the other mismatches to (char *).
Cast unsigned char to char in order to avoid compiler warnings. Incremented backend version number.
- Cast unsigned char to char in order to avoid compiler warnings. - Ensure that all variables have a value before they are used (tentec.c).
- Cast unsigned char to char in order to avoid compiler warnings. - Incremented backend version number.
- Cast/change unsigned char to char in order to fix compile warnings. - Incremented backend version number.
- Cast/change unsigned char to char in order to fix compile warnings. - Incremented backend version numbers.
- Cast/change unsigned char to char in order to fix compile warnings. - Incremented backend version numbers.
- Cast/change unsigned char to char in order to fix compile warnings. - Incremented backend version number.
- Cast/change unsigned char to char in order to fix compile warnings. - Incremented backend version numbers.
- Cast unsigned char to char in order to avoid compiler warnings. - Handle all enum values in switch statements.
Fixed type mismatches that caused compile warnings.
Fixed type mismatches that caused compile warnings.
Initialise icom_val to avoid compiler warning.
Fixed type mismatches between signed and unsigned char. There are a few very suspicious 'if' statements in icom.c and frame.c
- Fixed type mismatches and unhandled switch cases. - Incremented backend version numbers.
Cast constant caps to variable caps in order to avoid compiler warnings.
Updated.
Added infor about w (send_cmd).
Max serial rate is 9600. Changed backend status to stable.
Escape the backslash character.
The 765 can do RIG_SCAN_PROG and RIG_SCAN_MEM.
Fixed S-meter reading to use calibration table since frontend always uses RAWSTR.
Fixed RF power reading and added power2mw and mw2power.
Fixed RIG_LEVEL_STRENGTH reading.
Andrew Errington (1):
Initial support for CM108 GPIO contorl of PTT
Andrew Rodland (3):
Fix spurious writes when no RT-21 second port
Enable "stop" command for RT-21 rotator.
Update RT-21 version
AuroraRAS (5):
Prepare .gitignore file for NDK build
Append the missing information to build hamlib v4.3 for Android NDK
make the Android.mk files adapt to multi arch
add androidsensor rotator
AndroidSensor codes improvement
Ben Coleman, NJ8J (6):
Fixed bug in rpcrig_set_parm (using RIG_LEVEL_IS_FLOAT instead of RIG_PARM_FLOAT)
Fixed same bug in rigctl_get_parm.
Added checking of return string from rig on set (non-retrieval) commands. Added code for COMP function. Added alinco_set_parm & tweaked dx77 capabilities.
Handle setting Keyer speed and CW Pitch
Added NJ8J's email address.
Change email address for NJ8J
Berndt Josef Wulf, VK5ABN (11):
Implemented rig_set_channel()
Implemented set_parm() for BACKLIGHT operation
Commented out RIG_MODE_PKTFM overlooked at the submission of previous code
Implemented RIG_MODE_PKTFM and RIG_MODE_PKTLSB modes
Changed debug message format for freq_t from long long to double
ft990_get_ptt() now uses the FT990_SF_XMIT instead of FT990_SF_PTT. FT990_SF_PTT only returns status of PTT activated by CAT commands, whereas FT990_SF_XMIT reports the actual status of the ptt line.
ft990_get_mem(): Fixed bug that prevented the reporting of current channel number when vfo != RIG_VFO_MEM
Fixed erroneous return value
Fixed mispelled name for VK5ABN
Added missing modes to RX/TX caps
Fixed bug in ft990_set_mode that caused RTTY interchanged modes USB/LSB Fixed bugs in ft990_get_channel
Bill Barker (1):
Add test for Flex 6300 ID
Bill Somerville (212):
Patch submission for IC-756
Patch to allow same serial port for PTT and CAT.
Patch to fix broken Yaesu backend with FT-2000(D)
Fix rig_open not failing when PTT/DCD port is unavailable.
Fix Icom IC-756 filter handling.
Fix Yaesu newcat backend set_tx_vfo issue.
Add support for Data Modes on Icom "Pro" models.
Fix Icom IC-726 mode handling.
Fix Kenwood TS-2000 split operation.
Fix Kenwood Split Operation for TS50 & TS480.
Fix Kenwood TS-870s split and bandwidth set/get.
Correct receive buffer length for IS; comamnd.
Fix Kenwood CAT transaction busy retry mechanism.
Fix Kenwood get split VFO function.
Add data sub-mode support for TS590s.
Correct order of MD and DA commands for TS590s.
Get firmware revision for TS590s in rig_open.
Fix TS590s firmware defect.
Fix Kenwood get_vfo function returning wrong VFO in split TX.
Make Kenwood TS590s firmware defect fixup revision specific.
Extend TS590s firmware defect fixup to both VFOs.
Fix Icom IC-756 Pro III get data mode.
Add spilt mode get and set for Elecraft K3.
Fix data sub-modes on Elecraft K3.
Fix Elecraft Data Mode Translation.
Fix Elecraft K3 Data Sub-Mode Setting.
Fix Yaesu FT1000MP and FT1000MP Mk V modes.
Fix configure.ac
Fix a warning message.
Added option to not use VFO XCHG command when setting split parameters.
Fix a buffer overflow in the Windows termios emulation.
Fix pkg-config generation.
Fix Icom IC-756Pro mode get/set.
Facility for rigctl to read commands from standard input.
Add a pause command to the rigctl command set.
Prefix action function names so as not to clash with system names.
Prefix action function names so as not to clash with system names.
Corrected typos in rigctl.1 manpage.
Add read commands from stdin and pause command features to rotctl.
Merge branch 'rigctl-stdin' of ssh://git.code.sf.net/u/bsomervi/hamlib into rigctl-stdin
Fix manpage errors.
Remove redundant RIG_PTT_SERIAL_CAT enum from ptt_t
Only check for serial control line conflicts if PTT shares CAT port
Fix Ten-Tec Orion get/set split functions
Icom IC-7410 has VFO A/B not MAIN/SUB
Added IC-7410 data modes
Add retry mechanism for Yaesu "newcat" backend
Implement retries for Yaesu "newcat" rigs
Disable auto information mode on open
Add retry mechanism for Yaesu "newcat" backend
Implement retries for Yaesu "newcat" rigs
Disable auto information mode on open
Merge branch 'yaesu-retries' of ssh://git.code.sf.net/u/bsomervi/hamlib into yaesu-retries
RIG_OK is zero and need not be negated and this will not change
Fix response length expected error in K3 back end
Data mode support for the Icom IC-7700
Data mode support for the Icom IC-9100
Data mode support for the Icom IC-7200
Add support for the Kenwood TS-590SG
Kenwood TS-590SG
Always clear serial control lines when used for PTT
Disable AI mode on open for Kenwood/Elecraft rigs
Add more diagnostics and error checks to serial line control
Move serial line control error checks to lower level routines
Merge branch 'master' into kenwood-ai-off-at-start
Merge branch 'master' into ptt-control-on-cat-port
Fix serial i/o on Windows.
Yaesu newcat style command response reading improvements
Increase communications timeout for Icom rigs
Kenwood AIn; command has no reply
Revert read_string() to partial results are a success status
Remove gratuitous sleeps before function exits
Error checks on simulated direct VFO addressing
Elecraft K2 RTTY modes are not FSK
Kenwood and Elecraft rigs sometimes ignore commands
Removed kenwood_cmd function and replaced uses of it
Allow for failed test command on the K2
Elecraft K3 has 1 stop bit
Kenwood TS-570 series IF returns current frequency
Switch to "ID;" command for verification as no "AI;" on TS-840s
Increase Elecraft K2 comms timeout and retries
Switch Kenwood TS940 to generic kenwood CAT functions
Improve command verification for Kenwood & Elecraft
Use local buffer in kenwood transaction funciton
Clarify the handling of Kenwood CAT message terminators
Further clarification in the implementation of kenwood_transaction()
Removed redundant precondition test
Remove kenwood_simple_cmd as kenwood_transaction has that functionality
Call kenwood_open() for TS-2000 to ensure AI mode is disabled
Allow for bad ID from DDUtil in TS-2000 mode
Allow one extra byte in read_string() length to accomodate terminator
Enable data modes for the Icom IC-7100
Allow for PowerSDR ID in Kenwood TS2000 emulation mode
Fix TenTec Argonaut message lengths and timeout
Fix TenTec set split command
Implement get PTT status for the TenTec Argonaut
Fix error with width in set mode for the TT argonaut
Yaesu FT540 can only change the frequency of the current VFO
Fix defect in Kenwood TS-940 IF command response parsing
Fix response lengths for the TT Jupiter 538
Do not attempt CAT PTT commands on the Icom IC-706mkIIG
Use correct argument type for serial control line functions
Initial back end implementation for the Kenwood TS-990s
Mode set is not VFO targetable on the Kenwood TS990s
The Kenwood TS990s only does split Tx on SUB VFO
The doesn't appear to be a way of getting PTT/SEND on the TS990s
Lower both RTS and DTR on alternate PTT serial port
Honour any error status from serial port calls
Dummy get_ptt function needs to read RTS/DTR/PARALLEL
Make autogen.sh agnostic to whitespace in paths
Increase the number or retries for most Kenwood rigs
Command validation for Yaesu set commands
Remove unecessary delays from TS-940S backend
Proper IPv6 and dual stack networking
Fix compiler warnings
Proper IPv6 and dual stack networking for rotator net daemon
Attempt to restore AI status on exit
Allow for poor emulations of Kenwood rigs that have no ID command
Use correct function to execute set type commands with no response
Add a new command line option '--no-restore-ai' ('-n') to rigctl
Fix FT-817/857/897 issues and add some missing functionality
Fix missing PKTUSB mode setting code for FT-817 & FT-897
Fix a logic error in band detection during IC-910 set frequency
Add missing configuration getters
Detect C-IV NAK returns as rejected commands
Elecraft rigs do not switch VFO in IF command responses during split Tx.
Redundant split mode directives on Elecraft rigs cause Tx failures
Only use IPv6 features on Windows versions that support it (>=XP)
Improve IPv6 portability and consistency
Add 23cms to IC-910(H) backend
Implement combined split VFO frequency and mode setting.
Initial implementation of rig_{set,get}_split_freq_mode() for FT-857.
Implement rig_{set,get}_split_freq_mode() for IC-756 series.
Add {get,set}_splitfrequency_mode for the IC-910(H)
Elide unnecessary CAT commands when setting split frequency and mode
Do not swap VFO unnecessarily
Better set frequency semantics for the IC-910(h)
VFO targetable get frequency operation for the Icom IC-910(h)
Make sure right band is used when setting frequency on IC-910(H)
Use rig state rig port retry option rather than from capabilities
Use a sensible port timeout value for the Kenwood TS-850
Further attempts to simplify and improve Icom CAT for split operating
Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode argument
Switch to POSIXLY_CORRECT mode for getopt_long()
Fix a regression introduced in 222ad74
Do not crash if expected CTCSS tones not sepcified
Do not attempt to query AI state on the TS-450s as it is not supported
Some more Kenwood rigs with no AI query
Adjust rig_list_foreach to allow use for unregistering
Fix an issue presenting on the Yaesu FT-450(D)
Release the serial port used for PTT when possible
Change the IC7600 & IC7800 set/get mode to versions that support DATA modes
Add rig_{open,close} functions to TS-790 backend
Revised kenwood rig busy response handling
Add get and set split functions for the TS450S
Simplify and fix defects in the FT991 back end
Fix some endian issues in the si570/AVR SDR back ends
Fix a state machine defect with repeated PTT reset calls
Do not pass --no-cpp_precomp to compilers on Mac OS X
Allow RIG_LEVEL_STRENGTH queries over the network link
Stop rigctld and rotctld crashing when service threads cannot write to clients
Use snprintf throughout kenwood/kenwood.c for buffer safety
Fix off-by-one issue in reading memory mode from IF command response
Fix some issues with commands not supported by TS-2000 CAT emulations
Add best guess transmit status to rig state structure
Take out unecessary delays in K(X)3(S) back end.
FT-817 status queries honour retries and timeout
Make rig_open() call in rigctld lazy and add graceful termination
Simplify SWIG interface definition and hide 64-bit values from Lua binding
Remove unnecessary delays from TS-990 and TS-2000 back ends
Change frequency setting for the FT-747GX to something more basic
Fix an incorrect error return value from win32_serial_select()
Fix timeout issues with the Ten-Tec Orion/Eagle
Ensure compilation works with a pre C11 compiler
Make code C90 compliant again
Move unnecessary global and file static variables to the stack
Simplify unnecessary persistence of extended response state
Fix misunderstanding of netrigctl_transaction() return value
Made PTT and DCD options consistent between rigctl and rigctld
Report unrecognised PTT and DCD types in rigctl and rigctld
Update i/o functions to support GPIO(N) port closure
Fixed erroneous messages in rig_close with GPIO(N) PTT or DCD types
Remove duplication across GPIO and GPION handling of PTT and DCD
Improved get PTT state handling in dummy backend
Simplify closing of device files
Repair a regression with the dummy get PTT functionality
Revert "Add debug to serial.c"
Repair a regression with the dummy get PTT functionality
Revert "Add debug to serial.c"
Fix regression with slow responses from SmartSDR causing errors
Deal with remote PTT type at the client end
Avoid 'echo -n' as macOS sh doesn't support it
Fixing an operator precedence defect
Updates to the TH-D7A/E back end
Less ambiguous variable name and repair merge issue in prior commit
Add missing config parameters for rig power on/off and screen-saver
New power on option rather than power on/off
Make version recording safe for parallel builds without breaking make dist
Make version recording safe for parallel builds
Ensure old hamlibdatetime.h headers in the source dir are ignored
Merge branch 'safe-scs-versioning' of ssh://git.code.sf.net/u/bsomervi/hamlib into safe-scs-versioning
Fix make dist versioning
Use BUILT_SOURCES make mechanism as intended
Fix rebuild dependency
Build hamlibdatetime.h every time
Force copy over existing
Minimize rebuilding
Correct use of sh if
Another attempt at a reliable SCS version header generation
Remove temporary file
Add missing shared library API exports
Add missing export definition
Blaine Kubesh (8):
added Icom803 to icmarine
added Icom803 to icmarine
added Icom803 to icmarine
Update ic-m803 remote-id to 20
Update icm803.c
Update AUTHORS
undo author changes
Update icm803.c
Bob Freeman (1):
New CNCTRK rotor backend
Brandon Durepo (5):
Added multi-stage Docker build and hamlib-runtime image
Added multi-platform support for linux/arm64 and linux/amd64
Add support for the hamlib-base-image and hamlib-runtime targets - support the arm64 and amd64 platforms on both a base-image and runtime
Added git and vim to the hamlib-base-image
Added Python support
Brian G. Lucas (10):
Pretty much a complete re-write of thd72.c, since the old one didn't work at all. Many commands have been tested with real hardware. But more work remains to be done.
WIP: thd72 driver. More level, func, and parm stuff works.
WIP: thd72 driver. Try to simplify the menu based interface.
WIP: thd72 driver. First cut at get_channel(). Other cleanup.
WIP: thd72 driver. More interfaces implemented. Other cleanup.
Implement some more interfaces. Comment out get_chan_all_cb because the block read routine doesn't work.
Fix a format so that it works with Windows. Can't test it because I have no Windows machines.
Fix RFPOWER level for FT-450D. It uses 5-100, rather than 0-255 that the FT-450 does.
In newcat_open(), initialize rig_id in case any subsequent commands need it.
Some calls to thd72_get_menu_item where passing wrong values for range check.
C-Elegans (1):
Add ability to have rigctld display transverter frequency
CJ (1):
fix windows makefile
Cedric DJ3CE (1):
Add SWR get_level to K3 (KX3, KX2)
Charles Suprin (7):
Add file for TM-D710 support.
Merge branch 'master' of ssh://hamlib.git.sourceforge.net/gitroot/hamlib/hamlib
Add D710 to riglist.
Add D710 code to kenwood library.
Register D710 interface.
Initial D710 Implementation.
Register D710 interface.
Charles Suprin, AA1VS (3):
extend th_get_vfo_char to support D700
Changed th_set_freq to round and select step size to use. Allows 6.25kHz and 5kHz channelization.
Use new th_set_freq for TM-D700
Chris Karpinsky, AA1VL (7):
add serial_flush() method to clean rx buffer
initial stab at this for the Yaesu FT-817
add ft817.*
add ft817
bump the backend status to ALPHA
Initial entry of cgirig giving ability to use hamlib from a web browser.
increased post write delay to 300
Chris Ruvolo (4):
TS-690: deal with optional tone board using TS-450 logic
TS-690 does not implement the PC command to get/set output power level
TS-690 does not implement the GT command to get/set AGC rate
TS-690: bump version
Christian Bayer (11):
upstream 817
FT-817 power and SWR levels
ft-857 power levels for 2m/70cm
export correct function for wsjtx
fixed cal table conversion
added header
use correct value
divider update
disable scaling
fixed compile errors
fixed merge errors and variable declarations
Christoph Berg (2):
ic7610: Re-add send_morse
Implement netrigctl_stop_morse
Christoph Nadig (1):
Fix for setting power on Elecraft TRXs
Chuck Hemker, N2POR (1):
Use RIG_TARGETABLE_MODE in rig_set_mode and rig_get_mode
Chuck Ritola (8):
Use loop to ensure RS-HFIQ hears first command. Closes #730
Add ability to read TX drive level
Implement board temperature reading for TEMP_METER
Parse and store RS-HFIQ firmware version.
Firmware version check before power meter query.
Merge branch 'master' into rshfiq-aug2021
Map FCDPP LNA and Mixer Gain as PREAMP values. Closes #766
Map FCDPP LNA and Mixer Gain as PREAMP values. Closes #766
DJ3CE (1):
Patch power reading of IC-705/-905
DL1YCF (6):
Merge branch 'master' of https://github.com/Hamlib/Hamlib
Merge branch 'master' of https://github.com/Hamlib/Hamlib
Merge branch 'master' of https://github.com/Hamlib/Hamlib
Merge branch 'master' of https://github.com/Hamlib/Hamlib
Merge branch 'master' of https://github.com/Hamlib/Hamlib
Merge branch 'master' of https://github.com/Hamlib/Hamlib
Dale E. Edmons, KD7ENI (19):
Added comments to commandline in rigctl (second time) --Dale
Started TS-2000 update/overhaul --Dale
Copied too much stuff, backed out what I broke.
Bring ts2k.c more in line with current CVS.
Changed ts2000.c to ts2000.h.
Start of rig menuing functions.
New file.
Renamed ts2000.c.new ts2000.h
Bring code more in line with CVS code.
Changes often, so added status. Will delete when things stabilize.
Corrected status to CVS branch.
Renamed new ts2000.c to ts2000.h
Wouldn't compile. Removed ts2k.c. Haven't got all new rig.h stuff removed.
Temp kludge to make ts2k.c compile (keeps Hamlib from compiling!).
Updated status.
Added working TS-2000 files. There are some changes left out but this is the minimum I could commit and have a functional rig. The cost is that I've broken kylix and others that duplicate rig.h. I'm in the process of repairing the damage. Please be patient. I hope a day or so, but am asking for up to a week. E-mail me about *anything* you find broken. Kylix (and similar) is (are) known to not work.
Changed name back to original.
Had to re-run automake kenwood/Makefile.
1) Updated branch_ts2k with respect to HEAD. 2) Working ts2k_menu. (only in RIG_MODEL_TS2K) 3) Split TS-2000 into experimental and standard versions: RIG_MODEL_TS2000 = standard, RIG_MODEL_TS2K = experimental. 4) Basic command parser in tests/rc. Will open/close rig or copy a freq from one rig/vfo to another rig/vfo. Very cool. Very basic. Very experimental. 5) Added test programs. a) testcmd - calls parser (no command prompt yet!) b) testts2k - replacement for testrig (with trivial modification) c) testptt - testts2k/testrig should not transmit. TX stuff in testptt. 6) Used crowbar to merge HEAD into branch_ts2k. Working on clean-up. 7) I'm sure I've forgotten or neglected to mention some other stuff.
Daniel Estévez (2):
Fix DIG MODE for FT817-ND
Fix DIG MODE for FT817-ND
Daniele Forsi (5):
Set the executable bits on py3test.py
Fix spelling errors
Fix more spelling errors
Fix more spelling errors
Fix typos
Daniele Forsi IU5HKX (72):
Fix a [missingInclude] "information" when running cppcheck --check-config
The -M option needs an argument like its long version "multicast-addr"
Fix lintian warning: macro 'RG' not defined
Fix lintian warning: macro 'IN' not defined
Fix spelling errors
Remove unused includes related to times and dates
Remove unused includes of math.h
Remove unused includes
Revert unwanted changes
Remove unused includes of errno.h
Remove unused include of amp_dummy.h
Remove unused include of cm108.h
Remove unused includes of fcntl.h
Remove unused includes of frame.h
Remove unused include of getopt.h
Remove unused includes of gpio.h
Remove unused includes of cal.h
Remove unused include of usb_port.h
Remove unused includes of ctype.h
Remove unused include of stdbool.h
Remove unused include of stdarg.h
Remove unused include of stdlib.h
[icom] Remove unused include of config.h
[kenwood] Remove unused include of config.h
[yaesu] Remove unused include of config.h
[rotators] Remove unused include of config.h
[tests] Remove unused include of config.h
[rigs/*] Remove unused include of config.h
[amplifiers] Remove unused include of config.h
[extra] Remove unused include of config.h
Add include/hamlib directory to all makefiles
[icom] Fix includes
[kenwood] Fix includes
[yaesu] Fix includes
[rigs/*] Fix includes
[rotators] Fix includes
[tests] Fix includes
[amplifiers] Fix includes
Update .gitignore
Fix unterminated comment
Fix include not found by cppcheck.sh
Enable --show-conf for ampctl and ampctld
Fix typos
Fix include not found by cppcheck.sh also in the other branch of the "if"
Fix passing one or more paths to ./cppcheck.sh
Fix several cppcheck "missingInclude" informational messages
Fix cppcheck "unmatchedSuppression" informational messages
Add to .gitignore some files created during "make check"
Fix cppcheck "missingInclude" informational message
Fix Doxygen unmatched directives \cond and \endcond
Fix Doxygen documentation for the Apex rotator
Fix Doxygen documentation for the GRBLTRK rotators
Fix typos
Fix Doxygen comments
Fix typos
Remove duplicated conditions
Fix initializer-overrides warnings by clang
Fix typos
Add/fix Doxygen comments
Fix segfaults with malformed input and wrong command line arguments
Fix segfaults with malformed input and wrong command line arguments
Fix check for RIG_BUSBUSY
Fix name of command in the usage and version texts
Fix name of command in the version text
Fix man page of rigctld
Fix warning message for twiddle_rit
Fix typos in man pages and other documentation
Fix typos in comments
Fix typos in messages
Remove duplicated sentence
Fix typos
Remove unused and empty source files
Dario Ventura (3):
New Prosistel rotor backend from IZ7CRX
Add elevation code to Prosistel backend
TS2000 Satellite mode and Gpredict
Dariusz Bismor, SQ9KEJ (1):
rigmem: implement CSV file loading
David Brewerton M0EZP (1):
FT990UNI patch contribution from M0EZP
David Fannin (1):
Submission for new backend model (134) for Yaesu FT-DX1200
Davide Gerhard (3):
tests/{memcsv.c,memsave.c}: partially revert commit 4072f9f4
ic746.c: correct chanbuf length, fix channel structure and support split
ic746.c: add ic746pro_set_channel() to load memory from csv
Dawid SQ6EMM (3):
Add method to build inside docker
Let SEND_MORSE and SEND_VOICE_MEM be announced as capabilities.
Allow \send_voice_mem to be used over network and tested in dummy rig
Dawid Szymanski (2):
ICOM Voice Keyer implemented.
typo fix
Dhiru Kholia (1):
Minor fixes for FT-747GX simulator
Diane Bruce, VA3DB (5):
- first cut at fixing configure to recognise --without-tcl-binding and --without-python-binding options
- gt_HEADER_INTTYPES_H is definitely bogus here, leftover from what?
- document debian/FreeBSD needs for AUTOMAKE etc. - add in libtoolize which should be there
- These should have been commented out.
- Extra comma on RIG_STATUS_BUGGY can cause a compiler error.
Dieter Röver (1):
Fix bug in vfo_comp calculation in Hamlib
Ekki Plicht (DF4OR) (2):
New model Icom IC-R8600
Patch for Icom DCS code handling
Eli Schwartz (1):
tests: fix compilation with modern compilers
Elliott Liggett (1):
Added functionality for the IC-7300 auto antenna tuner
Eriks Dobelis (2):
ft817: adding delay before next retry after returning from tx to rx
ft817: Moving delay value into #define section of the header
Ervin Hegedus (9):
RIG_PASSBAND_NORMAL wasn't handled correctly when rig_set_mode() was called - fixed
Fixed SWIG `Setting a const char * variable may leak memory' error
Fixed Kenwood filter cmd when passband is set to 500Hz
Merged from upstream
Merge branch 'master' of http://git.code.sf.net/p/hamlib/code
Added Lua binding and demo script
Added new example to Python demo script (set/get float type level)
Change variable length argument handling in affected functions
Fix two typos
Ervin Hegedüs (1):
rig.swg: New properly formatted macro
Evgeniy Titorenko (1):
Add Radant AZV-1 Rotator controller protocol.
Francois Retief (21):
Added read_serial function to read strings from a port.
Corrected some comments
Added code to hexdump to right align ASCII dump column
added private caps for rig termination character
add private caps and more commands.
Changed to a new transaction function and adde quite a few commands.
add private caps to store the termination character of Kenwood rigs commands.
added a kenwood_init and _cleanup routine for priv caps & priv data.
Added a new function: LCD Lamp ON/OFF (for Kenwood TH-7DA)
check trn state of rig in rig_open.
Initial commit of Kylix binding
New backend for rotators
New RPC backend for rotators
Added rot_move function
Fix macro name
Added rot_move function
Added easycomm and rpcrot backends
Fixed circular dependency for rpc.rigd and rpc.rotd
regenerated
Added IC-910 rig.
Added constants for the IC-910 rig.
Frank Goenninger (8):
Add ADAT ADT-200A backend
adat updates from Frank, DG1SBG
ADAT fixes on Windows
RIG ADAT: Adaption to firmware 1.40fb and transverter board.
.gitignore: Ignore some macOS housekeeping files.
Major code cleanup. Replace dyn. memory by static memory usage.
FIXED: Source code inconsistency after major code change.
FIXED: Incorrect usage of snprintf() argument for buffer length.
Frank Singleton, VK3FCS (165):
Initial revision
Initial revision
*** empty log message ***
*** empty log message ***
*** empty log message ***
Initial revision
Initial revision
*** empty log message ***
*** empty log message ***
added build_all ,cleanall and verify targets
*** empty log message ***
initial top level makefile
add some things
initial import
initial import
initial import
fixed some typos
use rig_open and rig_close
added rig_open and rig_close
fixed cmd_sat_on / off
added sat-on and sat_off to test
changed cmd_get_rx_status, must do tx also
updated test()
all reads use while (1) and break
added ../common as object path
added rig_open and rig_close
using rig_open and rig_close and serial.h
use common dir for serial stuff
use ft747 on serial port /dev/ttyS0
read uses while(1) and break
use while(1) and break
added read_sleep
use read_sleep now from serial.h
using read_sleep from serial.h
had rx and tx status swapped (document error?)
removed cmd_get_update
using CVS instead of RCS directories
use MODE_xx defines
cannot use const int in case statements ?? so use #define instead
use #defines for MODE_XXX used in case statements
working out freq conversion, unfinished
playing with test routines
long int cmd_get_freq_mode_status_main_vfo(int fd, unsigned char *mode);
long int cmd_get_freq_mode_status_main_vfo(int fd, unsigned char *mode)
frq = cmd_get_freq_mode_status_main_vfo(fd, &mode);
starting with the cmd_set commands now
starting on cmd_set commands now
starting on cmd_set_freq commands now
add scanning todo
now set sat rx and tx freq and mode also
fix typo
dump raw hex data when writing and reading
trying some cms_set_freq_xxx commands
added routines for dec <-> packed decimal conversion
minor
added generic hex dump routine, static void dump_hex(unsigned char *ptr, int size, int width);
removed unwanted debug printf's
removed dump_hex from here..
calc_freq_from_packed4 is about to be replaced
calc_packed_from_char and calc_char_from_packed now here
cleanup
cleanup
void dump_hex(unsigned char *ptr, int size, int width);
adding dcs tables and repeater offset in Hz
describe faulty yaesu documentation
added README.license for GPL
added GPL license info
included full GPL license
Updated docs to point to http://sourceforge.net/projects/hamlib/ and added a C code snippet on how to use the API.
added -I$(COMMON_DIR) to find rig.h
added -I$(COMMON_DIR) to find rig.h
adding capabilities
initial capabilities stuff
starting to add rig_caps stuff
starting to add rig_caps stuff
starting to add rig_caps stuff.
added GPL stuff and comments
adding rig_caps stuff
adding rig_cap stuff
adding rig_caps stuff
add capabilities and preferences
adding rig_caps functionality
adding rig_caps stuff
frontend reduction on backend function namespace - phew !!
frontend API clarification
removed old open_port2() using old rig_caps
fixed some typos, added 3 more candidates for API
missing ; in some enums
converting to frontend/backend structure compiles ok
removed open_port() and write_block()
removed open_port() and write_block()
fixed typos, added &ft747_caps in rig_caps
changing to frontend/backend style
converting to frontend/backend style
added 3 more cmd_* for API examples
Example of setting rig Main VFO to 439.700 Mhz FM
cleanup comments
added extern const struct rig_caps ft747_caps;
still thinking about set/get strategy
minor updates
added extra rig caps
added some set/get examples with return code checking
added testrig to Makefile, no linking yet
added usleep to read_sleep()
updated rig_caps structure
*** empty log message ***
test making a shared lib (at last) for the frontend - more todo
test making a shared lib for the frontend - make hamlib
describe frontend/backend structure
updated code snippet example
started ft747_set_ptt and ft747_set_vfo
starting to implement set/get pairs
added typedef enum ptt_type_e ptt_type_t;
added VFO types to enum
starting on libhamlib Makefile, added ./lib and ./include under common
make, make install, and make clean work ok, using ./lib and ./include directories also.
make, make install, and make clean work ok, using ./lib and ./include directories also.
removed "make verify". Added reference to common/Makefile
added printf("testrig:main() has been called \n"); for testing linking
makefile for testing testrig linking
alternative rig_base declaration removes references to rig_caps at compile time. should populate it another way -- FS
added printf's to confirm rig.c (hamlib) is being called ok
better libhamlib.so version :-)
added ft847_open and ft847_close to enable CAT ON/OFF
added ft747_open and ft747_close
updated lib names for backend to libhamlib-xxxxx.so
API updates - added set/get_mode
merge with TRN stuff and add some set/get_mode and vfo stuff
added post_write_delay
cvs mails to hamlib-cvs-digest
cvs mail update works ok :-)
minor fixes
updated ptt/mode/vfo
added set/get freq to use generic bcd etc
more set_freq() examples
1. Added VFO as target for some set/get cmds. 2. ./testrig still runs ok using RIG_VFO_CURR.
minor update to active VFO handling in _set_vfo
some new defines for FT747_VFO_A/B
minor updates to active vfo handling
added ptt handling example, stand back !
trying different approach to storing cmd sequence. _set_ptt is being converted. Needs tidying up though. Some sequences are complete, and can be read from static data. Incomplete sequences will eventually be copied form static declaration, and completed in priv data.
Removed static stuff from functions. Also, begin to implement table driven command translation from API to rig native. priv now contains a cmd table that is used for backend commands towards rig.
Added some new freq/mode combinations.
converting ft847 to table driven, similar to ft747.
more table driven stuff for ft847. cat/ptt/freq being converted.
Added ft847_send_priv_cmd(), converted some part of API to use this. Added _set_mode to work now. TODO: put _send_priv_cmd into yaesu.[ch] so ft747 can use also. Turned on PTT also (stand back)..
rig_cleanup and rig_close not calling backend
removed unused calc_ functions.
removed old API functions, general cleanup tested rig_close and rig_cleanup
Initial release, common yaesu declareations etc.
add version tag
nseq uses YAESU_CMD_LENGTH
Initial yaesu Makefile
Moved from ft747 and ft847 dirs
common yaesu handling
common yaesu dir
Begin to use common yaesu code
general cleanup, added _send_priv_cmd
added targetable_vfo value to caps
minor cleanup
ChangeLog history started
Initial import for ChangeLog handling
starting to convert rig struct to readable form
more of convert rig struct to readable form
Changelog update for HAMLIB-1.1.1
GeoBaltz (1):
Merge branch 'master' into rp12
George Baltz N3GB (179):
Add missing level definitions for TS-590SG
Add routine to check input to <brand>_set_level
ATTenuator level 0 should always be allowed - to turn it off.
First round of level_gran additions.
Do the check for min=max=0 the right way.
Round 2.
Enable first user of check_level_param
Round 3 of level_gran updates.
Remove hard-coded constants.
Enable full level checking for TS-890S.
Add default level values for Elecraft rigs.
Update RIG_LEVEL_READONLY_LIST.
Round 4 of level_gran updates.
Fix the comment about float levels.
Add Elecraft defaults to makefile.
Fix typos (missing '('s ) in man pages.
Add missing commands to man pages
Avoid NULL dereference in debug statement.
Use level_gran[] values in kenwood_get_level.
Still more level_gran data.
Yet more missing level defs.
Enable level_gran[] checking for all calls to kenwood_set_level.
Add basis for level_gran use in newcat.c
Convert set/get AF, RF to use level_gran info.
Convert MICGAIN to level_gran
Convert COMP
Convert ANTIVOX & VOXGAIN
New for old - update level_gran for ft9000Old
Fix segfault on rigctl exit
Convert SQL to use level_gran data.
Convert MONITOR_GAIN
Convert RFPOWER to level_gran usage
Convert NR to use level_gran
Fix inverted VHF/UHF BANDSELECT labels
Fix duplicate level definition
Add RIG_LEVEL_USB_AF_INPUT to RIG_LEVEL_FLOAT_LIST
Implement RIG_LEVEL_USB_AF[_INPUT] for TS-890S
Enable set_level checking for all Yaesu/newcat rigs.
Replace hard coded constants with table values
f conversion already rounds, so no external rounding needed.
Move meter reader to kenwood.c, so it can be used by ts990.c
Use general meter reader to get SWR value for TS-990.
Revert "Fix FTDX101MP RFPOWER to allow 200W" Unnecessary code, breaks other levels.
Fix FTDX101MP RFPOWER the right way.
Restore shared library ABI compatibility with previous hamlibs
Add basic support for transparent access to port structures.
More Kenwood rigs ported to new access macros.
Convert the remaining files in rigs/kenwood/
Define different (disambiguated) names for external use.
Fix copy/paste errors in xiegu.c
More typos/copy/paste errors in rigs/icom
Add cache to the MACRO/porting list
Implement function to get structure address
Function to get amplifier port address Convert src/amplifier.c to new MACROs/access method.
Add function to get rotator port address(es)
Port conf.c to use access macros
Convert more files in src/
Pointerize all the ports in src/rig.c
Need more parens to work in expressions.
Update example.c Avoid using raw rigport, in two different ways. Fix variable name.
Implement ctcss tone for TS-890S.
Fix off by one error in tones for TS-590/890/990 Fix some rigs I found docs for - more needed
Add funcs to set/clear TONE/CTCSS modes for TS-890S
Add remaining rigs, matching old behavior. Fix copy/paste foulup.
Drat. Fix more copy/paste SNAFUs
Update NEWS with pointer conversion macros.
Make simulator match the Real World(TM) Add missing P4 Repair RIG_LEVEL_STRENGTH
Add calibration table for TS-890S RFPOWER_METER_WATTS
Bring simts890.c a little closer to the real thing Still needs more work.
Fix icom_set_powerstat() to correctly save&restore rp->retry, rp->timeout_retry
Convert some cache references to pointers
Convert a few more cache pointers
Cache pointers for src/rig.c Issue #1420 again.
Convert rot_conf.c and amp_conf.c to pointers
Update dcdport usage in tests/*.c Issue #1445
Play catchup with split/VFO revision. Fix typos in rebase fixups.
Start converting rigs/* This commit does rigs/adat/, rigs/alinco/ and rigs/aor/.
Port rigs/anytone/, rigs/barrett/ and rigs/codan/ Fixup git rebase SMerge error.
Convert rigs/dorji, rigs/drake, rigs/elad.
Convert rigs/dummy/
Convert rigs/flexradio, rigs/gomspace, rigs/jrc, rigs/kachina
Convert rigs/icom/, rigs/kit/
Convert rigs/loew/, rigs/pcr/, rigs/prm80/, rigs/racal/ and rigs/rs/
Convert rigs/mds/, rigs/skanti/, rigs/tapr/ and rigs/tentec/
Do rigs/tuner/, rigs/uniden/, rigs/winradio/ & rigs/wj/
Convert rigs/yaesu
Minor cleanup of ts890.c
Update simts890.c Make IF return RX/TX status Document IF data, reformat IF & SF commands
Convert all port references in amplifiers/ to pointers.
Convert first part of rotators/
Finish rotators/
Add STATE to the list of pointers
Convert tests/* to pointers
Finish tests/*
Update some of rigs/* to use pointer to cache
Use pointers for all cache references in rigs/*
All struct rig_cache referenced converted to pointers.
Start converting rigs/* to use pointers to state
More pointers to state
More pointers to state
Pointerize all state references in rigs/kenwood/*
Add macros for amplifier and rotator state pointers.
Fix incorrect port read for elevation
Normalize some debug/trace output.
More state pointer changes
Convert macros in rig.h to use STATE()
More state pointer changes
Still more state pointer conversions.
More state pointers - mostly sed i
Pointerize state references in Tentec rigs.
And another batch...
Use sed -i on all in rigs/kit/
More sed -i with manual fixups.
Convert all of rigs/* except rigs/icom and rigs/yaesu
First set of rigs/icom/* state pointer macros.
Convert rigs/icom/icom.[ch]
First batch of state pointers in rigs/yaesu/
Next batch of state pointers
Convert newcat.c
FIx the stragglers
Revert "Fix rotorez set_conf in both rotctl and rotctld -- since it needs to be done after rot_open"
Definitions, storage and infrastructure for queuing config commands
Implement the first user of the deferred set_conf entries.
Fix other rotators that try to do I/O before open.
Finish all port initialization before allowing I/O.
Balance ENTERFUNC/RETURNFUNC, ENTERFUNC2/RETURNFUNC2, ELAPSED1/ELAPSED2 usage
Balance ENTERFUNC/RETURNFUNC usage
More of the balancing act.
More balancing
Finish balancing
Get rid of some false positives for func_chk
Fix func_chk to do useful things
Fix ENTERFUNC/RETURNFUNC imbalances found by repaired func_chk
More pointer conversions for rig->state.
More pointerizations in src/*
Convert all rig->state. references in src/rig.c to pointers.
Play catch-up with recent code.
Use pointers for amp->state references
Use macros/pointers for rot->state references
More amplifier and rotator state changes
Yet another batch of state pointers
Catch up with latest code
Balance new code.
Fix wrong error message for SF1 command.
Make SNPRINTF do something useful for Hamlib
Remove dead code
Declare local functions as local
Implement rig_get_clock for TS-890S
Fix wrong utc_offset
Use a reliable source for TZ offset
Add just enough to simts890.c to fake kenwood_get_clock.
Tweaks to simts890.c
Fix negative fractional UTC offsets
Implement kenwood_set_clock
Fix command lengths for TS-890S set/get_antenna.
Still more tweaks to simts890.c
Replace raw write() calls with macro
More fixes for simts890.c
Reduce dependency on include/hamlib/rig.h
Convert VFOs into objects(structs).
Get rid of ghost commands.
More VFOs as objects.
Change FA/FB/SF to use band memories
Implement step sizes for some freq changes
Add DN/UP, FC, and UD commands to simts890.c
Correct some split problems and connect VFO ops
Clean up
Make FR & FT commands aware of new vfo structs.
Add traffic tracing to simts890.c
Annotate legacy (undocumented) commands in simts890.c
Add RIT/XIT commands (FS, RC, RD/RU, RF, RT, XT) to simts890.c
Astyle simts890.c
Update TS-890S and TS-990S RIT/XIT handling
Factor out TS-890S and TS-990S from kenwood_get_split_vfo_if()
MACROize new code.
Minimal support for KY commands in simts890.c
Use short (i.e., variable length) messages in kenwood_send_morse()
Fix porting unneeded code
Fix unbalanced ENTERFUNC/RETURNFUNC pairs in icom.c
Georges Auberger (1):
Add product id for CM119B chip. Used in KURI adapter designed by W7NX.
Gerardo Richarte (1):
gs232b.c: Improve get_position string parsing
Gisle Vanem (1):
Enable verbose mode in bindings/pytest.py
Greg Troxel (1):
Warning about dodgy code in drake.c
HB9EIK (4):
Initial release ELAD FDM DUO
Update ELAD files
Update build system for ELAD backend
Update copyright for fdm_duo.c
Hans Van Ingelgom (1):
Added Peaberry V1 and V2 models
Hegedüs Ervin (4):
Merge branch 'master' of http://git.code.sf.net/p/hamlib/code
Check SWIG string functions for some languages
Leave off multiply 'typedef const char * const_char_string' definition (in rig.swg and rotator.swg)
Fixed int[10] type variable error in bindings
Jae Stutzman (5):
Added HPSDR backend
Clears potential garbage data in read buffer prior to command being sent
Updated PiHPSDR backend defaults
Use Windows ioctlsocket to avoid buffer overrun
Added new AGC control for PiHPSDR
James Watson, HZ1JW (2):
Added ic7200 to icom
Corrected modes in ic7200.c
Jaroslav Skarvada (2):
Fix hardcoded pcconfig libdir
Fix serial_port DCD squelch
Jeroen Vreeken (9):
Add support for GPIO PTT.
Add missing breaks and improve error messages
Add Dorji DRA818 modules (VHF and UHF variants) Also works with NiceRF SA818 modules
Merge branch 'master' of git://git.code.sf.net/p/hamlib/code
Small fixes to DRA818 volume handling
Add GPIO and GPION options for DCD. Also bump abi version since the config params struct needed resizing.
Merge branch 'master' of github.com:Hamlib/Hamlib
GPIO working after debugging
Merge branch 'master' of github.com:Hamlib/Hamlib
Johan Ström (1):
Backup serial options on open, restore on close
John Paul Adrian Glaubitz (1):
dummy/dummy.c: Fix unaligned access in dummy_get_level()
Jonathan Bastien-Filiatrault (3):
Correct FT; command that does not exist on the FT-891.
Allow setting split mode without smashing the VFOB frequency.
Scale power values correctly for Yaesu FT-891.
Jonny public (1):
ether6: New rotor backend from Jonny, DG9OAA
Joop Stakenborg, PG4I (116):
update (kenwood is not a WIP anymore)
first implementation of kenwood_get_ptt
enable get_ptt for this rig
add get_ptt for this rig
additional protocol checks and cleanups
fix signal strength
add RIG_LEVEL_RFPOWER
fix_compilation
add rit capabilities
bring comands in sync with other kenwood rigs
add rit capabilities
send_morse added
explain set_rit
fix get_ctcss_tone by using IF command
typo
add xit capabilities
add set_level and get_level
bring rig in sync with other kenwood rigs
bump version numbers
nothing returned by the rig for these commands
fix get_level_agc
fix set_level_agc
getting in sync with the debian 1.1.2 package
remove template files
initial checkin
make this NMU for now
correct the path for copying files in the apropriate package
do not install the old changelog
versioning not used
move .la, .a, .so files to the correct package
include rpc.rigd and rpc.rotd
include pkgconfig support
don't create shlibs file for drake, jrc and easycomm libraries
move hamlib1 to the top so the documentations gets installed correctly
make building easier, call autogen.sh
INSTALL file not used
build the documentation package
we don't have to call configure twice
cleanup
remove some build dependencies and don't call autogen.sh
ts450s uses IF command for get_vfo, get_freq and get_mode
minor bugfix, bump to beta
add CWR and RTTYR
this rig does not have a command for reading IF bandwidth
retrieve passband with FW command
passband should be calculated after mode is set
use rig_passband_normal here
various lintian fixes
one last lintian fix
use FW command to set bandpass
cw filters for normal, narrow and wide
more filters
get_mode and set_mode for this rig
filters
some comments
correct rit
add get_level
cleanups
more modes
set_level for this rig
should use kenwood_get_freq
minor bug
add rpm support
need hamlib.spec for 'make rpm'
make rpm will fail with a '-' in the version number
a working spec file
update debian build for rotorez and fodtrack, minor fixes
unofficial
fix the debian build script, new maintainer
update the debian build tree to the latest
correct baudrate for the ts-950, use the information field IF for get_vfo by default (supported by most kenwood rigs), ts870s will use the much shorter FR command for get_vfo
correct baudrate for some rigs and add ts-950 to the id_list
ts-850 returns ID 009 according to martin, OK1RR
fix 'make rpm'
build for hamlib-1.1.5
not needed
sync with latest debian package and add tcl, c++, python and perl bindings
correct spelling
s-meter calibration by Matt Dawson
basic functionality by Matt Dawson, tested with grig and xlog
lifetime e-mail address :-)
sync with latest debian release
more functionality, mode and frequency get by Matt Dawson
only switch tx vfo is split is on
set attenuator level
export convenience function get_kenwood_level, so they can be use by other backends
add RIG_LEVEL_SWR, copied from ts850
add RIG_LEVEL_COMP, RIG_LEVEL_AGC, copied from ts850
bump version, no preamp
really add ALC read this time, only change meter if needed, cleanups
split has_get_level and has_set_level
fix coding, python2.4 compatibility
fix compilation warnings
more compilation warnings nuked, use tone_t for ctcss_list
use size_t
fix more compilation warnings, int->size_t, unsigned char->char
more unsigned char->char and int->size_t transitions
set functions should have ack_len zero, also need to check other rigs
make sure we use ack_len=0 for functions that return nothing (set functions)
more unsigned char->char and int->size_t transitions
extend rig capabilities, patch by Tom, DL1JBE
add RIG_LEVEL_STRENGTH to caps, set post write delay to 0 and do some cleanups
re-establish post-write delay
remove rpath backdoor
long long really needed here?
updates by matt, GW0VNR
long long really needed here? - patch by diane Bruce
distribute footer.html
correct set/get power
try better s-meter readings
packages renamed
obsolete
sync with latest debian release
no need to link to python
sync with latest, python changes
another debian update: use 'make distclean' in the rules file
Joshua Lynch (4):
initial SatEL rotator support
factored io functions out. improve reliability...i hope.
fixed state bug. reconnecting would disable motion every other connect.
merged upstream/master into master
Juergen Rinas, DC3BW (4):
added antenna switching...
added a few get_level/set_level get_function/set_functions.
* fixed set_func (concerns most kenwood rigs) * added 115200 to the list of baudrates in probeallrigs_kenwood()
* fixed ptt * expanded frequency range (available after firmware update) according to http://www.kenwood.com/i/products/info/amateur/ts_480/firmware/pop_ts480_e.htm * added tuning steps * added filter list * increased version info
Julian Cable (3):
WinRadio G313: Updates from Julian Campbell
wrg313api.c: Fix Win32 (MinGW) build issue
Use Automake conditionals for G313 build
Juuso Lehtinen (4):
Add get & set RIG_LEVEL_NB for Yaesu rigs.
Fix set level METER for Yaesu rigs
Add ID, VD & Comp meter cals for FT991
Add better defaults for newcat meter cals
Kamal Mostafa (3):
Fix mingw32 cross-compilation procedure and config
Do not let macros/ac_python_devel.m4 trash CPPFLAGS and LIBS
Fix spelling errors
Kamal Mostafa, KA6MAL (19):
Hard-code length of hamlib_version and hamlib_copyright strings to stay compliant with hamlib 1.2 ABI and avoid spurious "consider relinking" warnings from dynamic loader.
Removed stale debian/ dir from the hamlib source (it is maintained in the Debian diff and isn't useful in this tree).
Update bundled libltdl (libtool) to version 2.2.6b to address CVE-2009-3736. - autogen.sh: never downgrade our bundled libltdl/ (only run libtoolize if system version is newer than our bundled version). - autofixer.sh: script removed as libtool 1.x is no longer allowed. - configure.ac: (not enabled) optional setting to deprecate embedded libltdl/.
Added Kamal Mostafa and Jaime Robles as maintainers for Debian packaging.
Fix build --with-python-binding breakage introduced by Python 2.6: Do not reference LOCALMODLIBS, else it will add libraries to our link line (e.g -lssl) which are not necessarily installed.
Elektor 507 frequency selection resolution improvements, contributed by John Nogatch AC6SL.
Move backend libraries into /usr/lib/hamlib directory.
Force automake to invoke the C (not C++) linker in kit/ when no C++ is in use.
python: fix --with-python-bin...
[truncated message content] |
|
From: n0nb <n0...@us...> - 2025-02-09 21:06:04
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, Hamlib-4.6.2 has been created
at 8703647c8cb277cad66f5a4eaff103126b7a1b5a (commit)
- Log -----------------------------------------------------------------
commit 8703647c8cb277cad66f5a4eaff103126b7a1b5a
Author: Nate Bargmann <n0...@n0...>
Date: Sun Feb 9 15:03:50 2025 -0600
Prepare for 4.6.2 release
Making this a branch off of the current master as it just has fixes
since the 4.6.1 release.
diff --git a/configure.ac b/configure.ac
index 9bf5390d2..7d59a9c21 100644
--- a/configure.ac
+++ b/configure.ac
@@ -14,7 +14,7 @@ dnl Please do not use '-' in the version number, as package managers will fail,
dnl however, the use of '~' should be fine as apt (others?) will treat
dnl it as an earlier version than the actual release. TNX KA6MAL
dnl PACKAGE_NAME + " " + PACKAGE_VERSION must not exceed 20 chars!
-AC_INIT([Hamlib],[4.7~git],[ham...@li...],[hamlib],[http://www.hamlib.org])
+AC_INIT([Hamlib],[4.6.2],[ham...@li...],[hamlib],[http://www.hamlib.org])
#AC_INIT([PRODUCT_NAME], [Hamlib])
#AC_DEFINE([Hamlib], [PRODUCT_VERSION_RESOURCE])
@@ -76,7 +76,7 @@ dnl See README.release on setting these values
# Set them here to keep c++/Makefile and src/Makefile in sync.
ABI_VERSION=4
ABI_REVISION=6
-ABI_PATCH=0
+ABI_PATCH=2
ABI_AGE=0
AC_DEFINE_UNQUOTED([ABI_VERSION], [$ABI_VERSION], [Frontend ABI version])
-----------------------------------------------------------------------
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-02-09 20:54:27
|
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 c939f1a83ac1b7ad1bb903120da13f19b468e4be (commit)
via a0df573df760ea8c137a26581d46d46abaf5a6c0 (commit)
via 6e704c5bc8a374af5db07e76a7a11c15463540ed (commit)
via 5ecc1934fc338608c46267df584c903fb847b751 (commit)
via 62e44940cfa8d6ff365cb931f6e387398b26a62b (commit)
via 19dce9fd1b515002fb64976d151e9bb05970e614 (commit)
via 9ffbf632903d5642d4ceb2bb322baab671fed6be (commit)
via 93c5267dfbf0c084f75b65165e2fe5a5167d81f7 (commit)
via 79f5a08210d94e26eb7908a16ad53fa10d9936a0 (commit)
via 62071273aae744b8dedf739be2ae1575f75a51a2 (commit)
via 1813820dd3f2d0547190208979498c9fde449483 (commit)
via 0e36ee79fe36750d77d1a021c5baaf892dbf5813 (commit)
via 27f009da4c2b3781f467d1d1bea21f8776e2b1a6 (commit)
via e44da73e9a0714efab2c67f6f15904f7116b612e (commit)
via 2ed2a998e3d0d932afa184831d469f090fce50fe (commit)
via 194e18f4e45c1afabeed7f838f32407851474239 (commit)
via 8309616e9b6d293d3354444ad9b83a0b9f7b0ffb (commit)
via 710dfea56e79bee7ef41d060153d9e22efdf9c61 (commit)
from bb4eb78d22c312e708cf21a614019970f023b5a4 (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 c939f1a83ac1b7ad1bb903120da13f19b468e4be
Author: Michael Black W9MDB <mdb...@ya...>
Date: Wed Feb 5 08:01:14 2025 -0600
Add missing levels for IC746/Pro RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_RFPOWER_METER_WATTS|RIG_LEVEL_SWR|RIG_LEVEL_ALC
diff --git a/NEWS b/NEWS
index eb4c0c89a..d30dfad21 100644
--- a/NEWS
+++ b/NEWS
@@ -13,6 +13,7 @@ Version 5.x -- future
* Change FT1000MP Mark V model names to align with FT1000MP
Version 4.6.2
+ * Add missing levels for IC746/PRO RIG_LEVEL_RFPOWER_METER,RIG_LEVEL_RFPOWER_METER_WATTS,RIG_LEVEL_SWR,RIG_LEVEL_ALC
* Fix IC905 for gpredict
* Fix potential segfault on QMX
* Fix pmr171
diff --git a/rigs/icom/ic746.c b/rigs/icom/ic746.c
index f8386e41b..6ace9675b 100644
--- a/rigs/icom/ic746.c
+++ b/rigs/icom/ic746.c
@@ -54,7 +54,7 @@
#define IC746_FUNC_ALL (RIG_FUNC_NB|RIG_FUNC_COMP|RIG_FUNC_VOX|RIG_FUNC_TONE|RIG_FUNC_TSQL|RIG_FUNC_SBKIN|RIG_FUNC_FBKIN|RIG_FUNC_NR|RIG_FUNC_MON|RIG_FUNC_MN|RIG_FUNC_RF|RIG_FUNC_ANF|RIG_FUNC_APF|RIG_FUNC_RESUME|RIG_FUNC_ARO)
-#define IC746_LEVEL_ALL (RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_PREAMP|RIG_LEVEL_ATT|RIG_LEVEL_AGC|RIG_LEVEL_COMP|RIG_LEVEL_BKINDL|RIG_LEVEL_NR|RIG_LEVEL_PBT_IN|RIG_LEVEL_PBT_OUT|RIG_LEVEL_CWPITCH|RIG_LEVEL_RFPOWER|RIG_LEVEL_MICGAIN|RIG_LEVEL_KEYSPD|RIG_LEVEL_NOTCHF_RAW|RIG_LEVEL_SQL|RIG_LEVEL_RAWSTR|RIG_LEVEL_APF|RIG_LEVEL_AGC_TIME)
+#define IC746_LEVEL_ALL (RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_PREAMP|RIG_LEVEL_ATT|RIG_LEVEL_AGC|RIG_LEVEL_COMP|RIG_LEVEL_BKINDL|RIG_LEVEL_NR|RIG_LEVEL_PBT_IN|RIG_LEVEL_PBT_OUT|RIG_LEVEL_CWPITCH|RIG_LEVEL_RFPOWER|RIG_LEVEL_MICGAIN|RIG_LEVEL_KEYSPD|RIG_LEVEL_NOTCHF_RAW|RIG_LEVEL_SQL|RIG_LEVEL_RAWSTR|RIG_LEVEL_APF|RIG_LEVEL_AGC_TIME|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_RFPOWER_METER_WATTS|RIG_LEVEL_SWR|RIG_LEVEL_ALC)
#define IC746_GET_PARM (RIG_PARM_BACKLIGHT|RIG_PARM_BEEP)
#define IC746_SET_PARM (RIG_PARM_BACKLIGHT|RIG_PARM_BEEP|RIG_PARM_ANN)
@@ -181,7 +181,7 @@ struct rig_caps ic746_caps =
RIG_MODEL(RIG_MODEL_IC746),
.model_name = "IC-746",
.mfg_name = "Icom",
- .version = BACKEND_VER ".4",
+ .version = BACKEND_VER ".5",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
commit a0df573df760ea8c137a26581d46d46abaf5a6c0
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Feb 4 11:45:56 2025 -0600
Reduce good news about serial port to verbose
diff --git a/src/serial.c b/src/serial.c
index 2d6fd5a7c..6fdecc739 100644
--- a/src/serial.c
+++ b/src/serial.c
@@ -242,7 +242,7 @@ int HAMLIB_API serial_open(hamlib_port_t *rp)
return -RIG_EIO;
case SER_AVAILABLE:
- rig_debug(RIG_DEBUG_ERR, "%s: serial port %s is OK\n", __func__, rp->pathname);
+ rig_debug(RIG_DEBUG_VERBOSE, "%s: serial port %s is OK\n", __func__, rp->pathname);
break;
}
commit 6e704c5bc8a374af5db07e76a7a11c15463540ed
Author: Michael Black W9MDB <mdb...@ya...>
Date: Fri Jan 31 07:29:04 2025 -0600
Update NEWS
diff --git a/NEWS b/NEWS
index 03f5ee844..eb4c0c89a 100644
--- a/NEWS
+++ b/NEWS
@@ -12,6 +12,11 @@ Version 5.x -- future
* rot_get_conf deprecated and replaced by rot_get_conf2
* Change FT1000MP Mark V model names to align with FT1000MP
+Version 4.6.2
+ * Fix IC905 for gpredict
+ * Fix potential segfault on QMX
+ * Fix pmr171
+
Version 4.6.1
* Fix C++ builds failing on rig_list_foreach function
* Fix IC9100 rigctld startup to end up on VFOA
commit 5ecc1934fc338608c46267df584c903fb847b751
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Jan 30 22:59:01 2025 -0600
Add IC910 to Icom exceptions in rig.c
diff --git a/src/rig.c b/src/rig.c
index a380cf18a..739a17fce 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -169,6 +169,8 @@ const char hamlib_copyright[231] = /* hamlib 1.2 ABI specifies 231 bytes */
#define CHECK_RIG_ARG(r) (!(r) || !(r)->caps || !STATE((r))->comm_state)
#define CHECK_RIG_CAPS(r) (!(r) || !(r)->caps)
+#define ICOM_EXCEPTIONS (rig->caps->rig_model == RIG_MODEL_IC9700 || rig->caps->rig_model == RIG_MODEL_IC9100 || rig->caps->rig_model == RIG_MODEL_IC910)
+
// The LOCK macro is for the primary thread calling the rig functions
// For a separate thread use rig_lock directly
// The purpose here is to avoid deadlock during recursion
@@ -1547,7 +1549,7 @@ int HAMLIB_API rig_open(RIG *rig)
{
vfo_t myvfo = RIG_VFO_A;
- if (rig->caps->rig_model == RIG_MODEL_IC9700 || rig->caps->rig_model == RIG_MODEL_IC9100) { myvfo = RIG_VFO_MAIN_A; }
+ if (ICOM_EXCEPTIONS) { myvfo = RIG_VFO_MAIN_A; }
retval = rig_get_freq(rig, myvfo, &freq);
@@ -1557,7 +1559,7 @@ int HAMLIB_API rig_open(RIG *rig)
vfo_t tx_vfo = RIG_VFO_NONE;
myvfo = RIG_VFO_B;
- if (rig->caps->rig_model == RIG_MODEL_IC9700 || rig->caps->rig_model == RIG_MODEL_IC9100) { myvfo = RIG_VFO_MAIN_B; }
+ if (ICOM_EXCEPTIONS) { myvfo = RIG_VFO_MAIN_B; }
rig_get_freq(rig, myvfo, &freq);
rig_get_split_vfo(rig, RIG_VFO_RX, &split, &tx_vfo);
@@ -1570,7 +1572,8 @@ int HAMLIB_API rig_open(RIG *rig)
{
myvfo = RIG_VFO_A;
- if (rig->caps->rig_model == RIG_MODEL_IC9700 || rig->caps->rig_model == RIG_MODEL_IC9100) { myvfo = RIG_VFO_MAIN_A; }
+ if (ICOM_EXCEPTIONS) { myvfo = RIG_VFO_MAIN_A; }
+
rig_get_mode(rig, myvfo, &mode, &width);
@@ -1578,7 +1581,7 @@ int HAMLIB_API rig_open(RIG *rig)
{
myvfo = RIG_VFO_B;
- if (rig->caps->rig_model == RIG_MODEL_IC9700 || rig->caps->rig_model == RIG_MODEL_IC9100) { myvfo = RIG_VFO_MAIN_A; }
+ if (ICOM_EXCEPTIONS) { myvfo = RIG_VFO_MAIN_A; }
rig_debug(RIG_DEBUG_VERBOSE, "xxxsplit=%d\n", split);
HAMLIB_TRACE;
commit 62e44940cfa8d6ff365cb931f6e387398b26a62b
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Jan 30 12:09:35 2025 -0600
Add to Segfault user award
diff --git a/Segfault-award b/Segfault-award
index 4bf3b4be2..e775238db 100644
--- a/Segfault-award
+++ b/Segfault-award
@@ -37,3 +37,6 @@ Here is the list of the brave fellows:
* Josef 'Jeff' Sipek
netrigctl power2mW overflow
https://github.com/Hamlib/Hamlib/issues/855
+
+* David Balharrie M0DGB
+ Using python caused seg fault on QMX due to missing priv structure
commit 19dce9fd1b515002fb64976d151e9bb05970e614
Merge: 9ffbf6329 93c5267df
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Jan 30 11:51:23 2025 -0600
Merge branch 'master' of github.com:Hamlib/Hamlib
commit 9ffbf632903d5642d4ceb2bb322baab671fed6be
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Jan 30 11:50:57 2025 -0600
Add priv back to QMX as can cause segfault in some cases
diff --git a/rigs/kenwood/ts480.c b/rigs/kenwood/ts480.c
index 4cb0eb789..043f25334 100644
--- a/rigs/kenwood/ts480.c
+++ b/rigs/kenwood/ts480.c
@@ -1943,7 +1943,7 @@ struct rig_caps qrplabs_qmx_caps =
RIG_MODEL(RIG_MODEL_QRPLABS_QMX),
.model_name = "QMX",
.mfg_name = "QRPLabs",
- .version = BACKEND_VER ".1",
+ .version = BACKEND_VER ".2",
.copyright = "LGPL",
.status = RIG_STATUS_BETA,
.rig_type = RIG_TYPE_TRANSCEIVER,
@@ -1980,6 +1980,8 @@ struct rig_caps qrplabs_qmx_caps =
RIG_FLT_END,
},
+ .priv = (void *)& ts480_priv_caps,
+
.rig_init = ts480_init,
.rig_open = qrplabs_open,
.rig_cleanup = kenwood_cleanup,
commit 93c5267dfbf0c084f75b65165e2fe5a5167d81f7
Merge: 62071273a 79f5a0821
Author: Michael Black <mdb...@ya...>
Date: Mon Jan 27 12:09:42 2025 -0600
Merge pull request #1667 from ny4i/patch-1
Update README.developer
commit 79f5a08210d94e26eb7908a16ad53fa10d9936a0
Author: Tom Schaefer <to...@be...>
Date: Mon Jan 27 12:12:16 2025 -0500
Update README.developer
Removed s from end of the build-essential package. It is just build-essential. There is no such package as build-essentials.
diff --git a/README.developer b/README.developer
index 676acbfc7..2b5f64695 100644
--- a/README.developer
+++ b/README.developer
@@ -239,7 +239,7 @@ That is, if you want to take part in the development of Hamlib,
you'll need the following tools. Make sure you have at least the required
version or you won't even be able to build from the Git clone.
-N.B. The Debian and derivatives (Ubuntu and friends) 'build-essentials'
+N.B. The Debian and derivatives (Ubuntu and friends) 'build-essential'
package will install a number of tools and minimize the number of packages
that need to be installed manually (Debian package names are listed, other
distributions may differ).
commit 62071273aae744b8dedf739be2ae1575f75a51a2
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Jan 25 12:05:38 2025 -0600
Prompt PMR-171 to stable
diff --git a/rigs/yaesu/pmr171.c b/rigs/yaesu/pmr171.c
index 20b9fb51d..46d3b3d69 100644
--- a/rigs/yaesu/pmr171.c
+++ b/rigs/yaesu/pmr171.c
@@ -179,7 +179,7 @@ struct rig_caps pmr171_caps =
.mfg_name = "Guohe",
.version = "20240704.0",
.copyright = "LGPL",
- .status = RIG_STATUS_ALPHA,
+ .status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
.ptt_type = RIG_PTT_RIG,
.dcd_type = RIG_DCD_RIG,
commit 1813820dd3f2d0547190208979498c9fde449483
Merge: 27f009da4 0e36ee79f
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Jan 25 12:04:44 2025 -0600
Merge branch 'master' of github.com:Hamlib/Hamlib
commit 0e36ee79fe36750d77d1a021c5baaf892dbf5813
Merge: 8309616e9 2ed2a998e
Author: Michael Black <mdb...@ya...>
Date: Sat Jan 25 12:04:30 2025 -0600
Merge pull request #1665 from clzls/master
pmr171.c: Fix mode, freq and PTT
commit 27f009da4c2b3781f467d1d1bea21f8776e2b1a6
Merge: e44da73e9 8309616e9
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Jan 25 11:59:46 2025 -0600
Merge branch 'master' of github.com:Hamlib/Hamlib
commit e44da73e9a0714efab2c67f6f15904f7116b612e
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Jan 25 11:59:25 2025 -0600
Revert "Fix CRC calculation in pmr171.c"
Pull request being done instead
This reverts commit 194e18f4e45c1afabeed7f838f32407851474239.
diff --git a/rigs/yaesu/pmr171.c b/rigs/yaesu/pmr171.c
index 1d7d102c2..0799a290f 100644
--- a/rigs/yaesu/pmr171.c
+++ b/rigs/yaesu/pmr171.c
@@ -177,9 +177,9 @@ struct rig_caps pmr171_caps =
RIG_MODEL(RIG_MODEL_PMR171),
.model_name = "PMR-171",
.mfg_name = "Guohe",
- .version = "20250125.0",
+ .version = "20240704.0",
.copyright = "LGPL",
- .status = RIG_STATUS_STABLE,
+ .status = RIG_STATUS_ALPHA,
.rig_type = RIG_TYPE_TRANSCEIVER,
.ptt_type = RIG_PTT_RIG,
.dcd_type = RIG_DCD_RIG,
@@ -456,7 +456,7 @@ static int pmr171_send_cmd1(RIG *rig, unsigned char cmd, unsigned char *reply)
unsigned char buf[64] = { 0xa5, 0xa5, 0xa5, 0xa5, 0x03, 0x00, 0x00, 0x00 };
buf[5] = cmd;
- unsigned int crc = CRC16Check(&buf[4], 2);
+ unsigned int crc = CRC16Check(&buf[4], 3);
buf[6] = crc >> 8;
buf[7] = crc & 0xff;
rig_flush(rp);
@@ -809,7 +809,7 @@ static int pmr171_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
to_bcd_be(&cmd[10], CACHE(rig)->freqMainB, 8);
}
- unsigned int crc = CRC16Check(&cmd[4], 2);
+ unsigned int crc = CRC16Check(&cmd[4], 12);
cmd[14] = crc >> 8;
cmd[15] = crc & 0xff;
rig_flush(rp);
commit 2ed2a998e3d0d932afa184831d469f090fce50fe
Author: clzls <164...@us...>
Date: Sun Jan 26 01:35:05 2025 +0800
pmr171.c: Fix mode, freq and PTT
diff --git a/rigs/yaesu/pmr171.c b/rigs/yaesu/pmr171.c
index 0799a290f..20b9fb51d 100644
--- a/rigs/yaesu/pmr171.c
+++ b/rigs/yaesu/pmr171.c
@@ -453,19 +453,106 @@ static int pmr171_send_cmd1(RIG *rig, unsigned char cmd, unsigned char *reply)
{
hamlib_port_t *rp = RIGPORT(rig);
rig_debug(RIG_DEBUG_VERBOSE, "%s: called\n", __func__);
- unsigned char buf[64] = { 0xa5, 0xa5, 0xa5, 0xa5, 0x03, 0x00, 0x00, 0x00 };
+ unsigned char buf[8] = { 0xa5, 0xa5, 0xa5, 0xa5, 0x03, 0x00, 0x00, 0x00 };
buf[5] = cmd;
- unsigned int crc = CRC16Check(&buf[4], 3);
+ unsigned int crc = CRC16Check(&buf[4], 2);
buf[6] = crc >> 8;
buf[7] = crc & 0xff;
rig_flush(rp);
- write_block(rp, buf, 9);
+ write_block(rp, buf, 8);
return RIG_OK;
}
-rmode_t pmr171_modes[] = { RIG_MODE_USB, RIG_MODE_LSB, RIG_MODE_CWR, RIG_MODE_CW, RIG_MODE_FM, RIG_MODE_FMN, RIG_MODE_PKTUSB, RIG_MODE_RTTY };
+#define GUOHE_MODE_TABLE_MAX 9
+rmode_t pmr171_modes[GUOHE_MODE_TABLE_MAX] =
+{
+ RIG_MODE_USB,
+ RIG_MODE_LSB,
+ RIG_MODE_CWR,
+ RIG_MODE_CW,
+ RIG_MODE_AM,
+ RIG_MODE_FM,
+ RIG_MODE_FMN,
+ RIG_MODE_PKTUSB,
+ RIG_MODE_RTTY // not functioning
+};
+
+rmode_t guohe2rmode(unsigned char mode, const rmode_t mode_table[])
+{
+ rig_debug(RIG_DEBUG_VERBOSE, "%s called, mode=0x%02x\n", __func__,
+ mode);
+
+ if (mode >= GUOHE_MODE_TABLE_MAX)
+ {
+ return (RIG_MODE_NONE);
+ }
+
+ rig_debug(RIG_DEBUG_VERBOSE, "%s: returning %s\n", __func__,
+ rig_strrmode(mode_table[mode]));
+ return (mode_table[mode]);
+}
+
+unsigned char rmode2guohe(rmode_t mode, const rmode_t mode_table[])
+{
+ rig_debug(RIG_DEBUG_VERBOSE, "%s called, mode=%s\n", __func__,
+ rig_strrmode(mode));
+
+ if (mode != RIG_MODE_NONE)
+ {
+ unsigned char i;
+
+ for (i = 0; i < GUOHE_MODE_TABLE_MAX; i++)
+ {
+ if (mode_table[i] == mode)
+ {
+ rig_debug(RIG_DEBUG_VERBOSE, "%s: returning 0x%02x\n", __func__, i);
+ return (i);
+ }
+ }
+ }
+
+ return (-1);
+}
+
+/**
+ * Converting to Big-endian bytes
+ */
+unsigned char *to_be(unsigned char data[],
+ unsigned long long freq,
+ unsigned int byte_len)
+{
+ int i;
+
+ rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
+
+ for (i = byte_len - 1; i >= 0; i--)
+ {
+ unsigned char a = freq & 0xFF;
+ freq >>= 8;
+ data[i] = a;
+ }
+
+ return data;
+}
+
+
+unsigned long long from_be(const unsigned char data[],
+ unsigned int byte_len)
+{
+ int i;
+ unsigned long long f = 0;
+
+ rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
+
+ for (i = 0; i < byte_len; i++)
+ {
+ f = (f << 8) + data[i];
+ }
+
+ return f;
+}
static int pmr171_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
{
@@ -484,8 +571,8 @@ static int pmr171_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
pmr171_send_cmd1(rig, 0x0b, 0);
read_block(rp, reply, 5);
read_block(rp, &reply[5], reply[4]);
- vfoa = from_bcd_be(&reply[9], 8);
- vfob = from_bcd_be(&reply[13], 8);
+ vfoa = from_be(&reply[9], 4);
+ vfob = from_be(&reply[13], 4);
cachep->freqMainA = vfoa;
cachep->freqMainB = vfob;
rig_debug(RIG_DEBUG_VERBOSE, "%s: vfoa=%.0f, vfob=%.0f\n", __func__, vfoa,
@@ -494,8 +581,8 @@ static int pmr171_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
// Now grab the ptt status
cachep->ptt = reply[6] == 1;
// And the mode
- cachep->modeMainA = pmr171_modes[reply[7]];
- cachep->modeMainB = pmr171_modes[reply[8]];
+ cachep->modeMainA = guohe2rmode(reply[7], pmr171_modes);
+ cachep->modeMainB = guohe2rmode(reply[8], pmr171_modes);
if (vfo == RIG_VFO_B) { *freq = cachep->freqMainA; }
else { *freq = cachep->freqMainB; }
@@ -790,7 +877,7 @@ static int pmr171_send_icmd(RIG *rig, int index, const unsigned char *data)
static int pmr171_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
{
- unsigned char cmd[16] = { 0xa5, 0xa5, 0xa5, 0xa5, 12, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
+ unsigned char cmd[16] = { 0xa5, 0xa5, 0xa5, 0xa5, 11, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
unsigned char reply[16];
//int retval;
hamlib_port_t *rp = RIGPORT(rig);
@@ -800,16 +887,16 @@ static int pmr171_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
/* fill in the frequency */
if (vfo == RIG_VFO_B)
{
- to_bcd_be(&cmd[6], CACHE(rig)->freqMainA, 8);
- to_bcd_be(&cmd[10], freq, 8);
+ to_be(&cmd[6], CACHE(rig)->freqMainA, 4);
+ to_be(&cmd[10], freq, 4);
}
else
{
- to_bcd_be(&cmd[6], freq, 8);
- to_bcd_be(&cmd[10], CACHE(rig)->freqMainB, 8);
+ to_be(&cmd[6], freq, 4);
+ to_be(&cmd[10], CACHE(rig)->freqMainB, 4);
}
- unsigned int crc = CRC16Check(&cmd[4], 12);
+ unsigned int crc = CRC16Check(&cmd[4], 10);
cmd[14] = crc >> 8;
cmd[15] = crc & 0xff;
rig_flush(rp);
@@ -823,34 +910,38 @@ static int pmr171_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
static int pmr171_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
{
hamlib_port_t *rp = RIGPORT(rig);
- unsigned char cmd[10] = { 0xa5, 0xa5, 0xa5, 0xa5, 3, 0x0a, 0x00, 0x00, 0x00, 0x00 };
+ unsigned char cmd[10] = { 0xa5, 0xa5, 0xa5, 0xa5, 5, 0x0a, 0x00, 0x00, 0x00, 0x00 };
unsigned char reply[10];
- int i, crc;
+ int crc;
+ unsigned char i = rmode2guohe(mode, pmr171_modes);
- for (i = 0; i < sizeof(pmr171_modes) / sizeof(rmode_t); ++i)
+ if (i != (-1))
{
- if (pmr171_modes[i] == mode)
+ if (vfo == RIG_VFO_B)
{
- if (vfo == RIG_VFO_B)
- {
- cmd[6] = CACHE(rig)->modeMainA;
- cmd[7] = i;
- }
- else
- {
- cmd[6] = i;
- cmd[7] = CACHE(rig)->modeMainB;
- }
-
- crc = CRC16Check(&cmd[4], 4);
- cmd[8] = crc >> 8;
- cmd[9] = crc & 0xff;
- rig_flush(rp);
- write_block(rp, cmd, 16);
- read_block(rp, reply, 16);
- dump_hex(reply, 16);
- return RIG_OK;
+ cmd[6] = rmode2guohe(CACHE(rig)->modeMainA, pmr171_modes);
+ cmd[7] = i;
+ }
+ else
+ {
+ cmd[6] = i;
+ cmd[7] = rmode2guohe(CACHE(rig)->modeMainB, pmr171_modes);
}
+
+ crc = CRC16Check(&cmd[4], 4);
+ cmd[8] = crc >> 8;
+ cmd[9] = crc & 0xff;
+ rig_flush(rp);
+ write_block(rp, cmd, 10);
+ read_block(rp, reply, 5);
+ read_block(rp, &reply[5], reply[4]);
+ dump_hex(reply, reply[4] + 5);
+ /*
+ // Grab the modes
+ CACHE(rig)->modeMainA = guohe2rmode(reply[6], pmr171_modes);
+ CACHE(rig)->modeMainB = guohe2rmode(reply[7], pmr171_modes);
+ */
+ return RIG_OK;
}
rig_debug(RIG_DEBUG_ERR, "%s: invalid mode=%s\n", __func__, rig_strrmode(mode));
@@ -863,13 +954,15 @@ static int pmr171_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
hamlib_port_t *rp = RIGPORT(rig);
rig_debug(RIG_DEBUG_VERBOSE, "%s: called\n", __func__);
+ // According to the manual, sending 0 means PTT ON.
+ // TODO: How to process ack messages?
switch (ptt)
{
case RIG_PTT_ON:
- return pmr171_send_cmd2(rig, 0x07, 0x01, 1);
+ return pmr171_send_cmd2(rig, 0x07, 0x00, 1);
case RIG_PTT_OFF:
- return pmr171_send_cmd2(rig, 0x07, 0x00, 0);
+ return pmr171_send_cmd2(rig, 0x07, 0x01, 1);
default:
return -RIG_EINVAL;
commit 194e18f4e45c1afabeed7f838f32407851474239
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Jan 25 11:02:19 2025 -0600
Fix CRC calculation in pmr171.c
https://github.com/Hamlib/Hamlib/issues/1483#issuecomment-2614000861
diff --git a/rigs/yaesu/pmr171.c b/rigs/yaesu/pmr171.c
index 0799a290f..1d7d102c2 100644
--- a/rigs/yaesu/pmr171.c
+++ b/rigs/yaesu/pmr171.c
@@ -177,9 +177,9 @@ struct rig_caps pmr171_caps =
RIG_MODEL(RIG_MODEL_PMR171),
.model_name = "PMR-171",
.mfg_name = "Guohe",
- .version = "20240704.0",
+ .version = "20250125.0",
.copyright = "LGPL",
- .status = RIG_STATUS_ALPHA,
+ .status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
.ptt_type = RIG_PTT_RIG,
.dcd_type = RIG_DCD_RIG,
@@ -456,7 +456,7 @@ static int pmr171_send_cmd1(RIG *rig, unsigned char cmd, unsigned char *reply)
unsigned char buf[64] = { 0xa5, 0xa5, 0xa5, 0xa5, 0x03, 0x00, 0x00, 0x00 };
buf[5] = cmd;
- unsigned int crc = CRC16Check(&buf[4], 3);
+ unsigned int crc = CRC16Check(&buf[4], 2);
buf[6] = crc >> 8;
buf[7] = crc & 0xff;
rig_flush(rp);
@@ -809,7 +809,7 @@ static int pmr171_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
to_bcd_be(&cmd[10], CACHE(rig)->freqMainB, 8);
}
- unsigned int crc = CRC16Check(&cmd[4], 12);
+ unsigned int crc = CRC16Check(&cmd[4], 2);
cmd[14] = crc >> 8;
cmd[15] = crc & 0xff;
rig_flush(rp);
commit 8309616e9b6d293d3354444ad9b83a0b9f7b0ffb
Merge: bb4eb78d2 710dfea56
Author: Michael Black <mdb...@ya...>
Date: Fri Jan 24 22:11:18 2025 -0600
Merge pull request #1664 from classabbyamp/kenwood-mode
kenwood.h: fix typo
commit 710dfea56e79bee7ef41d060153d9e22efdf9c61
Author: classabbyamp <536...@us...>
Date: Fri Jan 24 22:40:29 2025 -0500
kenwood.h: fix typo
looks like `last_mode_pc` was missing a character on the type. This was caught by compiling on musl libc, where `mode_t` wasn't available from any of the other includes.
diff --git a/rigs/kenwood/kenwood.h b/rigs/kenwood/kenwood.h
index f1b2d0e07..f553cadc4 100644
--- a/rigs/kenwood/kenwood.h
+++ b/rigs/kenwood/kenwood.h
@@ -183,7 +183,7 @@ 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 */
- mode_t last_mode_pc; // last mode memory for PC command
+ rmode_t last_mode_pc; // last mode memory for PC command
int power_now,power_min,power_max;
};
-----------------------------------------------------------------------
Summary of changes:
NEWS | 6 ++
README.developer | 2 +-
Segfault-award | 3 +
rigs/icom/ic746.c | 4 +-
rigs/kenwood/kenwood.h | 2 +-
rigs/kenwood/ts480.c | 4 +-
rigs/yaesu/pmr171.c | 173 +++++++++++++++++++++++++++++++++++++------------
src/rig.c | 11 ++--
src/serial.c | 2 +-
9 files changed, 157 insertions(+), 50 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: n0nb <n0...@us...> - 2025-01-22 01:46:20
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The annotated tag, 4.6.1 has been created
at 3829e3d25c27dc6842d31d76ef0780b4ed5d5075 (tag)
tagging cb77f344bf52a36b5a2f24f1aaffc7ab5cc1cbe9 (commit)
tagged by Nate Bargmann
on Tue Jan 21 19:45:18 2025 -0600
- Log -----------------------------------------------------------------
Hamlib 4.6.1 release
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQSC1k9rDmfNQfaJu6b7LFEw1VqIGQUCZ5BNwgAKCRD7LFEw1VqI
GccIAJ9sRE7nYPLnsX1QywU/KPzVbVvDxACgpwDrNhLEgGQfffLgX7yCKsPqP00=
=DdN3
-----END PGP SIGNATURE-----
(no author) (1):
New repository initialized by cvs2svn.
Addison Schuhardt (1):
Refactoring GPIO push-to-talk logic to use libgpiod rather than the deprecated/broken sysfs method. TODO: I'm not familiar with autoconf to set up linking to libgpiod correctly, so I'd like to ask someone else to do that. Fixes #1538
Adrian Chadd (1):
Upgrade TS-711 and TS-811 to work.
Agis Zisimatos (1):
easycomm: Return the correct value of pointer val
Alessandro Zummo, IZ1PRB (36):
Remove const from priv_caps to allow kenwood_init to initialize default values if they're missing
Call kenwood_init in each and every driver
Use an appropriate debug level
Support get/set_powerstat on pcr100
Add kenwood_simple_cmd
Make set_ptt behave as before, fix set_ant for ts570.c
ts450: remove RIG_FUNC_TONE from has_xx_func if tone unit is not detected
ts450,ts690,ts850: use FL command to get/set filters in get/set_mode. (code from ts850.c)
ts450: indentation fixes
remove fixed command terminator (;) from generic code
ts140,ts2000,ts480,ts570,ts680,ts850,ts870s: remove usage of fixed ; and EOM
fix tabs
thg71,tmv7,ts450s,ts690: verify rig id at rig_open
ts450: implement set_channel
remove unused parameter from get_kenwood_func
ts570,ts850,ts870s,ts140,ts480,ts680: use kenwood_simple_cmd where possible
Replace __FUNCTION__, which is gcc specific and was deprecated a long time ago, with __func__, which is at least defined in C99.
generic, ts850: implemented CTCSS TN command (reported not working for ts850, should now be fixed)
Add description for the kenwood mode n. 8
implemented set/get_ext_param (voice, fine, xit, rit). enabled on ts450 and ts850
Added my call sign
removed comment about switch optimizatons. the compiler will generate the assembly code in a different order which is usually based on the case value. other compiler optimizations might also affect it, so it's useless to optimize the order.
check ptt status before set_ptt. enabled on ts850.
style fixes
band up/down was inverted
Try to compensate for leftover characters
Try to cope withe the PCR100 and PCR1000 at the same time
Bumped out to beta, solved a few bugs. Tested with PCR100/1000/1500.
kenwood: send the whole buffer at once, added kenwood_cmd
- removed EOM, it's handled by kenwood_transaction - fixed tabs and spaces - added generic routine for vfo errors - set_mem: do not switch vfo if already in mem mode - simplified invocation of some commands - buffer optimizations - added PARM_BEEP and PARM_APO - fixed getting of LEVEL_RFPOWER - fixed get_ant
tmv7: removed EOM
thg71: removed EOM
thf7: - wrong rfpower level granularity - added .reset - call kenwood_open - use generic th_set_vfo
th: fixed formatting issue
th: fixed stack corruption
th: fixed a missing newline
Alex V Flinsch, KC2IVL (8):
Initial changes for ft100
Initial release
initial release
fixed various command options
new file, list of tones/codes and sequence used by various yaesu rigs
added get frequency to ft100 code
added getinfo func hdr
*** empty log message ***
Alexander Sack (1):
Get firmware revision level from K3/KX3.
Alexander Schultze (3):
easycomm: include a new EasyComm3 to support move speed and infostring
update EasyComm3 to include setting and getting of config and status
easycomm: implement get/set config, easycom include status and error bytes, fix get_info
Alexandru Csete OZ9AEC (34):
Added new stylesheet to make API docs look better.
Modified to use new stylesheet.
Added doxygen comments.
Added rotator.h and rotlist.h to the input list.
Applied Tommi's improvements from the FT-857 backend with the following changes and additions:
Full RF power scale corresponds to 10 bars, not 15.
Added RIT, XIT and IF shift ranges to dummy backend.
Cast constant caps to variable caps in order to avoid compiler warnings.
Cast from const to variable in order to avoid compiler warnings.
- Cast unsigned char to char in order to avoid compiler warnings. - Ensure that all variables have a value before they are used (ft920). - Disable unused functions and variables (frg100). - Incremented backend version numbers.
Use tone_t for pcr1_ctcss_list. Changed arg 4 of pcr_transaction to unsigned. Cast the other mismatches to (char *).
Cast unsigned char to char in order to avoid compiler warnings. Incremented backend version number.
- Cast unsigned char to char in order to avoid compiler warnings. - Ensure that all variables have a value before they are used (tentec.c).
- Cast unsigned char to char in order to avoid compiler warnings. - Incremented backend version number.
- Cast/change unsigned char to char in order to fix compile warnings. - Incremented backend version number.
- Cast/change unsigned char to char in order to fix compile warnings. - Incremented backend version numbers.
- Cast/change unsigned char to char in order to fix compile warnings. - Incremented backend version numbers.
- Cast/change unsigned char to char in order to fix compile warnings. - Incremented backend version number.
- Cast/change unsigned char to char in order to fix compile warnings. - Incremented backend version numbers.
- Cast unsigned char to char in order to avoid compiler warnings. - Handle all enum values in switch statements.
Fixed type mismatches that caused compile warnings.
Fixed type mismatches that caused compile warnings.
Initialise icom_val to avoid compiler warning.
Fixed type mismatches between signed and unsigned char. There are a few very suspicious 'if' statements in icom.c and frame.c
- Fixed type mismatches and unhandled switch cases. - Incremented backend version numbers.
Cast constant caps to variable caps in order to avoid compiler warnings.
Updated.
Added infor about w (send_cmd).
Max serial rate is 9600. Changed backend status to stable.
Escape the backslash character.
The 765 can do RIG_SCAN_PROG and RIG_SCAN_MEM.
Fixed S-meter reading to use calibration table since frontend always uses RAWSTR.
Fixed RF power reading and added power2mw and mw2power.
Fixed RIG_LEVEL_STRENGTH reading.
Andrew Errington (1):
Initial support for CM108 GPIO contorl of PTT
Andrew Rodland (3):
Fix spurious writes when no RT-21 second port
Enable "stop" command for RT-21 rotator.
Update RT-21 version
AuroraRAS (5):
Prepare .gitignore file for NDK build
Append the missing information to build hamlib v4.3 for Android NDK
make the Android.mk files adapt to multi arch
add androidsensor rotator
AndroidSensor codes improvement
Ben Coleman, NJ8J (6):
Fixed bug in rpcrig_set_parm (using RIG_LEVEL_IS_FLOAT instead of RIG_PARM_FLOAT)
Fixed same bug in rigctl_get_parm.
Added checking of return string from rig on set (non-retrieval) commands. Added code for COMP function. Added alinco_set_parm & tweaked dx77 capabilities.
Handle setting Keyer speed and CW Pitch
Added NJ8J's email address.
Change email address for NJ8J
Berndt Josef Wulf, VK5ABN (11):
Implemented rig_set_channel()
Implemented set_parm() for BACKLIGHT operation
Commented out RIG_MODE_PKTFM overlooked at the submission of previous code
Implemented RIG_MODE_PKTFM and RIG_MODE_PKTLSB modes
Changed debug message format for freq_t from long long to double
ft990_get_ptt() now uses the FT990_SF_XMIT instead of FT990_SF_PTT. FT990_SF_PTT only returns status of PTT activated by CAT commands, whereas FT990_SF_XMIT reports the actual status of the ptt line.
ft990_get_mem(): Fixed bug that prevented the reporting of current channel number when vfo != RIG_VFO_MEM
Fixed erroneous return value
Fixed mispelled name for VK5ABN
Added missing modes to RX/TX caps
Fixed bug in ft990_set_mode that caused RTTY interchanged modes USB/LSB Fixed bugs in ft990_get_channel
Bill Barker (1):
Add test for Flex 6300 ID
Bill Somerville (212):
Patch submission for IC-756
Patch to allow same serial port for PTT and CAT.
Patch to fix broken Yaesu backend with FT-2000(D)
Fix rig_open not failing when PTT/DCD port is unavailable.
Fix Icom IC-756 filter handling.
Fix Yaesu newcat backend set_tx_vfo issue.
Add support for Data Modes on Icom "Pro" models.
Fix Icom IC-726 mode handling.
Fix Kenwood TS-2000 split operation.
Fix Kenwood Split Operation for TS50 & TS480.
Fix Kenwood TS-870s split and bandwidth set/get.
Correct receive buffer length for IS; comamnd.
Fix Kenwood CAT transaction busy retry mechanism.
Fix Kenwood get split VFO function.
Add data sub-mode support for TS590s.
Correct order of MD and DA commands for TS590s.
Get firmware revision for TS590s in rig_open.
Fix TS590s firmware defect.
Fix Kenwood get_vfo function returning wrong VFO in split TX.
Make Kenwood TS590s firmware defect fixup revision specific.
Extend TS590s firmware defect fixup to both VFOs.
Fix Icom IC-756 Pro III get data mode.
Add spilt mode get and set for Elecraft K3.
Fix data sub-modes on Elecraft K3.
Fix Elecraft Data Mode Translation.
Fix Elecraft K3 Data Sub-Mode Setting.
Fix Yaesu FT1000MP and FT1000MP Mk V modes.
Fix configure.ac
Fix a warning message.
Added option to not use VFO XCHG command when setting split parameters.
Fix a buffer overflow in the Windows termios emulation.
Fix pkg-config generation.
Fix Icom IC-756Pro mode get/set.
Facility for rigctl to read commands from standard input.
Add a pause command to the rigctl command set.
Prefix action function names so as not to clash with system names.
Prefix action function names so as not to clash with system names.
Corrected typos in rigctl.1 manpage.
Add read commands from stdin and pause command features to rotctl.
Merge branch 'rigctl-stdin' of ssh://git.code.sf.net/u/bsomervi/hamlib into rigctl-stdin
Fix manpage errors.
Remove redundant RIG_PTT_SERIAL_CAT enum from ptt_t
Only check for serial control line conflicts if PTT shares CAT port
Fix Ten-Tec Orion get/set split functions
Icom IC-7410 has VFO A/B not MAIN/SUB
Added IC-7410 data modes
Add retry mechanism for Yaesu "newcat" backend
Implement retries for Yaesu "newcat" rigs
Disable auto information mode on open
Add retry mechanism for Yaesu "newcat" backend
Implement retries for Yaesu "newcat" rigs
Disable auto information mode on open
Merge branch 'yaesu-retries' of ssh://git.code.sf.net/u/bsomervi/hamlib into yaesu-retries
RIG_OK is zero and need not be negated and this will not change
Fix response length expected error in K3 back end
Data mode support for the Icom IC-7700
Data mode support for the Icom IC-9100
Data mode support for the Icom IC-7200
Add support for the Kenwood TS-590SG
Kenwood TS-590SG
Always clear serial control lines when used for PTT
Disable AI mode on open for Kenwood/Elecraft rigs
Add more diagnostics and error checks to serial line control
Move serial line control error checks to lower level routines
Merge branch 'master' into kenwood-ai-off-at-start
Merge branch 'master' into ptt-control-on-cat-port
Fix serial i/o on Windows.
Yaesu newcat style command response reading improvements
Increase communications timeout for Icom rigs
Kenwood AIn; command has no reply
Revert read_string() to partial results are a success status
Remove gratuitous sleeps before function exits
Error checks on simulated direct VFO addressing
Elecraft K2 RTTY modes are not FSK
Kenwood and Elecraft rigs sometimes ignore commands
Removed kenwood_cmd function and replaced uses of it
Allow for failed test command on the K2
Elecraft K3 has 1 stop bit
Kenwood TS-570 series IF returns current frequency
Switch to "ID;" command for verification as no "AI;" on TS-840s
Increase Elecraft K2 comms timeout and retries
Switch Kenwood TS940 to generic kenwood CAT functions
Improve command verification for Kenwood & Elecraft
Use local buffer in kenwood transaction funciton
Clarify the handling of Kenwood CAT message terminators
Further clarification in the implementation of kenwood_transaction()
Removed redundant precondition test
Remove kenwood_simple_cmd as kenwood_transaction has that functionality
Call kenwood_open() for TS-2000 to ensure AI mode is disabled
Allow for bad ID from DDUtil in TS-2000 mode
Allow one extra byte in read_string() length to accomodate terminator
Enable data modes for the Icom IC-7100
Allow for PowerSDR ID in Kenwood TS2000 emulation mode
Fix TenTec Argonaut message lengths and timeout
Fix TenTec set split command
Implement get PTT status for the TenTec Argonaut
Fix error with width in set mode for the TT argonaut
Yaesu FT540 can only change the frequency of the current VFO
Fix defect in Kenwood TS-940 IF command response parsing
Fix response lengths for the TT Jupiter 538
Do not attempt CAT PTT commands on the Icom IC-706mkIIG
Use correct argument type for serial control line functions
Initial back end implementation for the Kenwood TS-990s
Mode set is not VFO targetable on the Kenwood TS990s
The Kenwood TS990s only does split Tx on SUB VFO
The doesn't appear to be a way of getting PTT/SEND on the TS990s
Lower both RTS and DTR on alternate PTT serial port
Honour any error status from serial port calls
Dummy get_ptt function needs to read RTS/DTR/PARALLEL
Make autogen.sh agnostic to whitespace in paths
Increase the number or retries for most Kenwood rigs
Command validation for Yaesu set commands
Remove unecessary delays from TS-940S backend
Proper IPv6 and dual stack networking
Fix compiler warnings
Proper IPv6 and dual stack networking for rotator net daemon
Attempt to restore AI status on exit
Allow for poor emulations of Kenwood rigs that have no ID command
Use correct function to execute set type commands with no response
Add a new command line option '--no-restore-ai' ('-n') to rigctl
Fix FT-817/857/897 issues and add some missing functionality
Fix missing PKTUSB mode setting code for FT-817 & FT-897
Fix a logic error in band detection during IC-910 set frequency
Add missing configuration getters
Detect C-IV NAK returns as rejected commands
Elecraft rigs do not switch VFO in IF command responses during split Tx.
Redundant split mode directives on Elecraft rigs cause Tx failures
Only use IPv6 features on Windows versions that support it (>=XP)
Improve IPv6 portability and consistency
Add 23cms to IC-910(H) backend
Implement combined split VFO frequency and mode setting.
Initial implementation of rig_{set,get}_split_freq_mode() for FT-857.
Implement rig_{set,get}_split_freq_mode() for IC-756 series.
Add {get,set}_splitfrequency_mode for the IC-910(H)
Elide unnecessary CAT commands when setting split frequency and mode
Do not swap VFO unnecessarily
Better set frequency semantics for the IC-910(h)
VFO targetable get frequency operation for the Icom IC-910(h)
Make sure right band is used when setting frequency on IC-910(H)
Use rig state rig port retry option rather than from capabilities
Use a sensible port timeout value for the Kenwood TS-850
Further attempts to simplify and improve Icom CAT for split operating
Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode argument
Switch to POSIXLY_CORRECT mode for getopt_long()
Fix a regression introduced in 222ad74
Do not crash if expected CTCSS tones not sepcified
Do not attempt to query AI state on the TS-450s as it is not supported
Some more Kenwood rigs with no AI query
Adjust rig_list_foreach to allow use for unregistering
Fix an issue presenting on the Yaesu FT-450(D)
Release the serial port used for PTT when possible
Change the IC7600 & IC7800 set/get mode to versions that support DATA modes
Add rig_{open,close} functions to TS-790 backend
Revised kenwood rig busy response handling
Add get and set split functions for the TS450S
Simplify and fix defects in the FT991 back end
Fix some endian issues in the si570/AVR SDR back ends
Fix a state machine defect with repeated PTT reset calls
Do not pass --no-cpp_precomp to compilers on Mac OS X
Allow RIG_LEVEL_STRENGTH queries over the network link
Stop rigctld and rotctld crashing when service threads cannot write to clients
Use snprintf throughout kenwood/kenwood.c for buffer safety
Fix off-by-one issue in reading memory mode from IF command response
Fix some issues with commands not supported by TS-2000 CAT emulations
Add best guess transmit status to rig state structure
Take out unecessary delays in K(X)3(S) back end.
FT-817 status queries honour retries and timeout
Make rig_open() call in rigctld lazy and add graceful termination
Simplify SWIG interface definition and hide 64-bit values from Lua binding
Remove unnecessary delays from TS-990 and TS-2000 back ends
Change frequency setting for the FT-747GX to something more basic
Fix an incorrect error return value from win32_serial_select()
Fix timeout issues with the Ten-Tec Orion/Eagle
Ensure compilation works with a pre C11 compiler
Make code C90 compliant again
Move unnecessary global and file static variables to the stack
Simplify unnecessary persistence of extended response state
Fix misunderstanding of netrigctl_transaction() return value
Made PTT and DCD options consistent between rigctl and rigctld
Report unrecognised PTT and DCD types in rigctl and rigctld
Update i/o functions to support GPIO(N) port closure
Fixed erroneous messages in rig_close with GPIO(N) PTT or DCD types
Remove duplication across GPIO and GPION handling of PTT and DCD
Improved get PTT state handling in dummy backend
Simplify closing of device files
Repair a regression with the dummy get PTT functionality
Revert "Add debug to serial.c"
Repair a regression with the dummy get PTT functionality
Revert "Add debug to serial.c"
Fix regression with slow responses from SmartSDR causing errors
Deal with remote PTT type at the client end
Avoid 'echo -n' as macOS sh doesn't support it
Fixing an operator precedence defect
Updates to the TH-D7A/E back end
Less ambiguous variable name and repair merge issue in prior commit
Add missing config parameters for rig power on/off and screen-saver
New power on option rather than power on/off
Make version recording safe for parallel builds without breaking make dist
Make version recording safe for parallel builds
Ensure old hamlibdatetime.h headers in the source dir are ignored
Merge branch 'safe-scs-versioning' of ssh://git.code.sf.net/u/bsomervi/hamlib into safe-scs-versioning
Fix make dist versioning
Use BUILT_SOURCES make mechanism as intended
Fix rebuild dependency
Build hamlibdatetime.h every time
Force copy over existing
Minimize rebuilding
Correct use of sh if
Another attempt at a reliable SCS version header generation
Remove temporary file
Add missing shared library API exports
Add missing export definition
Blaine Kubesh (8):
added Icom803 to icmarine
added Icom803 to icmarine
added Icom803 to icmarine
Update ic-m803 remote-id to 20
Update icm803.c
Update AUTHORS
undo author changes
Update icm803.c
Bob Freeman (1):
New CNCTRK rotor backend
Brandon Durepo (5):
Added multi-stage Docker build and hamlib-runtime image
Added multi-platform support for linux/arm64 and linux/amd64
Add support for the hamlib-base-image and hamlib-runtime targets - support the arm64 and amd64 platforms on both a base-image and runtime
Added git and vim to the hamlib-base-image
Added Python support
Brian G. Lucas (10):
Pretty much a complete re-write of thd72.c, since the old one didn't work at all. Many commands have been tested with real hardware. But more work remains to be done.
WIP: thd72 driver. More level, func, and parm stuff works.
WIP: thd72 driver. Try to simplify the menu based interface.
WIP: thd72 driver. First cut at get_channel(). Other cleanup.
WIP: thd72 driver. More interfaces implemented. Other cleanup.
Implement some more interfaces. Comment out get_chan_all_cb because the block read routine doesn't work.
Fix a format so that it works with Windows. Can't test it because I have no Windows machines.
Fix RFPOWER level for FT-450D. It uses 5-100, rather than 0-255 that the FT-450 does.
In newcat_open(), initialize rig_id in case any subsequent commands need it.
Some calls to thd72_get_menu_item where passing wrong values for range check.
C-Elegans (1):
Add ability to have rigctld display transverter frequency
CJ (1):
fix windows makefile
Cedric DJ3CE (1):
Add SWR get_level to K3 (KX3, KX2)
Charles Suprin (7):
Add file for TM-D710 support.
Merge branch 'master' of ssh://hamlib.git.sourceforge.net/gitroot/hamlib/hamlib
Add D710 to riglist.
Add D710 code to kenwood library.
Register D710 interface.
Initial D710 Implementation.
Register D710 interface.
Charles Suprin, AA1VS (3):
extend th_get_vfo_char to support D700
Changed th_set_freq to round and select step size to use. Allows 6.25kHz and 5kHz channelization.
Use new th_set_freq for TM-D700
Chris Karpinsky, AA1VL (7):
add serial_flush() method to clean rx buffer
initial stab at this for the Yaesu FT-817
add ft817.*
add ft817
bump the backend status to ALPHA
Initial entry of cgirig giving ability to use hamlib from a web browser.
increased post write delay to 300
Chris Ruvolo (4):
TS-690: deal with optional tone board using TS-450 logic
TS-690 does not implement the PC command to get/set output power level
TS-690 does not implement the GT command to get/set AGC rate
TS-690: bump version
Christian Bayer (11):
upstream 817
FT-817 power and SWR levels
ft-857 power levels for 2m/70cm
export correct function for wsjtx
fixed cal table conversion
added header
use correct value
divider update
disable scaling
fixed compile errors
fixed merge errors and variable declarations
Christoph Berg (2):
ic7610: Re-add send_morse
Implement netrigctl_stop_morse
Christoph Nadig (1):
Fix for setting power on Elecraft TRXs
Chuck Hemker, N2POR (1):
Use RIG_TARGETABLE_MODE in rig_set_mode and rig_get_mode
Chuck Ritola (8):
Use loop to ensure RS-HFIQ hears first command. Closes #730
Add ability to read TX drive level
Implement board temperature reading for TEMP_METER
Parse and store RS-HFIQ firmware version.
Firmware version check before power meter query.
Merge branch 'master' into rshfiq-aug2021
Map FCDPP LNA and Mixer Gain as PREAMP values. Closes #766
Map FCDPP LNA and Mixer Gain as PREAMP values. Closes #766
DJ3CE (1):
Patch power reading of IC-705/-905
DL1YCF (6):
Merge branch 'master' of https://github.com/Hamlib/Hamlib
Merge branch 'master' of https://github.com/Hamlib/Hamlib
Merge branch 'master' of https://github.com/Hamlib/Hamlib
Merge branch 'master' of https://github.com/Hamlib/Hamlib
Merge branch 'master' of https://github.com/Hamlib/Hamlib
Merge branch 'master' of https://github.com/Hamlib/Hamlib
Dale E. Edmons, KD7ENI (19):
Added comments to commandline in rigctl (second time) --Dale
Started TS-2000 update/overhaul --Dale
Copied too much stuff, backed out what I broke.
Bring ts2k.c more in line with current CVS.
Changed ts2000.c to ts2000.h.
Start of rig menuing functions.
New file.
Renamed ts2000.c.new ts2000.h
Bring code more in line with CVS code.
Changes often, so added status. Will delete when things stabilize.
Corrected status to CVS branch.
Renamed new ts2000.c to ts2000.h
Wouldn't compile. Removed ts2k.c. Haven't got all new rig.h stuff removed.
Temp kludge to make ts2k.c compile (keeps Hamlib from compiling!).
Updated status.
Added working TS-2000 files. There are some changes left out but this is the minimum I could commit and have a functional rig. The cost is that I've broken kylix and others that duplicate rig.h. I'm in the process of repairing the damage. Please be patient. I hope a day or so, but am asking for up to a week. E-mail me about *anything* you find broken. Kylix (and similar) is (are) known to not work.
Changed name back to original.
Had to re-run automake kenwood/Makefile.
1) Updated branch_ts2k with respect to HEAD. 2) Working ts2k_menu. (only in RIG_MODEL_TS2K) 3) Split TS-2000 into experimental and standard versions: RIG_MODEL_TS2000 = standard, RIG_MODEL_TS2K = experimental. 4) Basic command parser in tests/rc. Will open/close rig or copy a freq from one rig/vfo to another rig/vfo. Very cool. Very basic. Very experimental. 5) Added test programs. a) testcmd - calls parser (no command prompt yet!) b) testts2k - replacement for testrig (with trivial modification) c) testptt - testts2k/testrig should not transmit. TX stuff in testptt. 6) Used crowbar to merge HEAD into branch_ts2k. Working on clean-up. 7) I'm sure I've forgotten or neglected to mention some other stuff.
Daniel Estévez (2):
Fix DIG MODE for FT817-ND
Fix DIG MODE for FT817-ND
Daniele Forsi (5):
Set the executable bits on py3test.py
Fix spelling errors
Fix more spelling errors
Fix more spelling errors
Fix typos
Daniele Forsi IU5HKX (72):
Fix a [missingInclude] "information" when running cppcheck --check-config
The -M option needs an argument like its long version "multicast-addr"
Fix lintian warning: macro 'RG' not defined
Fix lintian warning: macro 'IN' not defined
Fix spelling errors
Remove unused includes related to times and dates
Remove unused includes of math.h
Remove unused includes
Revert unwanted changes
Remove unused includes of errno.h
Remove unused include of amp_dummy.h
Remove unused include of cm108.h
Remove unused includes of fcntl.h
Remove unused includes of frame.h
Remove unused include of getopt.h
Remove unused includes of gpio.h
Remove unused includes of cal.h
Remove unused include of usb_port.h
Remove unused includes of ctype.h
Remove unused include of stdbool.h
Remove unused include of stdarg.h
Remove unused include of stdlib.h
[icom] Remove unused include of config.h
[kenwood] Remove unused include of config.h
[yaesu] Remove unused include of config.h
[rotators] Remove unused include of config.h
[tests] Remove unused include of config.h
[rigs/*] Remove unused include of config.h
[amplifiers] Remove unused include of config.h
[extra] Remove unused include of config.h
Add include/hamlib directory to all makefiles
[icom] Fix includes
[kenwood] Fix includes
[yaesu] Fix includes
[rigs/*] Fix includes
[rotators] Fix includes
[tests] Fix includes
[amplifiers] Fix includes
Update .gitignore
Fix unterminated comment
Fix include not found by cppcheck.sh
Enable --show-conf for ampctl and ampctld
Fix typos
Fix include not found by cppcheck.sh also in the other branch of the "if"
Fix passing one or more paths to ./cppcheck.sh
Fix several cppcheck "missingInclude" informational messages
Fix cppcheck "unmatchedSuppression" informational messages
Add to .gitignore some files created during "make check"
Fix cppcheck "missingInclude" informational message
Fix Doxygen unmatched directives \cond and \endcond
Fix Doxygen documentation for the Apex rotator
Fix Doxygen documentation for the GRBLTRK rotators
Fix typos
Fix Doxygen comments
Fix typos
Remove duplicated conditions
Fix initializer-overrides warnings by clang
Fix typos
Add/fix Doxygen comments
Fix segfaults with malformed input and wrong command line arguments
Fix segfaults with malformed input and wrong command line arguments
Fix check for RIG_BUSBUSY
Fix name of command in the usage and version texts
Fix name of command in the version text
Fix man page of rigctld
Fix warning message for twiddle_rit
Fix typos in man pages and other documentation
Fix typos in comments
Fix typos in messages
Remove duplicated sentence
Fix typos
Remove unused and empty source files
Dario Ventura (3):
New Prosistel rotor backend from IZ7CRX
Add elevation code to Prosistel backend
TS2000 Satellite mode and Gpredict
Dariusz Bismor, SQ9KEJ (1):
rigmem: implement CSV file loading
David Brewerton M0EZP (1):
FT990UNI patch contribution from M0EZP
David Fannin (1):
Submission for new backend model (134) for Yaesu FT-DX1200
Davide Gerhard (3):
tests/{memcsv.c,memsave.c}: partially revert commit 4072f9f4
ic746.c: correct chanbuf length, fix channel structure and support split
ic746.c: add ic746pro_set_channel() to load memory from csv
Dawid SQ6EMM (3):
Add method to build inside docker
Let SEND_MORSE and SEND_VOICE_MEM be announced as capabilities.
Allow \send_voice_mem to be used over network and tested in dummy rig
Dawid Szymanski (2):
ICOM Voice Keyer implemented.
typo fix
Dhiru Kholia (1):
Minor fixes for FT-747GX simulator
Diane Bruce, VA3DB (5):
- first cut at fixing configure to recognise --without-tcl-binding and --without-python-binding options
- gt_HEADER_INTTYPES_H is definitely bogus here, leftover from what?
- document debian/FreeBSD needs for AUTOMAKE etc. - add in libtoolize which should be there
- These should have been commented out.
- Extra comma on RIG_STATUS_BUGGY can cause a compiler error.
Dieter Röver (1):
Fix bug in vfo_comp calculation in Hamlib
Ekki Plicht (DF4OR) (2):
New model Icom IC-R8600
Patch for Icom DCS code handling
Eli Schwartz (1):
tests: fix compilation with modern compilers
Elliott Liggett (1):
Added functionality for the IC-7300 auto antenna tuner
Eriks Dobelis (2):
ft817: adding delay before next retry after returning from tx to rx
ft817: Moving delay value into #define section of the header
Ervin Hegedus (9):
RIG_PASSBAND_NORMAL wasn't handled correctly when rig_set_mode() was called - fixed
Fixed SWIG `Setting a const char * variable may leak memory' error
Fixed Kenwood filter cmd when passband is set to 500Hz
Merged from upstream
Merge branch 'master' of http://git.code.sf.net/p/hamlib/code
Added Lua binding and demo script
Added new example to Python demo script (set/get float type level)
Change variable length argument handling in affected functions
Fix two typos
Ervin Hegedüs (1):
rig.swg: New properly formatted macro
Evgeniy Titorenko (1):
Add Radant AZV-1 Rotator controller protocol.
Francois Retief (21):
Added read_serial function to read strings from a port.
Corrected some comments
Added code to hexdump to right align ASCII dump column
added private caps for rig termination character
add private caps and more commands.
Changed to a new transaction function and adde quite a few commands.
add private caps to store the termination character of Kenwood rigs commands.
added a kenwood_init and _cleanup routine for priv caps & priv data.
Added a new function: LCD Lamp ON/OFF (for Kenwood TH-7DA)
check trn state of rig in rig_open.
Initial commit of Kylix binding
New backend for rotators
New RPC backend for rotators
Added rot_move function
Fix macro name
Added rot_move function
Added easycomm and rpcrot backends
Fixed circular dependency for rpc.rigd and rpc.rotd
regenerated
Added IC-910 rig.
Added constants for the IC-910 rig.
Frank Goenninger (8):
Add ADAT ADT-200A backend
adat updates from Frank, DG1SBG
ADAT fixes on Windows
RIG ADAT: Adaption to firmware 1.40fb and transverter board.
.gitignore: Ignore some macOS housekeeping files.
Major code cleanup. Replace dyn. memory by static memory usage.
FIXED: Source code inconsistency after major code change.
FIXED: Incorrect usage of snprintf() argument for buffer length.
Frank Singleton, VK3FCS (165):
Initial revision
Initial revision
*** empty log message ***
*** empty log message ***
*** empty log message ***
Initial revision
Initial revision
*** empty log message ***
*** empty log message ***
added build_all ,cleanall and verify targets
*** empty log message ***
initial top level makefile
add some things
initial import
initial import
initial import
fixed some typos
use rig_open and rig_close
added rig_open and rig_close
fixed cmd_sat_on / off
added sat-on and sat_off to test
changed cmd_get_rx_status, must do tx also
updated test()
all reads use while (1) and break
added ../common as object path
added rig_open and rig_close
using rig_open and rig_close and serial.h
use common dir for serial stuff
use ft747 on serial port /dev/ttyS0
read uses while(1) and break
use while(1) and break
added read_sleep
use read_sleep now from serial.h
using read_sleep from serial.h
had rx and tx status swapped (document error?)
removed cmd_get_update
using CVS instead of RCS directories
use MODE_xx defines
cannot use const int in case statements ?? so use #define instead
use #defines for MODE_XXX used in case statements
working out freq conversion, unfinished
playing with test routines
long int cmd_get_freq_mode_status_main_vfo(int fd, unsigned char *mode);
long int cmd_get_freq_mode_status_main_vfo(int fd, unsigned char *mode)
frq = cmd_get_freq_mode_status_main_vfo(fd, &mode);
starting with the cmd_set commands now
starting on cmd_set commands now
starting on cmd_set_freq commands now
add scanning todo
now set sat rx and tx freq and mode also
fix typo
dump raw hex data when writing and reading
trying some cms_set_freq_xxx commands
added routines for dec <-> packed decimal conversion
minor
added generic hex dump routine, static void dump_hex(unsigned char *ptr, int size, int width);
removed unwanted debug printf's
removed dump_hex from here..
calc_freq_from_packed4 is about to be replaced
calc_packed_from_char and calc_char_from_packed now here
cleanup
cleanup
void dump_hex(unsigned char *ptr, int size, int width);
adding dcs tables and repeater offset in Hz
describe faulty yaesu documentation
added README.license for GPL
added GPL license info
included full GPL license
Updated docs to point to http://sourceforge.net/projects/hamlib/ and added a C code snippet on how to use the API.
added -I$(COMMON_DIR) to find rig.h
added -I$(COMMON_DIR) to find rig.h
adding capabilities
initial capabilities stuff
starting to add rig_caps stuff
starting to add rig_caps stuff
starting to add rig_caps stuff.
added GPL stuff and comments
adding rig_caps stuff
adding rig_cap stuff
adding rig_caps stuff
add capabilities and preferences
adding rig_caps functionality
adding rig_caps stuff
frontend reduction on backend function namespace - phew !!
frontend API clarification
removed old open_port2() using old rig_caps
fixed some typos, added 3 more candidates for API
missing ; in some enums
converting to frontend/backend structure compiles ok
removed open_port() and write_block()
removed open_port() and write_block()
fixed typos, added &ft747_caps in rig_caps
changing to frontend/backend style
converting to frontend/backend style
added 3 more cmd_* for API examples
Example of setting rig Main VFO to 439.700 Mhz FM
cleanup comments
added extern const struct rig_caps ft747_caps;
still thinking about set/get strategy
minor updates
added extra rig caps
added some set/get examples with return code checking
added testrig to Makefile, no linking yet
added usleep to read_sleep()
updated rig_caps structure
*** empty log message ***
test making a shared lib (at last) for the frontend - more todo
test making a shared lib for the frontend - make hamlib
describe frontend/backend structure
updated code snippet example
started ft747_set_ptt and ft747_set_vfo
starting to implement set/get pairs
added typedef enum ptt_type_e ptt_type_t;
added VFO types to enum
starting on libhamlib Makefile, added ./lib and ./include under common
make, make install, and make clean work ok, using ./lib and ./include directories also.
make, make install, and make clean work ok, using ./lib and ./include directories also.
removed "make verify". Added reference to common/Makefile
added printf("testrig:main() has been called \n"); for testing linking
makefile for testing testrig linking
alternative rig_base declaration removes references to rig_caps at compile time. should populate it another way -- FS
added printf's to confirm rig.c (hamlib) is being called ok
better libhamlib.so version :-)
added ft847_open and ft847_close to enable CAT ON/OFF
added ft747_open and ft747_close
updated lib names for backend to libhamlib-xxxxx.so
API updates - added set/get_mode
merge with TRN stuff and add some set/get_mode and vfo stuff
added post_write_delay
cvs mails to hamlib-cvs-digest
cvs mail update works ok :-)
minor fixes
updated ptt/mode/vfo
added set/get freq to use generic bcd etc
more set_freq() examples
1. Added VFO as target for some set/get cmds. 2. ./testrig still runs ok using RIG_VFO_CURR.
minor update to active VFO handling in _set_vfo
some new defines for FT747_VFO_A/B
minor updates to active vfo handling
added ptt handling example, stand back !
trying different approach to storing cmd sequence. _set_ptt is being converted. Needs tidying up though. Some sequences are complete, and can be read from static data. Incomplete sequences will eventually be copied form static declaration, and completed in priv data.
Removed static stuff from functions. Also, begin to implement table driven command translation from API to rig native. priv now contains a cmd table that is used for backend commands towards rig.
Added some new freq/mode combinations.
converting ft847 to table driven, similar to ft747.
more table driven stuff for ft847. cat/ptt/freq being converted.
Added ft847_send_priv_cmd(), converted some part of API to use this. Added _set_mode to work now. TODO: put _send_priv_cmd into yaesu.[ch] so ft747 can use also. Turned on PTT also (stand back)..
rig_cleanup and rig_close not calling backend
removed unused calc_ functions.
removed old API functions, general cleanup tested rig_close and rig_cleanup
Initial release, common yaesu declareations etc.
add version tag
nseq uses YAESU_CMD_LENGTH
Initial yaesu Makefile
Moved from ft747 and ft847 dirs
common yaesu handling
common yaesu dir
Begin to use common yaesu code
general cleanup, added _send_priv_cmd
added targetable_vfo value to caps
minor cleanup
ChangeLog history started
Initial import for ChangeLog handling
starting to convert rig struct to readable form
more of convert rig struct to readable form
Changelog update for HAMLIB-1.1.1
GeoBaltz (1):
Merge branch 'master' into rp12
George Baltz N3GB (179):
Add missing level definitions for TS-590SG
Add routine to check input to <brand>_set_level
ATTenuator level 0 should always be allowed - to turn it off.
First round of level_gran additions.
Do the check for min=max=0 the right way.
Round 2.
Enable first user of check_level_param
Round 3 of level_gran updates.
Remove hard-coded constants.
Enable full level checking for TS-890S.
Add default level values for Elecraft rigs.
Update RIG_LEVEL_READONLY_LIST.
Round 4 of level_gran updates.
Fix the comment about float levels.
Add Elecraft defaults to makefile.
Fix typos (missing '('s ) in man pages.
Add missing commands to man pages
Avoid NULL dereference in debug statement.
Use level_gran[] values in kenwood_get_level.
Still more level_gran data.
Yet more missing level defs.
Enable level_gran[] checking for all calls to kenwood_set_level.
Add basis for level_gran use in newcat.c
Convert set/get AF, RF to use level_gran info.
Convert MICGAIN to level_gran
Convert COMP
Convert ANTIVOX & VOXGAIN
New for old - update level_gran for ft9000Old
Fix segfault on rigctl exit
Convert SQL to use level_gran data.
Convert MONITOR_GAIN
Convert RFPOWER to level_gran usage
Convert NR to use level_gran
Fix inverted VHF/UHF BANDSELECT labels
Fix duplicate level definition
Add RIG_LEVEL_USB_AF_INPUT to RIG_LEVEL_FLOAT_LIST
Implement RIG_LEVEL_USB_AF[_INPUT] for TS-890S
Enable set_level checking for all Yaesu/newcat rigs.
Replace hard coded constants with table values
f conversion already rounds, so no external rounding needed.
Move meter reader to kenwood.c, so it can be used by ts990.c
Use general meter reader to get SWR value for TS-990.
Revert "Fix FTDX101MP RFPOWER to allow 200W" Unnecessary code, breaks other levels.
Fix FTDX101MP RFPOWER the right way.
Restore shared library ABI compatibility with previous hamlibs
Add basic support for transparent access to port structures.
More Kenwood rigs ported to new access macros.
Convert the remaining files in rigs/kenwood/
Define different (disambiguated) names for external use.
Fix copy/paste errors in xiegu.c
More typos/copy/paste errors in rigs/icom
Add cache to the MACRO/porting list
Implement function to get structure address
Function to get amplifier port address Convert src/amplifier.c to new MACROs/access method.
Add function to get rotator port address(es)
Port conf.c to use access macros
Convert more files in src/
Pointerize all the ports in src/rig.c
Need more parens to work in expressions.
Update example.c Avoid using raw rigport, in two different ways. Fix variable name.
Implement ctcss tone for TS-890S.
Fix off by one error in tones for TS-590/890/990 Fix some rigs I found docs for - more needed
Add funcs to set/clear TONE/CTCSS modes for TS-890S
Add remaining rigs, matching old behavior. Fix copy/paste foulup.
Drat. Fix more copy/paste SNAFUs
Update NEWS with pointer conversion macros.
Make simulator match the Real World(TM) Add missing P4 Repair RIG_LEVEL_STRENGTH
Add calibration table for TS-890S RFPOWER_METER_WATTS
Bring simts890.c a little closer to the real thing Still needs more work.
Fix icom_set_powerstat() to correctly save&restore rp->retry, rp->timeout_retry
Convert some cache references to pointers
Convert a few more cache pointers
Cache pointers for src/rig.c Issue #1420 again.
Convert rot_conf.c and amp_conf.c to pointers
Update dcdport usage in tests/*.c Issue #1445
Play catchup with split/VFO revision. Fix typos in rebase fixups.
Start converting rigs/* This commit does rigs/adat/, rigs/alinco/ and rigs/aor/.
Port rigs/anytone/, rigs/barrett/ and rigs/codan/ Fixup git rebase SMerge error.
Convert rigs/dorji, rigs/drake, rigs/elad.
Convert rigs/dummy/
Convert rigs/flexradio, rigs/gomspace, rigs/jrc, rigs/kachina
Convert rigs/icom/, rigs/kit/
Convert rigs/loew/, rigs/pcr/, rigs/prm80/, rigs/racal/ and rigs/rs/
Convert rigs/mds/, rigs/skanti/, rigs/tapr/ and rigs/tentec/
Do rigs/tuner/, rigs/uniden/, rigs/winradio/ & rigs/wj/
Convert rigs/yaesu
Minor cleanup of ts890.c
Update simts890.c Make IF return RX/TX status Document IF data, reformat IF & SF commands
Convert all port references in amplifiers/ to pointers.
Convert first part of rotators/
Finish rotators/
Add STATE to the list of pointers
Convert tests/* to pointers
Finish tests/*
Update some of rigs/* to use pointer to cache
Use pointers for all cache references in rigs/*
All struct rig_cache referenced converted to pointers.
Start converting rigs/* to use pointers to state
More pointers to state
More pointers to state
Pointerize all state references in rigs/kenwood/*
Add macros for amplifier and rotator state pointers.
Fix incorrect port read for elevation
Normalize some debug/trace output.
More state pointer changes
Convert macros in rig.h to use STATE()
More state pointer changes
Still more state pointer conversions.
More state pointers - mostly sed i
Pointerize state references in Tentec rigs.
And another batch...
Use sed -i on all in rigs/kit/
More sed -i with manual fixups.
Convert all of rigs/* except rigs/icom and rigs/yaesu
First set of rigs/icom/* state pointer macros.
Convert rigs/icom/icom.[ch]
First batch of state pointers in rigs/yaesu/
Next batch of state pointers
Convert newcat.c
FIx the stragglers
Revert "Fix rotorez set_conf in both rotctl and rotctld -- since it needs to be done after rot_open"
Definitions, storage and infrastructure for queuing config commands
Implement the first user of the deferred set_conf entries.
Fix other rotators that try to do I/O before open.
Finish all port initialization before allowing I/O.
Balance ENTERFUNC/RETURNFUNC, ENTERFUNC2/RETURNFUNC2, ELAPSED1/ELAPSED2 usage
Balance ENTERFUNC/RETURNFUNC usage
More of the balancing act.
More balancing
Finish balancing
Get rid of some false positives for func_chk
Fix func_chk to do useful things
Fix ENTERFUNC/RETURNFUNC imbalances found by repaired func_chk
More pointer conversions for rig->state.
More pointerizations in src/*
Convert all rig->state. references in src/rig.c to pointers.
Play catch-up with recent code.
Use pointers for amp->state references
Use macros/pointers for rot->state references
More amplifier and rotator state changes
Yet another batch of state pointers
Catch up with latest code
Balance new code.
Fix wrong error message for SF1 command.
Make SNPRINTF do something useful for Hamlib
Remove dead code
Declare local functions as local
Implement rig_get_clock for TS-890S
Fix wrong utc_offset
Use a reliable source for TZ offset
Add just enough to simts890.c to fake kenwood_get_clock.
Tweaks to simts890.c
Fix negative fractional UTC offsets
Implement kenwood_set_clock
Fix command lengths for TS-890S set/get_antenna.
Still more tweaks to simts890.c
Replace raw write() calls with macro
More fixes for simts890.c
Reduce dependency on include/hamlib/rig.h
Convert VFOs into objects(structs).
Get rid of ghost commands.
More VFOs as objects.
Change FA/FB/SF to use band memories
Implement step sizes for some freq changes
Add DN/UP, FC, and UD commands to simts890.c
Correct some split problems and connect VFO ops
Clean up
Make FR & FT commands aware of new vfo structs.
Add traffic tracing to simts890.c
Annotate legacy (undocumented) commands in simts890.c
Add RIT/XIT commands (FS, RC, RD/RU, RF, RT, XT) to simts890.c
Astyle simts890.c
Update TS-890S and TS-990S RIT/XIT handling
Factor out TS-890S and TS-990S from kenwood_get_split_vfo_if()
MACROize new code.
Minimal support for KY commands in simts890.c
Use short (i.e., variable length) messages in kenwood_send_morse()
Fix porting unneeded code
Fix unbalanced ENTERFUNC/RETURNFUNC pairs in icom.c
Georges Auberger (1):
Add product id for CM119B chip. Used in KURI adapter designed by W7NX.
Gerardo Richarte (1):
gs232b.c: Improve get_position string parsing
Gisle Vanem (1):
Enable verbose mode in bindings/pytest.py
Greg Troxel (1):
Warning about dodgy code in drake.c
HB9EIK (4):
Initial release ELAD FDM DUO
Update ELAD files
Update build system for ELAD backend
Update copyright for fdm_duo.c
Hans Van Ingelgom (1):
Added Peaberry V1 and V2 models
Hegedüs Ervin (4):
Merge branch 'master' of http://git.code.sf.net/p/hamlib/code
Check SWIG string functions for some languages
Leave off multiply 'typedef const char * const_char_string' definition (in rig.swg and rotator.swg)
Fixed int[10] type variable error in bindings
Jae Stutzman (5):
Added HPSDR backend
Clears potential garbage data in read buffer prior to command being sent
Updated PiHPSDR backend defaults
Use Windows ioctlsocket to avoid buffer overrun
Added new AGC control for PiHPSDR
James Watson, HZ1JW (2):
Added ic7200 to icom
Corrected modes in ic7200.c
Jaroslav Skarvada (2):
Fix hardcoded pcconfig libdir
Fix serial_port DCD squelch
Jeroen Vreeken (9):
Add support for GPIO PTT.
Add missing breaks and improve error messages
Add Dorji DRA818 modules (VHF and UHF variants) Also works with NiceRF SA818 modules
Merge branch 'master' of git://git.code.sf.net/p/hamlib/code
Small fixes to DRA818 volume handling
Add GPIO and GPION options for DCD. Also bump abi version since the config params struct needed resizing.
Merge branch 'master' of github.com:Hamlib/Hamlib
GPIO working after debugging
Merge branch 'master' of github.com:Hamlib/Hamlib
Johan Ström (1):
Backup serial options on open, restore on close
John Paul Adrian Glaubitz (1):
dummy/dummy.c: Fix unaligned access in dummy_get_level()
Jonathan Bastien-Filiatrault (3):
Correct FT; command that does not exist on the FT-891.
Allow setting split mode without smashing the VFOB frequency.
Scale power values correctly for Yaesu FT-891.
Jonny public (1):
ether6: New rotor backend from Jonny, DG9OAA
Joop Stakenborg, PG4I (116):
update (kenwood is not a WIP anymore)
first implementation of kenwood_get_ptt
enable get_ptt for this rig
add get_ptt for this rig
additional protocol checks and cleanups
fix signal strength
add RIG_LEVEL_RFPOWER
fix_compilation
add rit capabilities
bring comands in sync with other kenwood rigs
add rit capabilities
send_morse added
explain set_rit
fix get_ctcss_tone by using IF command
typo
add xit capabilities
add set_level and get_level
bring rig in sync with other kenwood rigs
bump version numbers
nothing returned by the rig for these commands
fix get_level_agc
fix set_level_agc
getting in sync with the debian 1.1.2 package
remove template files
initial checkin
make this NMU for now
correct the path for copying files in the apropriate package
do not install the old changelog
versioning not used
move .la, .a, .so files to the correct package
include rpc.rigd and rpc.rotd
include pkgconfig support
don't create shlibs file for drake, jrc and easycomm libraries
move hamlib1 to the top so the documentations gets installed correctly
make building easier, call autogen.sh
INSTALL file not used
build the documentation package
we don't have to call configure twice
cleanup
remove some build dependencies and don't call autogen.sh
ts450s uses IF command for get_vfo, get_freq and get_mode
minor bugfix, bump to beta
add CWR and RTTYR
this rig does not have a command for reading IF bandwidth
retrieve passband with FW command
passband should be calculated after mode is set
use rig_passband_normal here
various lintian fixes
one last lintian fix
use FW command to set bandpass
cw filters for normal, narrow and wide
more filters
get_mode and set_mode for this rig
filters
some comments
correct rit
add get_level
cleanups
more modes
set_level for this rig
should use kenwood_get_freq
minor bug
add rpm support
need hamlib.spec for 'make rpm'
make rpm will fail with a '-' in the version number
a working spec file
update debian build for rotorez and fodtrack, minor fixes
unofficial
fix the debian build script, new maintainer
update the debian build tree to the latest
correct baudrate for the ts-950, use the information field IF for get_vfo by default (supported by most kenwood rigs), ts870s will use the much shorter FR command for get_vfo
correct baudrate for some rigs and add ts-950 to the id_list
ts-850 returns ID 009 according to martin, OK1RR
fix 'make rpm'
build for hamlib-1.1.5
not needed
sync with latest debian package and add tcl, c++, python and perl bindings
correct spelling
s-meter calibration by Matt Dawson
basic functionality by Matt Dawson, tested with grig and xlog
lifetime e-mail address :-)
sync with latest debian release
more functionality, mode and frequency get by Matt Dawson
only switch tx vfo is split is on
set attenuator level
export convenience function get_kenwood_level, so they can be use by other backends
add RIG_LEVEL_SWR, copied from ts850
add RIG_LEVEL_COMP, RIG_LEVEL_AGC, copied from ts850
bump version, no preamp
really add ALC read this time, only change meter if needed, cleanups
split has_get_level and has_set_level
fix coding, python2.4 compatibility
fix compilation warnings
more compilation warnings nuked, use tone_t for ctcss_list
use size_t
fix more compilation warnings, int->size_t, unsigned char->char
more unsigned char->char and int->size_t transitions
set functions should have ack_len zero, also need to check other rigs
make sure we use ack_len=0 for functions that return nothing (set functions)
more unsigned char->char and int->size_t transitions
extend rig capabilities, patch by Tom, DL1JBE
add RIG_LEVEL_STRENGTH to caps, set post write delay to 0 and do some cleanups
re-establish post-write delay
remove rpath backdoor
long long really needed here?
updates by matt, GW0VNR
long long really needed here? - patch by diane Bruce
distribute footer.html
correct set/get power
try better s-meter readings
packages renamed
obsolete
sync with latest debian release
no need to link to python
sync with latest, python changes
another debian update: use 'make distclean' in the rules file
Joshua Lynch (4):
initial SatEL rotator support
factored io functions out. improve reliability...i hope.
fixed state bug. reconnecting would disable motion every other connect.
merged upstream/master into master
Juergen Rinas, DC3BW (4):
added antenna switching...
added a few get_level/set_level get_function/set_functions.
* fixed set_func (concerns most kenwood rigs) * added 115200 to the list of baudrates in probeallrigs_kenwood()
* fixed ptt * expanded frequency range (available after firmware update) according to http://www.kenwood.com/i/products/info/amateur/ts_480/firmware/pop_ts480_e.htm * added tuning steps * added filter list * increased version info
Julian Cable (3):
WinRadio G313: Updates from Julian Campbell
wrg313api.c: Fix Win32 (MinGW) build issue
Use Automake conditionals for G313 build
Juuso Lehtinen (4):
Add get & set RIG_LEVEL_NB for Yaesu rigs.
Fix set level METER for Yaesu rigs
Add ID, VD & Comp meter cals for FT991
Add better defaults for newcat meter cals
Kamal Mostafa (3):
Fix mingw32 cross-compilation procedure and config
Do not let macros/ac_python_devel.m4 trash CPPFLAGS and LIBS
Fix spelling errors
Kamal Mostafa, KA6MAL (19):
Hard-code length of hamlib_version and hamlib_copyright strings to stay compliant with hamlib 1.2 ABI and avoid spurious "consider relinking" warnings from dynamic loader.
Removed stale debian/ dir from the hamlib source (it is maintained in the Debian diff and isn't useful in this tree).
Update bundled libltdl (libtool) to version 2.2.6b to address CVE-2009-3736. - autogen.sh: never downgrade our bundled libltdl/ (only run libtoolize if system version is newer than our bundled version). - autofixer.sh: script removed as libtool 1.x is no longer allowed. - configure.ac: (not enabled) optional setting to deprecate embedded libltdl/.
Added Kamal Mostafa and Jaime Robles as maintainers for Debian packaging.
Fix build --with-python-binding breakage introduced by Python 2.6: Do not reference LOCALMODLIBS, else it will add libraries to our link line (e.g -lssl) which are not necessarily installed.
Elektor 507 frequency selection resolution improvements, contributed by John Nogatch AC6SL.
Move backend libraries into /usr/lib/hamlib directory.
Force automake to invoke the C (not C++) linker in kit/ when no C++ is in use.
python: fix --with-python-bi...
[truncated message content] |