hamlib-cvs-digest Mailing List for Ham Radio Control Libraries (Page 19)
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
|
Dec
|
|
From: Michael B. <mdb...@us...> - 2021-03-11 16:25:18
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 6fcb7ccd37b4eaadc2219bfe7dab91c2907da844 (commit)
from 198f1cb43e467cf3657f348fdbe23f6f8c10086a (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 6fcb7ccd37b4eaadc2219bfe7dab91c2907da844
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Mar 11 10:24:22 2021 -0600
Fixed icom ACK/NAK and frame responses
https://github.com/Hamlib/Hamlib/issues/600
diff --git a/rigs/icom/frame.c b/rigs/icom/frame.c
index 9968e2a3..2d1664a9 100644
--- a/rigs/icom/frame.c
+++ b/rigs/icom/frame.c
@@ -269,6 +269,9 @@ int icom_one_transaction(RIG *rig, int cmd, int subcmd,
/* Ok, normal frame */
break;
+ case NAK:
+ RETURNFUNC(-RIG_ERJCTED);
+
default:
/* Timeout after reading at least one character */
/* Problem on ci-v bus? */
@@ -277,13 +280,14 @@ int icom_one_transaction(RIG *rig, int cmd, int subcmd,
if (frm_len < ACKFRMLEN) { RETURNFUNC(-RIG_EPROTO); }
+ rig_debug(RIG_DEBUG_TRACE, "%s: frm_len=%d, frm_len-1=%02x, frm_len-2=%02x\n", __func__, frm_len, buf[frm_len-1], buf[frm_len-2]);
if (NAK == buf[frm_len - 2]) { RETURNFUNC(-RIG_ERJCTED); }
- if (ACK != buf[frm_len - 2]) { RETURNFUNC(-RIG_BUSBUSY); }
+ // has to be one of these two now or frame is corrupt
+ if (FI != buf[frm_len - 1] && ACK != buf[frm_len - 1]) { RETURNFUNC(-RIG_BUSBUSY); }
*data_len = frm_len - (ACKFRMLEN - 1);
- rig_debug(RIG_DEBUG_TRACE, "%s: data_len=%d, frm_len=%d\n", __func__, *data_len,
- frm_len);
+ if (*data_len <= 0) { RETURNFUNC(-RIG_EPROTO); }
memcpy(data, buf + 4, *data_len);
/*
-----------------------------------------------------------------------
Summary of changes:
rigs/icom/frame.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-03-11 15:02: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 198f1cb43e467cf3657f348fdbe23f6f8c10086a (commit)
via 3f83cb6b6d10f2ff23445dfaa91668f901ac4ba5 (commit)
from 1d23fb6358510aac550350088fcc90b8fc7c60ee (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 198f1cb43e467cf3657f348fdbe23f6f8c10086a
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Mar 11 08:51:30 2021 -0600
Remove some cache debug
diff --git a/src/rig.c b/src/rig.c
index 946f9729..c17518fb 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -1408,8 +1408,6 @@ static int get_cache_freq(RIG *rig, vfo_t vfo, freq_t *freq, int *cache_ms)
if (vfo == RIG_VFO_CURR) { vfo = rig->state.current_vfo; }
- rig_debug(RIG_DEBUG_TRACE, "%s: get vfo=%s\n", __func__, rig_strvfo(vfo));
-
// VFO_C to be implemented
switch (vfo)
{
commit 3f83cb6b6d10f2ff23445dfaa91668f901ac4ba5
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Mar 11 08:44:29 2021 -0600
Reduce debug in misc.c cache info
diff --git a/src/misc.c b/src/misc.c
index cb702f8b..aaf56f9c 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -1570,8 +1570,8 @@ double HAMLIB_API elapsed_ms(struct timespec *start, int option)
start->tv_sec = start->tv_nsec = 0;
}
- rig_debug(RIG_DEBUG_TRACE, "%s: start = %ld,%ld\n", __func__,
- (long)start->tv_sec, (long)start->tv_nsec);
+ //rig_debug(RIG_DEBUG_TRACE, "%s: start = %ld,%ld\n", __func__,
+ // (long)start->tv_sec, (long)start->tv_nsec);
switch (option)
@@ -1588,8 +1588,8 @@ double HAMLIB_API elapsed_ms(struct timespec *start, int option)
case HAMLIB_ELAPSED_SET:
clock_gettime(CLOCK_REALTIME, start);
- rig_debug(RIG_DEBUG_TRACE, "%s: after gettime, start = %ld,%ld\n", __func__,
- (long)start->tv_sec, (long)start->tv_nsec);
+ //rig_debug(RIG_DEBUG_TRACE, "%s: after gettime, start = %ld,%ld\n", __func__,
+ // (long)start->tv_sec, (long)start->tv_nsec);
return 999 * 1000; // so we can tell the difference in debug where we came from
break;
@@ -1603,7 +1603,7 @@ double HAMLIB_API elapsed_ms(struct timespec *start, int option)
elapsed_msec = ((stop.tv_sec - start->tv_sec) + (stop.tv_nsec / 1e9 -
start->tv_nsec / 1e9)) * 1e3;
- rig_debug(RIG_DEBUG_TRACE, "%s: elapsed_msecs=%.0f\n", __func__, elapsed_msec);
+ //rig_debug(RIG_DEBUG_TRACE, "%s: elapsed_msecs=%.0f\n", __func__, elapsed_msec);
if (elapsed_msec < 0 || option == HAMLIB_ELAPSED_INVALIDATE) { return 1000000; }
-----------------------------------------------------------------------
Summary of changes:
src/misc.c | 10 +++++-----
src/rig.c | 2 --
2 files changed, 5 insertions(+), 7 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-03-11 12:43: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 1d23fb6358510aac550350088fcc90b8fc7c60ee (commit)
from fd0c8cba7c69edd86d6177d08ad73cd145177c30 (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 1d23fb6358510aac550350088fcc90b8fc7c60ee
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Mar 11 06:42:21 2021 -0600
Fix some errors with the HAMLIB_ macro changes
diff --git a/extra/kylix/hamlib_rigapi.pas b/extra/kylix/hamlib_rigapi.pas
index 4a42bc2b..2007de8e 100644
--- a/extra/kylix/hamlib_rigapi.pas
+++ b/extra/kylix/hamlib_rigapi.pas
@@ -52,15 +52,15 @@ type
//typedef struct rig RIG;
const
- RIGNAMSIZ = 30;
- RIGVERSIZ = 8;
- FILPATHLEN = 512;
- FRQRANGESIZ = 30;
- MAXCHANDESC = 30; {* describe channel eg: "WWV 5Mhz" *}
- TSLSTSIZ = 20; {* max tuning step list size, zero ended *}
- FLTLSTSIZ = 16; {* max mode/filter list size, zero ended *}
- MAXDBLSTSIZ = 8; {* max preamp/att levels supported, zero ended *}
- CHANLSTSIZ = 16; {* max mem_list size, zero ended *}
+ HAMLIB_RIGNAMSIZ = 30;
+ HAMLIB_RIGVERSIZ = 8;
+ HAMLIB_FILPATHLEN = 512;
+ HAMLIB_FRQRANGESIZ = 30;
+ HAMLIB_MAXCHANDESC = 30; {* describe channel eg: "WWV 5Mhz" *}
+ HAMLIB_TSLSTSIZ = 20; {* max tuning step list size, zero ended *}
+ HAMLIB_FLTLSTSIZ = 16; {* max mode/filter list size, zero ended *}
+ HAMLIB_MAXDBLSTSIZ = 8; {* max preamp/att levels supported, zero ended *}
+ HAMLIB_CHANLSTSIZ = 16; {* max mem_list size, zero ended *}
type
{*
diff --git a/rigs/dummy/netrigctl.c b/rigs/dummy/netrigctl.c
index 9b28abd4..718233ef 100644
--- a/rigs/dummy/netrigctl.c
+++ b/rigs/dummy/netrigctl.c
@@ -380,7 +380,7 @@ static int netrigctl_open(RIG *rig)
#if 0
/* TODO */
- chan_t chan_list[CHANLSTSIZ]; /*!< Channel list, zero ended */
+ chan_t chan_list[HAMLIB_CHANLSTSIZ]; /*!< Channel list, zero ended */
#endif
ret = read_string(&rig->state.rigport, buf, BUF_MAX, "\n", 1);
diff --git a/src/cal.c b/src/cal.c
index 8e1c3553..f9ba6912 100644
--- a/src/cal.c
+++ b/src/cal.c
@@ -63,7 +63,7 @@ float HAMLIB_API rig_raw2val(int rawval, const cal_table_t *cal)
int i;
/* ASSERT(cal != NULL) */
- /* ASSERT(cal->size <= MAX_CAL_LENGTH) */
+ /* ASSERT(cal->size <= HAMLIB_MAX_CAL_LENGTH) */
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
@@ -130,7 +130,7 @@ float HAMLIB_API rig_raw2val_float(int rawval, const cal_table_float_t *cal)
int i;
/* ASSERT(cal != NULL) */
- /* ASSERT(cal->size <= MAX_CAL_LENGTH) */
+ /* ASSERT(cal->size <= HAMLIB_MAX_CAL_LENGTH) */
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
diff --git a/tests/memload.c b/tests/memload.c
index ceeb5f31..4c0ed946 100644
--- a/tests/memload.c
+++ b/tests/memload.c
@@ -145,7 +145,7 @@ int set_chan(RIG *rig, channel_t *chan, xmlNodePtr node)
n = chan->channel_num = atoi((char *) prop);
/* find channel caps */
- for (i = 0; i < CHANLSTSIZ ; i++)
+ for (i = 0; i < HAMLIB_CHANLSTSIZ ; i++)
{
if (rig->state.chan_list[i].startc <= n
&& rig->state.chan_list[i].endc >= n)
@@ -155,7 +155,7 @@ int set_chan(RIG *rig, channel_t *chan, xmlNodePtr node)
}
}
- if (i == CHANLSTSIZ) { return -RIG_EINVAL; }
+ if (i == HAMLIB_CHANLSTSIZ) { return -RIG_EINVAL; }
fprintf(stderr, "node %d %d\n", n, i);
diff --git a/tests/rigmatrix.c b/tests/rigmatrix.c
index a8bb27fa..0075e978 100644
--- a/tests/rigmatrix.c
+++ b/tests/rigmatrix.c
@@ -422,7 +422,7 @@ static void draw_range(const freq_range_t range_list[],
{
int i;
- for (i = 0; i < FRQRANGESIZ; i++)
+ for (i = 0; i < HAMLIB_FRQRANGESIZ; i++)
{
float start_pix, end_pix;
-----------------------------------------------------------------------
Summary of changes:
extra/kylix/hamlib_rigapi.pas | 18 +++++++++---------
rigs/dummy/netrigctl.c | 2 +-
src/cal.c | 4 ++--
tests/memload.c | 4 ++--
tests/rigmatrix.c | 2 +-
5 files changed, 15 insertions(+), 15 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-03-11 05:47:39
|
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 fd0c8cba7c69edd86d6177d08ad73cd145177c30 (commit)
from 8407fcf6c1c792cf1d35f46a717d11d44036dea3 (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 fd0c8cba7c69edd86d6177d08ad73cd145177c30
Author: Michael Black W9MDB <mdb...@ya...>
Date: Wed Mar 10 23:45:38 2021 -0600
Another attempt to get MacOS python2 binding working
https://github.com/Hamlib/Hamlib/issues/477
diff --git a/bindings/Makefile.am b/bindings/Makefile.am
index a381d0bf..682e17da 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)
+ $(TCL_INCLUDE_SPEC) $(PYTHON_CPPFLAGS)
AM_CFLAGS = -fno-strict-aliasing
AM_CXXFLAGS = -O2
-----------------------------------------------------------------------
Summary of changes:
bindings/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-03-10 20:36: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 8407fcf6c1c792cf1d35f46a717d11d44036dea3 (commit)
via 2d975feb6240c0b0e28c8b3d6d08c2ff9584f053 (commit)
from 803a8d9e5e3f153cee47cb713ee411cee2d032bb (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 8407fcf6c1c792cf1d35f46a717d11d44036dea3
Author: Michael Black W9MDB <mdb...@ya...>
Date: Wed Mar 10 14:35:38 2021 -0600
FT1000MP set_vfo updates internal state
https://github.com/Hamlib/Hamlib/issues/597
diff --git a/rigs/yaesu/ft1000mp.c b/rigs/yaesu/ft1000mp.c
index 59c53c67..1809eacf 100644
--- a/rigs/yaesu/ft1000mp.c
+++ b/rigs/yaesu/ft1000mp.c
@@ -1128,6 +1128,9 @@ int ft1000mp_set_vfo(RIG *rig, vfo_t vfo)
ft1000mp_send_priv_cmd(rig, cmd_index);
#endif
+ // we just store the requested vfo in our internal state
+ rig->state.current_vfo = vfo;
+
RETURNFUNC(RIG_OK);
}
commit 2d975feb6240c0b0e28c8b3d6d08c2ff9584f053
Author: Michael Black W9MDB <mdb...@ya...>
Date: Wed Mar 10 14:33:19 2021 -0600
Default FT1000MP rigs to VFOA as we are just emulating VFOs
https://github.com/Hamlib/Hamlib/issues/597
diff --git a/rigs/yaesu/ft1000mp.c b/rigs/yaesu/ft1000mp.c
index a6f091a6..59c53c67 100644
--- a/rigs/yaesu/ft1000mp.c
+++ b/rigs/yaesu/ft1000mp.c
@@ -222,7 +222,7 @@ const struct rig_caps ft1000mp_caps =
RIG_MODEL(RIG_MODEL_FT1000MP),
.model_name = "FT-1000MP",
.mfg_name = "Yaesu",
- .version = "20210225.0",
+ .version = "20210310.0",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
@@ -356,7 +356,7 @@ const struct rig_caps ft1000mpmkv_caps =
RIG_MODEL(RIG_MODEL_FT1000MPMKV),
.model_name = "MARK-V FT-1000MP",
.mfg_name = "Yaesu",
- .version = "20210225.0",
+ .version = "20210310.0",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
@@ -490,7 +490,7 @@ const struct rig_caps ft1000mpmkvfld_caps =
RIG_MODEL(RIG_MODEL_FT1000MPMKVFLD),
.model_name = "MARK-V Field FT-1000MP",
.mfg_name = "Yaesu",
- .version = "20210225.0",
+ .version = "20210310.0",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
@@ -1164,6 +1164,10 @@ int ft1000mp_get_vfo(RIG *rig, vfo_t *vfo)
else // we are emulating vfo status
{
*vfo = rig->state.current_vfo;
+ if (*vfo == RIG_VFO_CURR) {
+ rig_debug(RIG_DEBUG_TRACE, "%s: no get_vfo, defaulting to VFOA\n", __func__);
+ *vfo = RIG_VFO_A;
+ }
}
#if 0
-----------------------------------------------------------------------
Summary of changes:
rigs/yaesu/ft1000mp.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-03-10 17:52:31
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 803a8d9e5e3f153cee47cb713ee411cee2d032bb (commit)
via 7b58661d1270377264f6ffc12c6072191247459a (commit)
via 74a10af560210e845d6928d87daf8aa9b9abdb7c (commit)
via f7f6ea318e1b5a26a7e0707901148bc0f1580e1b (commit)
via 0405375a1e65adb28b3dab12afb0d45644eb06dc (commit)
via 70b6dbdeb6025979c2edc95bdc660f6824e53f36 (commit)
from 309dc138c9ed6163516a66ea92065f5c512c3b56 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 803a8d9e5e3f153cee47cb713ee411cee2d032bb
Author: Michael Black W9MDB <mdb...@ya...>
Date: Wed Mar 10 11:49:47 2021 -0600
Fix icom.c logic to not reject good answers
https://github.com/Hamlib/Hamlib/issues/596
diff --git a/rigs/icom/frame.c b/rigs/icom/frame.c
index 97e3ae6e..9968e2a3 100644
--- a/rigs/icom/frame.c
+++ b/rigs/icom/frame.c
@@ -279,6 +279,8 @@ int icom_one_transaction(RIG *rig, int cmd, int subcmd,
if (NAK == buf[frm_len - 2]) { RETURNFUNC(-RIG_ERJCTED); }
+ if (ACK != buf[frm_len - 2]) { RETURNFUNC(-RIG_BUSBUSY); }
+
*data_len = frm_len - (ACKFRMLEN - 1);
rig_debug(RIG_DEBUG_TRACE, "%s: data_len=%d, frm_len=%d\n", __func__, *data_len,
frm_len);
diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c
index ddaa9294..6cecd81b 100644
--- a/rigs/icom/icom.c
+++ b/rigs/icom/icom.c
@@ -3081,14 +3081,7 @@ int icom_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
lvl_len--;
}
- if (lvl_len >= 1 && lvlbuf[0] != ACK && lvlbuf[1] != NAK)
- {
- // if we don't get ACK/NAK some serial corruption occurred
- // so we'll call it a timeout for retry purposes
- RETURNFUNC(-RIG_ETIMEOUT);
- }
-
- if (lvlbuf[0] != ACK && lvlbuf[0] != lvl_cn)
+ if (lvlbuf[0] != lvl_cn)
{
rig_debug(RIG_DEBUG_ERR, "%s: ack NG (%#.2x), len=%d\n", __func__,
lvlbuf[0], lvl_len);
@@ -3211,11 +3204,13 @@ int icom_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
{
val->f =
rig_raw2val_float(icom_val, &icom_default_rfpower_meter_cal);
+ rig_debug(RIG_DEBUG_TRACE, "%s: using rig table to convert %d to %.01f\n", __func__, icom_val, val->f);
}
else
{
val->f =
rig_raw2val_float(icom_val, &rig->caps->rfpower_meter_cal);
+ rig_debug(RIG_DEBUG_TRACE, "%s: using default icom table to convert %d to %.01f\n", __func__, icom_val, val->f);
}
break;
diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h
index 258519e1..b9eb6eaa 100644
--- a/rigs/icom/icom.h
+++ b/rigs/icom/icom.h
@@ -30,7 +30,7 @@
#include <sys/time.h>
#endif
-#define BACKEND_VER "20210306"
+#define BACKEND_VER "20210310"
/*
* defines used by comp_cal_str in rig.c
commit 7b58661d1270377264f6ffc12c6072191247459a
Author: Michael Black W9MDB <mdb...@ya...>
Date: Wed Mar 10 08:24:33 2021 -0600
Fix RETURNFUNC -- when RETURNFUNC(function) was used is was calling the function multiple times
https://github.com/Hamlib/Hamlib/issues/595
diff --git a/src/misc.h b/src/misc.h
index c0a3a995..517334a4 100644
--- a/src/misc.h
+++ b/src/misc.h
@@ -142,9 +142,12 @@ extern HAMLIB_EXPORT(int) parse_hoststr(char *host, char hoststr[256], char port
void errmsg(int err, char *s, const char *func, const char *file, int line);
#define ERRMSG(err, s) errmsg(err, s, __func__, __FILENAME__, __LINE__)
#define ENTERFUNC rig_debug(RIG_DEBUG_VERBOSE, "%s(%d):%s entered\n", __FILENAME__, __LINE__, __func__)
+// we need to refer to rc just once as it
+// could be a function call
#define RETURNFUNC(rc) do { \
- rig_debug(RIG_DEBUG_VERBOSE, "%s(%d):%s return(%ld)\n", __FILENAME__, __LINE__, __func__, (long int) (rc)); \
- return (rc); \
+ int rctmp = rc; \
+ rig_debug(RIG_DEBUG_VERBOSE, "%s(%d):%s return(%ld)\n", __FILENAME__, __LINE__, __func__, (long int) (rctmp)); \
+ return (rctmp); \
} while(0)
#if 0 // 5.0
commit 74a10af560210e845d6928d87daf8aa9b9abdb7c
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Mar 9 17:29:29 2021 -0600
Increase msg size
diff --git a/src/rig.c b/src/rig.c
index 245fec3d..946f9729 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -305,7 +305,7 @@ const char *HAMLIB_API rigerror(int errnum)
return "ERR_OUT_OF_RANGE";
}
- static char msg[DEBUGMSGSAVE_SIZE * 2];
+ static char msg[DEBUGMSGSAVE_SIZE * 3];
// we have to remove LF from debugmsgsave since calling function controls LF
char *p = &debugmsgsave[strlen(debugmsgsave) - 1];
commit f7f6ea318e1b5a26a7e0707901148bc0f1580e1b
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Mar 9 17:22:44 2021 -0600
Fix compilation warning
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index 897c8afa..4fdc0b45 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -2900,7 +2900,7 @@ extern HAMLIB_EXPORT_VAR(char) debugmsgsave3[DEBUGMSGSAVE_SIZE]; // last-2 debu
#ifndef __cplusplus
#ifdef __GNUC__
// doing the debug macro with a dummy sprintf allows gcc to check the format string
-#define rig_debug(debug_level,fmt,...) do { strncpy(debugmsgsave3, debugmsgsave2,sizeof(debugmsgsave3)-1);strncpy(debugmsgsave2, debugmsgsave, sizeof(debugmsgsave2)-1);snprintf(debugmsgsave,sizeof(debugmsgsave)-1,fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); } while(0);
+#define rig_debug(debug_level,fmt,...) do { strncpy(debugmsgsave3, debugmsgsave2,sizeof(debugmsgsave3));strncpy(debugmsgsave2, debugmsgsave, sizeof(debugmsgsave2));snprintf(debugmsgsave,sizeof(debugmsgsave),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); } while(0);
#endif
#endif
extern HAMLIB_EXPORT(void)
commit 0405375a1e65adb28b3dab12afb0d45644eb06dc
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Mar 9 17:18:45 2021 -0600
Fix rig.h compile error
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index 988d6c11..897c8afa 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -2900,7 +2900,7 @@ extern HAMLIB_EXPORT_VAR(char) debugmsgsave3[DEBUGMSGSAVE_SIZE]; // last-2 debu
#ifndef __cplusplus
#ifdef __GNUC__
// doing the debug macro with a dummy sprintf allows gcc to check the format string
-#define rig_debug(debug_level,fmt,...) do { strncpy(debugmsgsave3, debugmsgsave2,sizeof(debugmsgsave3)-1);strncpy(debugmsgsave2, debugmsgsavem sizeof(debugmsgsdave2)-1);snprintf(debugmsgsave,sizeof(debugmsgsave),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); } while(0);
+#define rig_debug(debug_level,fmt,...) do { strncpy(debugmsgsave3, debugmsgsave2,sizeof(debugmsgsave3)-1);strncpy(debugmsgsave2, debugmsgsave, sizeof(debugmsgsave2)-1);snprintf(debugmsgsave,sizeof(debugmsgsave)-1,fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); } while(0);
#endif
#endif
extern HAMLIB_EXPORT(void)
commit 70b6dbdeb6025979c2edc95bdc660f6824e53f36
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Mar 9 17:14:38 2021 -0600
Change strcpy to strncpy on debugmsgsave
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index 569dd367..988d6c11 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -2900,7 +2900,7 @@ extern HAMLIB_EXPORT_VAR(char) debugmsgsave3[DEBUGMSGSAVE_SIZE]; // last-2 debu
#ifndef __cplusplus
#ifdef __GNUC__
// doing the debug macro with a dummy sprintf allows gcc to check the format string
-#define rig_debug(debug_level,fmt,...) do { strcpy(debugmsgsave3, debugmsgsave2);strcpy(debugmsgsave2, debugmsgsave);snprintf(debugmsgsave,sizeof(debugmsgsave),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); } while(0);
+#define rig_debug(debug_level,fmt,...) do { strncpy(debugmsgsave3, debugmsgsave2,sizeof(debugmsgsave3)-1);strncpy(debugmsgsave2, debugmsgsavem sizeof(debugmsgsdave2)-1);snprintf(debugmsgsave,sizeof(debugmsgsave),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); } while(0);
#endif
#endif
extern HAMLIB_EXPORT(void)
-----------------------------------------------------------------------
Summary of changes:
include/hamlib/rig.h | 2 +-
rigs/icom/frame.c | 2 ++
rigs/icom/icom.c | 11 +++--------
rigs/icom/icom.h | 2 +-
src/misc.h | 7 +++++--
src/rig.c | 2 +-
6 files changed, 13 insertions(+), 13 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-03-09 19:21: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 309dc138c9ed6163516a66ea92065f5c512c3b56 (commit)
from dd117fed26c73740988a89fa2c4d4160dce503ec (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 309dc138c9ed6163516a66ea92065f5c512c3b56
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Mar 9 13:20:32 2021 -0600
See if moving kenwood_transaction out of RETURNFUNC eliminiates duplicate kenwood_transaction calls
https://github.com/Hamlib/Hamlib/issues/595
diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c
index d4f56599..798be67b 100644
--- a/rigs/kenwood/kenwood.c
+++ b/rigs/kenwood/kenwood.c
@@ -3752,8 +3752,9 @@ int kenwood_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
default: RETURNFUNC(-RIG_EINVAL);
}
+ int retval = kenwood_transaction(rig, ptt_cmd, NULL, 0);
- RETURNFUNC(kenwood_transaction(rig, ptt_cmd, NULL, 0));
+ RETURNFUNC(retval);
}
int kenwood_set_ptt_safe(RIG *rig, vfo_t vfo, ptt_t ptt)
diff --git a/rigs/kenwood/kenwood.h b/rigs/kenwood/kenwood.h
index 6ad2c7b6..90dee848 100644
--- a/rigs/kenwood/kenwood.h
+++ b/rigs/kenwood/kenwood.h
@@ -28,7 +28,7 @@
#include "token.h"
#include "misc.h"
-#define BACKEND_VER "20210302"
+#define BACKEND_VER "20210309"
#define EOM_KEN ';'
#define EOM_TH '\r'
-----------------------------------------------------------------------
Summary of changes:
rigs/kenwood/kenwood.c | 3 ++-
rigs/kenwood/kenwood.h | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-03-09 16:24: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 dd117fed26c73740988a89fa2c4d4160dce503ec (commit)
via 9cd7e533f63c02d8f32f9a821722b8a731c00ac0 (commit)
from c2cab5465071ccecd6ac568fbb472eade9fa721a (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 dd117fed26c73740988a89fa2c4d4160dce503ec
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Mar 9 10:24:37 2021 -0600
Fix ftdx101.c double init of str_cal
diff --git a/rigs/yaesu/ftdx101.c b/rigs/yaesu/ftdx101.c
index 3587f5d1..b7220ce0 100644
--- a/rigs/yaesu/ftdx101.c
+++ b/rigs/yaesu/ftdx101.c
@@ -120,7 +120,6 @@ const struct rig_caps ftdx101d_caps =
.rfpower_meter_cal = FTDX101D_RFPOWER_METER_WATTS_CAL,
.str_cal = FTDX101D_STR_CAL,
.swr_cal = FTDX101D_SWR_CAL,
- .str_cal = FTDX101D_STR_CAL,
.chan_list = {
{ 1, 99, RIG_MTYPE_MEM, NEWCAT_MEM_CAP },
RIG_CHAN_END,
commit 9cd7e533f63c02d8f32f9a821722b8a731c00ac0
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Mar 9 10:22:59 2021 -0600
Fix clang warnings in ts990s.c
diff --git a/rigs/kenwood/ts990s.c b/rigs/kenwood/ts990s.c
index 8fe2c98b..9acc8a96 100644
--- a/rigs/kenwood/ts990s.c
+++ b/rigs/kenwood/ts990s.c
@@ -52,8 +52,8 @@
{0x00, -54},\
{0x04, -48},\
{0x0B, -36},\
- {0x13, -23.9},\
- {0x1B, -11.7},\
+ {0x13, -24},\
+ {0x1B, -12},\
{0x23, 0},\
{0x46, 60}}\
}
-----------------------------------------------------------------------
Summary of changes:
rigs/kenwood/ts990s.c | 4 ++--
rigs/yaesu/ftdx101.c | 1 -
2 files changed, 2 insertions(+), 3 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-03-09 16:17:17
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via c2cab5465071ccecd6ac568fbb472eade9fa721a (commit)
via 8a2a51b2214d4e39517ff48c418b06716cc85c6e (commit)
from 0148fd70007ac079e776cb6142eca7ec04efc3e8 (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 c2cab5465071ccecd6ac568fbb472eade9fa721a
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Mar 9 10:16:18 2021 -0600
Change all FILPATHLEN names to HAMLIB_FILPATHLEN
diff --git a/tests/cachetest.c b/tests/cachetest.c
index 07eb1c9b..6e5f10a1 100644
--- a/tests/cachetest.c
+++ b/tests/cachetest.c
@@ -77,7 +77,7 @@ int main(int argc, char *argv[])
/* Set up serial port, baud rate */
rig_file = argv[2]; // your serial device
- strncpy(my_rig->state.rigport.pathname, rig_file, FILPATHLEN - 1);
+ strncpy(my_rig->state.rigport.pathname, rig_file, HAMLIB_FILPATHLEN - 1);
my_rig->state.rigport.parm.serial.rate = baud; // your baud rate
diff --git a/tests/cachetest2.c b/tests/cachetest2.c
index db427cbb..60cbd049 100644
--- a/tests/cachetest2.c
+++ b/tests/cachetest2.c
@@ -44,7 +44,7 @@ int main(int argc, char *argv[])
/* Set up serial port, baud rate */
rig_file = "127.0.0.1:4532"; // your serial device
- strncpy(my_rig->state.rigport.pathname, rig_file, FILPATHLEN - 1);
+ strncpy(my_rig->state.rigport.pathname, rig_file, HAMLIB_FILPATHLEN - 1);
/* Open my rig */
retcode = rig_open(my_rig);
diff --git a/tests/dumpmem.c b/tests/dumpmem.c
index ca29a0a6..24ffe802 100644
--- a/tests/dumpmem.c
+++ b/tests/dumpmem.c
@@ -59,7 +59,7 @@ int main(int argc, char *argv[])
exit(1); /* whoops! something went wrong (mem alloc?) */
}
- strncpy(my_rig->state.rigport.pathname, SERIAL_PORT, FILPATHLEN - 1);
+ strncpy(my_rig->state.rigport.pathname, SERIAL_PORT, HAMLIB_FILPATHLEN - 1);
if (rig_open(my_rig))
{
diff --git a/tests/example.c b/tests/example.c
index 251dbc5d..c784c369 100644
--- a/tests/example.c
+++ b/tests/example.c
@@ -43,7 +43,7 @@ int main()
/* Instantiate a rig */
my_rig = rig_init(MODEL); // your rig model.
- strncpy(my_rig->state.rigport.pathname, PATH, FILPATHLEN - 1);
+ strncpy(my_rig->state.rigport.pathname, PATH, HAMLIB_FILPATHLEN - 1);
my_rig->state.rigport.parm.serial.rate = BAUD; // your baud rate
diff --git a/tests/rig_bench.c b/tests/rig_bench.c
index ca2ebd88..d9b95e6a 100644
--- a/tests/rig_bench.c
+++ b/tests/rig_bench.c
@@ -40,7 +40,7 @@ int main(int argc, char *argv[])
myport.parm.serial.stop_bits = 1;
myport.parm.serial.parity = RIG_PARITY_NONE;
myport.parm.serial.handshake = RIG_HANDSHAKE_NONE;
- strncpy(myport.pathname, SERIAL_PORT, FILPATHLEN - 1);
+ strncpy(myport.pathname, SERIAL_PORT, HAMLIB_FILPATHLEN - 1);
rig_load_all_backends();
myrig_model = rig_probe(&myport);
@@ -69,7 +69,7 @@ int main(int argc, char *argv[])
printf("Serial speed: %d bauds\n", my_rig->state.rigport.parm.serial.rate);
- strncpy(my_rig->state.rigport.pathname, SERIAL_PORT, FILPATHLEN - 1);
+ strncpy(my_rig->state.rigport.pathname, SERIAL_PORT, HAMLIB_FILPATHLEN - 1);
retcode = rig_open(my_rig);
diff --git a/tests/testrig.c b/tests/testrig.c
index b7b9ab97..4c10582e 100644
--- a/tests/testrig.c
+++ b/tests/testrig.c
@@ -52,7 +52,7 @@ int main(int argc, char *argv[])
myport.parm.serial.stop_bits = 1;
myport.parm.serial.parity = RIG_PARITY_NONE;
myport.parm.serial.handshake = RIG_HANDSHAKE_NONE;
- strncpy(myport.pathname, SERIAL_PORT, FILPATHLEN - 1);
+ strncpy(myport.pathname, SERIAL_PORT, HAMLIB_FILPATHLEN - 1);
rig_load_all_backends();
myrig_model = rig_probe(&myport);
@@ -71,7 +71,7 @@ int main(int argc, char *argv[])
exit(1); /* whoops! something went wrong (mem alloc?) */
}
- strncpy(my_rig->state.rigport.pathname, SERIAL_PORT, FILPATHLEN - 1);
+ strncpy(my_rig->state.rigport.pathname, SERIAL_PORT, HAMLIB_FILPATHLEN - 1);
retcode = rig_open(my_rig);
diff --git a/tests/testtrn.c b/tests/testtrn.c
index 5e96a0b5..7b0046e2 100644
--- a/tests/testtrn.c
+++ b/tests/testtrn.c
@@ -54,7 +54,7 @@ int main(int argc, char *argv[])
exit(1); /* whoops! something went wrong (mem alloc?) */
}
- strncpy(my_rig->state.rigport.pathname, SERIAL_PORT, FILPATHLEN - 1);
+ strncpy(my_rig->state.rigport.pathname, SERIAL_PORT, HAMLIB_FILPATHLEN - 1);
if (rig_open(my_rig))
{
commit 8a2a51b2214d4e39517ff48c418b06716cc85c6e
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Mar 9 10:09:22 2021 -0600
Possible fix for MacOS python2 binding build
https://github.com/Hamlib/Hamlib/issues/477
diff --git a/bindings/Makefile.am b/bindings/Makefile.am
index 5e4f81f7..a381d0bf 100644
--- a/bindings/Makefile.am
+++ b/bindings/Makefile.am
@@ -121,7 +121,7 @@ check-py: all-py
Hamlib.py: hamlibpy_wrap.c
hamlibpy_wrap.c: hamlib.swg $(SWGDEP)
- $(AM_V_GEN)$(SWIG) -python $(AM_CPPFLAGS) -I$(top_srcdir)/bindings \
+ $(AM_V_GEN)$(SWIG) -python $(AM_CPPFLAGS) $(PYTHON_CPPFLAGS) -I$(top_srcdir)/bindings \
-o $@ $$(test -f hamlib.swg || echo '$(srcdir)/')hamlib.swg
install-py:
-----------------------------------------------------------------------
Summary of changes:
bindings/Makefile.am | 2 +-
tests/cachetest.c | 2 +-
tests/cachetest2.c | 2 +-
tests/dumpmem.c | 2 +-
tests/example.c | 2 +-
tests/rig_bench.c | 4 ++--
tests/testrig.c | 4 ++--
tests/testtrn.c | 2 +-
8 files changed, 10 insertions(+), 10 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-03-09 14:38:35
|
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 0148fd70007ac079e776cb6142eca7ec04efc3e8 (commit)
from d7a5028e83f8ad9bf4cc7b6d017a19aa493b95f3 (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 0148fd70007ac079e776cb6142eca7ec04efc3e8
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Mar 9 08:34:27 2021 -0600
Re-enabling RIG_TARGETABLE_PURE as WSJT-X expects it
Will remove when WSJT-X removes it
https://github.com/Hamlib/Hamlib/issues/414
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index 969f77b7..569dd367 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -476,7 +476,7 @@ typedef unsigned int vfo_t;
#define RIG_TARGETABLE_NONE 0
#define RIG_TARGETABLE_FREQ (1<<0)
#define RIG_TARGETABLE_MODE (1<<1)
-//#define RIG_TARGETABLE_PURE (1<<2) // deprecated -- not used -- reuse it
+#define RIG_TARGETABLE_PURE (1<<2) // deprecated -- not used -- reuse it
#define RIG_TARGETABLE_TONE (1<<3)
#define RIG_TARGETABLE_FUNC (1<<4)
#define RIG_TARGETABLE_LEVEL (1<<5)
-----------------------------------------------------------------------
Summary of changes:
include/hamlib/rig.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-03-09 14:06: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 d7a5028e83f8ad9bf4cc7b6d017a19aa493b95f3 (commit)
via 5355d586455b0ab7aae33146109f753c8217d7eb (commit)
from c5fba04747ddb6309cfd16af1a490f59ec01d309 (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 d7a5028e83f8ad9bf4cc7b6d017a19aa493b95f3
Merge: 5355d586 c5fba047
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Mar 9 08:06:11 2021 -0600
Merge branch 'master' of https://github.com/Hamlib/Hamlib
commit 5355d586455b0ab7aae33146109f753c8217d7eb
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Mar 9 08:02:35 2021 -0600
Fix STRENGTH report for ftdx101d and ftdx101mp
https://github.com/Hamlib/Hamlib/issues/594
diff --git a/rigs/yaesu/ftdx101.c b/rigs/yaesu/ftdx101.c
index 0e73d39a..3587f5d1 100644
--- a/rigs/yaesu/ftdx101.c
+++ b/rigs/yaesu/ftdx101.c
@@ -37,27 +37,6 @@
#include "newcat.h"
#include "ftdx101.h"
-#define FTDX101D_STR_CAL { 16, \
- { \
- { 0x00, -54 }, /* S0 */ \
- { 0x01, -48 }, \
- { 0x02, -42 }, \
- { 0x03, -36 }, \
- { 0x04, -30 }, \
- { 0x05, -24 }, \
- { 0x06, -18 }, \
- { 0x07, -12 }, \
- { 0x08, -6 }, \
- { 0x09, 0 }, /* S9 */ \
- { 0x0A, 10 }, /* +10 */ \
- { 0x0B, 20 }, /* +20 */ \
- { 0x0C, 30 }, /* +30 */ \
- { 0x0D, 40 }, /* +40 */ \
- { 0x0E, 50 }, /* +50 */ \
- { 0x0F, 60 } /* +60 */ \
- } }
-
-
const struct newcat_priv_caps ftdx101d_priv_caps =
{
.roofing_filter_count = 6,
@@ -97,7 +76,7 @@ const struct rig_caps ftdx101d_caps =
RIG_MODEL(RIG_MODEL_FTDX101D),
.model_name = "FTDX-101D",
.mfg_name = "Yaesu",
- .version = NEWCAT_VER ".10",
+ .version = NEWCAT_VER ".11",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
@@ -139,7 +118,7 @@ const struct rig_caps ftdx101d_caps =
.bank_qty = 0,
.chan_desc_sz = 0,
.rfpower_meter_cal = FTDX101D_RFPOWER_METER_WATTS_CAL,
- .str_cal = FTDX101D_RFPOWER_METER_CAL,
+ .str_cal = FTDX101D_STR_CAL,
.swr_cal = FTDX101D_SWR_CAL,
.str_cal = FTDX101D_STR_CAL,
.chan_list = {
diff --git a/rigs/yaesu/ftdx101.h b/rigs/yaesu/ftdx101.h
index 198bb2f9..78acea89 100644
--- a/rigs/yaesu/ftdx101.h
+++ b/rigs/yaesu/ftdx101.h
@@ -148,6 +148,23 @@
} \
}
+#define FTDX101D_STR_CAL { 12, \
+ { \
+ { 0, -60 }, /* S0 */ \
+ { 17, -54 }, /* S0 */ \
+ { 25, -48 }, \
+ { 34, -42 }, \
+ { 51, -36 }, \
+ { 68, -30 }, \
+ { 85, -24 }, \
+ { 102, -18 }, \
+ { 119, -12 }, \
+ { 136, -6 }, \
+ { 160, 0 }, /* S9 */ \
+ { 255, 60 }, /* +60 */ \
+ } }
+
+
/*
* Other features (used by rig_caps)
*/
diff --git a/rigs/yaesu/ftdx101mp.c b/rigs/yaesu/ftdx101mp.c
index 9ff6a9ec..a5dfb7c7 100644
--- a/rigs/yaesu/ftdx101mp.c
+++ b/rigs/yaesu/ftdx101mp.c
@@ -77,7 +77,7 @@ const struct rig_caps ftdx101mp_caps =
RIG_MODEL(RIG_MODEL_FTDX101MP),
.model_name = "FTDX-101MP",
.mfg_name = "Yaesu",
- .version = NEWCAT_VER ".1",
+ .version = NEWCAT_VER ".2",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
@@ -119,7 +119,7 @@ const struct rig_caps ftdx101mp_caps =
.bank_qty = 0,
.chan_desc_sz = 0,
.rfpower_meter_cal = FTDX101MP_RFPOWER_METER_WATTS_CAL,
- .str_cal = FTDX101MP_RFPOWER_METER_CAL,
+ .str_cal = FTDX101D_STR_CAL,
.swr_cal = FTDX101D_SWR_CAL,
.chan_list = {
{ 1, 99, RIG_MTYPE_MEM, NEWCAT_MEM_CAP },
-----------------------------------------------------------------------
Summary of changes:
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-03-09 14:03:14
|
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 c5fba04747ddb6309cfd16af1a490f59ec01d309 (commit)
via 68d4388df290c4dcd7de34a0538960808502ee32 (commit)
from 59dcb2e9b6f3f38c0749c425a36a58db07413268 (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 c5fba04747ddb6309cfd16af1a490f59ec01d309
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Mar 9 08:02:35 2021 -0600
Fix STRENGHT report for ftdx101d and ftdx101mp
https://github.com/Hamlib/Hamlib/issues/594
diff --git a/rigs/yaesu/ftdx101.c b/rigs/yaesu/ftdx101.c
index 0e73d39a..3587f5d1 100644
--- a/rigs/yaesu/ftdx101.c
+++ b/rigs/yaesu/ftdx101.c
@@ -37,27 +37,6 @@
#include "newcat.h"
#include "ftdx101.h"
-#define FTDX101D_STR_CAL { 16, \
- { \
- { 0x00, -54 }, /* S0 */ \
- { 0x01, -48 }, \
- { 0x02, -42 }, \
- { 0x03, -36 }, \
- { 0x04, -30 }, \
- { 0x05, -24 }, \
- { 0x06, -18 }, \
- { 0x07, -12 }, \
- { 0x08, -6 }, \
- { 0x09, 0 }, /* S9 */ \
- { 0x0A, 10 }, /* +10 */ \
- { 0x0B, 20 }, /* +20 */ \
- { 0x0C, 30 }, /* +30 */ \
- { 0x0D, 40 }, /* +40 */ \
- { 0x0E, 50 }, /* +50 */ \
- { 0x0F, 60 } /* +60 */ \
- } }
-
-
const struct newcat_priv_caps ftdx101d_priv_caps =
{
.roofing_filter_count = 6,
@@ -97,7 +76,7 @@ const struct rig_caps ftdx101d_caps =
RIG_MODEL(RIG_MODEL_FTDX101D),
.model_name = "FTDX-101D",
.mfg_name = "Yaesu",
- .version = NEWCAT_VER ".10",
+ .version = NEWCAT_VER ".11",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
@@ -139,7 +118,7 @@ const struct rig_caps ftdx101d_caps =
.bank_qty = 0,
.chan_desc_sz = 0,
.rfpower_meter_cal = FTDX101D_RFPOWER_METER_WATTS_CAL,
- .str_cal = FTDX101D_RFPOWER_METER_CAL,
+ .str_cal = FTDX101D_STR_CAL,
.swr_cal = FTDX101D_SWR_CAL,
.str_cal = FTDX101D_STR_CAL,
.chan_list = {
diff --git a/rigs/yaesu/ftdx101.h b/rigs/yaesu/ftdx101.h
index 198bb2f9..78acea89 100644
--- a/rigs/yaesu/ftdx101.h
+++ b/rigs/yaesu/ftdx101.h
@@ -148,6 +148,23 @@
} \
}
+#define FTDX101D_STR_CAL { 12, \
+ { \
+ { 0, -60 }, /* S0 */ \
+ { 17, -54 }, /* S0 */ \
+ { 25, -48 }, \
+ { 34, -42 }, \
+ { 51, -36 }, \
+ { 68, -30 }, \
+ { 85, -24 }, \
+ { 102, -18 }, \
+ { 119, -12 }, \
+ { 136, -6 }, \
+ { 160, 0 }, /* S9 */ \
+ { 255, 60 }, /* +60 */ \
+ } }
+
+
/*
* Other features (used by rig_caps)
*/
diff --git a/rigs/yaesu/ftdx101mp.c b/rigs/yaesu/ftdx101mp.c
index 9ff6a9ec..a5dfb7c7 100644
--- a/rigs/yaesu/ftdx101mp.c
+++ b/rigs/yaesu/ftdx101mp.c
@@ -77,7 +77,7 @@ const struct rig_caps ftdx101mp_caps =
RIG_MODEL(RIG_MODEL_FTDX101MP),
.model_name = "FTDX-101MP",
.mfg_name = "Yaesu",
- .version = NEWCAT_VER ".1",
+ .version = NEWCAT_VER ".2",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
@@ -119,7 +119,7 @@ const struct rig_caps ftdx101mp_caps =
.bank_qty = 0,
.chan_desc_sz = 0,
.rfpower_meter_cal = FTDX101MP_RFPOWER_METER_WATTS_CAL,
- .str_cal = FTDX101MP_RFPOWER_METER_CAL,
+ .str_cal = FTDX101D_STR_CAL,
.swr_cal = FTDX101D_SWR_CAL,
.chan_list = {
{ 1, 99, RIG_MTYPE_MEM, NEWCAT_MEM_CAP },
commit 68d4388df290c4dcd7de34a0538960808502ee32
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Mar 9 07:42:16 2021 -0600
Fix Yaesu not setting frequency
https://github.com/Hamlib/Hamlib/issues/594
diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c
index 3445ab14..e69c6223 100644
--- a/rigs/yaesu/newcat.c
+++ b/rigs/yaesu/newcat.c
@@ -9727,8 +9727,6 @@ int newcat_set_cmd_validate(RIG *rig)
RETURNFUNC(-RIG_ENIMPL);
}
- if (strlen(valcmd) == 0) { return RIG_OK; }
-
while (rc != RIG_OK && retry++ < retries)
{
int bytes;
@@ -9739,6 +9737,8 @@ int newcat_set_cmd_validate(RIG *rig)
if (rc != RIG_OK) { RETURNFUNC(-RIG_EIO); }
+ if (strlen(valcmd) == 0) { RETURNFUNC(RIG_OK); }
+
bytes = read_string(&state->rigport, priv->ret_data, sizeof(priv->ret_data),
&cat_term, sizeof(cat_term));
diff --git a/rigs/yaesu/newcat.h b/rigs/yaesu/newcat.h
index 127ebfbb..19ea6aa0 100644
--- a/rigs/yaesu/newcat.h
+++ b/rigs/yaesu/newcat.h
@@ -50,7 +50,7 @@
typedef char ncboolean;
/* shared function version */
-#define NEWCAT_VER "20210308"
+#define NEWCAT_VER "20210309"
/* Hopefully large enough for future use, 128 chars plus '\0' */
#define NEWCAT_DATA_LEN 129
-----------------------------------------------------------------------
Summary of changes:
rigs/yaesu/ftdx101.c | 25 ++-----------------------
rigs/yaesu/ftdx101.h | 17 +++++++++++++++++
rigs/yaesu/ftdx101mp.c | 4 ++--
rigs/yaesu/newcat.c | 4 ++--
rigs/yaesu/newcat.h | 2 +-
5 files changed, 24 insertions(+), 28 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-03-09 06:01: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 59dcb2e9b6f3f38c0749c425a36a58db07413268 (commit)
from 3b7760e4d20712315ed65789f80ab73fb8262256 (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 59dcb2e9b6f3f38c0749c425a36a58db07413268
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Mar 9 00:01:05 2021 -0600
Remove RIG_TARGETABLE_PURE as it was not referenced in any rig
https://github.com/Hamlib/Hamlib/issues/414
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index 17173886..969f77b7 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -468,7 +468,6 @@ typedef unsigned int vfo_t;
/*
* targetable bitfields, for internal use.
- * RIG_TARGETABLE_PURE means a pure targetable radio on every command
* In rig.c lack of a flag will case a VFO change if needed
* So setting this flag will mean the backend handles any VFO needs
* For many rigs RITXIT, PTT, MEM, and BANK are non-VFO commands so need these flags to avoid unnecessary VFO swapping
@@ -477,7 +476,7 @@ typedef unsigned int vfo_t;
#define RIG_TARGETABLE_NONE 0
#define RIG_TARGETABLE_FREQ (1<<0)
#define RIG_TARGETABLE_MODE (1<<1)
-#define RIG_TARGETABLE_PURE (1<<2)
+//#define RIG_TARGETABLE_PURE (1<<2) // deprecated -- not used -- reuse it
#define RIG_TARGETABLE_TONE (1<<3)
#define RIG_TARGETABLE_FUNC (1<<4)
#define RIG_TARGETABLE_LEVEL (1<<5)
diff --git a/src/rig.c b/src/rig.c
index e0c9d57d..245fec3d 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -3007,9 +3007,8 @@ int HAMLIB_API rig_get_dcd(RIG *rig, vfo_t vfo, dcd_t *dcd)
RETURNFUNC(-RIG_ENIMPL);
}
- if ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
- || vfo == rig->state.current_vfo)
+ if (vfo == RIG_VFO_CURR
+ || vfo == rig->state.current_vfo)
{
RETURNFUNC(caps->get_dcd(rig, vfo, dcd));
}
@@ -3109,9 +3108,8 @@ int HAMLIB_API rig_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift)
RETURNFUNC(-RIG_ENAVAIL);
}
- if ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
- || vfo == rig->state.current_vfo)
+ if (vfo == RIG_VFO_CURR
+ || vfo == rig->state.current_vfo)
{
RETURNFUNC(caps->set_rptr_shift(rig, vfo, rptr_shift));
}
@@ -3177,9 +3175,8 @@ int HAMLIB_API rig_get_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift)
RETURNFUNC(-RIG_ENAVAIL);
}
- if ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
- || vfo == rig->state.current_vfo)
+ if (vfo == RIG_VFO_CURR
+ || vfo == rig->state.current_vfo)
{
RETURNFUNC(caps->get_rptr_shift(rig, vfo, rptr_shift));
}
@@ -3245,9 +3242,8 @@ int HAMLIB_API rig_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t rptr_offs)
RETURNFUNC(-RIG_ENAVAIL);
}
- if ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
- || vfo == rig->state.current_vfo)
+ if (vfo == RIG_VFO_CURR
+ || vfo == rig->state.current_vfo)
{
RETURNFUNC(caps->set_rptr_offs(rig, vfo, rptr_offs));
}
@@ -3313,9 +3309,8 @@ int HAMLIB_API rig_get_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t *rptr_offs)
RETURNFUNC(-RIG_ENAVAIL);
}
- if ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
- || vfo == rig->state.current_vfo)
+ if (vfo == RIG_VFO_CURR
+ || vfo == rig->state.current_vfo)
{
RETURNFUNC(caps->get_rptr_offs(rig, vfo, rptr_offs));
}
@@ -3378,8 +3373,7 @@ int HAMLIB_API rig_set_split_freq(RIG *rig, vfo_t vfo, freq_t tx_freq)
caps = rig->caps;
if (caps->set_split_freq
- && ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
+ && (vfo == RIG_VFO_CURR
|| vfo == RIG_VFO_TX
|| vfo == rig->state.current_vfo))
{
@@ -3508,8 +3502,7 @@ int HAMLIB_API rig_get_split_freq(RIG *rig, vfo_t vfo, freq_t *tx_freq)
caps = rig->caps;
if (caps->get_split_freq
- && ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
+ && (vfo == RIG_VFO_CURR
|| vfo == RIG_VFO_TX
|| vfo == rig->state.current_vfo))
{
@@ -3637,8 +3630,7 @@ int HAMLIB_API rig_set_split_mode(RIG *rig,
caps = rig->caps;
if (caps->set_split_mode
- && ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
+ && (vfo == RIG_VFO_CURR
|| vfo == RIG_VFO_TX
|| vfo == rig->state.current_vfo))
{
@@ -3747,8 +3739,7 @@ int HAMLIB_API rig_get_split_mode(RIG *rig, vfo_t vfo, rmode_t *tx_mode,
caps = rig->caps;
if (caps->get_split_mode
- && ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
+ && (vfo == RIG_VFO_CURR
|| vfo == RIG_VFO_TX
|| vfo == rig->state.current_vfo))
{
@@ -4006,9 +3997,8 @@ int HAMLIB_API rig_set_split_vfo(RIG *rig,
vfo = vfo_fixup(rig, vfo);
- if ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
- || vfo == rig->state.current_vfo)
+ if (vfo == RIG_VFO_CURR
+ || vfo == rig->state.current_vfo)
{
retcode = caps->set_split_vfo(rig, vfo, split, tx_vfo);
@@ -4122,9 +4112,8 @@ int HAMLIB_API rig_get_split_vfo(RIG *rig,
/* overridden by backend at will */
*tx_vfo = rig->state.tx_vfo;
- if ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
- || vfo == rig->state.current_vfo)
+ if (vfo == RIG_VFO_CURR
+ || vfo == rig->state.current_vfo)
{
retcode = caps->get_split_vfo(rig, vfo, split, tx_vfo);
rig->state.cache.split = *split;
@@ -4479,9 +4468,8 @@ int HAMLIB_API rig_set_ts(RIG *rig, vfo_t vfo, shortfreq_t ts)
RETURNFUNC(-RIG_ENAVAIL);
}
- if ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
- || vfo == rig->state.current_vfo)
+ if (vfo == RIG_VFO_CURR
+ || vfo == rig->state.current_vfo)
{
RETURNFUNC(caps->set_ts(rig, vfo, ts));
}
@@ -4547,9 +4535,8 @@ int HAMLIB_API rig_get_ts(RIG *rig, vfo_t vfo, shortfreq_t *ts)
RETURNFUNC(-RIG_ENAVAIL);
}
- if ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
- || vfo == rig->state.current_vfo)
+ if (vfo == RIG_VFO_CURR
+ || vfo == rig->state.current_vfo)
{
RETURNFUNC(caps->get_ts(rig, vfo, ts));
}
@@ -5117,9 +5104,8 @@ int HAMLIB_API rig_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op)
RETURNFUNC(-RIG_ENAVAIL);
}
- if ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
- || vfo == rig->state.current_vfo)
+ if (vfo == RIG_VFO_CURR
+ || vfo == rig->state.current_vfo)
{
RETURNFUNC(caps->vfo_op(rig, vfo, op));
}
@@ -5217,9 +5203,8 @@ int HAMLIB_API rig_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch)
RETURNFUNC(-RIG_ENAVAIL);
}
- if ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
- || vfo == rig->state.current_vfo)
+ if (vfo == RIG_VFO_CURR
+ || vfo == rig->state.current_vfo)
{
RETURNFUNC(caps->scan(rig, vfo, scan, ch));
}
@@ -5285,9 +5270,8 @@ int HAMLIB_API rig_send_dtmf(RIG *rig, vfo_t vfo, const char *digits)
RETURNFUNC(-RIG_ENAVAIL);
}
- if ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
- || vfo == rig->state.current_vfo)
+ if (vfo == RIG_VFO_CURR
+ || vfo == rig->state.current_vfo)
{
RETURNFUNC(caps->send_dtmf(rig, vfo, digits));
}
@@ -5354,9 +5338,8 @@ int HAMLIB_API rig_recv_dtmf(RIG *rig, vfo_t vfo, char *digits, int *length)
RETURNFUNC(-RIG_ENAVAIL);
}
- if ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
- || vfo == rig->state.current_vfo)
+ if (vfo == RIG_VFO_CURR
+ || vfo == rig->state.current_vfo)
{
RETURNFUNC(caps->recv_dtmf(rig, vfo, digits, length));
}
@@ -5422,9 +5405,8 @@ int HAMLIB_API rig_send_morse(RIG *rig, vfo_t vfo, const char *msg)
RETURNFUNC(-RIG_ENAVAIL);
}
- if ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
- || vfo == rig->state.current_vfo)
+ if (vfo == RIG_VFO_CURR
+ || vfo == rig->state.current_vfo)
{
RETURNFUNC(caps->send_morse(rig, vfo, msg));
}
@@ -5481,9 +5463,8 @@ int HAMLIB_API rig_stop_morse(RIG *rig, vfo_t vfo)
RETURNFUNC(-RIG_ENAVAIL);
}
- if ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
- || vfo == rig->state.current_vfo)
+ if (vfo == RIG_VFO_CURR
+ || vfo == rig->state.current_vfo)
{
RETURNFUNC(caps->stop_morse(rig, vfo));
}
@@ -5572,9 +5553,8 @@ int HAMLIB_API rig_wait_morse(RIG *rig, vfo_t vfo)
ENTERFUNC;
caps = rig->caps;
- if ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
- || vfo == rig->state.current_vfo)
+ if (vfo == RIG_VFO_CURR
+ || vfo == rig->state.current_vfo)
{
RETURNFUNC(wait_morse_ptt(rig, vfo));
}
@@ -5640,9 +5620,8 @@ int HAMLIB_API rig_send_voice_mem(RIG *rig, vfo_t vfo, int ch)
RETURNFUNC(-RIG_ENAVAIL);
}
- if ((caps->targetable_vfo & RIG_TARGETABLE_PURE)
- || vfo == RIG_VFO_CURR
- || vfo == rig->state.current_vfo)
+ if (vfo == RIG_VFO_CURR
+ || vfo == rig->state.current_vfo)
{
RETURNFUNC(caps->send_voice_mem(rig, vfo, ch));
}
-----------------------------------------------------------------------
Summary of changes:
include/hamlib/rig.h | 3 +-
src/rig.c | 97 ++++++++++++++++++++--------------------------------
2 files changed, 39 insertions(+), 61 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-03-09 05:48:59
|
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 3b7760e4d20712315ed65789f80ab73fb8262256 (commit)
from 79f58bce6f05d514ca8be88f57a750b8f2ed0059 (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 3b7760e4d20712315ed65789f80ab73fb8262256
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Mar 8 23:47:41 2021 -0600
Adding hand-coded Makefile.Windows for building DLL
https://github.com/Hamlib/Hamlib/issues/542
diff --git a/Makefile.Windows b/Makefile.Windows
new file mode 100755
index 00000000..613e7c09
--- /dev/null
+++ b/Makefile.Windows
@@ -0,0 +1,9710 @@
+
+
+
+
+
+
+<!DOCTYPE html>
+<html lang="en"
+ data-color-mode="light"
+ data-light-theme="light"
+ data-dark-theme="dark">
+ <head>
+ <meta charset="utf-8">
+ <link rel="dns-prefetch" href="https://github.githubassets.com">
+ <link rel="dns-prefetch" href="https://avatars.githubusercontent.com">
+ <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
+ <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
+
+
+
+ <link crossorigin="anonymous" media="all" integrity="sha512-UdasBeAS0uriwyLr54gKKE8RYxeMfD/ikM+zOIKI7MZjGXwQfM1zha4aFvIxspXkCm2EAxWQC1QNWyu07ku5Ig==" rel="stylesheet" href="https://github.githubassets.com/assets/frameworks-51d6ac05e012d2eae2c322ebe7880a28.css" />
+
+ <link crossorigin="anonymous" media="all" integrity="sha512-o4J+tBmn3RlwVnhfBv2BySdk2NdgQAoLnJ9/EKw7Uoua6x2ERCXWLLBdx8O6SeZ1kaQtDPjg+ZxMkfFKpQYipQ==" rel="stylesheet" href="https://github.githubassets.com/assets/behaviors-a3827eb419a7dd197056785f06fd81c9.css" />
+
+
+
+ <link crossorigin="anonymous" media="all" integrity="sha512-Z/uTO5JrxIlQATq+PIRNjt2OYLkjbq8VtkRTRNrX+b8rd3EIkPIZOA0mD/xYFZ6YVPr3JPL2xg6JXkltIWf08g==" rel="stylesheet" href="https://github.githubassets.com/assets/github-67fb933b926bc48950013abe3c844d8e.css" />
+
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-8K2vvwbW+6H27Nad5ydg8PA2/aMD/LKq+EiK9s0U0hhVZxCI2tWBsYk9beAtisRw2j+Or5k2/F+6dk02nmj/PA==" type="application/javascript" src="https://github.githubassets.com/assets/environment-f0adafbf.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-3yixvhtA5nOJY+pDcqvBKztKjFwZqklw1mnoaHUlxzLSqT8hc8aJ8KPa+OjVGlOvZAp2prs7kh6cAJFDQBQ1JQ==" type="application/javascript" src="https://github.githubassets.com/assets/chunk-frameworks-df28b1be.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-Bpsh6jNrHD75e3XfQQ+wdo+ky+Ig480DD8OVdZnHZglPO+r5sXnoSvs4In/HaKtH2Di2MVNL7NJFib5zmKrayQ==" type="application/javascript" src="https://github.githubassets.com/assets/chunk-vendor-069b21ea.js"></script>
+
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-TOWq4GrLDl5mgWizcNAEVEOywj4s3Lr0QgDdFUXLept1zNuX1ja/vDsDaU8smKjzepcaDpC+sOiyrx/RL6D04w==" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-4ce5aae0.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-AwxJjNYHMbBW1RDMWqHLbm5ef0HpZqNZm4BU62VDY1R3ClrM8cwzqMGk0YJDgSjC0X3HMnQLUYS8sIcRPYZ3aQ==" type="application/javascript" src="https://github.githubassets.com/assets/primer-030c498c.js"></script>
+
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-MiuFoXnjDmRNVM/xNR9yfPr8Qi8Q6+TKWIrkXp+1QJv9MW8lpBfOy0u7AuVuXQVYKIhsr5DCuCxIs1STWpujLg==" type="application/javascript" data-module-id="./chunk-color-modes.js" data-src="https://github.githubassets.com/assets/chunk-color-modes-322b85a1.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-evfy6RyDyXvLuaEEFaUaIlw9dSRgvKkF3rMeUELkvXq7sGEK/43vTg+3EE6E8nOsjpuPyYQjgS8bxzqkTjlZag==" type="application/javascript" data-module-id="./chunk-contributions-spider-graph.js" data-src="https://github.githubassets.com/assets/chunk-contributions-spider-graph-7af7f2e9.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-obMR8mPKx8OvqRe34LgnUcxeJ1qujiA4ND3H6UX13ExMlA/WfHLjEzXRmgGRcRvN/8J1nzc+Z+jgz/PLTFy6zg==" type="application/javascript" data-module-id="./chunk-drag-drop.js" data-src="https://github.githubassets.com/assets/chunk-drag-drop-a1b311f2.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-cVnIoXzYnuz2SYwsbnuCpTFzvO17cPoQV2mK82+em//c8i7V2L0VEeInplXGgfbx4d8bQGQuPPx0P0BCRfJ37g==" type="application/javascript" data-module-id="./chunk-edit.js" data-src="https://github.githubassets.com/assets/chunk-edit-7159c8a1.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-TGnbT/6B5dxVwEk7iOlwSY9mfqhfq8m05ec+KjdlfEwoieq73iBeyidClQUSmFa2snukwzF9peY8c7FJf9FARA==" type="application/javascript" data-module-id="./chunk-emoji-picker-element.js" data-src="https://github.githubassets.com/assets/chunk-emoji-picker-element-4c69db4f.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-NwYkwzxETzKUYRXumHDsBIuggkh86KmJ1WrwWZW5wTvVPf047+wOmOHI5b4D65bfdtd3WbXJ7k+3ZWoxpIaqcA==" type="application/javascript" data-module-id="./chunk-insights-graph.js" data-src="https://github.githubassets.com/assets/chunk-insights-graph-370624c3.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-ZhHO4yoDkpCF2sJkzsW3BP1RNu9ji9N6KwuBWy03eGOwkHKwBbs5gKizpeyjslAXlWOV4f9HRVN981Du0AfcvQ==" type="application/javascript" data-module-id="./chunk-jump-to.js" data-src="https://github.githubassets.com/assets/chunk-jump-to-6611cee3.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-S8aUo+fRvLif3bA63pJ03RyoYVNFJ7Q+aOmtVVHabaVFMwV1zMdE4HTEewMkbU0ZK2Ik5Q3Ob9/JE+zrNC5qaw==" type="application/javascript" data-module-id="./chunk-profile-pins-element.js" data-src="https://github.githubassets.com/assets/chunk-profile-pins-element-4bc694a3.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-E+H+wAtjiqutBvn2cnXzDIvmasIhYiS7i7JzOfFUwo+Ej8zT54OrJtP//RhwixnypgOpCF4JvqzYy6zOtORDmg==" type="application/javascript" data-module-id="./chunk-runner-groups.js" data-src="https://github.githubassets.com/assets/chunk-runner-groups-13e1fec0.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-U+Pp1bYuA3fRqhike5Go//O/vsExaZLz00lrIby+rZ88yf03nQHz3wLZR9paWkakpD7TH5nS6AUpabCc7OFWpg==" type="application/javascript" data-module-id="./chunk-sortable-behavior.js" data-src="https://github.githubassets.com/assets/chunk-sortable-behavior-53e3e9d5.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-cAsQOq53AtF8bCPWtKuMXOB2Jjt2089fKQQXtk1bNk2ZSBjx2yQOdGZWsXDfWG5H8FmjJzZsepBmOhy+wO7uAQ==" type="application/javascript" data-module-id="./chunk-toast.js" data-src="https://github.githubassets.com/assets/chunk-toast-700b103a.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-QBwrFY4kzAVN0nZmTYJLeEhi5bQ+42rE8h1g384XeZb7n62BykcUICACtaDQ473aIrRf38RSR7WDfNEIVuSlTA==" type="application/javascript" data-module-id="./chunk-tweetsodium.js" data-src="https://github.githubassets.com/assets/chunk-tweetsodium-401c2b15.js"></script>
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-RfbLfWsDwvP53bQvgbFm/0j3n5N7IuPQ9yyQ1ah3azz9E2KVeo5ujcUGh++d+t49H0EUTKfeAZ+g9PgCVCjErw==" type="application/javascript" data-module-id="./chunk-user-status-submit.js" data-src="https://github.githubassets.com/assets/chunk-user-status-submit-45f6cb7d.js"></script>
+
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-bVgr2gL7DaSaCp/Aev1O/9V1boyT/1FCjRIYcSMOG4AqUvP9e7h3hMvR9LtX0sHt/uTv7Sp1YtF1KMDQm9E6Nw==" type="application/javascript" src="https://github.githubassets.com/assets/repositories-6d582bda.js"></script>
+<script crossorigin="anonymous" defer="defer" integrity="sha512-ng+rLwG9JuJBuJQWCGyT4r3VjNUz1FNWKpqbE2zWpJJZHkkwqkYWwJxo5k+PZCuWqUWZxofbuEtLrQnnjIyTqQ==" type="application/javascript" src="https://github.githubassets.com/assets/diffs-9e0fab2f.js"></script>
+
+ <meta name="viewport" content="width=device-width">
+
+ <title>Hamlib/Makefile.Windows at master · gvanem/Hamlib</title>
+ <meta name="description" content="Ham radio control library. Now supporting MSVC + clang-cl too. - gvanem/Hamlib">
+ <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
+ <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
+ <meta property="fb:app_id" content="1401488693436528">
+ <meta name="apple-itunes-app" content="app-id=1477376905" />
+ <meta name="twitter:image:src" content="https://avatars.githubusercontent.com/u/945271?s=400&v=4" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary" /><meta name="twitter:title" content="gvanem/Hamlib" /><meta name="twitter:description" content="Ham radio control library. Now supporting MSVC + clang-cl too. - gvanem/Hamlib" />
+ <meta property="og:image" content="https://avatars.githubusercontent.com/u/945271?s=400&v=4" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="gvanem/Hamlib" /><meta property="og:url" content="https://github.com/gvanem/Hamlib" /><meta property="og:description" content="Ham radio control library. Now supporting MSVC + clang-cl too. - gvanem/Hamlib" />
+
+
+
+
+
+ <link rel="assets" href="https://github.githubassets.com/">
+ <link rel="shared-web-socket" href="wss://alive.github.com/_sockets/u/8899915/ws?session=eyJ2IjoiVjMiLCJ1Ijo4ODk5OTE1LCJzIjo2NTkyOTY0MDMsImMiOjY1NzMwNzA3LCJ0IjoxNjE1MjY4ODExfQ==--2dbf41cfcdcb25546b2110fed5c954965bc58f74c20e0ffc7562ed5293c0d594" data-refresh-url="/_alive">
+ <link rel="shared-web-socket-src" href="/socket-worker-5029ae85.js">
+ <link rel="sudo-modal" href="/sessions/sudo_modal">
+
+ <meta name="request-id" content="C514:1DF1:1229255:1FF6538:60470BC3" data-pjax-transient="true" /><meta name="html-safe-nonce" content="a16fbfa9c0f8d7b2045600b8396573a9da1db93ed11f3e8527b3c39012f91b55" data-pjax-transient="true" /><meta name="visitor-payload" content="eyJyZWZlcnJlciI6Imh0dHBzOi8vZ2l0aHViLmNvbS9ndmFuZW0vSGFtbGliL2ZpbmQvbWFzdGVyIiwicmVxdWVzdF9pZCI6IkM1MTQ6MURGMToxMjI5MjU1OjFGRjY1Mzg6NjA0NzBCQzMiLCJ2aXNpdG9yX2lkIjoiMzY4NzI5MTA4Mzc3NzU5MjY2MiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9" data-pjax-transient="true" /><meta name="visitor-hmac" content="1df62dc27d9095fb012f67844c4106d13cb7354dbe9005128d63378abfac0d56" data-pjax-transient="true" />
+
+ <meta name="hovercard-subject-tag" content="repository:214546134" data-pjax-transient>
+
+
+ <meta name="github-keyboard-shortcuts" content="repository,source-code" data-pjax-transient="true" />
+
+
+
+ <meta name="selected-link" value="repo_source" data-pjax-transient>
+
+ <meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY">
+ <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">
+ <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">
+ <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc">
+
+ <meta name="octolytics-host" content="collector.githubapp.com" /><meta name="octolytics-app-id" content="github" /><meta name="octolytics-event-url" content="https://collector.githubapp.com/github-external/browser_event" /><meta name="octolytics-actor-id" content="8899915" /><meta name="octolytics-actor-login" content="mdblack98" /><meta name="octolytics-actor-hash" content="2eef6ecf973baf7c17cbfff04cda596b4d8d96fb9f2fbaf6d5c1152a38ce2ad3" />
+
+ <meta name="analytics-location" content="/<user-name>/<repo-name>/blob/show" data-pjax-transient="true" />
+
+
+
+
+
+ <meta name="optimizely-datafile" content="{"version": "4", "rollouts": [], "typedAudiences": [], "anonymizeIP": true, "projectId": "16737760170", "variables": [], "featureFlags": [], "experiments": [{"status": "Running", "audienceIds": [], "variations": [{"variables": [], "id": "19739506060", "key": "en"}, {"variables": [], "id": "19720506378", "key": "pt"}], "id": "19741925936", "key": "homepage_translation", "layerId": "19739776731", "trafficAllocation": [{"entityId": "19720506378", "endOfRange": 5000}, {"entityId": "19739506060", "endOfRange": 10000}], "forcedVariations": {}}], "audiences": [{"conditions": "[\"or\", {\"match\": \"exact\", \"name\": \"$opt_dummy_attribute\", \"type\": \"custom_attribute\", \"value\": \"$opt_dummy_value\"}]", "id": "$opt_dummy_audience", "name": "Optimizely-Generated Audience for Backwards Compatibility"}], "groups": [{"policy": "random", "trafficAllocation": [{"entityId": "20065350824", "endOfRange": 10000}], "experiments": [{"status": "Running", "audienceIds": [], "variations": [{"variables": [], "id": "20061181493", "key": "control"}, {"variables": [], "id": "20046091568", "key": "most_popular"}], "id": "20065350824", "key": "pricing_page", "layerId": "20047761391", "trafficAllocation": [{"entityId": "20061181493", "endOfRange": 5000}, {"entityId": "20046091568", "endOfRange": 10000}], "forcedVariations": {"1693726779.1607624005": "most_popular", "b3d9f4f9910bc46c43a8d65ab83d8570": "most_popular"}}], "id": "19972601768"}], "attributes": [{"id": "16822470375", "key": "user_id"}, {"id": "17143601254", "key": "spammy"}, {"id": "18175660309", "key": "organization_plan"}, {"id": "18813001570", "key": "is_logged_in"}, {"id": "19073851829", "key": "geo"}], "botFiltering": false, "accountId": "16737760170", "events": [{"experimentIds": [], "id": "17911811441", "key": "hydro_click.dashboard.teacher_toolbox_cta"}, {"experimentIds": [], "id": "18124116703", "key": "submit.organizations.complete_sign_up"}, {"experimentIds": [], "id": "18145892387", "key": "no_metric.tracked_outside_of_optimizely"}, {"experimentIds": [], "id": "18178755568", "key": "click.org_onboarding_checklist.add_repo"}, {"experimentIds": [], "id": "18180553241", "key": "submit.repository_imports.create"}, {"experimentIds": [], "id": "18186103728", "key": "click.help.learn_more_about_repository_creation"}, {"experimentIds": [], "id": "18188530140", "key": "test_event.do_not_use_in_production"}, {"experimentIds": [], "id": "18191963644", "key": "click.empty_org_repo_cta.transfer_repository"}, {"experimentIds": [], "id": "18195612788", "key": "click.empty_org_repo_cta.import_repository"}, {"experimentIds": [], "id": "18210945499", "key": "click.org_onboarding_checklist.invite_members"}, {"experimentIds": [], "id": "18211063248", "key": "click.empty_org_repo_cta.create_repository"}, {"experimentIds": [], "id": "18215721889", "key": "click.org_onboarding_checklist.update_profile"}, {"experimentIds": [], "id": "18224360785", "key": "click.org_onboarding_checklist.dismiss"}, {"experimentIds": [], "id": "18234832286", "key": "submit.organization_activation.complete"}, {"experimentIds": [], "id": "18252392383", "key": "submit.org_repository.create"}, {"experimentIds": [], "id": "18257551537", "key": "submit.org_member_invitation.create"}, {"experimentIds": [], "id": "18259522260", "key": "submit.organization_profile.update"}, {"experimentIds": [], "id": "18564603625", "key": "view.classroom_select_organization"}, {"experimentIds": [], "id": "18568612016", "key": "click.classroom_sign_in_click"}, {"experimentIds": [], "id": "18572592540", "key": "view.classroom_name"}, {"experimentIds": [], "id": "18574203855", "key": "click.classroom_create_organization"}, {"experimentIds": [], "id": "18582053415", "key": "click.classroom_select_organization"}, {"experimentIds": [], "id": "18589463420", "key": "click.classroom_create_classroom"}, {"experimentIds": [], "id": "18591323364", "key": "click.classroom_create_first_classroom"}, {"experimentIds": [], "id": "18591652321", "key": "click.classroom_grant_access"}, {"experimentIds": [], "id": "18607131425", "key": "view.classroom_creation"}, {"experimentIds": [], "id": "18831680583", "key": "upgrade_account_plan"}, {"experimentIds": ["20065350824"], "id": "19064064515", "key": "click.signup"}, {"experimentIds": [], "id": "19075373687", "key": "click.view_account_billing_page"}, {"experimentIds": [], "id": "19077355841", "key": "click.dismiss_signup_prompt"}, {"experimentIds": ["20065350824"], "id": "19079713938", "key": "click.contact_sales"}, {"experimentIds": ["20065350824"], "id": "19120963070", "key": "click.compare_account_plans"}, {"experimentIds": ["20065350824"], "id": "19151690317", "key": "click.upgrade_account_cta"}, {"experimentIds": [], "id": "19424193129", "key": "click.open_account_switcher"}, {"experimentIds": [], "id": "19520330825", "key": "click.visit_account_profile"}, {"experimentIds": [], "id": "19540970635", "key": "click.switch_account_context"}, {"experimentIds": ["19741925936"], "id": "19730198868", "key": "submit.homepage_signup"}, {"experimentIds": ["19741925936"], "id": "19820830627", "key": "click.homepage_signup"}, {"experimentIds": ["20065350824"], "id": "19988571001", "key": "click.create_enterprise_trial"}, {"experimentIds": ["20065350824"], "id": "20036538294", "key": "click.create_organization_team"}, {"experimentIds": [], "id": "20040653299", "key": "click.input_enterprise_trial_form"}, {"experimentIds": ["20065350824"], "id": "20062030003", "key": "click.continue_with_team"}, {"experimentIds": ["20065350824"], "id": "20068947153", "key": "click.create_organization_free"}], "revision": "485"}" />
+ <!-- To prevent page flashing, the optimizely JS needs to be loaded in the
+ <head> tag before the DOM renders -->
+ <script crossorigin="anonymous" defer="defer" integrity="sha512-W1d5sgym3BsWbUe7hCryQNFytsdsH6xKMY0wpid1izznZdSd6hBG7sOj+j6ISmYkoqPonCpkWKp0aG/MGGKRKg==" type="application/javascript" src="https://github.githubassets.com/assets/optimizely-5b5779b2.js"></script>
+
+
+
+
+
+ <meta name="hostname" content="github.com">
+ <meta name="user-login" content="mdblack98">
+
+
+ <meta name="expected-hostname" content="github.com">
+
+ <meta name="js-proxy-site-detection-payload" content="ZWI4NjcyODNmYTNiYjA3YjUwYjRjY2MyMzU0OTllMWM5Nzc0ZTA5OWI0ZGQ4MmUzZjA4YTViMTU3Mzk3MTk3ZHx7InJlbW90ZV9hZGRyZXNzIjoiNzUuOTguMTgwLjIyMiIsInJlcXVlc3RfaWQiOiJDNTE0OjFERjE6MTIyOTI1NToxRkY2NTM4OjYwNDcwQkMzIiwidGltZXN0YW1wIjoxNjE1MjY4ODExLCJob3N0IjoiZ2l0aHViLmNvbSJ9">
+
+ <meta name="enabled-features" content="MARKETPLACE_PENDING_INSTALLATIONS,JS_HTTP_CACHE_HEADERS,AUTOCOMPLETE_EMOJIS_IN_MARKDOWN_EDITOR">
+
+ <meta http-equiv="x-pjax-version" content="d2e5e3107f226c37aa4375cff20b50a35fecbe433c11a82d0fe1d7d19553ecc3">
+
+
+ <link href="https://github.com/gvanem/Hamlib/commits/master.atom" rel="alternate" title="Recent Commits to Hamlib:master" type="application/atom+xml">
+
+ <meta name="go-import" content="github.com/gvanem/Hamlib git https://github.com/gvanem/Hamlib.git">
+
+ <meta name="octolytics-dimension-user_id" content="945271" /><meta name="octolytics-dimension-user_login" content="gvanem" /><meta name="octolytics-dimension-repository_id" content="214546134" /><meta name="octolytics-dimension-repository_nwo" content="gvanem/Hamlib" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="true" /><meta name="octolytics-dimension-repository_parent_id" content="99623191" /><meta name="octolytics-dimension-repository_parent_nwo" content="Hamlib/Hamlib" /><meta name="octolytics-dimension-repository_network_root_id" content="99623191" /><meta name="octolytics-dimension-repository_network_root_nwo" content="Hamlib/Hamlib" />
+
+
+
+ <link rel="canonical" href="https://github.com/gvanem/Hamlib/blob/master/Makefile.Windows" data-pjax-transient>
+
+
+ <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">
+
+ <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">
+
+ <meta name="browser-optimizely-client-errors-url" content="https://api.github.com/_private/browser/optimizely_client/errors">
+
+ <link rel="mask-icon" href="https://github.githubassets.com/pinned-octocat.svg" color="#000000">
+ <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png">
+ <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg">
+
+<meta name="theme-color" content="#1e2327">
+ <meta name="color-scheme" content="light dark">
+
+
+ <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">
+
+ </head>
+
+ <body class="logged-in env-production page-responsive page-blob" style="word-wrap: break-word;">
+
+
+ <div class="position-relative js-header-wrapper ">
+ <a href="#start-of-content" class="p-3 color-bg-info-inverse color-text-white show-on-focus js-skip-to-content">Skip to content</a>
+ <span class="progress-pjax-loader width-full js-pjax-loader-bar Progress position-fixed">
+ <span style="background-color: #79b8ff;width: 0%;" class="Progress-item progress-pjax-loader-bar "></span>
+</span>
+
+
+
+ <header class="Header js-details-container Details px-3 px-md-4 px-lg-5 flex-wrap flex-md-nowrap" role="banner" >
+ <div class="Header-item mt-n1 mb-n1 d-none d-md-flex">
+ <a class="Header-link " href="https://github.com/" data-hotkey="g d"
+ aria-label="Homepage " data-ga-click="Header, go to dashboard, icon:logo">
+ <svg class="octicon octicon-mark-github v-align-middle" height="32" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg>
+</a>
+
+ </div>
+
+ <div class="Header-item d-md-none">
+ <button class="Header-link btn-link js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false">
+ <svg height="24" class="octicon octicon-three-bars" viewBox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"></path></svg>
+ </button>
+ </div>
+
+ <div class="Header-item Header-item--full flex-column flex-md-row width-full flex-order-2 flex-md-order-none mr-0 mr-md-3 mt-3 mt-md-0 Details-content--hidden-not-important d-md-flex">
+ <div class="header-search flex-auto js-site-search position-relative flex-self-stretch flex-md-self-auto mb-3 mb-md-0 mr-0 mr-md-3 scoped-search site-scoped-search js-jump-to"
+ role="combobox"
+ aria-owns="jump-to-results"
+ aria-label="Search or jump to"
+ aria-haspopup="listbox"
+ aria-expanded="false"
+>
+ <div class="position-relative">
+ <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" role="search" aria-label="Site" data-scope-type="Repository" data-scope-id="214546134" data-scoped-search-url="/gvanem/Hamlib/search" data-owner-scoped-search-url="/users/gvanem/search" data-unscoped-search-url="/search" action="/gvanem/Hamlib/search" accept-charset="UTF-8" method="get">
+ <label class="form-control input-sm header-search-wrapper p-0 js-chromeless-input-container header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center">
+ <input type="text"
+ class="form-control input-sm header-search-input jump-to-field js-jump-to-field js-site-search-focus js-site-search-field is-clearable"
+ data-hotkey="s,/"
+ name="q"
+ value=""
+ placeholder="Search or jump to…"
+ data-unscoped-placeholder="Search or jump to…"
+ data-scoped-placeholder="Search or jump to…"
+ autocapitalize="off"
+ aria-autocomplete="list"
+ aria-controls="jump-to-results"
+ aria-label="Search or jump to…"
+ data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations"
+ spellcheck="false"
+ autocomplete="off"
+ >
+ <input type="hidden" value="Fi1hNmlXn5va3qASgDmTgGU0fDdf1q4FpKUUYZCB91EDG9fRVZEX5BkhEuBFMlgV6O8NqKfPiXt3EJTBVJsXuQ==" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" />
+ <input type="hidden" class="js-site-search-type-field" name="type" >
+ <img src="https://github.githubassets.com/images/search-key-slash.svg" alt="" class="mr-2 header-search-key-slash">
+
+ <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container">
+
+<ul class="d-none js-jump-to-suggestions-template-container">
+
+
+<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option">
+ <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="suggestion">
+ <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
+ <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg>
+ <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg>
+ <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg>
+ </div>
+
+ <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
+
+ <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
+ </div>
+
+ <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search">
+ <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
+ In this repository
+ </span>
+ <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
+ All GitHub
+ </span>
+ <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+
+ <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
+ Jump to
+ <span class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+ </a>
+</li>
+
+</ul>
+
+<ul class="d-none js-jump-to-no-results-template-container">
+ <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2">
+ <span class="color-text-secondary">No suggested jump to results</span>
+ </li>
+</ul>
+
+<ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container">
+
+
+<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option">
+ <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="scoped_search">
+ <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
+ <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg>
+ <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg>
+ <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg>
+ </div>
+
+ <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
+
+ <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
+ </div>
+
+ <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search">
+ <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
+ In this repository
+ </span>
+ <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
+ All GitHub
+ </span>
+ <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+
+ <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
+ Jump to
+ <span class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+ </a>
+</li>
+
+
+
+<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-owner-scoped-search d-none" role="option">
+ <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="owner_scoped_search">
+ <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
+ <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg>
+ <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg>
+ <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg>
+ </div>
+
+ <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
+
+ <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
+ </div>
+
+ <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search">
+ <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this user">
+ In this user
+ </span>
+ <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
+ All GitHub
+ </span>
+ <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+
+ <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
+ Jump to
+ <span class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+ </a>
+</li>
+
+
+
+<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option">
+ <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="global_search">
+ <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
+ <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path></svg>
+ <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path></svg>
+ <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg>
+ </div>
+
+ <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
+
+ <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
+ </div>
+
+ <div class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none js-jump-to-badge-search">
+ <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
+ In this repository
+ </span>
+ <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
+ All GitHub
+ </span>
+ <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+
+ <div aria-hidden="true" class="border rounded-1 flex-shrink-0 color-bg-tertiary px-1 color-text-tertiary ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
+ Jump to
+ <span class="d-inline-block ml-1 v-align-middle">↵</span>
+ </div>
+ </a>
+</li>
+
+
+ <li class="d-flex flex-justify-center flex-items-center p-0 f5 js-jump-to-suggestion">
+ <svg style="box-sizing: content-box; color: var(--color-icon-primary);" viewBox="0 0 16 16" fill="none" width="32" height="32" class="m-3">
+ <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" />
+ <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke">
+ <animateTransform attributeName="transform" type="rotate" from="0 8 8" to="360 8 8" dur="1s" repeatCount="indefinite" />
+ </path>
+</svg>
+ </li>
+</ul>
+
+ </div>
+ </label>
+</form> </div>
+</div>
+
+ <nav class="d-flex flex-column flex-md-row flex-self-stretch flex-md-self-auto" aria-label="Global">
+ <a class="Header-link py-md-3 d-block d-md-none py-2 border-top border-md-top-0 border-white-fade-15" data-ga-click="Header, click, Nav menu - item:dashboard:user" aria-label="Dashboard" href="/dashboard">
+ Dashboard
+</a>
+ <a class="js-selected-navigation-item Header-link mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade-15" data-hotkey="g p" data-ga-click="Header, click, Nav menu - item:pulls context:user" aria-label="Pull requests you created" data-selected-links="/pulls /pulls/assigned /pulls/mentioned /pulls" href="/pulls">
+ Pull<span class="d-inline d-md-none d-lg-inline"> request</span>s
+</a>
+ <a class="js-selected-navigation-item Header-link mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade-15" data-hotkey="g i" data-ga-click="Header, click, Nav menu - item:issues context:user" aria-label="Issues you created" data-selected-links="/issues /issues/assigned /issues/mentioned /issues" href="/issues">
+ Issues
+</a>
+ <div class="d-flex position-relative">
+ <a class="js-selected-navigation-item Header-link flex-auto mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade-15" data-ga-click="Header, click, Nav menu - item:marketplace context:user" data-octo-click="marketplace_click" data-octo-dimensions="location:nav_bar" data-selected-links=" /marketplace" href="/marketplace">
+ Marketplace
+</a> </div>
+
+ <a class="js-selected-navigation-item Header-link mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade-15" data-ga-click="Header, click, Nav menu - item:explore" data-selected-links="/explore /trending /trending/developers /integrations /integrations/feature/code /integrations/feature/collaborate /integrations/feature/ship showcases showcases_search showcases_landing /explore" href="/explore">
+ Explore
+</a>
+
+
+ <a class="Header-link d-block d-md-none mr-0 mr-md-3 py-2 py-md-3 border-top border-md-top-0 border-white-fade-15" href="/settings/profile">
+ Settings
+</a>
+ <a class="Header-link d-block d-md-none mr-0 mr-md-3 py-2 py-md-3 border-top border-md-top-0 border-white-fade-15" href="/mdblack98">
+ <img class="avatar avatar-user" src="https://avatars.githubusercontent.com/u/8899915?s=40&v=4" width="20" height="20" alt="@mdblack98" />
+ mdblack98
+</a>
+ <!-- '"` --><!-- </textarea></xmp> --></option></form><form action="/logout" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="9foGPRdxEveHneeQVtI8xd5LVt8Dh1+39avT3/JDQMwiYXP2s7Dr/VLdZoE6TWaKejYHequAiJX+iDBxacIpYw==" />
+ <button type="submit" class="Header-link mr-0 mr-md-3 py-2 py-md-3 border-top border-md-top-0 border-white-fade-15 d-md-none btn-link d-block width-full text-left" data-ga-click="Header, sign out, icon:logout" style="padding-left: 2px;">
+ <svg class="octicon octicon-sign-out v-align-middle" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 2.75C2 1.784 2.784 1 3.75 1h2.5a.75.75 0 010 1.5h-2.5a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h2.5a.75.75 0 010 1.5h-2.5A1.75 1.75 0 012 13.25V2.75zm10.44 4.5H6.75a.75.75 0 000 1.5h5.69l-1.97 1.97a.75.75 0 101.06 1.06l3.25-3.25a.75.75 0 000-1.06l-3.25-3.25a.75.75 0 10-1.06 1.06l1.97 1.97z"></path></svg>
+ Sign out
+ </button>
+</form></nav>
+
+ </div>
+
+ <div class="Header-item Header-item--full flex-justify-center d-md-none position-relative">
+ <a class="Header-link " href="https://github.com/" data-hotkey="g d"
+ aria-label="Homepage " data-ga-click="Header, go to dashboard, icon:logo">
+ <svg class="octicon octicon-mark-github v-align-middle" height="32" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg>
+</a>
+
+ </div>
+
+ <div class="Header-item mr-0 mr-md-3 flex-order-1 flex-md-order-none">
+
+
+ <notification-indicator class="js-socket-channel" data-channel="eyJjIjoibm90aWZpY2F0aW9uLWNoYW5nZWQ6ODg5OTkxNSIsInQiOjE2MTUyNjg4MTF9--ce66062df797ddca471dd58aebebccda74f6b42568a5ef2aa5076b59d88ede40">
+ <a href="/notifications"
+ class="Header-link notification-indicator position-relative tooltipped tooltipped-sw"
+
+ aria-label="You have no unread notifications"
+ data-hotkey="g n"
+ data-ga-click="Header, go to notifications, icon:read"
+ data-target="notification-indicator.link">
+ <span class="mail-status " data-target="notification-indicator.modifier"></span>
+ <svg class="octicon octicon-bell" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path><path fill-rule="evenodd" d="M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z"></path></svg>
+ </a>
+ </notification-indicator>
+
+ </div>
+
+
+ <div class="Header-item position-relative d-none d-md-flex">
+ <details class="details-overlay details-reset">
+ <summary class="Header-link"
+ aria-label="Create new…"
+ data-ga-click="Header, create new, icon:add">
+ <svg class="octicon octicon-plus" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.75 2a.75.75 0 01.75.75V7h4.25a.75.75 0 110 1.5H8.5v4.25a.75.75 0 11-1.5 0V8.5H2.75a.75.75 0 010-1.5H7V2.75A.75.75 0 017.75 2z"></path></svg> <span class="dropdown-caret"></span>
+ </summary>
+ <details-menu class="dropdown-menu dropdown-menu-sw">
+
+<a role="menuitem" class="dropdown-item" href="/new" data-ga-click="Header, create new repository">
+ New repository
+</a>
+
+ <a role="menuitem" class="dropdown-item" href="/new/import" data-ga-click="Header, import a repository">
+ Import repository
+ </a>
+
+<a role="menuitem" class="dropdown-item" href="https://gist.github.com/" data-ga-click="Header, create new gist">
+ New gist
+</a>
+
+ <a role="menuitem" class="dropdown-item" href="/organizations/new" data-ga-click="Header, create new organization">
+ New organization
+ </a>
+
+
+
+ <a role="menuitem" class="dropdown-item" href="/new/project" data-ga-click="Header, create new project">
+ New project
+ </a>
+
+ </details-menu>
+</details>
+
+ </div>
+
+ <div class="Header-item position-relative mr-0 d-none d-md-flex">
+
+ <details class="details-overlay details-reset js-feature-preview-indicator-container" data-feature-preview-indicator-src="/users/mdblack98/feature_preview/indicator_check">
+
+ <summary class="Header-link"
+ aria-label="View profile and more"
+ data-ga-click="Header, show menu, icon:avatar">
+ <img src="https://avatars.githubusercontent.com/u/8899915?s=60&v=4" alt="@mdblack98" size="20" height="20" width="20" class="avatar-user avatar avatar--small "></img>
+ <span class="feature-preview-indicator js-feature-preview-indicator" style="top: 1px;" hidden></span>
+ <span class="dropdown-caret"></span>
+ </summary>
+ <details-menu class="dropdown-menu dropdown-menu-sw" style="width: 180px"
+ src="/users/8899915/menu" preload>
+ <include-fragment>
+ <p class="text-center mt-3" data-hide-on-error>
+ <svg style="box-sizing: content-box; color: var(--color-icon-primary);" viewBox="0 0 16 16" fill="none" width="32" height="32">
+ <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" />
+ <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke">
+ <animateTransform attributeName="transform" type="rotate" from="0 8 8" to="360 8 8" dur="1s" repeatCount="indefinite" />
+ </path>
+</svg>
+ </p>
+ <p class="ml-1 mb-2 mt-2 color-text-primary" data-show-on-error>
+ <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path></svg>
+ Sorry, something went wrong.
+ </p>
+ </include-fragment>
+ </details-menu>
+</details>
+
+ </div>
+</header>
+
+
+ </div>
+
+ <div id="start-of-content" class="show-on-focus"></div>
+
+
+
+
+
+ <div data-pjax-replace id="js-flash-container">
+
+
+ <template class="js-flash-template">
+ <div class="flash flash-full {{ className }}">
+ <div class=" px-2" >
+ <button class="flash-close js-flash-close" type="button" aria-label="Dismiss this message">
+ <svg class="octicon octicon-x" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg>
+ </button>
+
+ <div>{{ message }}</div>
+
+ </div>
+</div>
+ </template>
+</div>
+
+
+
+
+ <include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment>
+
+
+
+
+ <div
+ class="application-main "
+ data-commit-hovercards-enabled
+ data-discussion-hovercards-enabled
+ data-issue-and-pr-hovercards-enabled
+ >
+ <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class="">
+ <main id="js-repo-pjax-container" data-pjax-container >
+
+
+
+
+ <div class="border-bottom shelf intro-shelf js-notice mb-0 pb-4">
+ <div class="width-full container">
+ <div class="width-full mx-auto shelf-content">
+ <h2 class="shelf-title">Learn Git and GitHub without any code!</h2>
+ <p class="shelf-lead">
+ Using the Hello World guide, you’ll start a branch, write comments, and open a pull request.
+ </p>
+ <a class="btn btn-primary shelf-cta" target="_blank" data-hydro-click="{"event_type":"repository.click","payload":{"target":"READ_GUIDE","repository_id":214546134,"originating_url":"https://github.com/gvanem/Hamlib/blob/master/Makefile.Windows","user_id":8899915}}" data-hydro-click-hmac="dcb27ecd85d26105b2709209a04bf0a983894a20e960c52a8f1005a82222d23a" href="https://guides.github.com/activities/hello-world/">Read the guide</a>
+ </div>
+ <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="shelf-dismiss js-notice-dismiss" action="/dashboard/dismiss_bootcamp" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="delete" /><input type="hidden" name="authenticity_token" value="rWUm8sYzausueMap6qqUuVszTTW6yXZyif1jxLdXeuiHf9mon+lnIoHv6S4dlJOeSSnqFSs8Jq7LJpkeRxkf3Q==" />
+ <button name="button" type="submit" class="mr-1 close-button tooltipped tooltipped-w" aria-label="Hide this notice forever" data-hydro-click="{"event_type":"repository.click","payload":{"target":"DISMISS_BANNER","repository_id":214546134,"originating_url":"https://github.com/gvanem/Hamlib/blob/master/Makefile.Windows","user_id":8899915}}" data-hydro-click-hmac="17f45baf6d674ba049a53da04c5a40e8609562b10c644a3f7504e6ca1d0f3262">
+ <svg aria-label="Hide this notice forever" class="octicon octicon-x v-align-text-top" viewBox="0 0 16 16" version="1.1" width="16" height="16" role="img"><path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path></svg>
+</button></form> </div>
+</div>
+
+
+
+
+
+
+
+
+
+ <div class="color-bg-secondary pt-3 hide-full-screen mb-5">
+
+ <div class="d-flex mb-3 px-3 px-md-4 px-lg-5">
+
+ <div class="flex-auto min-width-0 width-fit mr-3">
+ <h1 class=" d-flex flex-wrap flex-items-center break-word f3 text-normal">
+ <svg class="octicon octicon-repo-forked color-text-secondary mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M5 3.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm0 2.122a2.25 2.25 0 10-1.5 0v.878A2.25 2.25 0 005.75 8.5h1.5v2.128a2.251 2.251 0 101.5 0V8.5h1.5a2.25 2.25 0 002.25-2.25v-.878a2.25 2.25 0 10-1.5 0v.878a.75.75 0 01-.75.75h-4.5A.75.75 0 015 6.25v-.878zm3.75 7.378a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm3-8.75a.75.75 0 100-1.5.75.75 0 000 1.5z"></path></svg>
+ <span class="author flex-self-stretch" itemprop="author">
+ <a class="url fn" rel="author" data-hovercard-type="user" data-hovercard-url="/users/gvanem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/gvanem">gvanem</a>
+ </span>
+ <span class="mx-1 flex-self-stretch color-text-secondary">/</span>
+ <strong itemprop="name" class="mr-2 flex-self-stretch">
+ <a data-pjax="#js-repo-pjax-container" class="" href="/gvanem/Hamlib">Hamlib</a>
+ </strong>
+
+</h1>
+
+ <span class="text-small lh-condensed-ultra no-wrap mt-1" data-repository-hovercards-enabled>
+ forked from <a data-hovercard-type="repository" data-hovercard-url="/Hamlib/Hamlib/hovercard" href="/Hamlib/Hamlib">Hamlib/Hamlib</a>
+ </span>
+
+ </div>
+
+ <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;">
+
+ <li>
+ <notifications-list-subscription-form class="f5 position-relative d-flex">
+ <details
+ class="details-reset details-overlay f5 position-relative"
+ data-target="notifications-list-subscription-form.details"
+ data-action="toggle:notifications-list-subscription-form#detailsToggled"
+ >
+
+ <summary class="btn btn-sm rounded-right-0" data-hydro-click="{"event_type":"repository.click","payload":{"target":"WATCH_BUTTON","repository_id":214546134,"originating_url":"https://github.com/gvanem/Hamlib/blob/master/Makefile.Windows","user_id":8899915}}" data-hydro-click-hmac="2776c8edaad130317e2984ea2c05aa310d9d697c632e53ab465f41445603d8a5" data-ga-click="Repository, click Watch settings, action:blob#show" aria-label="Notifications settings">
+ <span data-menu-button>
+ <span
+ hidden
+
+ data-target="notifications-list-subscription-form.unwatchButtonCopy"
+ >
+ <svg class="octicon octicon-eye" height="16" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.679 7.932c.412-.621 1.242-1.75 2.366-2.717C5.175 4.242 6.527 3.5 8 3.5c1.473 0 2.824.742 3.955 1.715 1.124.967 1.954 2.096 2.366 2.717a.119.119 0 010 .136c-.412.621-1.242 1.75-2.366 2.717C10.825 11.758 9.473 12.5 8 12.5c-1.473 0-2.824-.742-3.955-1.715C2.92 9.818 2.09 8.69 1.679 8.068a.119.119 0 010-.136zM8 2c-1.981 0-3.67.992-4.933 2.078C1.797 5.169.88 6.423.43 7.1a1.619 1.619 0 000 1.798c.45.678 1.367 1.932 2.637 3.024C4.329 13.008 6.019 14 8 14c1.981 0 3.67-.992 4.933-2.078 1.27-1.091 2.187-2.345 2.637-3.023a1.619 1.619 0 000-1.798c-.45-.678-1.367-1.932-2.637-3.023C11.671 2.992 9.981 2 8 2zm0 8a2 2 0 100-4 2 2 0 000 4z"></path></svg>
+ Unwatch
+ </span>
+ <span
+ hidden
+
+ data-target="notifications-list-subscription-form.stopIgnoringButtonCopy"
+ >
+ <svg class="octicon octicon-bell-slash" height="16" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 1.5c-.997 0-1.895.416-2.534 1.086A.75.75 0 014.38 1.55 5 5 0 0113 5v2.373a.75.75 0 01-1.5 0V5A3.5 3.5 0 008 1.5zM4.182 4.31L1.19 2.143a.75.75 0 10-.88 1.214L3 5.305v2.642a.25.25 0 01-.042.139L1.255 10.64A1.518 1.518 0 002.518 13h11.108l1.184.857a.75.75 0 10.88-1.214l-1.375-.996a1.196 1.196 0 00-.013-.01L4.198 4.321a.733.733 0 00-.016-.011zm7.373 7.19L4.5 6.391v1.556c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01.015.015 0 00.005.012.017.017 0 00.006.004l.007.001h9.037zM8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path></svg>
+ ...
[truncated message content] |
|
From: Michael B. <mdb...@us...> - 2021-03-09 05:43:54
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 79f58bce6f05d514ca8be88f57a750b8f2ed0059 (commit)
from 0f0705d014d4e400761bd5d275e7c9ab1b374380 (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 79f58bce6f05d514ca8be88f57a750b8f2ed0059
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Mar 8 23:42:35 2021 -0600
Finish rig_get_vfo_list and \get_vfo_list
https://github.com/Hamlib/Hamlib/issues/577
diff --git a/src/rig.c b/src/rig.c
index dd77e10c..e0c9d57d 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -5817,15 +5817,12 @@ int HAMLIB_API rig_get_vfo_list(RIG *rig, char *buf, int buflen)
{
ENTERFUNC;
- // to be completed
if (CHECK_RIG_ARG(rig))
{
RETURNFUNC(-RIG_EINVAL);
}
- char s[256];
- rig_sprintf_vfo(s, sizeof(s), rig->state.vfo_list);
-
+ rig_sprintf_vfo(buf, buflen - 1, rig->state.vfo_list);
RETURNFUNC(RIG_OK);
}
-----------------------------------------------------------------------
Summary of changes:
src/rig.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-03-09 05:30: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 0f0705d014d4e400761bd5d275e7c9ab1b374380 (commit)
via 5bebf5ad45cec1a4074d342b7190290066530f8c (commit)
from c13624add0f0dcaffa55a99cb55695bcb8ab68fb (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 0f0705d014d4e400761bd5d275e7c9ab1b374380
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Mar 8 23:26:44 2021 -0600
Fix python binding for future deprecation of distutils.sysconfig
Hopefully works on MacOS
Also hopefully works on python2
https://github.com/Hamlib/Hamlib/issues/477
diff --git a/bindings/Makefile.am b/bindings/Makefile.am
index b01407a8..5e4f81f7 100644
--- a/bindings/Makefile.am
+++ b/bindings/Makefile.am
@@ -3,7 +3,7 @@
# more information on swig at http://www.swig.org
#
-AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/bindings $(PYTHON_CPPFLAGS) \
+AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/include -I$(top_srcdir)/bindings \
$(TCL_INCLUDE_SPEC)
AM_CFLAGS = -fno-strict-aliasing
diff --git a/bindings/ignore.swg b/bindings/ignore.swg
index abc48022..37d6c96d 100644
--- a/bindings/ignore.swg
+++ b/bindings/ignore.swg
@@ -194,6 +194,7 @@
%ignore rig_passband_normal;
%ignore rig_passband_narrow;
%ignore rig_passband_wide;
+%ignore rig_get_vfo_info;
%ignore rot_open;
%ignore rot_close;
diff --git a/bindings/py3test.py b/bindings/py3test.py
index 1c8d2789..5a31cd1b 100755
--- a/bindings/py3test.py
+++ b/bindings/py3test.py
@@ -39,7 +39,7 @@ def StartUp():
print("freq:\t\t\t%s" % my_rig.get_freq())
my_rig.set_freq(Hamlib.RIG_VFO_A, 145550000)
- (mode, width) = my_rig.get_mode()
+ (mode, width) = my_rig.get_mode(Hamlib.RIG_VFO_A)
print("mode:\t\t\t%s\nbandwidth:\t\t%s" % (Hamlib.rig_strrmode(mode), width))
@@ -83,6 +83,9 @@ def StartUp():
print("get_channel status:\t%s" % my_rig.error_status)
print("VFO:\t\t\t%s, %s" % (Hamlib.rig_strvfo(chan.vfo), chan.freq))
print("Attenuators:\t\t%s" % my_rig.caps.attenuator)
+ # Can't seem to get get_vfo_info to work
+ #(freq, width, mode, split) = my_rig.get_vfo_info(Hamlib.RIG_VFO_A,freq,width,mode,split)
+ #print("Rig vfo_info:\t\tfreq=%s, mode=%s, width=%s, split=%s" % (freq, mode, width, split))
print("\nSending Morse, '73'")
my_rig.send_morse(Hamlib.RIG_VFO_A, "73")
diff --git a/bindings/rig.swg b/bindings/rig.swg
index 19f5be1d..0d1c05fd 100644
--- a/bindings/rig.swg
+++ b/bindings/rig.swg
@@ -70,6 +70,10 @@ typedef channel_t * const_channel_t_p;
{ self->error_status = rig_##f(self->rig _VFO_ARG, _##t1); }
#define METHOD3_INIT(f, t1, t2, t3, i3) void f (t1 _##t1##_1, t2 _##t2##_2, t3 _##t3##_3 = i3 _VFO_DECL) \
{ self->error_status = rig_##f(self->rig _VFO_ARG, _##t1##_1, _##t2##_2, _##t3##_3); }
+#define METHOD4(f, t1) void f ( vfo_t vfo, t1 _##t1) \
+ { self->error_status = rig_##f(self->rig _VFO_ARG, _##t1); }
+#define METHOD4_INIT(f, t1, t2, t3, t4, i4) void f (t1 _##t1##_1, t2 _##t2##_2, t3 _##t3##_3, ##t4##_4 = i4 _VFO_DECL) \
+ { self->error_status = rig_##f(self->rig _VFO_ARG, _##t1##_1, _##t2##_2, _##t3##_3 _##t4##_4); }
/*
* declare wrapper method with one output argument besides RIG* (no target vfo)
*/
@@ -445,6 +449,7 @@ typedef channel_t * const_channel_t_p;
METHOD1VGET(get_xit, shortfreq_t)
METHOD1VGET(get_ts, shortfreq_t)
extern void get_ant(ant_t *ant_rx, ant_t *ant_tx, ant_t *ant_curr, value_t * OUTPUT, ant_t ant, vfo_t vfo = RIG_VFO_CURR);
+ extern void get_vfo_info (split_t *split, pbwidth_t *width, rmode_t *mode, freq_t *freq, vfo_t vfo = RIG_VFO_CURR);
METHOD1VGET(get_mem, int)
METHOD1GET(get_powerstat, powerstat_t)
METHOD1GET(get_trn, int)
@@ -600,6 +605,11 @@ void Rig_get_ant(Rig *self, ant_t *ant_rx, ant_t *ant_tx, ant_t *ant_curr, value
{
self->error_status = rig_get_ant(self->rig, vfo, ant, option, ant_curr, ant_tx, ant_rx);
}
+void Rig_get_vfo_info (Rig *self, split_t *split, pbwidth_t *width, rmode_t *mode, freq_t *freq, vfo_t vfo)
+{
+ self->error_status = rig_get_vfo_info(self->rig, vfo, freq, mode, width, split);
+}
+
struct channel *Rig_get_chan_all(Rig *self)
{
@@ -618,4 +628,5 @@ struct channel *Rig_get_chan_all(Rig *self)
return chans;
}
+
%}
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index 5a892f73..17173886 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -2339,11 +2339,9 @@ extern HAMLIB_EXPORT(int)
rig_get_vfo HAMLIB_PARAMS((RIG *rig,
vfo_t *vfo));
-#if 0
extern HAMLIB_EXPORT(int)
rig_get_vfo_info HAMLIB_PARAMS((RIG *rig,
vfo_t vfo, freq_t *freq, rmode_t *mode, pbwidth_t *width, split_t *split));
-#endif
extern HAMLIB_EXPORT(int)
rig_get_vfo_list HAMLIB_PARAMS((RIG *rig, char *buf, int buflen));
commit 5bebf5ad45cec1a4074d342b7190290066530f8c
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Mar 8 23:25:37 2021 -0600
Update flrig.h version
diff --git a/rigs/dummy/flrig.h b/rigs/dummy/flrig.h
index cb8908e5..78eec490 100644
--- a/rigs/dummy/flrig.h
+++ b/rigs/dummy/flrig.h
@@ -28,7 +28,7 @@
#include <sys/time.h>
#endif
-#define BACKEND_VER "20210306"
+#define BACKEND_VER "20210308"
#define EOM "\r"
#define TRUE 1
-----------------------------------------------------------------------
Summary of changes:
bindings/Makefile.am | 2 +-
bindings/ignore.swg | 1 +
bindings/py3test.py | 5 ++++-
bindings/rig.swg | 11 +++++++++++
include/hamlib/rig.h | 2 --
rigs/dummy/flrig.h | 2 +-
6 files changed, 18 insertions(+), 5 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-03-08 23:29: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 c13624add0f0dcaffa55a99cb55695bcb8ab68fb (commit)
from 207f28b2569888b0fa5a7da53f380f13f51e452b (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 c13624add0f0dcaffa55a99cb55695bcb8ab68fb
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Mar 8 17:20:15 2021 -0600
Fix flrig_set_split_freq_mode to allow set_freq but not set_mode during PTT
https://github.com/Hamlib/Hamlib/issues/593
diff --git a/rigs/dummy/flrig.c b/rigs/dummy/flrig.c
index 9556b19d..203ef8e2 100644
--- a/rigs/dummy/flrig.c
+++ b/rigs/dummy/flrig.c
@@ -1861,12 +1861,6 @@ static int flrig_set_split_freq_mode(RIG *rig, vfo_t vfo, freq_t freq,
RETURNFUNC(-RIG_ENTARGET);
}
- if (priv->ptt)
- {
- rig_debug(RIG_DEBUG_WARN, "%s call not made as PTT=1\n", __func__);
- RETURNFUNC(RIG_OK); // just return OK and ignore this
- }
-
retval = flrig_set_freq(rig, RIG_VFO_B, freq);
if (retval != RIG_OK)
@@ -1882,6 +1876,12 @@ static int flrig_set_split_freq_mode(RIG *rig, vfo_t vfo, freq_t freq,
if (qmode == priv->curr_modeA) { RETURNFUNC(RIG_OK); }
+ if (priv->ptt)
+ {
+ rig_debug(RIG_DEBUG_WARN, "%s set_mode call not made as PTT=1\n", __func__);
+ RETURNFUNC(RIG_OK); // just return OK and ignore this
+ }
+
retval = flrig_set_mode(rig, RIG_VFO_B, priv->curr_modeA, width);
if (retval != RIG_OK)
-----------------------------------------------------------------------
Summary of changes:
rigs/dummy/flrig.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-03-08 23:00:34
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 207f28b2569888b0fa5a7da53f380f13f51e452b (commit)
via 28a828b5b8516475192ca8eec2a7b7d479d5affd (commit)
via 0ad32a4f8a0e81f8028ca9a35c209c45c7fa876f (commit)
via 491bf07c0dc3a1d8a8f7d94634d64d04c680c393 (commit)
from caafe10d7bd658ce9418747ca8ac1b4f04c2c3b7 (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 207f28b2569888b0fa5a7da53f380f13f51e452b
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Mar 8 16:59:22 2021 -0600
Add debug to rig.c
https://github.com/Hamlib/Hamlib/issues/593
diff --git a/src/rig.c b/src/rig.c
index 6e1da02f..dd77e10c 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -3880,6 +3880,11 @@ int HAMLIB_API rig_set_split_freq_mode(RIG *rig,
{
retcode = caps->set_split_freq_mode(rig, vfo, tx_freq, tx_mode, tx_width);
retcode2 = rig_get_split_freq(rig, vfo, &tfreq);
+ if (tfreq != tx_freq)
+ {
+ rig_debug(RIG_DEBUG_ERR, "%s: txfreq!=tfreq %.0f!=%.0f, retry=%d, rc1=%d, rc2=%d\n", __func__, tx_freq, tfreq, retry, retcode, retcode2);
+ hl_usleep(50*1000); // 50ms sleep may help here
+ }
}
while (tfreq != tx_freq && retry-- > 0 && retcode == RIG_OK
&& retcode2 == RIG_OK);
commit 28a828b5b8516475192ca8eec2a7b7d479d5affd
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Mar 8 16:54:52 2021 -0600
Add ENTERFUNC to flrig.c
https://github.com/Hamlib/Hamlib/issues/593
diff --git a/rigs/dummy/flrig.c b/rigs/dummy/flrig.c
index 80c196c0..9556b19d 100644
--- a/rigs/dummy/flrig.c
+++ b/rigs/dummy/flrig.c
@@ -1009,7 +1009,7 @@ static int flrig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
char value[MAXARGLEN];
struct flrig_priv_data *priv = (struct flrig_priv_data *) rig->state.priv;
- rig_debug(RIG_DEBUG_TRACE, "%s\n", __func__);
+ ENTERFUNC;
rig_debug(RIG_DEBUG_TRACE, "%s: vfo=%s\n", __func__,
rig_strvfo(vfo));
commit 0ad32a4f8a0e81f8028ca9a35c209c45c7fa876f
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Mar 8 16:44:29 2021 -0600
Update logic to suppress bogus set freq error
diff --git a/src/rig.c b/src/rig.c
index 59036160..6e1da02f 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -1616,7 +1616,7 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
}
while (tfreq != freq && retry-- > 0);
- if (retry == 0)
+ if (retry == 0 && tfreq != freq)
{
rig_debug(RIG_DEBUG_ERR, "%s: unable to set frequency!!, asked for %.0f, got %.0f\n", __func__, freq, tfreq);
}
commit 491bf07c0dc3a1d8a8f7d94634d64d04c680c393
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Mar 8 16:43:05 2021 -0600
Update comment in flrig.c
diff --git a/rigs/dummy/flrig.c b/rigs/dummy/flrig.c
index b99d64e4..80c196c0 100644
--- a/rigs/dummy/flrig.c
+++ b/rigs/dummy/flrig.c
@@ -1275,7 +1275,7 @@ static int flrig_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
if (priv->ptt)
{
- rig_debug(RIG_DEBUG_WARN, "%s call not made as PTT=1\n", __func__);
+ rig_debug(RIG_DEBUG_WARN, "%s set_mode call not made as PTT=1\n", __func__);
RETURNFUNC(RIG_OK); // just return OK and ignore this
}
-----------------------------------------------------------------------
Summary of changes:
rigs/dummy/flrig.c | 4 ++--
src/rig.c | 7 ++++++-
2 files changed, 8 insertions(+), 3 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-03-08 21:59:38
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via caafe10d7bd658ce9418747ca8ac1b4f04c2c3b7 (commit)
via ac18671029c3dce079f4cec9e6a1eb34a1350b03 (commit)
via 7286c1ac86c60140d2d5c358df9ea0c72bb4917f (commit)
via ca9b043cbe5fb212cd758829b160d045048f6694 (commit)
via 29fa3b70937f1330ea459e125a2b4fee4747f528 (commit)
via 2fa65f11fd0bf2f9a2bee7577ab1d77be9895238 (commit)
via e56ea59f14d62ca3da5078fd026700bc907df87c (commit)
via be3748d3831d5e25bbfb77246515ab77679ddf33 (commit)
from ca3e67aa27fcdd68fa880056426c80141c14dc73 (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 caafe10d7bd658ce9418747ca8ac1b4f04c2c3b7
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Mar 8 15:58:40 2021 -0600
Tweak the FTDX101MP power levels
https://github.com/Hamlib/Hamlib/issues/592
diff --git a/rigs/yaesu/ftdx101.h b/rigs/yaesu/ftdx101.h
index a0ad75b6..198bb2f9 100644
--- a/rigs/yaesu/ftdx101.h
+++ b/rigs/yaesu/ftdx101.h
@@ -76,7 +76,7 @@
6, \
{ \
{0, 0.0f}, \
- {35, 0.5f}, \
+ {38, 0.5f}, \
{94, 0.25f}, \
{147, 0.50f}, \
{176, 0.75f}, \
@@ -89,7 +89,7 @@
6, \
{ \
{0, 0.0f}, \
- {35, 5.0f}, \
+ {38, 5.0f}, \
{94, 25.0f}, \
{147, 50.0f}, \
{176, 75.0f}, \
commit ac18671029c3dce079f4cec9e6a1eb34a1350b03
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Mar 8 12:06:48 2021 -0600
Add retry of PS1 during power on sequencing in newcat.c
https://github.com/Hamlib/Hamlib/issues/579
diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c
index aa60d2b3..3445ab14 100644
--- a/rigs/yaesu/newcat.c
+++ b/rigs/yaesu/newcat.c
@@ -3153,7 +3153,6 @@ int newcat_set_powerstat(RIG *rig, powerstat_t status)
case RIG_POWER_OFF:
case RIG_POWER_STANDBY:
ps = '0';
- write_block(&state->rigport, "\n", 0);
break;
default:
@@ -3182,6 +3181,8 @@ int newcat_set_powerstat(RIG *rig, powerstat_t status)
}
rig_debug(RIG_DEBUG_TRACE, "%s: Wait #%d for power up\n", __func__, i + 1);
+ retval = write_block(&state->rigport, priv->cmd_str, strlen(priv->cmd_str));
+ if (retval != RIG_OK) RETURNFUNC(retval);
}
}
commit 7286c1ac86c60140d2d5c358df9ea0c72bb4917f
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Mar 8 11:46:50 2021 -0600
Add RFPOWER_METER tables for FTDX101MP
https://github.com/Hamlib/Hamlib/issues/592
diff --git a/rigs/yaesu/ftdx101.h b/rigs/yaesu/ftdx101.h
index 5abbcfb1..a0ad75b6 100644
--- a/rigs/yaesu/ftdx101.h
+++ b/rigs/yaesu/ftdx101.h
@@ -101,16 +101,16 @@
{ \
11, \
{ \
- {0, 0.0f}, \
- {35, 0.25f}, \
- {94, 0.125f}, \
- {133, 0.25f}, \
- {162, 0.375f}, \
- {205, 0.5f}, \
- {215, 0.6f}, \
- {225, 0.7f}, \
- {235, 0.8f}, \
- {245, 0.9f}, \
+ {0, 0.00f}, \
+ {69, 0.05f}, \
+ {111, 0.10f}, \
+ {129, 0.15f}, \
+ {143, 0.20f}, \
+ {158, 0.25f}, \
+ {184, 0.35f}, \
+ {200, 0.40f}, \
+ {211, 0.45f}, \
+ {222, 0.50f}, \
{255, 1.0f}, \
} \
}
@@ -118,16 +118,16 @@
{ \
11, \
{ \
- {0, 0.0f}, \
- {35, 5.0f}, \
- {94, 25.0f}, \
- {133, 50.0f}, \
- {162, 75.0f}, \
- {205, 100.0f}, \
- {215, 120.0f}, \
- {225, 140.0f}, \
- {235, 160.0f}, \
- {245, 180.0f}, \
+ {0, 0.0f}, \
+ {69, 10.0f}, \
+ {111, 20.0f}, \
+ {129, 30.0f}, \
+ {143, 40.0f}, \
+ {158, 50.0f}, \
+ {184, 70.0f}, \
+ {200, 80.0f}, \
+ {211, 90.0f}, \
+ {222, 100.0f}, \
{255, 200.0f}, \
} \
}
commit ca9b043cbe5fb212cd758829b160d045048f6694
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Mar 8 10:42:41 2021 -0600
Implement STRENGTH calibrations for FTDX101D/MP
diff --git a/rigs/yaesu/ftdx101.c b/rigs/yaesu/ftdx101.c
index bd024809..0e73d39a 100644
--- a/rigs/yaesu/ftdx101.c
+++ b/rigs/yaesu/ftdx101.c
@@ -37,6 +37,27 @@
#include "newcat.h"
#include "ftdx101.h"
+#define FTDX101D_STR_CAL { 16, \
+ { \
+ { 0x00, -54 }, /* S0 */ \
+ { 0x01, -48 }, \
+ { 0x02, -42 }, \
+ { 0x03, -36 }, \
+ { 0x04, -30 }, \
+ { 0x05, -24 }, \
+ { 0x06, -18 }, \
+ { 0x07, -12 }, \
+ { 0x08, -6 }, \
+ { 0x09, 0 }, /* S9 */ \
+ { 0x0A, 10 }, /* +10 */ \
+ { 0x0B, 20 }, /* +20 */ \
+ { 0x0C, 30 }, /* +30 */ \
+ { 0x0D, 40 }, /* +40 */ \
+ { 0x0E, 50 }, /* +50 */ \
+ { 0x0F, 60 } /* +60 */ \
+ } }
+
+
const struct newcat_priv_caps ftdx101d_priv_caps =
{
.roofing_filter_count = 6,
@@ -76,7 +97,7 @@ const struct rig_caps ftdx101d_caps =
RIG_MODEL(RIG_MODEL_FTDX101D),
.model_name = "FTDX-101D",
.mfg_name = "Yaesu",
- .version = NEWCAT_VER ".9",
+ .version = NEWCAT_VER ".10",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
@@ -117,8 +138,10 @@ const struct rig_caps ftdx101d_caps =
.transceive = RIG_TRN_OFF, /* May enable later as the FTDX101 has an Auto Info command */
.bank_qty = 0,
.chan_desc_sz = 0,
- .rfpower_meter_cal = FTDX101D_RFPOWER_METER_CAL,
+ .rfpower_meter_cal = FTDX101D_RFPOWER_METER_WATTS_CAL,
+ .str_cal = FTDX101D_RFPOWER_METER_CAL,
.swr_cal = FTDX101D_SWR_CAL,
+ .str_cal = FTDX101D_STR_CAL,
.chan_list = {
{ 1, 99, RIG_MTYPE_MEM, NEWCAT_MEM_CAP },
RIG_CHAN_END,
diff --git a/rigs/yaesu/ftdx101.h b/rigs/yaesu/ftdx101.h
index 14c170be..5abbcfb1 100644
--- a/rigs/yaesu/ftdx101.h
+++ b/rigs/yaesu/ftdx101.h
@@ -71,14 +71,26 @@
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)
-// Borrowed from FLRig -- Thanks to Dave W1HKJ
#define FTDX101D_RFPOWER_METER_CAL \
{ \
6, \
{ \
- {0, 0.0f}, \
- {35, 5.0f}, \
- {94, 25.0f}, \
+ {0, 0.0f}, \
+ {35, 0.5f}, \
+ {94, 0.25f}, \
+ {147, 0.50f}, \
+ {176, 0.75f}, \
+ {205, 1.0f}, \
+ } \
+ }
+
+#define FTDX101D_RFPOWER_METER_WATTS_CAL \
+ { \
+ 6, \
+ { \
+ {0, 0.0f}, \
+ {35, 5.0f}, \
+ {94, 25.0f}, \
{147, 50.0f}, \
{176, 75.0f}, \
{205, 100.0f}, \
@@ -86,6 +98,23 @@
}
#define FTDX101MP_RFPOWER_METER_CAL \
+ { \
+ 11, \
+ { \
+ {0, 0.0f}, \
+ {35, 0.25f}, \
+ {94, 0.125f}, \
+ {133, 0.25f}, \
+ {162, 0.375f}, \
+ {205, 0.5f}, \
+ {215, 0.6f}, \
+ {225, 0.7f}, \
+ {235, 0.8f}, \
+ {245, 0.9f}, \
+ {255, 1.0f}, \
+ } \
+ }
+#define FTDX101MP_RFPOWER_METER_WATTS_CAL \
{ \
11, \
{ \
diff --git a/rigs/yaesu/ftdx101mp.c b/rigs/yaesu/ftdx101mp.c
index 0845f2a1..9ff6a9ec 100644
--- a/rigs/yaesu/ftdx101mp.c
+++ b/rigs/yaesu/ftdx101mp.c
@@ -77,7 +77,7 @@ const struct rig_caps ftdx101mp_caps =
RIG_MODEL(RIG_MODEL_FTDX101MP),
.model_name = "FTDX-101MP",
.mfg_name = "Yaesu",
- .version = NEWCAT_VER ".0",
+ .version = NEWCAT_VER ".1",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
@@ -118,7 +118,8 @@ const struct rig_caps ftdx101mp_caps =
.transceive = RIG_TRN_OFF, /* May enable later as the FTDX101 has an Auto Info command */
.bank_qty = 0,
.chan_desc_sz = 0,
- .rfpower_meter_cal = FTDX101MP_RFPOWER_METER_CAL,
+ .rfpower_meter_cal = FTDX101MP_RFPOWER_METER_WATTS_CAL,
+ .str_cal = FTDX101MP_RFPOWER_METER_CAL,
.swr_cal = FTDX101D_SWR_CAL,
.chan_list = {
{ 1, 99, RIG_MTYPE_MEM, NEWCAT_MEM_CAP },
commit 29fa3b70937f1330ea459e125a2b4fee4747f528
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Mar 8 10:06:35 2021 -0600
Add model/version to newcat_rig_open
diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c
index 4fa5a733..aa60d2b3 100644
--- a/rigs/yaesu/newcat.c
+++ b/rigs/yaesu/newcat.c
@@ -510,6 +510,7 @@ int newcat_open(RIG *rig)
ENTERFUNC;
+ rig_debug(RIG_DEBUG_TRACE, "%s: Rig=%s, version=%s\n", __func__, rig->caps->model_name, rig->caps->version);
rig_debug(RIG_DEBUG_TRACE, "%s: write_delay = %i msec\n",
__func__, rig_s->rigport.write_delay);
commit 2fa65f11fd0bf2f9a2bee7577ab1d77be9895238
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Mar 8 09:56:59 2021 -0600
Fix rc return in RETURNFUNC to parenthesize it
diff --git a/src/misc.h b/src/misc.h
index 6e5ceffc..c0a3a995 100644
--- a/src/misc.h
+++ b/src/misc.h
@@ -143,8 +143,8 @@ void errmsg(int err, char *s, const char *func, const char *file, int line);
#define ERRMSG(err, s) errmsg(err, s, __func__, __FILENAME__, __LINE__)
#define ENTERFUNC rig_debug(RIG_DEBUG_VERBOSE, "%s(%d):%s entered\n", __FILENAME__, __LINE__, __func__)
#define RETURNFUNC(rc) do { \
- rig_debug(RIG_DEBUG_VERBOSE, "%s(%d):%s return(%ld)\n", __FILENAME__, __LINE__, __func__, (long int) rc); \
- return rc; \
+ rig_debug(RIG_DEBUG_VERBOSE, "%s(%d):%s return(%ld)\n", __FILENAME__, __LINE__, __func__, (long int) (rc)); \
+ return (rc); \
} while(0)
#if 0 // 5.0
commit e56ea59f14d62ca3da5078fd026700bc907df87c
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Mar 8 09:55:59 2021 -0600
Update rig_get_vfo_info
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index 7266bd79..5a892f73 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -1843,6 +1843,12 @@ struct rig_caps {
rig_ptr_t);
int (*set_vfo_opt)(RIG *rig, int status); // only for Net Rigctl device
+ int (*rig_get_vfo_info) (RIG *rig,
+ vfo_t vfo,
+ freq_t *freq,
+ rmode_t *mode,
+ pbwidth_t *width,
+ split_t *split);
const char *clone_combo_set; /*!< String describing key combination to enter load cloning mode */
const char *clone_combo_get; /*!< String describing key combination to enter save cloning mode */
@@ -2333,9 +2339,11 @@ extern HAMLIB_EXPORT(int)
rig_get_vfo HAMLIB_PARAMS((RIG *rig,
vfo_t *vfo));
+#if 0
extern HAMLIB_EXPORT(int)
rig_get_vfo_info HAMLIB_PARAMS((RIG *rig,
vfo_t vfo, freq_t *freq, rmode_t *mode, pbwidth_t *width, split_t *split));
+#endif
extern HAMLIB_EXPORT(int)
rig_get_vfo_list HAMLIB_PARAMS((RIG *rig, char *buf, int buflen));
@@ -2815,11 +2823,6 @@ rig_set_vfo_callback HAMLIB_PARAMS((RIG *,
vfo_cb_t,
rig_ptr_t));
-extern HAMLIB_EXPORT(int)
-rig_get_vfo_info_callback HAMLIB_PARAMS((RIG *,
- vfo_cb_t,
- rig_ptr_t));
-
extern HAMLIB_EXPORT(int)
rig_set_ptt_callback HAMLIB_PARAMS((RIG *,
ptt_cb_t,
commit be3748d3831d5e25bbfb77246515ab77679ddf33
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Mar 8 09:54:24 2021 -0600
https://github.com/Hamlib/Hamlib/issues/514
diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c
index e83dfea0..0beeb922 100644
--- a/tests/rigctl_parse.c
+++ b/tests/rigctl_parse.c
@@ -138,7 +138,7 @@ struct test_table
};
-#define CHKSCN1ARG(a) if ((a) != 1) { rig_debug(RIG_DEBUG_ERR,"%s: chkarg err\n", __func__);return -RIG_EINVAL;} else do {} while(0)
+#define CHKSCN1ARG(a) if ((a) != 1) { rig_debug(RIG_DEBUG_ERR,"%s: chkarg err\n", __func__);RETURNFUNC(-RIG_EINVAL);} else do {} while(0)
#define ACTION(f) rigctl_##f
#define declare_proto_rig(f) static int (ACTION(f))(RIG *rig, \
@@ -639,6 +639,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
char arg3[MAXARGSZ + 1], *p3 = NULL;
vfo_t vfo = RIG_VFO_CURR;
+ ENTERFUNC;
rig_debug(RIG_DEBUG_TRACE, "%s: called, interactive=%d\n", __func__,
interactive);
@@ -661,7 +662,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
{
rig_debug(RIG_DEBUG_WARN, "%s: nothing to scan#1? retcode=%d\n", __func__,
retcode);
- return -1;
+ RETURNFUNC(-1);
}
if (cmd != 0xa)
@@ -680,12 +681,12 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
if (scanfc(fin, "%c", &cmd) < 1)
{
rig_debug(RIG_DEBUG_WARN, "%s: nothing to scan#2?\n", __func__);
- return -1;
+ RETURNFUNC(-1);
}
}
else if (cmd == '+' && prompt)
{
- return 0;
+ RETURNFUNC(0);
}
if (cmd != '\\'
@@ -703,7 +704,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
if (scanfc(fin, "%c", &cmd) < 1)
{
rig_debug(RIG_DEBUG_WARN, "%s: nothing to scan#3?\n", __func__);
- return -1;
+ RETURNFUNC(-1);
}
}
else if (cmd != '\\'
@@ -716,7 +717,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
&& prompt)
{
- return 0;
+ RETURNFUNC(0);
}
/* command by name */
@@ -727,7 +728,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
if (scanfc(fin, "%c", pcmd) < 1)
{
rig_debug(RIG_DEBUG_WARN, "%s: nothing to scan#4?\n", __func__);
- return -1;
+ RETURNFUNC(-1);
}
retcode = fscanf(fin, "%s", ++pcmd);
@@ -754,7 +755,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
fprintf_flush(fout, "\nRig command: ");
}
- return 0;
+ RETURNFUNC(0);
}
last_was_ret = 1;
@@ -772,11 +773,11 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
if (scanfc(fin, "%c", &cmd) < 1)
{
rig_debug(RIG_DEBUG_WARN, "%s: nothing to scan#6?\n", __func__);
- return -1;
+ RETURNFUNC(-1);
}
}
- return 0;
+ RETURNFUNC(0);
}
my_rig->state.vfo_opt = *vfo_opt;
@@ -789,14 +790,14 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
if (interactive && !prompt) { fprintf(fout, "%s0\n", NETRIGCTL_RET); }
fflush(fout);
- return 1;
+ RETURNFUNC(1);
}
if (cmd == '?')
{
usage_rig(fout);
fflush(fout);
- return 0;
+ RETURNFUNC(0);
}
}
else
@@ -806,11 +807,11 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
if (EOF == retcode)
{
- return 1;
+ RETURNFUNC(1);
}
else if (retcode < 0)
{
- return retcode;
+ RETURNFUNC(retcode);
}
else if ('\0' == command[1])
{
@@ -831,7 +832,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
fprintf(stderr, "Command '%c' not found!\n", cmd);
}
- return 0;
+ RETURNFUNC(0);
}
if (!(cmd_entry->flags & ARG_NOVFO) && *vfo_opt)
@@ -849,7 +850,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
if (scanfc(fin, "%s", arg1) < 1)
{
rig_debug(RIG_DEBUG_WARN, "%s: nothing to scan#7?\n", __func__);
- return -1;
+ RETURNFUNC(-1);
}
vfo = rig_parse_vfo(arg1);
@@ -865,7 +866,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
}
else if (retcode < 0)
{
- return retcode;
+ RETURNFUNC(retcode);
}
vfo = rig_parse_vfo(arg1);
@@ -888,7 +889,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
if (fgets(arg1, MAXARGSZ, fin) == NULL)
{
- return -1;
+ RETURNFUNC(-1);
}
if (arg1[0] == 0xa)
@@ -902,7 +903,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
if (fgets(arg1, MAXARGSZ, fin) == NULL)
{
- return -1;
+ RETURNFUNC(-1);
}
}
@@ -930,11 +931,11 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
{
fprintf(stderr, "Invalid arg for command '%s'\n",
cmd_entry->name);
- return 1;
+ RETURNFUNC(1);
}
else if (retcode < 0)
{
- return retcode;
+ RETURNFUNC(retcode);
}
p1 = arg1;
@@ -958,7 +959,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
if (scanfc(fin, "%s", arg1) < 1)
{
rig_debug(RIG_DEBUG_WARN, "%s: nothing to scan#8?\n", __func__);
- return -1;
+ RETURNFUNC(-1);
}
p1 = arg1;
@@ -971,11 +972,11 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
{
fprintf(stderr, "Invalid arg for command '%s'\n",
cmd_entry->name);
- return 1;
+ RETURNFUNC(1);
}
else if (retcode < 0)
{
- return retcode;
+ RETURNFUNC(retcode);
}
p1 = arg1;
@@ -1004,7 +1005,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
if (scanfc(fin, "%s", arg2) < 1)
{
rig_debug(RIG_DEBUG_WARN, "%s: nothing to scan#9?\n", __func__);
- return -1;
+ RETURNFUNC(-1);
}
p2 = arg2;
@@ -1018,11 +1019,11 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
{
fprintf(stderr, "Invalid arg for command '%s'\n",
cmd_entry->name);
- return 1;
+ RETURNFUNC(1);
}
else if (retcode < 0)
{
- return retcode;
+ RETURNFUNC(retcode);
}
p2 = arg2;
@@ -1051,7 +1052,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
if (scanfc(fin, "%s", arg3) < 1)
{
rig_debug(RIG_DEBUG_WARN, "%s: nothing to scan#10?\n", __func__);
- return -1;
+ RETURNFUNC(-1);
}
p3 = arg3;
@@ -1066,11 +1067,11 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
fprintf(stderr,
"Invalid arg for command '%s'\n",
cmd_entry->name);
- return 1;
+ RETURNFUNC(1);
}
else if (retcode < 0)
{
- return retcode;
+ RETURNFUNC(retcode);
}
p3 = arg3;
@@ -1097,13 +1098,13 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
if (!input_line)
{
fprintf_flush(fout, "\n");
- return 1;
+ RETURNFUNC(1);
}
/* Q or q to quit */
if (!(strncasecmp(input_line, "q", 1)))
{
- return 1;
+ RETURNFUNC(1);
}
/* '?' for help */
@@ -1111,13 +1112,13 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
{
usage_rig(fout);
fflush(fout);
- return 0;
+ RETURNFUNC(0);
}
/* '#' for comment */
if (!(strncmp(input_line, "#", 1)))
{
- return 0;
+ RETURNFUNC(0);
}
/* Blank line entered */
@@ -1125,7 +1126,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
{
fprintf(fout, "? for help, q to quit.\n");
fflush(fout);
- return 0;
+ RETURNFUNC(0);
}
rig_debug(RIG_DEBUG_TRACE, "%s: input_line: %s\n", __func__, input_line);
@@ -1148,7 +1149,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
{
/* Oops! Invoke GDB!! */
fprintf_flush(fout, "\n");
- return 1;
+ RETURNFUNC(1);
}
/* At this point parsed_input contains the typed text of the command
@@ -1207,7 +1208,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
{
fprintf(stderr,
"Valid multiple character command names contain alphanumeric characters plus '_'\n");
- return 0;
+ RETURNFUNC(0);
}
}
@@ -1216,13 +1217,13 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
/* Single '\' entered, prompt again */
else if ((*parsed_input[0] == '\\') && (strlen(parsed_input[0]) == 1))
{
- return 0;
+ RETURNFUNC(0);
}
/* Multiple characters but no leading '\' */
else
{
fprintf(stderr, "Precede multiple character command names with '\\'\n");
- return 0;
+ RETURNFUNC(0);
}
cmd_entry = find_cmd_entry(cmd);
@@ -1238,7 +1239,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
fprintf(stderr, "Command '%c' not found!\n", cmd);
}
- return 0;
+ RETURNFUNC(0);
}
/* If vfo_opt is enabled (-o|--vfo) check if already given
@@ -1263,7 +1264,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
if (!input_line)
{
fprintf_flush(fout, "\n");
- return 1;
+ RETURNFUNC(1);
}
/* Blank line entered */
@@ -1271,7 +1272,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
{
fprintf(fout, "? for help, q to quit.\n");
fflush(fout);
- return 0;
+ RETURNFUNC(0);
}
/* Get the first token of input, the rest, if any, will be
@@ -1286,7 +1287,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
else
{
fprintf_flush(fout, "\n");
- return 1;
+ RETURNFUNC(1);
}
}
@@ -1365,7 +1366,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
{
fprintf(fout, "? for help, q to quit.\n");
fflush(fout);
- return 0;
+ RETURNFUNC(0);
}
if (input_line)
@@ -1375,7 +1376,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
else
{
fprintf_flush(fout, "\n");
- return 1;
+ RETURNFUNC(1);
}
}
@@ -1427,7 +1428,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
{
fprintf(fout, "? for help, q to quit.\n");
fflush(fout);
- return 0;
+ RETURNFUNC(0);
}
result = strtok(input_line, " ");
@@ -1439,7 +1440,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
else
{
fprintf_flush(fout, "\n");
- return 1;
+ RETURNFUNC(1);
}
}
@@ -1493,7 +1494,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
{
fprintf(fout, "? for help, q to quit.\n");
fflush(fout);
- return 0;
+ RETURNFUNC(0);
}
result = strtok(input_line, " ");
@@ -1505,7 +1506,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
else
{
fprintf_flush(fout, "\n");
- return 1;
+ RETURNFUNC(1);
}
}
@@ -1559,7 +1560,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
{
fprintf(fout, "? for help, q to quit.\n");
fflush(fout);
- return 0;
+ RETURNFUNC(0);
}
result = strtok(input_line, " ");
@@ -1571,7 +1572,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
else
{
fprintf_flush(fout, "\n");
- return 1;
+ RETURNFUNC(1);
}
}
@@ -1674,7 +1675,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
if (sync_cb) { sync_cb(0); } /* unlock if necessary */
- return retcode;
+ RETURNFUNC(retcode);
}
if (retcode != RIG_OK)
@@ -1728,10 +1729,10 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
if (retcode == -RIG_ENAVAIL)
{
- return retcode;
+ RETURNFUNC(retcode);
}
- return retcode != RIG_OK ? 2 : 0;
+ RETURNFUNC(retcode != RIG_OK ? 2 : 0);
}
@@ -1904,6 +1905,8 @@ int set_conf(RIG *my_rig, char *conf_parms)
{
char *p, *n;
+ ENTERFUNC;
+
p = conf_parms;
while (p && *p != '\0')
@@ -1915,7 +1918,7 @@ int set_conf(RIG *my_rig, char *conf_parms)
if (!q)
{
- return -RIG_EINVAL;
+ RETURNFUNC(-RIG_EINVAL);
}
*q++ = '\0';
@@ -1930,13 +1933,13 @@ int set_conf(RIG *my_rig, char *conf_parms)
if (ret != RIG_OK)
{
- return ret;
+ RETURNFUNC(ret);
}
p = n;
}
- return RIG_OK;
+ RETURNFUNC(RIG_OK);
}
@@ -1954,6 +1957,8 @@ declare_proto_rig(set_freq)
char *fmt = "%"PRIll"%c";
#endif
+ ENTERFUNC;
+
CHKSCN1ARG(sscanf(arg1, "%"SCNfreq, &freq));
retval = rig_set_freq(rig, vfo, freq);
@@ -1964,7 +1969,7 @@ declare_proto_rig(set_freq)
}
- return retval;
+ RETURNFUNC(retval);
}
@@ -1976,11 +1981,13 @@ declare_proto_rig(get_freq)
// cppcheck-suppress *
char *fmt = "%"PRIll"%c";
+ ENTERFUNC;
+
status = rig_get_freq(rig, vfo, &freq);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2000,7 +2007,7 @@ declare_proto_rig(get_freq)
fprintf(fout, "%s%c", rig_strvfo(vfo), resp_sep);
#endif
- return status;
+ RETURNFUNC(status);
}
@@ -2009,8 +2016,11 @@ declare_proto_rig(set_rit)
{
shortfreq_t rit;
+ ENTERFUNC;
+
CHKSCN1ARG(sscanf(arg1, "%ld", &rit));
- return rig_set_rit(rig, vfo, rit);
+
+ RETURNFUNC(rig_set_rit(rig, vfo, rit));
}
@@ -2020,11 +2030,13 @@ declare_proto_rig(get_rit)
int status;
shortfreq_t rit;
+ ENTERFUNC;
+
status = rig_get_rit(rig, vfo, &rit);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2034,7 +2046,7 @@ declare_proto_rig(get_rit)
fprintf(fout, "%ld%c", rit, resp_sep);
- return status;
+ RETURNFUNC(status);
}
@@ -2043,8 +2055,11 @@ declare_proto_rig(set_xit)
{
shortfreq_t xit;
+ ENTERFUNC;
+
CHKSCN1ARG(sscanf(arg1, "%ld", &xit));
- return rig_set_xit(rig, vfo, xit);
+
+ RETURNFUNC(rig_set_xit(rig, vfo, xit));
}
@@ -2054,11 +2069,13 @@ declare_proto_rig(get_xit)
int status;
shortfreq_t xit;
+ ENTERFUNC;
+
status = rig_get_xit(rig, vfo, &xit);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2068,7 +2085,7 @@ declare_proto_rig(get_xit)
fprintf(fout, "%ld%c", xit, resp_sep);
- return status;
+ RETURNFUNC(status);
}
@@ -2078,17 +2095,19 @@ declare_proto_rig(set_mode)
rmode_t mode;
pbwidth_t width;
+ ENTERFUNC;
+
if (!strcmp(arg1, "?"))
{
char s[SPRINTF_MAX_SIZE];
rig_sprintf_mode(s, sizeof(s), rig->state.mode_list);
fprintf(fout, "%s\n", s);
- return RIG_OK;
+ RETURNFUNC(RIG_OK);
}
mode = rig_parse_mode(arg1);
CHKSCN1ARG(sscanf(arg2, "%ld", &width));
- return rig_set_mode(rig, vfo, mode, width);
+ RETURNFUNC(rig_set_mode(rig, vfo, mode, width));
}
@@ -2099,11 +2118,13 @@ declare_proto_rig(get_mode)
rmode_t mode;
pbwidth_t width;
+ ENTERFUNC;
+
status = rig_get_mode(rig, vfo, &mode, &width);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2120,7 +2141,7 @@ declare_proto_rig(get_mode)
fprintf(fout, "%ld%c", width, resp_sep);
- return status;
+ RETURNFUNC(status);
}
@@ -2129,12 +2150,14 @@ declare_proto_rig(set_vfo)
{
int retval;
+ ENTERFUNC;
+
if (!strcmp(arg1, "?"))
{
char s[SPRINTF_MAX_SIZE];
rig_sprintf_vfo(s, sizeof(s), rig->state.vfo_list);
fprintf(fout, "%s\n", s);
- return RIG_OK;
+ RETURNFUNC(RIG_OK);
}
vfo = rig_parse_vfo(arg1);
@@ -2160,7 +2183,7 @@ declare_proto_rig(set_vfo)
rig_strvfo(vfo), arg1);
}
- return retval;
+ RETURNFUNC(retval);
}
@@ -2169,11 +2192,13 @@ declare_proto_rig(get_vfo)
{
int status;
+ ENTERFUNC;
+
status = rig_get_vfo(rig, &vfo);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2183,7 +2208,7 @@ declare_proto_rig(get_vfo)
fprintf(fout, "%s%c", rig_strvfo(vfo), resp_sep);
- return status;
+ RETURNFUNC(status);
}
/* '\get_vfo_info' */
@@ -2198,7 +2223,7 @@ declare_proto_rig(get_vfo_info)
char s[SPRINTF_MAX_SIZE];
rig_sprintf_vfo(s, sizeof(s), rig->state.vfo_list);
fprintf(fout, "%s\n", s);
- return RIG_OK;
+ RETURNFUNC(RIG_OK);
}
vfo = rig_parse_vfo(arg1);
@@ -2230,6 +2255,8 @@ declare_proto_rig(get_vfo_list)
{
static char prntbuf[256];
+ ENTERFUNC;
+
rig_sprintf_vfo(prntbuf, sizeof(prntbuf), rig->state.vfo_list);
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2239,7 +2266,7 @@ declare_proto_rig(get_vfo_list)
fprintf(fout, "%s%c", prntbuf[0] ? prntbuf : "None", ext_resp);
- return RIG_OK;
+ RETURNFUNC(RIG_OK);
}
@@ -2249,6 +2276,8 @@ declare_proto_rig(set_ptt)
int scr;
ptt_t ptt;
+ ENTERFUNC;
+
CHKSCN1ARG(sscanf(arg1, "%d", &scr));
ptt = scr;
@@ -2282,10 +2311,10 @@ declare_proto_rig(set_ptt)
// this case is not handled in hamlib, but we guard against
// illegal parameters here. The hamlib behaviour is to switch
// on PTT whenever ptt != RIG_PTT_OFF.
- return -RIG_EINVAL;
+ RETURNFUNC(-RIG_EINVAL);
}
- return rig_set_ptt(rig, vfo, ptt);
+ RETURNFUNC(rig_set_ptt(rig, vfo, ptt));
}
@@ -2295,11 +2324,13 @@ declare_proto_rig(get_ptt)
int status;
ptt_t ptt = 0;
+ ENTERFUNC;
+
status = rig_get_ptt(rig, vfo, &ptt);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2310,7 +2341,7 @@ declare_proto_rig(get_ptt)
/* TODO MICDATA */
fprintf(fout, "%d%c", ptt, resp_sep);
- return status;
+ RETURNFUNC(status);
}
@@ -2320,11 +2351,13 @@ declare_proto_rig(get_dcd)
int status;
dcd_t dcd;
+ ENTERFUNC;
+
status = rig_get_dcd(rig, vfo, &dcd);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2334,7 +2367,7 @@ declare_proto_rig(get_dcd)
fprintf(fout, "%d%c", dcd, resp_sep);
- return status;
+ RETURNFUNC(status);
}
@@ -2343,8 +2376,11 @@ declare_proto_rig(set_rptr_shift)
{
rptr_shift_t rptr_shift;
+ ENTERFUNC;
+
rptr_shift = rig_parse_rptr_shift(arg1);
- return rig_set_rptr_shift(rig, vfo, rptr_shift);
+
+ RETURNFUNC(rig_set_rptr_shift(rig, vfo, rptr_shift));
}
@@ -2354,11 +2390,13 @@ declare_proto_rig(get_rptr_shift)
int status;
rptr_shift_t rptr_shift;
+ ENTERFUNC;
+
status = rig_get_rptr_shift(rig, vfo, &rptr_shift);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2368,7 +2406,7 @@ declare_proto_rig(get_rptr_shift)
fprintf(fout, "%s%c", rig_strptrshift(rptr_shift), resp_sep);
- return status;
+ RETURNFUNC(status);
}
@@ -2377,8 +2415,11 @@ declare_proto_rig(set_rptr_offs)
{
unsigned long rptr_offs;
+ ENTERFUNC;
+
CHKSCN1ARG(sscanf(arg1, "%lu", &rptr_offs));
- return rig_set_rptr_offs(rig, vfo, rptr_offs);
+
+ RETURNFUNC(rig_set_rptr_offs(rig, vfo, rptr_offs));
}
@@ -2388,11 +2429,13 @@ declare_proto_rig(get_rptr_offs)
int status;
shortfreq_t rptr_offs;
+ ENTERFUNC;
+
status = rig_get_rptr_offs(rig, vfo, &rptr_offs);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2402,7 +2445,7 @@ declare_proto_rig(get_rptr_offs)
fprintf(fout, "%ld%c", rptr_offs, resp_sep);
- return status;
+ RETURNFUNC(status);
}
@@ -2411,8 +2454,11 @@ declare_proto_rig(set_ctcss_tone)
{
tone_t tone;
+ ENTERFUNC;
+
CHKSCN1ARG(sscanf(arg1, "%u", &tone));
- return rig_set_ctcss_tone(rig, vfo, tone);
+
+ RETURNFUNC(rig_set_ctcss_tone(rig, vfo, tone));
}
@@ -2422,11 +2468,13 @@ declare_proto_rig(get_ctcss_tone)
int status;
tone_t tone;
+ ENTERFUNC;
+
status = rig_get_ctcss_tone(rig, vfo, &tone);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2436,7 +2484,7 @@ declare_proto_rig(get_ctcss_tone)
fprintf(fout, "%d%c", tone, resp_sep);
- return status;
+ RETURNFUNC(status);
}
@@ -2445,8 +2493,11 @@ declare_proto_rig(set_dcs_code)
{
tone_t code;
+ ENTERFUNC;
+
CHKSCN1ARG(sscanf(arg1, "%u", &code));
- return rig_set_dcs_code(rig, vfo, code);
+
+ RETURNFUNC(rig_set_dcs_code(rig, vfo, code));
}
@@ -2456,11 +2507,13 @@ declare_proto_rig(get_dcs_code)
int status;
tone_t code;
+ ENTERFUNC;
+
status = rig_get_dcs_code(rig, vfo, &code);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2470,7 +2523,7 @@ declare_proto_rig(get_dcs_code)
fprintf(fout, "%d%c", code, resp_sep);
- return status;
+ RETURNFUNC(status);
}
@@ -2479,8 +2532,11 @@ declare_proto_rig(set_ctcss_sql)
{
tone_t tone;
+ ENTERFUNC;
+
CHKSCN1ARG(sscanf(arg1, "%u", &tone));
- return rig_set_ctcss_sql(rig, vfo, tone);
+
+ RETURNFUNC(rig_set_ctcss_sql(rig, vfo, tone));
}
@@ -2490,11 +2546,13 @@ declare_proto_rig(get_ctcss_sql)
int status;
tone_t tone;
+ ENTERFUNC;
+
status = rig_get_ctcss_sql(rig, vfo, &tone);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2504,7 +2562,7 @@ declare_proto_rig(get_ctcss_sql)
fprintf(fout, "%d%c", tone, resp_sep);
- return status;
+ RETURNFUNC(status);
}
@@ -2513,8 +2571,11 @@ declare_proto_rig(set_dcs_sql)
{
tone_t code;
+ ENTERFUNC;
+
CHKSCN1ARG(sscanf(arg1, "%u", &code));
- return rig_set_dcs_sql(rig, vfo, code);
+
+ RETURNFUNC(rig_set_dcs_sql(rig, vfo, code));
}
@@ -2524,11 +2585,13 @@ declare_proto_rig(get_dcs_sql)
int status;
tone_t code;
+ ENTERFUNC;
+
status = rig_get_dcs_sql(rig, vfo, &code);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2538,7 +2601,7 @@ declare_proto_rig(get_dcs_sql)
fprintf(fout, "%d%c", code, resp_sep);
- return status;
+ RETURNFUNC(status);
}
@@ -2548,8 +2611,11 @@ declare_proto_rig(set_split_freq)
freq_t txfreq;
vfo_t txvfo = RIG_VFO_TX;
+ ENTERFUNC;
+
CHKSCN1ARG(sscanf(arg1, "%"SCNfreq, &txfreq));
- return rig_set_split_freq(rig, txvfo, txfreq);
+
+ RETURNFUNC(rig_set_split_freq(rig, txvfo, txfreq));
}
@@ -2560,11 +2626,13 @@ declare_proto_rig(get_split_freq)
freq_t txfreq;
vfo_t txvfo = RIG_VFO_TX;
+ ENTERFUNC;
+
status = rig_get_split_freq(rig, txvfo, &txfreq);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2574,7 +2642,7 @@ declare_proto_rig(get_split_freq)
fprintf(fout, "%"PRIll"%c", (int64_t)txfreq, resp_sep);
- return status;
+ RETURNFUNC(status);
}
@@ -2585,17 +2653,19 @@ declare_proto_rig(set_split_mode)
int width;
vfo_t txvfo = RIG_VFO_TX;
+ ENTERFUNC;
+
if (!strcmp(arg1, "?"))
{
char s[SPRINTF_MAX_SIZE];
rig_sprintf_mode(s, sizeof(s), rig->state.mode_list);
fprintf(fout, "%s\n", s);
- return RIG_OK;
+ RETURNFUNC(RIG_OK);
}
mode = rig_parse_mode(arg1);
CHKSCN1ARG(sscanf(arg2, "%d", &width));
- return rig_set_split_mode(rig, txvfo, mode, (pbwidth_t) width);
+ RETURNFUNC(rig_set_split_mode(rig, txvfo, mode, (pbwidth_t) width));
}
@@ -2607,11 +2677,13 @@ declare_proto_rig(get_split_mode)
pbwidth_t width;
vfo_t txvfo = RIG_VFO_TX;
+ ENTERFUNC;
+
status = rig_get_split_mode(rig, txvfo, &mode, &width);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2628,7 +2700,7 @@ declare_proto_rig(get_split_mode)
fprintf(fout, "%ld%c", width, resp_sep);
- return status;
+ RETURNFUNC(status);
}
@@ -2640,18 +2712,20 @@ declare_proto_rig(set_split_freq_mode)
int width;
vfo_t txvfo = RIG_VFO_TX;
+ ENTERFUNC;
+
if (!strcmp(arg1, "?"))
{
char s[SPRINTF_MAX_SIZE];
rig_sprintf_mode(s, sizeof(s), rig->state.mode_list);
fprintf(fout, "%s\n", s);
- return RIG_OK;
+ RETURNFUNC(RIG_OK);
}
CHKSCN1ARG(sscanf(arg1, "%"SCNfreq, &freq));
mode = rig_parse_mode(arg2);
CHKSCN1ARG(sscanf(arg3, "%d", &width));
- return rig_set_split_freq_mode(rig, txvfo, freq, mode, (pbwidth_t) width);
+ RETURNFUNC(rig_set_split_freq_mode(rig, txvfo, freq, mode, (pbwidth_t) width));
}
@@ -2664,11 +2738,13 @@ declare_proto_rig(get_split_freq_mode)
pbwidth_t width;
vfo_t txvfo = RIG_VFO_TX;
+ ENTERFUNC;
+
status = rig_get_split_freq_mode(rig, txvfo, &freq, &mode, &width);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2692,7 +2768,7 @@ declare_proto_rig(get_split_freq_mode)
fprintf(fout, "%ld%c", width, resp_sep);
- return status;
+ RETURNFUNC(status);
}
@@ -2702,6 +2778,8 @@ declare_proto_rig(set_split_vfo)
int split;
vfo_t tx_vfo;
+ ENTERFUNC;
+
CHKSCN1ARG(sscanf(arg1, "%d", &split));
if (!strcmp(arg2, "?"))
@@ -2709,17 +2787,17 @@ declare_proto_rig(set_split_vfo)
char s[SPRINTF_MAX_SIZE];
rig_sprintf_vfo(s, sizeof(s), rig->state.vfo_list);
fprintf(fout, "%s\n", s);
- return RIG_OK;
+ RETURNFUNC(RIG_OK);
}
tx_vfo = rig_parse_vfo(arg2);
if (tx_vfo == RIG_VFO_NONE)
{
- return -RIG_EINVAL;
+ RETURNFUNC(-RIG_EINVAL);
}
- return rig_set_split_vfo(rig, vfo, (split_t) split, tx_vfo);
+ RETURNFUNC(rig_set_split_vfo(rig, vfo, (split_t) split, tx_vfo));
}
@@ -2730,11 +2808,13 @@ declare_proto_rig(get_split_vfo)
split_t split;
vfo_t tx_vfo;
+ ENTERFUNC;
+
status = rig_get_split_vfo(rig, vfo, &split, &tx_vfo);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2751,7 +2831,7 @@ declare_proto_rig(get_split_vfo)
fprintf(fout, "%s%c", rig_strvfo(tx_vfo), resp_sep);
- return status;
+ RETURNFUNC(status);
}
@@ -2760,8 +2840,11 @@ declare_proto_rig(set_ts)
{
unsigned long ts;
+ ENTERFUNC;
+
CHKSCN1ARG(sscanf(arg1, "%lu", &ts));
- return rig_set_ts(rig, vfo, ts);
+
+ RETURNFUNC(rig_set_ts(rig, vfo, ts));
}
@@ -2771,11 +2854,13 @@ declare_proto_rig(get_ts)
int status;
shortfreq_t ts;
+ ENTERFUNC;
+
status = rig_get_ts(rig, vfo, &ts);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2785,7 +2870,7 @@ declare_proto_rig(get_ts)
fprintf(fout, "%ld%c", ts, resp_sep);
- return status;
+ RETURNFUNC(status);
}
@@ -2798,6 +2883,8 @@ declare_proto_rig(power2mW)
rmode_t mode;
unsigned int mwp;
+ ENTERFUNC;
+
CHKSCN1ARG(sscanf(arg1, "%f", &power));
CHKSCN1ARG(sscanf(arg2, "%"SCNfreq, &freq));
mode = rig_parse_mode(arg3);
@@ -2806,7 +2893,7 @@ declare_proto_rig(power2mW)
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2816,7 +2903,7 @@ declare_proto_rig(power2mW)
fprintf(fout, "%i%c", mwp, resp_sep);
- return status;
+ RETURNFUNC(status);
}
@@ -2829,6 +2916,8 @@ declare_proto_rig(mW2power)
rmode_t mode;
unsigned int mwp;
+ ENTERFUNC;
+
CHKSCN1ARG(sscanf(arg1, "%u", &mwp));
CHKSCN1ARG(sscanf(arg2, "%"SCNfreq, &freq));
mode = rig_parse_mode(arg3);
@@ -2837,7 +2926,7 @@ declare_proto_rig(mW2power)
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -2847,7 +2936,7 @@ declare_proto_rig(mW2power)
fprintf(fout, "%f%c", power, resp_sep);
- return status;
+ RETURNFUNC(status);
}
@@ -2865,6 +2954,8 @@ declare_proto_rig(set_level)
setting_t level;
value_t val;
+ ENTERFUNC;
+
if (!strcmp(arg1, "?"))
{
char s[SPRINTF_MAX_SIZE];
@@ -2878,7 +2969,7 @@ declare_proto_rig(set_level)
}
fputc('\n', fout);
- return RIG_OK;
+ RETURNFUNC(RIG_OK);
}
level = rig_parse_level(arg1);
@@ -2896,7 +2987,7 @@ declare_proto_rig(set_level)
if (!cfp)
{
- return -RIG_ENAVAIL; /* no such parameter */
+ RETURNFUNC(-RIG_ENAVAIL); /* no such parameter */
}
switch (cfp->type)
@@ -2920,10 +3011,10 @@ declare_proto_rig(set_level)
break;
default:
- return -RIG_ECONF;
+ RETURNFUNC(-RIG_ECONF);
}
- return rig_set_ext_level(rig, vfo, cfp->token, val);
+ RETURNFUNC(rig_set_ext_level(rig, vfo, cfp->token, val));
}
if (RIG_LEVEL_IS_FLOAT(level))
@@ -2935,7 +3026,7 @@ declare_proto_rig(set_level)
CHKSCN1ARG(sscanf(arg2, "%d", &val.i));
}
- return rig_set_level(rig, vfo, level, val);
+ RETURNFUNC(rig_set_level(rig, vfo, level, val));
}
@@ -2946,6 +3037,8 @@ declare_proto_rig(get_level)
setting_t level;
value_t val;
+ ENTERFUNC;
+
if (!strcmp(arg1, "?"))
{
char s[SPRINTF_MAX_SIZE];
@@ -2959,7 +3052,7 @@ declare_proto_rig(get_level)
}
fputc('\n', fout);
- return RIG_OK;
+ RETURNFUNC(RIG_OK);
}
level = rig_parse_level(arg1);
@@ -2972,14 +3065,15 @@ declare_proto_rig(get_level)
if (!cfp)
{
- return -RIG_EINVAL; /* no such parameter */
+ rig_debug(RIG_DEBUG_ERR, "%s: level not found=%s\n", __func__, arg1);
+ RETURNFUNC(-RIG_EINVAL); /* no such parameter */
}
status = rig_get_ext_level(rig, vfo, cfp->token, &val);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if (interactive && prompt)
@@ -2991,7 +3085,7 @@ declare_proto_rig(get_level)
{
case RIG_CONF_BUTTON:
/* there's no sense in retrieving value of stateless button */
- return -RIG_EINVAL;
+ RETURNFUNC(-RIG_EINVAL);
case RIG_CONF_CHECKBUTTON:
case RIG_CONF_COMBO:
@@ -3007,17 +3101,17 @@ declare_proto_rig(get_level)
break;
default:
- return -RIG_ECONF;
+ RETURNFUNC(-RIG_ECONF);
}
- return status;
+ RETURNFUNC(status);
}
status = rig_get_level(rig, vfo, level, &val);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if (interactive && prompt)
@@ -3034,7 +3128,7 @@ declare_proto_rig(get_level)
fprintf(fout, "%d\n", val.i);
}
- return status;
+ RETURNFUNC(status);
}
@@ -3044,12 +3138,14 @@ declare_proto_rig(set_func)
setting_t func;
int func_stat;
+ ENTERFUNC;
+
if (!strcmp(arg1, "?"))
{
char s[SPRINTF_MAX_SIZE];
rig_sprintf_func(s, sizeof(s), rig->state.has_set_func);
fprintf(fout, "%s\n", s);
- return RIG_OK;
+ RETURNFUNC(RIG_OK);
}
func = rig_parse_func(arg1);
@@ -3062,16 +3158,16 @@ declare_proto_rig(set_func)
if (!cfp)
{
- return -RIG_ENAVAIL; /* no such parameter */
+ RETURNFUNC(-RIG_ENAVAIL); /* no such parameter */
}
CHKSCN1ARG(sscanf(arg2, "%d", &func_stat));
- return rig_set_ext_func(rig, vfo, cfp->token, func_stat);
+ RETURNFUNC(rig_set_ext_func(rig, vfo, cfp->token, func_stat));
}
CHKSCN1ARG(sscanf(arg2, "%d", &func_stat));
- return rig_set_func(rig, vfo, func, func_stat);
+ RETURNFUNC(rig_set_func(rig, vfo, func, func_stat));
}
@@ -3082,12 +3178,14 @@ declare_proto_rig(get_func)
setting_t func;
int func_stat;
+ ENTERFUNC;
+
if (!strcmp(arg1, "?"))
{
char s[SPRINTF_MAX_SIZE];
rig_sprintf_func(s, sizeof(s), rig->state.has_get_func);
fprintf(fout, "%s\n", s);
- return RIG_OK;
+ RETURNFUNC(RIG_OK);
}
func = rig_parse_func(arg1);
@@ -3100,14 +3198,14 @@ declare_proto_rig(get_func)
if (!cfp)
{
- return -RIG_EINVAL; /* no such parameter */
+ RETURNFUNC(-RIG_EINVAL); /* no such parameter */
}
status = rig_get_ext_func(rig, vfo, cfp->token, &func_stat);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if (interactive && prompt)
@@ -3117,14 +3215,14 @@ declare_proto_rig(get_func)
fprintf(fout, "%d\n", func_stat);
- return status;
+ RETURNFUNC(status);
}
status = rig_get_func(rig, vfo, func, &func_stat);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if (interactive && prompt)
@@ -3134,7 +3232,7 @@ declare_proto_rig(get_func)
fprintf(fout, "%d\n", func_stat);
- return status;
+ RETURNFUNC(status);
}
@@ -3144,12 +3242,14 @@ declare_proto_rig(set_parm)
setting_t parm;
value_t val;
+ ENTERFUNC;
+
if (!strcmp(arg1, "?"))
{
char s[SPRINTF_MAX_SIZE];
rig_sprintf_parm(s, sizeof(s), rig->state.has_set_parm);
fprintf(fout, "%s\n", s);
- return RIG_OK;
+ RETURNFUNC(RIG_OK);
}
parm = rig_parse_parm(arg1);
@@ -3162,7 +3262,7 @@ declare_proto_rig(set_parm)
if (!cfp)
{
- return -RIG_EINVAL; /* no such parameter */
+ RETURNFUNC(-RIG_EINVAL); /* no such parameter */
}
switch (cfp->type)
@@ -3190,10 +3290,10 @@ declare_proto_rig(set_parm)
break;
default:
- return -RIG_ECONF;
+ RETURNFUNC(-RIG_ECONF);
}
- return rig_set_ext_parm(rig, cfp->token, val);
+ RETURNFUNC(rig_set_ext_parm(rig, cfp->token, val));
}
if (RIG_PARM_IS_FLOAT(parm))
@@ -3205,7 +3305,7 @@ declare_proto_rig(set_parm)
CHKSCN1ARG(sscanf(arg2, "%d", &val.i));
}
- return rig_set_parm(rig, parm, val);
+ RETURNFUNC(rig_set_parm(rig, parm, val));
}
@@ -3217,12 +3317,14 @@ declare_proto_rig(get_parm)
value_t val;
char buffer[RIG_BIN_MAX];
+ ENTERFUNC;
+
if (!strcmp(arg1, "?"))
{
char s[SPRINTF_MAX_SIZE];
rig_sprintf_parm(s, sizeof(s), rig->state.has_get_parm);
fprintf(fout, "%s\n", s);
- return RIG_OK;
+ RETURNFUNC(RIG_OK);
}
parm = rig_parse_parm(arg1);
@@ -3235,7 +3337,7 @@ declare_proto_rig(get_parm)
if (!cfp)
{
- return -RIG_EINVAL; /* no such parameter */
+ RETURNFUNC(-RIG_EINVAL); /* no such parameter */
}
switch (cfp->type)
@@ -3260,7 +3362,7 @@ declare_proto_rig(get_parm)
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if (interactive && prompt)
@@ -3272,7 +3374,7 @@ declare_proto_rig(get_parm)
{
case RIG_CONF_BUTTON:
/* there's not sense in retrieving value of stateless button */
- return -RIG_EINVAL;
+ RETURNFUNC(-RIG_EINVAL);
case RIG_CONF_CHECKBUTTON:
case RIG_CONF_COMBO:
@@ -3292,17 +3394,17 @@ declare_proto_rig(get_parm)
break;
default:
- return -RIG_ECONF;
+ RETURNFUNC(-RIG_ECONF);
}
- return status;
+ RETURNFUNC(status);
}
status = rig_get_parm(rig, parm, &val);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if (interactive && prompt)
@@ -3319,7 +3421,7 @@ declare_proto_rig(get_parm)
fprintf(fout, "%d\n", val.i);
}
- return status;
+ RETURNFUNC(status);
}
@@ -3328,8 +3430,11 @@ declare_proto_rig(set_bank)
{
int bank;
+ ENTERFUNC;
+
CHKSCN1ARG(sscanf(arg1, "%d", &bank));
- return rig_set_bank(rig, vfo, bank);
+
+ RETURNFUNC(rig_set_bank(rig, vfo, bank));
}
@@ -3338,8 +3443,11 @@ declare_proto_rig(set_mem)
{
int ch;
+ ENTERFUNC;
+
CHKSCN1ARG(sscanf(arg1, "%d", &ch));
- return rig_set_mem(rig, vfo, ch);
+
+ RETURNFUNC(rig_set_mem(rig, vfo, ch));
}
@@ -3349,11 +3457,13 @@ declare_proto_rig(get_mem)
int status;
int ch;
+ ENTERFUNC;
+
status = rig_get_mem(rig, vfo, &ch);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -3363,7 +3473,7 @@ declare_proto_rig(get_mem)
fprintf(fout, "%d%c", ch, resp_sep);
- return status;
+ RETURNFUNC(status);
}
@@ -3372,22 +3482,24 @@ declare_proto_rig(vfo_op)
{
vfo_op_t op;
+ ENTERFUNC;
+
if (!strcmp(arg1, "?"))
{
char s[SPRINTF_MAX_SIZE];
rig_sprintf_vfop(s, sizeof(s), rig->caps->vfo_ops);
fprintf(fout, "%s\n", s);
- return RIG_OK;
+ RETURNFUNC(RIG_OK);
}
op = rig_parse_vfo_op(arg1);
if (RIG_OP_NONE == op)
{
- return -RIG_EINVAL;
+ RETURNFUNC(-RIG_EINVAL);
}
- return rig_vfo_op(rig, vfo, op);
+ RETURNFUNC(rig_vfo_op(rig, vfo, op));
}
@@ -3397,17 +3509,19 @@ declare_proto_rig(scan)
scan_t op;
int ch;
+ ENTERFUNC;
+
if (!strcmp(arg1, "?"))
{
char s[SPRINTF_MAX_SIZE];
rig_sprintf_scan(s, sizeof(s), rig->caps->scan_ops);
fprintf(fout, "%s\n", s);
- return RIG_OK;
+ RETURNFUNC(RIG_OK);
}
op = rig_parse_scan(arg1);
CHKSCN1ARG(sscanf(arg2, "%d", &ch));
- return rig_scan(rig, vfo, op, ch);
+ RETURNFUNC(rig_scan(rig, vfo, op, ch));
}
@@ -3420,6 +3534,8 @@ declare_proto_rig(set_channel)
int status;
char s[16];
+ ENTERFUNC;
+
memset(&chan, 0, sizeof(channel_t));
if (isdigit((int)arg1[0]))
@@ -3448,7 +3564,7 @@ declare_proto_rig(set_channel)
if (!mem_caps)
{
- return -RIG_ECONF;
+ RETURNFUNC(-RIG_ECONF);
}
if (mem_caps->bank_num)
@@ -3724,7 +3840,7 @@ declare_proto_rig(set_channel)
status = rig_set_channel(rig, vfo, &chan);
- return status;
+ RETURNFUNC(status);
}
@@ -3735,6 +3851,8 @@ declare_proto_rig(get_channel)
int read_only = 0;
channel_t chan;
+ ENTERFUNC;
+
memset(&chan, 0, sizeof(channel_t));
if (isdigit((int)arg1[0]))
@@ -3754,7 +3872,7 @@ declare_proto_rig(get_channel)
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
status = dump_chan(fout, rig, &chan);
@@ -3764,17 +3882,19 @@ declare_proto_rig(get_channel)
free(chan.ext_levels);
}
- return status;
+ RETURNFUNC(status);
}
static int myfreq_event(RIG *rig, vfo_t vfo, freq_t freq, rig_ptr_t arg)
{
+ ENTERFUNC;
+
printf("Event: freq changed to %"PRIll"Hz on %s\n",
(int64_t)freq,
rig_strvfo(vfo));
- return 0;
+ RETURNFUNC(0);
}
@@ -3784,34 +3904,42 @@ static int mymode_event(RIG *rig,
pbwidth_t width,
rig_ptr_t arg)
{
+ ENTERFUNC;
+
printf("Event: mode changed to %s, width %liHz on %s\n",
rig_strrmode(mode),
width, rig_strvfo(vfo));
- return 0;
+ RETURNFUNC(0);
}
static int myvfo_event(RIG *rig, vfo_t vfo, rig_ptr_t arg)
{
+ ENTERFUNC;
+
printf("Event: vfo changed to %s\n", rig_strvfo(vfo));
- return 0;
+ RETURNFUNC(0);
}
static int myptt_event(RIG *rig, vfo_t vfo, ptt_t ptt, rig_ptr_t arg)
{
+ ENTERFUNC;
+
printf("Event: PTT changed to %i on %s\n", ptt, rig_strvfo(vfo));
- return 0;
+ RETURNFUNC(0);
}
static int mydcd_event(RIG *rig, vfo_t vfo, dcd_t dcd, rig_ptr_t arg)
{
+ ENTERFUNC;
+
printf("Event: DCD changed to %i on %s\n", dcd, rig_strvfo(vfo));
- return 0;
+ RETURNFUNC(0);
}
@@ -3820,10 +3948,12 @@ declare_proto_rig(set_trn)
{
int trn;
+ ENTERFUNC;
+
if (!strcmp(arg1, "?"))
{
fprintf(fout, "OFF RIG POLL\n");
- return RIG_OK;
+ RETURNFUNC(RIG_OK);
}
if (!strcmp(arg1, "OFF"))
@@ -3840,7 +3970,7 @@ declare_proto_rig(set_trn)
}
else
{
- return -RIG_EINVAL;
+ RETURNFUNC(-RIG_EINVAL);
}
if (trn != RIG_TRN_OFF)
@@ -3852,7 +3982,7 @@ declare_proto_rig(set_trn)
rig_set_dcd_callback(rig, mydcd_event, NULL);
}
- return rig_set_trn(rig, trn);
+ RETURNFUNC(rig_set_trn(rig, trn));
}
@@ -3868,11 +3998,13 @@ declare_proto_rig(get_trn)
"POLL"
};
+ ENTERFUNC;
+
status = rig_get_trn(rig, &trn);
if (status != RIG_OK)
{
- return status;
+ RETURNFUNC(status);
}
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
@@ -3885,7 +4017,7 @@ declare_proto_rig(get_trn)
fprintf(fout, "%s%c", trn_txt[trn], resp_sep);
}
- return status;
+ RETURNFUNC(status);
}
@@ -3894,6 +4026,8 @@ d...
[truncated message content] |
|
From: Michael B. <mdb...@us...> - 2021-03-08 14:11:28
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via ca3e67aa27fcdd68fa880056426c80141c14dc73 (commit)
from 57ba6800f1bc918653a12612a88ec5abacfe70b4 (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 ca3e67aa27fcdd68fa880056426c80141c14dc73
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Mar 8 08:01:00 2021 -0600
Fix newcat.c set_cmd_validate to return RIG_OK when succesful
https://github.com/Hamlib/Hamlib/issues/591
diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c
index 10062080..4fa5a733 100644
--- a/rigs/yaesu/newcat.c
+++ b/rigs/yaesu/newcat.c
@@ -9814,7 +9814,9 @@ int newcat_set_cmd(RIG *rig)
if (rc == RIG_OK)
{
+ // if we were able to set and and validate we're done
rig_debug(RIG_DEBUG_TRACE, "%s: cmd_validate OK\n", __func__);
+ RETURNFUNC(RIG_OK);
}
else if (rc == -RIG_EPROTO)
{
diff --git a/rigs/yaesu/newcat.h b/rigs/yaesu/newcat.h
index cc855037..127ebfbb 100644
--- a/rigs/yaesu/newcat.h
+++ b/rigs/yaesu/newcat.h
@@ -50,7 +50,7 @@
typedef char ncboolean;
/* shared function version */
-#define NEWCAT_VER "20210307"
+#define NEWCAT_VER "20210308"
/* Hopefully large enough for future use, 128 chars plus '\0' */
#define NEWCAT_DATA_LEN 129
-----------------------------------------------------------------------
Summary of changes:
rigs/yaesu/newcat.c | 2 ++
rigs/yaesu/newcat.h | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-03-08 13:32:03
|
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 57ba6800f1bc918653a12612a88ec5abacfe70b4 (commit)
from b4dd01f6f38ff64fd1c638d5aa59e8ca7c59ca67 (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 57ba6800f1bc918653a12612a88ec5abacfe70b4
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Mar 8 07:31:21 2021 -0600
More debug info when frequency cannot be set
diff --git a/src/rig.c b/src/rig.c
index 0a807bd8..59036160 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -1618,7 +1618,7 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
if (retry == 0)
{
- rig_debug(RIG_DEBUG_ERR, "%s: unable to set frequency!!\n", __func__);
+ rig_debug(RIG_DEBUG_ERR, "%s: unable to set frequency!!, asked for %.0f, got %.0f\n", __func__, freq, tfreq);
}
}
else
-----------------------------------------------------------------------
Summary of changes:
src/rig.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-03-07 20:28:21
|
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 b4dd01f6f38ff64fd1c638d5aa59e8ca7c59ca67 (commit)
via 8296ca7ecd64bb3f339cae8788c6bf564c60a4e7 (commit)
via c1f539b1f6f113d3c209fa5f456fd6c160ed6304 (commit)
via a35f39840c0117816850bd8ad8bab73e93021dcd (commit)
via 307858f60c4c6dad3abc22c406ccf47aa32ebe73 (commit)
via 94e51bfa245b6e5e2c1459a0098c49d1f8828943 (commit)
via b2a0b15a67596c49f12f3f5c82dd167c2ae54b1e (commit)
via 4cc1515f90d4209b4c80a7692ffd0818848f2365 (commit)
via 4d116d2f6ccda1095e509683418839f9b7a84f77 (commit)
via f2586d0acbe3cd4b683bbd8e85dbbdd50255e32c (commit)
via 3cad5c9a30148c05e42ccb0b73d7cbabe29a508c (commit)
via 1fcb9404b9138804e1a2c4c9d3cd0c80daf07fde (commit)
via 2fb96a34b99ca69f80a47c96fb9674ef28956558 (commit)
via 6577c0f564508281b560905516def0a325aa07eb (commit)
via 3d613519d52b8520d7a66f03389b2a2b3abf0c0a (commit)
via e6e04d258c7751608a587df5cb75d2f50d379181 (commit)
via 175092a99c3a6f9470f461e0d9fac630f01999e3 (commit)
via a791dc26993911cfed723ae37feddb2f6c7632b2 (commit)
via e954a5df2d4f35d611b552338615ab766ba857f0 (commit)
via 9a44b2777532d01bc189143a3205f8a276b50b55 (commit)
via ef2e8a4d94d854c179e0ca16beef8c4147ee6eea (commit)
via 3aac60b5dfd18214f644a8a8e66a1d056e23451a (commit)
via 678f01d79d929d833254a468bef55756fd113b99 (commit)
via b9afd75110b1d8c6e7b96f3c2e12069b3f7efa2c (commit)
via ff9c1badfaf3772c20cc131d64115ce560d184a5 (commit)
via 709f28100579b9b8d20f4a45f766a7caa684d86a (commit)
via a33a4ee09886cda6cb60bbd912a1f1627e34e6b1 (commit)
via f88c3f4a4c17dfb39877a2dc449c281ff6bf6a56 (commit)
via c3a1b489b7ce034cc6a90276268f7d520ecff70d (commit)
via 3413b3ab4e59f96eaf595cdfb3a1a04af7404bd6 (commit)
via 2d33066df4f3ff4fd8deaca2e42c169b0fe72c17 (commit)
via 0f542ecc4d910f476ed611cddd60e418ba1561a3 (commit)
via 43569822a17f3d1c366224bb644bb99b3d825f0b (commit)
via 4769baa7742df0af1cf0d755926155b4c43a59bc (commit)
via 2c20b0afdb974ed0c290ea7c04ec2f6f97cd91f6 (commit)
via 922d6bd0b315fc03cceca4a055b937cba3b99423 (commit)
via 3f42111caa9ae500be1c6c10cfce8a59f20a1a28 (commit)
via 65d105f2994e3d7638a60abcef1a70681d870b64 (commit)
via 635372ae845ab536c1213f0c6b68e154a313bcbc (commit)
via 3405ac2d1182e6d6d7e91f8117967cfc37d206a5 (commit)
via 20df480b1e5e3a4ac5dfc3926d0b47af584c2fdf (commit)
via 662d56c3841d2403888a13743ec65f54e2325c84 (commit)
via 247c90d4b0ab588edcb108ff4ecef4214e83e245 (commit)
via 1473793f14dad845e1cf7c71abb0dc104495ed94 (commit)
via dd009d63ddfd689cce42d88d879f23b2674c68c1 (commit)
via d33884750ad3661cf844fae07cdd39c8b50f6681 (commit)
via 3ca0313fb49de55ee99bf10a8998ad1913e5704b (commit)
via 8b456a18c461401c9e54110715b4fb10dac2c729 (commit)
via e38b1469a280edfa0be63660e167b6457386054a (commit)
via 5fd5bf521577f31dfa43c8a49d179e5ee1f71ed9 (commit)
via 0acbc83a85f7793d7313ae69ed7169b73d6ec0a9 (commit)
via 50c00cd1151ef5c069882d126c788b762498870a (commit)
via f5135650b37acb0c033952ed5174a4aed16c8f54 (commit)
via 5a8953439851c2ab8229ba122a5d4908ac9eceba (commit)
via ac5550fc199d589d76a44b9d76142f22e01ddc87 (commit)
via 20a7111c5471468162d9ef9065efafa3f8faef23 (commit)
via a67c07a774660af546f65a874e25301670d3b18b (commit)
via 87478b1fbedf600c402ba9257153f52f9f1bdd42 (commit)
via 82126a4f097ac94b25902f3fccc34ec1722075c4 (commit)
via 41bfd57eb389ef6e884f119ccc770af6acb17642 (commit)
via 6d9f3e1c7bd0bf494064d83c7019e8f2dfa1800c (commit)
via 6645419727d7ced4534b67b9776a7222b23cb35f (commit)
via 1a8d3b45d302c10f1a85ceb11b557f7f929fc62e (commit)
via 4402aff64613bf7721396d8bef9281f010e76399 (commit)
via 221d87c2e443e069900281fe14a37ea87f78ff71 (commit)
via 18d50bf7c40047d27cfb7b78e90fa9fe2321b277 (commit)
via 8371f335cdaae65cb23f5564ac8ae111055707ad (commit)
via 396d985261f456183dd65ff4d236971227a65227 (commit)
via 5d18d9f38ffa5879b8414b99f8ae4402bfaa6104 (commit)
via b1101a564a9d346731dafd0c23fcf367ec60acc1 (commit)
via 28f565a8ef8a9c8f93eaecc602c1408629fa5c20 (commit)
via 260c74653e27c39786dd3a5ee060d8029b1d02c1 (commit)
via 2e56014426831a07349ebe83ed806a8d8f530f6c (commit)
via 10fbe9bd4a93faa8a5e9b85d23bb0957bd3bdf60 (commit)
via a5b12a12221dc16a572fcd8b999864584bf8c714 (commit)
via a568374a7e6c687efc64dfff00b398a78afd69de (commit)
via 1f23798efe19bce676ea62827c6509941757eeed (commit)
via a5db433628c91ccde1b292c2601ce63759288fc5 (commit)
via d45c86cfa7dfefe132b07b6580a8b1d44def1456 (commit)
via f12b15b5ca82cda7e9314067940b17551e0cb182 (commit)
via 0fe5b62e6ca970cd212cb6f7e7c4e7916d44bc2d (commit)
via 635f45ef69e7d24cae38623f9f112d7e7405cea6 (commit)
via f5e14a09b642b312ab7d3cb0ffd26c6c9742d026 (commit)
via 52703c35d5f011ef006a1e13c7f53d3bf4d29e33 (commit)
via 9fa3f59684f5699d3b6210c34c75066ae2e0cb14 (commit)
via 6ad5a072c86f6aabdf0fa45b3bb6bc67b578742f (commit)
via 8997f0129a56ecdb67cbf2ce3045dc12584b4427 (commit)
via 5df06c4cbfee7b124095553d95183759d7675b82 (commit)
via 2976239f3a95fcce39e91bc05574d4c1f1ca63ca (commit)
via b4d6eb4aa29c0ccf788c58b629aec1ef8ea85853 (commit)
via 7326f16291315b4156a418e150e08c7d0d287da1 (commit)
via ee60a68becc3138b0d9fcb3e4a8a4325c54afc2e (commit)
via abd8829df10eca1c5297c7f5bea6508ba96e3199 (commit)
via 62523709ceed514a1b540b73c4f4d55d939fed9a (commit)
via 1d7df8634834ae284369287ed9b95b05e0c3eb23 (commit)
via 83c47fad4211692c3157d9dfcdf50dd0a39d749d (commit)
via edf0019960342cb4cf477f18aea9edca09fd4849 (commit)
via c9913526be7a7739b365c026cb70713bef48f66d (commit)
via 7ac58fcd23f192c6cd3d944557a6be2aa3a762bb (commit)
via df549c2d0fc17078e96bb4dc8c3d8257ed2993e8 (commit)
via 67afeb85e79d629c4ef964f0b51821e13dad29f8 (commit)
via db45d736d8830e28d511949b04ccd4ca30779f89 (commit)
via 2bc59544ed82256e838c1be5008e3bffef885e05 (commit)
via 317bf6626df0dea569af15483e5ac4c0c97e4e33 (commit)
via 126e27dc91412fb6572ee00b2cf8b2b0cf52831e (commit)
via 692e562e6649b8bff0dd6fdcb1c1e45804a98f5b (commit)
via 6da15131229c1c964ac988a786d6b4aac8b31521 (commit)
via 1772ccde8be5f8c81b2d8569031ff17a6c212f0d (commit)
via 30a8258f4ee3f5a3d639e2ac9eca06969641fd00 (commit)
via 26cfe0bb3f9d5a1f5cd0f2ae1290fb72bde18eb6 (commit)
via da5a4ddc6e634bb9487edacd9857615d8bcdfd21 (commit)
via 4729f2a0f252cec1cd36f27aa07b29d01c8f986a (commit)
via b2a1955467dda5f4eeb51f075a26cfc2fb3c15e4 (commit)
via 4f98d34ca50f4853f83c369f82667139bbab9114 (commit)
via 2cef91c5e03dd2a3c164cf8b2c565221620f5190 (commit)
via a708471c4422bd7bf538d3c29ce16f2b9962db39 (commit)
via 6ca1b35046034eb69a9460697ca29f5ec73ccc55 (commit)
via 8ccc9f07379c07af9584a6cc0e9a9eadd540411e (commit)
via 9d714e639cb0ff2f869dbf7d86ca7431eb59d42c (commit)
via db776b2d7917bc15569912d1599988547db78e58 (commit)
via bb00c359801b5518407297905a6e5a89a49f0fdd (commit)
via 6049f54ef415020acc3f38a15ebb4ce33bd7be49 (commit)
via ce8e539d864d30eae6f8f02f67599bcc291e552c (commit)
via b713314f7f97daa59b9ba30fc79c43a52a7b00bc (commit)
via 27f9c304800b34927d2289b150705d5dfc8857bb (commit)
via 9869e07af64a3ffe574e387d44ba7bac0ef201b7 (commit)
via 6429a7ef725c0c8054e50a5edfae6ffd097cec11 (commit)
via e7fa4b1c2b0aef6f6a4cafc8a2fec518e4da9ea2 (commit)
via 7fee6e36a566c23eed0632f0a2d355b260cf2bdb (commit)
via 2f53ae58e4705d7e026c3a25df3444f42bfa1bc3 (commit)
via 6da2cf2eebcf99b6fce3f7c56b774740b9084879 (commit)
via f6d22258106b8f763b9e4f04c854d8bb589157a4 (commit)
via 84e4a6a88ca61ea591e39255a2cf57c452c4a165 (commit)
via b835c47b23fab30816f2e90ed19200dc6d3f873d (commit)
via 318b437fa5db765a04b4969e01e4146ce85eb3e3 (commit)
via 9a6552c3cfefd83a91d2685edd8241e3a36bfd3e (commit)
via f6fd0e887b4f4ff9fd283972c583bb8241076dd8 (commit)
via 246886dde7391d30c67b2356a9e8bcc75f61fe62 (commit)
via 2a60fd748b510807e803df518971a1674b0fd85e (commit)
via f7de8ac738e6a368abebd5c4365398abbbb3bb9c (commit)
via dc5e1bf6edcce1f2f748e6e3bc442870e8ea875e (commit)
via 26ca39c214a6c95810a0de5a639a75eef75205ca (commit)
via 7f6ce7a1906b61ec9abeddacfe6fc263bee7f752 (commit)
via b67643bc439e29544c6cc8ae42c2feef671a3fe4 (commit)
via 35cdf5fc3f501b659139297e7b655445516e69a6 (commit)
via 252f939105c7b7f324fb5d24ec0924531a8d4c86 (commit)
via af39f7cacaeab35c4b1fe11986b9dd5a635d0f3d (commit)
via a3eaac9fafacc2a053079540bfc4f92830cb4706 (commit)
via 4c68bc25afd1c5531eb3c8dbf45a1563ef51bf8a (commit)
via 14cfb360fba5ca621a5e0935295675cd6493f0ad (commit)
via 83def50c46437477f1f286ff7c8f1835c64d9a4d (commit)
via 2b778fed634b5c1dc787dcef2ef20f2833006e6a (commit)
via 7eb50d0d97db9ca3e74814d691909f4a6207277a (commit)
via a1f5085f4cce79684fb0e08f15c506e99223ec00 (commit)
via df6378a7b85ac6701a2a2d7aaca1c55673563257 (commit)
via e5964fe670d112782d4864993e94edc992fd99b9 (commit)
via b17f8dc9f691b7e2f102fd9caca1ab8be6ace144 (commit)
via e64c1e8eb7ad16f133ef303f5ab0e9380883dc43 (commit)
via f6cb3cb3427be2b1e014776df5ddcc94894502b1 (commit)
via 0aec4d8bea6391664e867e51a2fef62205af1d4b (commit)
via 965ad4c642dfbeffedebaf0cb5ad6d8ef3808e38 (commit)
via c915d373e7e4ec6af640674152254bc2e17a94de (commit)
via 3ecb7a6e9d98c085a73579a45cbc8a3b30f1f556 (commit)
via c83eb29e2534cc8c054a0a3dd6d5fda84363a3bb (commit)
from 8d57058412359636ec21df82d0d8ddb5371e868b (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 b4dd01f6f38ff64fd1c638d5aa59e8ca7c59ca67
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sun Mar 7 14:23:09 2021 -0600
Fix FTDX101MP detection and renamae ft101 to ft101d
diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c
index 6adc1687..10062080 100644
--- a/rigs/yaesu/newcat.c
+++ b/rigs/yaesu/newcat.c
@@ -90,7 +90,7 @@ typedef struct _yaesu_newcat_commands
ncboolean ft5000;
ncboolean ft1200;
ncboolean ft3000;
- ncboolean ft101;
+ ncboolean ft101d;
ncboolean ft10;
ncboolean ft101mp;
} yaesu_newcat_commands_t;
@@ -210,7 +210,7 @@ static ncboolean is_ftdx9000;
static ncboolean is_ftdx5000;
static ncboolean is_ftdx1200;
static ncboolean is_ftdx3000;
-static ncboolean is_ftdx101;
+static ncboolean is_ftdx101d;
static ncboolean is_ftdx101mp;
static ncboolean is_ftdx10;
@@ -785,7 +785,7 @@ int newcat_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
// some rigs like FTDX101D cannot change non-TX vfo freq
// but they can change the TX vfo
- if ((is_ftdx101 || is_ftdx101mp) && rig->state.cache.ptt == RIG_PTT_ON)
+ if ((is_ftdx101d || is_ftdx101mp) && rig->state.cache.ptt == RIG_PTT_ON)
{
rig_debug(RIG_DEBUG_TRACE, "%s: ftdx101 check vfo OK, vfo=%s, tx_vfo=%s\n",
__func__, rig_strvfo(vfo), rig_strvfo(rig->state.tx_vfo));
@@ -1955,7 +1955,7 @@ int newcat_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t offs)
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "%s%04li%c", command, offs,
cat_term);
}
- else if (is_ftdx101 || is_ftdx101mp || is_ftdx10)
+ else if (is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
if (freq >= 28000000 && freq <= 29700000)
{
@@ -2163,7 +2163,7 @@ int newcat_get_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t *offs)
// Step size is 1 kHz
step = 1000;
}
- else if (is_ftdx101 || is_ftdx101mp || is_ftdx10)
+ else if (is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
if (freq >= 28000000 && freq <= 29700000)
{
@@ -2269,7 +2269,7 @@ int newcat_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t tx_vfo)
vfo = RIG_VFO_A;
tx_vfo = RIG_SPLIT_ON == split ? RIG_VFO_B : RIG_VFO_A;
}
- else if (is_ftdx101 || is_ftdx101mp)
+ else if (is_ftdx101d || is_ftdx101mp)
{
vfo = RIG_VFO_MAIN;
tx_vfo = RIG_SPLIT_ON == split ? RIG_VFO_SUB : RIG_VFO_MAIN;
@@ -2796,7 +2796,7 @@ int newcat_set_ctcss_tone(RIG *rig, vfo_t vfo, tone_t tone)
}
else
{
- if (is_ft891 || is_ft991 || is_ftdx101 || is_ftdx101mp || is_ftdx10)
+ if (is_ft891 || is_ft991 || is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "CN%c0%03d%cCT%c2%c",
main_sub_vfo, i, cat_term, main_sub_vfo, cat_term);
@@ -2841,7 +2841,7 @@ int newcat_get_ctcss_tone(RIG *rig, vfo_t vfo, tone_t *tone)
main_sub_vfo = (RIG_VFO_B == vfo || RIG_VFO_SUB == vfo) ? '1' : '0';
}
- if (is_ft891 || is_ft991 || is_ftdx101 || is_ftdx101mp || is_ftdx10)
+ if (is_ft891 || is_ft991 || is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "%s%c0%c", cmd, main_sub_vfo,
cat_term);
@@ -3454,7 +3454,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
}
if (is_ft950 || is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991
- || is_ftdx101 || is_ftdx101mp || is_ftdx10)
+ || is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
scale = 100.;
}
@@ -3469,7 +3469,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
fpf = newcat_scale_float(scale, val.f);
- if (is_ft950 || is_ft891 || is_ft991 || is_ftdx3000 || is_ftdx101 || is_ftdx101mp || is_ftdx10)
+ if (is_ft950 || is_ft891 || is_ft991 || is_ftdx3000 || is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
// Minimum is 5 watts on these rigs
if (fpf < 5)
@@ -3543,7 +3543,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
RETURNFUNC(-RIG_ENAVAIL);
}
- if (is_ft991 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ft991 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
newcat_get_mode(rig, vfo, &mode, &width);
}
@@ -3562,7 +3562,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
}
}
- if (is_ftdx101 || is_ftdx101mp || is_ftdx10)
+ if (is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "IS%c0%+.4d%c", main_sub_vfo,
val.i, cat_term);
@@ -3585,7 +3585,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
}
// Some Yaesu rigs reject this command in AM/FM modes
- if (is_ft991 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ft991 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
if (mode & RIG_MODE_AM || mode & RIG_MODE_FM || mode & RIG_MODE_AMN
|| mode & RIG_MODE_FMN)
@@ -3652,14 +3652,14 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
RETURNFUNC(-RIG_ENAVAIL);
}
- if (is_ft991 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ft991 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
newcat_get_mode(rig, vfo, &mode, &width);
}
if (val.f > 1.0) { RETURNFUNC(-RIG_EINVAL); }
- if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101 || is_ftdx101mp
+ if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101d || is_ftdx101mp
|| is_ftdx10)
{
fpf = newcat_scale_float(100, val.f);
@@ -3672,7 +3672,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "MG%03d%c", fpf, cat_term);
// Some Yaesu rigs reject this command in RTTY modes
- if (is_ft991 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ft991 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
if (mode & RIG_MODE_RTTY || mode & RIG_MODE_RTTYR)
{
@@ -3689,7 +3689,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
RETURNFUNC(-RIG_ENAVAIL);
}
- if (is_ftdx101 || is_ftdx101mp) // new format for the command with VFO selection
+ if (is_ftdx101d || is_ftdx101mp) // new format for the command with VFO selection
{
format = "MS0%d;";
@@ -3928,7 +3928,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
millis = dot10ths_to_millis(val.i, keyspd.i);
- if (is_ftdx101 || is_ftdx101mp || is_ftdx10)
+ if (is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
if (millis <= 30) { snprintf(priv->cmd_str, sizeof(priv->cmd_str), "SD00;"); }
else if (millis <= 50) { snprintf(priv->cmd_str, sizeof(priv->cmd_str), "SD01;"); }
@@ -4011,7 +4011,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
RETURNFUNC(-RIG_ENAVAIL);
}
- if (is_ft891 || is_ft991 || is_ftdx101 || is_ftdx101mp || is_ftdx10)
+ if (is_ft891 || is_ft991 || is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
scale = 100;
}
@@ -4049,7 +4049,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "VD%04d%c", val.i, cat_term);
}
- else if (is_ftdx101 || is_ftdx101mp || is_ftdx10) // new lookup table argument
+ else if (is_ftdx101d || is_ftdx101mp || is_ftdx10) // new lookup table argument
{
rig_debug(RIG_DEBUG_TRACE, "%s: ft101 #1 val.i=%d\n", __func__, val.i);
@@ -4105,7 +4105,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
break;
case RIG_LEVEL_ANTIVOX:
- if (is_ftdx101 || is_ftdx101mp || is_ftdx10)
+ if (is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
fpf = newcat_scale_float(100, val.f);
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "AV%03d%c", fpf, cat_term);
@@ -4170,7 +4170,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
}
}
- if (is_ft891 || is_ft991 || is_ftdx101 || is_ftdx101mp || is_ftdx10)
+ if (is_ft891 || is_ft991 || is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
if (val.i > 320)
{
@@ -4214,7 +4214,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
if (val.f > 1.0) { RETURNFUNC(-RIG_EINVAL); }
- if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101 || is_ftdx101mp
+ if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101d || is_ftdx101mp
|| is_ftdx10)
{
fpf = newcat_scale_float(100, val.f);
@@ -4331,7 +4331,7 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
RETURNFUNC(-RIG_ENAVAIL);
}
- if (is_ft991 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ft991 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
newcat_get_mode(rig, vfo, &mode, &width);
}
@@ -4345,7 +4345,7 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
}
// Some Yaesu rigs reject this command in AM/FM modes
- if (is_ft991 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ft991 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
if (mode & RIG_MODE_AM || mode & RIG_MODE_FM || mode & RIG_MODE_AMN
|| mode & RIG_MODE_FMN)
@@ -4385,7 +4385,7 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
RETURNFUNC(-RIG_ENAVAIL);
}
- if (is_ft991 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ft991 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
newcat_get_mode(rig, vfo, &mode, &width);
}
@@ -4393,7 +4393,7 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "MG%c", cat_term);
// Some Yaesu rigs reject this command in RTTY modes
- if (is_ft991 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ft991 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
if (mode & RIG_MODE_RTTY || mode & RIG_MODE_RTTYR)
{
@@ -4545,7 +4545,7 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "RM08%c", cat_term);
}
- if (is_ftdx101 || is_ftdx101mp)
+ if (is_ftdx101d || is_ftdx101mp)
{
// separate meters for Main and Sub
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "RM0%c", cat_term);
@@ -4585,7 +4585,7 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
break;
case RIG_LEVEL_ANTIVOX:
- if (is_ftdx101 || is_ftdx101mp || is_ftdx10)
+ if (is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "AV%c", cat_term);
}
@@ -4687,7 +4687,7 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
{
case RIG_LEVEL_RFPOWER:
if (is_ft950 || is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991
- || is_ftdx101 || is_ftdx101mp || is_ftdx10)
+ || is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
scale = 100.;
}
@@ -4857,7 +4857,7 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
break;
case RIG_LEVEL_MICGAIN:
- if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101 || is_ftdx101mp
+ if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101d || is_ftdx101mp
|| is_ftdx10)
{
scale = 100.;
@@ -4888,7 +4888,7 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
break;
case RIG_LEVEL_SQL:
- if (is_ft891 || is_ft991 || is_ftdx101 || is_ftdx101mp || is_ftdx10)
+ if (is_ft891 || is_ft991 || is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
scale = 100.;
}
@@ -4906,7 +4906,7 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
int millis;
value_t keyspd;
- if (is_ftdx101 || is_ftdx101mp || is_ftdx10)
+ if (is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
switch (raw_value)
{
@@ -4954,7 +4954,7 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
}
if (is_ftdx1200 || is_ftdx3000 || is_ftdx5000 || is_ft891 || is_ft991
- || is_ftdx101 || is_ftdx101mp || is_ftdx10)
+ || is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
val->i = round(rig_raw2val(atoi(retlvl), &yaesu_default_str_cal));
}
@@ -5016,7 +5016,7 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
case RIG_LEVEL_VOXDELAY:
val->i = atoi(retlvl);
- if (is_ftdx101 || is_ftdx101mp)
+ if (is_ftdx101d || is_ftdx101mp)
{
switch (val->i)
{
@@ -5169,7 +5169,7 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
break;
case RIG_LEVEL_MONITOR_GAIN:
- if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101 || is_ftdx101mp)
+ if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101d || is_ftdx101mp)
{
scale = 100.;
}
@@ -5222,7 +5222,7 @@ int newcat_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
RETURNFUNC(-RIG_ENAVAIL);
}
- if (is_ft991 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ft991 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
err = newcat_get_mode(rig, vfo, &mode, &width);
}
@@ -5236,7 +5236,7 @@ int newcat_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
}
// Some Yaesu rigs reject this command in FM mode
- if (is_ft991 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ft991 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
if (mode & RIG_MODE_FM || mode & RIG_MODE_FMN)
{
@@ -5257,7 +5257,7 @@ int newcat_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
RETURNFUNC(-RIG_ENAVAIL);
}
- if (is_ft991 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ft991 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
newcat_get_mode(rig, vfo, &mode, &width);
}
@@ -5271,7 +5271,7 @@ int newcat_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
}
// Some Yaesu rigs reject this command in FM mode
- if (is_ft991 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ft991 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
if (mode & RIG_MODE_FM || mode & RIG_MODE_FMN)
{
@@ -5330,7 +5330,7 @@ int newcat_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
RETURNFUNC(-RIG_ENAVAIL);
}
- if (is_ftdx1200 || is_ftdx3000 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ftdx1200 || is_ftdx3000 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
// These rigs can lock Main/Sub VFO dials individually
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "LK%d%c", status ? 7 : 4,
@@ -5380,7 +5380,7 @@ int newcat_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
RETURNFUNC(-RIG_ENAVAIL);
}
- if (is_ft991 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ft991 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
newcat_get_mode(rig, vfo, &mode, &width);
}
@@ -5394,7 +5394,7 @@ int newcat_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
}
// Some Yaesu rigs reject this command in FM mode
- if (is_ft991 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ft991 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
if (mode & RIG_MODE_FM || mode & RIG_MODE_FMN)
{
@@ -5415,12 +5415,12 @@ int newcat_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
RETURNFUNC(-RIG_ENAVAIL);
}
- if (is_ft991 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ft991 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
newcat_get_mode(rig, vfo, &mode, &width);
}
- if (is_ft891 || is_ft991 || is_ftdx1200 || is_ftdx3000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ft891 || is_ft991 || is_ftdx1200 || is_ftdx3000 || is_ftdx101d || is_ftdx101mp)
{
// There seems to be an error in the manuals for some of these rigs stating that values should be 1 = OFF and 2 = ON, but they are 0 = OFF and 1 = ON instead
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "PR0%d%c", status ? 1 : 0,
@@ -5433,7 +5433,7 @@ int newcat_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
}
// Some Yaesu rigs reject this command in AM/FM/RTTY modes
- if (is_ft991 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ft991 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
if (mode & RIG_MODE_AM || mode & RIG_MODE_FM || mode & RIG_MODE_AMN
|| mode & RIG_MODE_FMN ||
@@ -5528,7 +5528,7 @@ int newcat_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status)
RETURNFUNC(-RIG_ENAVAIL);
}
- if (is_ft991 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ft991 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
err = newcat_get_mode(rig, vfo, &mode, &width);
}
@@ -5541,7 +5541,7 @@ int newcat_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status)
}
// Some Yaesu rigs reject this command in FM mode
- if (is_ft991 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ft991 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
if (mode & RIG_MODE_FM || mode & RIG_MODE_FMN)
{
@@ -5660,7 +5660,7 @@ int newcat_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status)
RETURNFUNC(-RIG_ENAVAIL);
}
- if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101 || is_ftdx101mp)
+ if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101d || is_ftdx101mp)
{
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "PR0%c", cat_term);
}
@@ -5748,7 +5748,7 @@ int newcat_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status)
break;
case RIG_FUNC_LOCK:
- if (is_ftdx1200 || is_ftdx3000 || is_ftdx5000 || is_ftdx101 || is_ftdx101mp)
+ if (is_ftdx1200 || is_ftdx3000 || is_ftdx5000 || is_ftdx101d || is_ftdx101mp)
{
// These rigs can lock Main/Sub VFO dials individually
*status = (retfunc[0] == '0' || retfunc[0] == '4') ? 0 : 1;
@@ -6589,7 +6589,6 @@ ncboolean newcat_valid_command(RIG *rig, char const *const command)
const struct rig_caps *caps;
int search_high;
int search_low;
- struct newcat_priv_data *priv = (struct newcat_priv_data *)rig->state.priv;
//ENTERFUNC;
rig_debug(RIG_DEBUG_TRACE, "%s %s\n", __func__, command);
@@ -6617,14 +6616,12 @@ ncboolean newcat_valid_command(RIG *rig, char const *const command)
is_ftdx5000 = newcat_is_rig(rig, RIG_MODEL_FTDX5000);
is_ftdx1200 = newcat_is_rig(rig, RIG_MODEL_FTDX1200);
is_ftdx3000 = newcat_is_rig(rig, RIG_MODEL_FTDX3000);
- is_ftdx101 = newcat_is_rig(rig, RIG_MODEL_FTDX101D)
- && priv->rig_id == NC_RIGID_FTDX101D;
- is_ftdx101mp = newcat_is_rig(rig, RIG_MODEL_FTDX101D)
- && priv->rig_id == NC_RIGID_FTDX101MP;
+ is_ftdx101d = newcat_is_rig(rig, RIG_MODEL_FTDX101D);
+ is_ftdx101mp = newcat_is_rig(rig, RIG_MODEL_FTDX101MP);
is_ftdx10 = newcat_is_rig(rig, RIG_MODEL_FTDX10);
if (!is_ft450 && !is_ft950 && !is_ft891 && !is_ft991 && !is_ft2000
- && !is_ftdx5000 && !is_ftdx9000 && !is_ftdx1200 && !is_ftdx3000 && !is_ftdx101 && !is_ftdx101mp && !is_ftdx10)
+ && !is_ftdx5000 && !is_ftdx9000 && !is_ftdx1200 && !is_ftdx3000 && !is_ftdx101d && !is_ftdx101mp && !is_ftdx10)
{
rig_debug(RIG_DEBUG_ERR, "%s: '%s' is unknown\n", __func__, caps->model_name);
RETURNFUNC(FALSE);
@@ -6695,7 +6692,7 @@ ncboolean newcat_valid_command(RIG *rig, char const *const command)
{
RETURNFUNC(TRUE);
}
- else if (is_ftdx101 && valid_commands[search_index].ft101)
+ else if (is_ftdx101d && valid_commands[search_index].ft101d)
{
RETURNFUNC(TRUE);
}
@@ -6803,7 +6800,7 @@ int newcat_set_tx_vfo(RIG *rig, vfo_t tx_vfo)
p1 = p1 + 2; /* use non-Toggle commands */
}
- if (is_ftdx101 || is_ftdx101mp)
+ if (is_ftdx101d || is_ftdx101mp)
{
// what other Yaeus rigs should be using this?
// The DX101D returns FT0 when in split and not transmitting
@@ -6834,7 +6831,7 @@ int newcat_get_tx_vfo(RIG *rig, vfo_t *tx_vfo)
ENTERFUNC;
- if (is_ftdx101 || is_ftdx101mp)
+ if (is_ftdx101d || is_ftdx101mp)
{
// what other Yaeus rigs should be using this?
// The DX101D returns FT0 when in split and not transmitting
@@ -7690,7 +7687,7 @@ int newcat_set_rx_bandwidth(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
RETURNFUNC(err);
}
} // end is_ftdx5000
- else if (is_ftdx101 || is_ftdx101mp || is_ftdx10)
+ else if (is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
switch (mode)
{
@@ -7932,7 +7929,7 @@ int newcat_set_rx_bandwidth(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
} /* end else */
- if (is_ftdx101 || is_ftdx101mp || is_ft891)
+ if (is_ftdx101d || is_ftdx101mp || is_ft891)
{
// some rigs now require the bandwidth be turned "on"
int on = is_ft891;
@@ -8934,7 +8931,7 @@ int newcat_get_rx_bandwidth(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t *width)
} /* end switch(mode) */
} /* end if is_ftdx5000 */
- else if (is_ftdx101 || is_ftdx101mp || is_ftdx10)
+ else if (is_ftdx101d || is_ftdx101mp || is_ftdx10)
{
rig_debug(RIG_DEBUG_TRACE, "%s: is_ftdx101 w=%d, mode=%s\n", __func__, w,
rig_strrmode(mode));
commit 8296ca7ecd64bb3f339cae8788c6bf564c60a4e7
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sun Mar 7 14:12:12 2021 -0600
Fix FTDX101MP detection
https://github.com/Hamlib/Hamlib/issues/586
diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c
index b307da3d..6adc1687 100644
--- a/rigs/yaesu/newcat.c
+++ b/rigs/yaesu/newcat.c
@@ -6695,7 +6695,11 @@ ncboolean newcat_valid_command(RIG *rig, char const *const command)
{
RETURNFUNC(TRUE);
}
- else if ((is_ftdx101 || is_ftdx101mp) && valid_commands[search_index].ft101)
+ else if (is_ftdx101 && valid_commands[search_index].ft101)
+ {
+ RETURNFUNC(TRUE);
+ }
+ else if (is_ftdx101mp && valid_commands[search_index].ft101mp)
{
RETURNFUNC(TRUE);
}
diff --git a/rigs/yaesu/newcat.h b/rigs/yaesu/newcat.h
index 5d344977..cc855037 100644
--- a/rigs/yaesu/newcat.h
+++ b/rigs/yaesu/newcat.h
@@ -50,7 +50,7 @@
typedef char ncboolean;
/* shared function version */
-#define NEWCAT_VER "20210305"
+#define NEWCAT_VER "20210307"
/* Hopefully large enough for future use, 128 chars plus '\0' */
#define NEWCAT_DATA_LEN 129
commit c1f539b1f6f113d3c209fa5f456fd6c160ed6304
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sun Mar 7 12:02:26 2021 -0600
Add one more level of debug msg history
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index 4afde0d4..7266bd79 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -2896,11 +2896,11 @@ rig_need_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level));
#define DEBUGMSGSAVE_SIZE 24000
extern HAMLIB_EXPORT_VAR(char) debugmsgsave[DEBUGMSGSAVE_SIZE]; // last debug msg
extern HAMLIB_EXPORT_VAR(char) debugmsgsave2[DEBUGMSGSAVE_SIZE]; // last-1 debug msg
+extern HAMLIB_EXPORT_VAR(char) debugmsgsave3[DEBUGMSGSAVE_SIZE]; // last-2 debug msg
#ifndef __cplusplus
#ifdef __GNUC__
// doing the debug macro with a dummy sprintf allows gcc to check the format string
-//#define rig_debug(debug_level,fmt,...) { char xxxbuf[16384]="";snprintf(xxxbuf,sizeof(xxxbuf),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); }
-#define rig_debug(debug_level,fmt,...) do { strcpy(debugmsgsave2, debugmsgsave);snprintf(debugmsgsave,sizeof(debugmsgsave),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); } while(0);
+#define rig_debug(debug_level,fmt,...) do { strcpy(debugmsgsave3, debugmsgsave2);strcpy(debugmsgsave2, debugmsgsave);snprintf(debugmsgsave,sizeof(debugmsgsave),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); } while(0);
#endif
#endif
extern HAMLIB_EXPORT(void)
diff --git a/src/rig.c b/src/rig.c
index 2e48d423..0a807bd8 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -293,6 +293,7 @@ int foreach_opened_rig(int (*cfunc)(RIG *, rig_ptr_t), rig_ptr_t data)
*/
char debugmsgsave[DEBUGMSGSAVE_SIZE] = "No message";
char debugmsgsave2[DEBUGMSGSAVE_SIZE] = "No message";
+char debugmsgsave3[DEBUGMSGSAVE_SIZE] = "No message";
const char *HAMLIB_API rigerror(int errnum)
{
@@ -310,8 +311,8 @@ const char *HAMLIB_API rigerror(int errnum)
if (*p == '\n') { *p = 0; }
- snprintf(msg, sizeof(msg), "%.80s\n%.15000s%.15000s", rigerror_table[errnum],
- debugmsgsave2, debugmsgsave);
+ snprintf(msg, sizeof(msg), "%.80s\n%.15000s%.15000s%.15000s", rigerror_table[errnum],
+ debugmsgsave3,debugmsgsave2, debugmsgsave);
return msg;
}
commit a35f39840c0117816850bd8ad8bab73e93021dcd
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sun Mar 7 11:50:13 2021 -0600
Fix gai_error to print the status instead of errno
https://github.com/Hamlib/Hamlib/issues/589
diff --git a/src/network.c b/src/network.c
index eaf48e37..98a49c15 100644
--- a/src/network.c
+++ b/src/network.c
@@ -225,7 +225,7 @@ int network_open(hamlib_port_t *rp, int default_port)
"%s: cannot get host \"%s\": %s\n",
__func__,
rp->pathname,
- gai_strerror(errno));
+ gai_strerror(status));
RETURNFUNC(-RIG_ECONF);
}
commit 307858f60c4c6dad3abc22c406ccf47aa32ebe73
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sun Mar 7 11:42:01 2021 -0600
Add RETURNFUNC/ENTERFUNC to network.c
https://github.com/Hamlib/Hamlib/issues/514
diff --git a/src/network.c b/src/network.c
index b5a81000..eaf48e37 100644
--- a/src/network.c
+++ b/src/network.c
@@ -140,7 +140,6 @@ int network_open(hamlib_port_t *rp, int default_port)
char hoststr[256], portstr[6] = "";
ENTERFUNC;
- rig_debug(RIG_DEBUG_VERBOSE, "%s version 1.0\n", __func__);
#ifdef __MINGW32__
WSADATA wsadata;
@@ -148,14 +147,14 @@ int network_open(hamlib_port_t *rp, int default_port)
if (!(wsstarted++) && WSAStartup(MAKEWORD(1, 1), &wsadata) == SOCKET_ERROR)
{
rig_debug(RIG_DEBUG_ERR, "%s: error creating socket\n", __func__);
- return -RIG_EIO;
+ RETURNFUNC(-RIG_EIO);
}
#endif
if (!rp)
{
- return -RIG_EINVAL;
+ RETURNFUNC(-RIG_EINVAL);
}
memset(&hints, 0, sizeof(hints));
@@ -181,7 +180,7 @@ int network_open(hamlib_port_t *rp, int default_port)
{
status = parse_hoststr(rp->pathname, hoststr, portstr);
- if (status != RIG_OK) { return status; }
+ if (status != RIG_OK) { RETURNFUNC(status); }
rig_debug(RIG_DEBUG_TRACE, "%s: hoststr=%s, portstr=%s\n", __func__, hoststr,
portstr);
@@ -227,7 +226,7 @@ int network_open(hamlib_port_t *rp, int default_port)
__func__,
rp->pathname,
gai_strerror(errno));
- return -RIG_ECONF;
+ RETURNFUNC(-RIG_ECONF);
}
saved_res = res;
@@ -246,7 +245,7 @@ int network_open(hamlib_port_t *rp, int default_port)
{
handle_error(RIG_DEBUG_ERR, "socket");
freeaddrinfo(saved_res);
- return -RIG_EIO;
+ RETURNFUNC(-RIG_EIO);
}
if (connect(fd, res->ai_addr, res->ai_addrlen) == 0)
@@ -274,12 +273,12 @@ int network_open(hamlib_port_t *rp, int default_port)
"%s: failed to connect to %s\n",
__func__,
rp->pathname);
- return -RIG_EIO;
+ RETURNFUNC(-RIG_EIO);
}
rp->fd = fd;
- return RIG_OK;
+ RETURNFUNC(RIG_OK);
}
@@ -350,7 +349,7 @@ int network_close(hamlib_port_t *rp)
{
int ret;
- rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
+ ENTERFUNC;
#ifdef __MINGW32__
ret = closesocket(rp->fd);
@@ -363,7 +362,7 @@ int network_close(hamlib_port_t *rp)
#else
ret = close(rp->fd);
#endif
- return ret;
+ RETURNFUNC(ret);
}
//! @endcond
commit 94e51bfa245b6e5e2c1459a0098c49d1f8828943
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sun Mar 7 09:03:37 2021 -0600
rigctld.c add retry of rig_open with an IO error
https://github.com/Hamlib/Hamlib/issues/560
diff --git a/tests/rigctld.c b/tests/rigctld.c
index a59388a6..c4edaf6d 100644
--- a/tests/rigctld.c
+++ b/tests/rigctld.c
@@ -1087,13 +1087,26 @@ void *handle_socket(void *arg)
#endif
- // if socket error or rigctld gets RIG_EIO we'll try to reopen
- if (ferror(fsockin))
+ // if we get a hard error we try to reopen the rig again
+ // this should cover short dropouts that can occur
+ if (retcode == -RIG_EIO || retcode == 2)
{
- rig_debug(RIG_DEBUG_ERR, "%s: sockin err=%s\n", __func__, strerror(errno));
- return(NULL);
+ int retry = 3;
+ rig_debug(RIG_DEBUG_ERR, "%s: i/o error\n", __func__)
+
+ do
+ {
+ retcode = rig_close(my_rig);
+ hl_usleep(1000 * 1000);
+ rig_debug(RIG_DEBUG_ERR, "%s: rig_close retcode=%d\n", __func__, retcode);
+ retcode = rig_open(my_rig);
+ rig_debug(RIG_DEBUG_ERR, "%s: rig_open retcode=%d\n", __func__, retcode);
+ }
+ while (retry-- > 0 && retcode != RIG_OK);
+
}
+
#if 0
if (ferror(fsockin) || ferror(fsockout) || retcode == 2)
commit b2a0b15a67596c49f12f3f5c82dd167c2ae54b1e
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sun Mar 7 07:34:18 2021 -0600
Add FTDX101MP to newcat.c command table
https://github.com/Hamlib/Hamlib/issues/586
diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c
index e657567e..b307da3d 100644
--- a/rigs/yaesu/newcat.c
+++ b/rigs/yaesu/newcat.c
@@ -92,6 +92,7 @@ typedef struct _yaesu_newcat_commands
ncboolean ft3000;
ncboolean ft101;
ncboolean ft10;
+ ncboolean ft101mp;
} yaesu_newcat_commands_t;
/**
@@ -231,126 +232,126 @@ static ncboolean is_ftdx10;
*/
static const yaesu_newcat_commands_t valid_commands[] =
{
- /* Command FT-450 FT-950 FT-891 FT-991 FT-2000 FT-9000 FT-5000 FT-1200 FT-3000 FTDX101D FTDX10 */
- {"AB", FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"AC", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"AG", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"AI", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"AM", FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"AN", FALSE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE },
- {"AO", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE },
- {"BA", FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE },
- {"BC", FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"BD", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"BI", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"BM", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE },
- {"BP", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"BS", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"BU", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"BY", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"CH", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"CN", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"CO", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"CS", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"CT", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"DA", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"DN", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"DT", FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, TRUE, TRUE },
- {"DP", FALSE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE },
- {"DS", TRUE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE },
- {"ED", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"EK", FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, TRUE, FALSE, FALSE },
- {"EM", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE },
- {"EN", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE },
- {"EU", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"EX", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"FA", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"FB", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"FK", FALSE, TRUE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE },
- {"FN", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE },
- {"FR", FALSE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"FS", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"FT", TRUE, TRUE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"GT", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"ID", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"IF", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"IS", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"KM", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"KP", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"KR", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"KS", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"KY", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"LK", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"LM", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"MA", FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"MB", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE },
- {"MC", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"MD", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"MG", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"MK", TRUE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE },
- {"ML", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"MR", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"MS", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"MT", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE },
- {"MW", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"MX", FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"NA", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"NB", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"NL", FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"NR", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"OI", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"OS", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"PA", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"PB", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"PC", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"PL", FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"PR", FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"PS", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"QI", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"QR", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"QS", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"RA", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"RC", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"RD", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"RF", FALSE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"RG", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"RI", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"RL", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"RM", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"RO", FALSE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE },
- {"RP", TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE },
- {"RS", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"RT", TRUE, TRUE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"RU", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"SC", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"SD", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"SF", FALSE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"SH", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"SM", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"SQ", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
- {"SS", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE },
+ /* Command FT-450 FT-950 FT-891 FT-991 FT-2000 FT-9000 FT-5000 FT-1200 FT-3000 FTDX101D FTDX10 FTDX101MP */
+ {"AB", FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"AC", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"AG", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"AI", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"AM", FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"AN", FALSE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE },
+ {"AO", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE },
+ {"BA", FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"BC", FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"BD", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"BI", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"BM", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE },
+ {"BP", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"BS", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"BU", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"BY", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"CH", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"CN", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"CO", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"CS", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"CT", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"DA", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"DN", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"DT", FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, TRUE, TRUE, TRUE },
+ {"DP", FALSE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE },
+ {"DS", TRUE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE },
+ {"ED", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"EK", FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE },
+ {"EM", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE },
+ {"EN", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"EU", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"EX", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"FA", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"FB", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"FK", FALSE, TRUE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE },
+ {"FN", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE },
+ {"FR", FALSE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"FS", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"FT", TRUE, TRUE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"GT", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"ID", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"IF", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"IS", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"KM", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"KP", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"KR", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"KS", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"KY", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"LK", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"LM", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"MA", FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"MB", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE },
+ {"MC", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"MD", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"MG", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"MK", TRUE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE },
+ {"ML", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"MR", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"MS", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"MT", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE },
+ {"MW", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"MX", FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE },
+ {"NA", ...
[truncated message content] |
|
From: Nate B. <n0...@us...> - 2021-02-21 19:13:32
|
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 8d57058412359636ec21df82d0d8ddb5371e868b (commit)
via 171aa9e89a82b875422183c07b2ca5de2d4fdecd (commit)
from 62bcb66865a863c77967a0b4142bf668ac064c44 (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 8d57058412359636ec21df82d0d8ddb5371e868b
Merge: 62bcb668 171aa9e8
Author: Nate Bargmann <n0...@n0...>
Date: Sun Feb 21 13:13:03 2021 -0600
Merge pull request #557 from N0NB/doxygen_work
Update and refine Doxygen comments for extension levels, etc.
commit 171aa9e89a82b875422183c07b2ca5de2d4fdecd
Author: Nate Bargmann <n0...@n0...>
Date: Sun Feb 21 13:07:45 2021 -0600
Update and refine Doxygen comments for extension levels, etc.
diff --git a/include/hamlib/amplifier.h b/include/hamlib/amplifier.h
index 05ea5eb4..15624e6b 100644
--- a/include/hamlib/amplifier.h
+++ b/include/hamlib/amplifier.h
@@ -253,8 +253,8 @@ struct amp_caps
setting_t levels;
unsigned ext_levels;
//! @endcond
- const struct confparams *extlevels; /*!< Extension levels structure. */
- const struct confparams *extparms; /*!< Extension parameters structure. */
+ const struct confparams *extlevels; /*!< Extension levels list. \sa extamp.c */
+ const struct confparams *extparms; /*!< Extension parameters list. \sa extamp.c */
const char *macro_name; /*!< Amplifier model macro name. */
};
diff --git a/include/hamlib/rotator.h b/include/hamlib/rotator.h
index e23c3410..1637a364 100644
--- a/include/hamlib/rotator.h
+++ b/include/hamlib/rotator.h
@@ -383,9 +383,9 @@ struct rot_caps {
gran_t level_gran[RIG_SETTING_MAX]; /*!< level granularity (i.e. steps). */
gran_t parm_gran[RIG_SETTING_MAX]; /*!< parm granularity (i.e. steps). */
- const struct confparams *extparms; /*!< Extension parameter list, \sa ext.c. */
- const struct confparams *extlevels; /*!< Extension level list, \sa ext.c. */
- const struct confparams *extfuncs; /*!< Extension func list, \sa ext.c. */
+ const struct confparams *extparms; /*!< Extension parameters list, \sa rot_ext.c. */
+ const struct confparams *extlevels; /*!< Extension levels list, \sa rot_ext.c. */
+ const struct confparams *extfuncs; /*!< Extension functions list, \sa rot_ext.c. */
int *ext_tokens; /*!< Extension token list. */
/*
diff --git a/src/amplifier.c b/src/amplifier.c
index 9aa5056e..60d30e08 100644
--- a/src/amplifier.c
+++ b/src/amplifier.c
@@ -220,7 +220,9 @@ AMP *HAMLIB_API amp_init(amp_model_t amp_model)
/*
* populate the amp->state
- * TODO: read the Preferences here!
+ */
+ /**
+ * \todo Read the Preferences here!
*/
rs = &->state;
diff --git a/src/extamp.c b/src/extamp.c
index a0dbd797..e9289035 100644
--- a/src/extamp.c
+++ b/src/extamp.c
@@ -29,6 +29,7 @@
/**
* \file extamp.c
* \brief Amplifier extension parameters and levels interface.
+ *
* \author Michael Black
* \date 2019
*
@@ -55,8 +56,8 @@
/**
- * \brief Executes \a cfunc on all the elements stored in the
- * amp_caps::extlevels extension levels table.
+ * \brief Executes \a cfunc on all the elements stored in the amp_caps::extlevels
+ * extension levels table.
*
* \param amp The #AMP handle.
* \param cfunc Callback function of each amp_caps::extlevels.
@@ -65,8 +66,8 @@
* The callback function \a cfunc is called until it returns a value which is
* not strictly positive.
*
- * \returns A zero value which means a normal end of iteration, or a negative
- * value which means an abnormal end,
+ * \returns A zero value which means a normal end of iteration, or a
+ * **negative value** which means an abnormal end,
*
* \retval RIG_OK All extension levels elements successfully processed.
* \retval RIG_EINVAL \a amp or \a cfunc is NULL or inconsistent.
@@ -117,7 +118,7 @@ int HAMLIB_API amp_ext_level_foreach(AMP *amp,
* strictly positive.
*
* \returns A zero value which means a normal end of iteration, or a
- * negative value which means an abnormal end.
+ * **negative value** which means an abnormal end.
*
* \retval RIG_OK All extension parameters elements successfully processed.
* \retval RIG_EINVAL \a amp or \a cfunc is NULL or inconsistent.
@@ -163,15 +164,18 @@ int HAMLIB_API amp_ext_parm_foreach(AMP *amp,
* \param amp The #AMP handle.
* \param name The extension levels or parameters token name.
*
- * Searches the amp_caps::extlevels table first and then falls back to
- * amp_caps::extparms.
+ * Searches the amp_caps::extlevels table and then the amp_caps::extparms
+ * table for the token by its name.
+ *
+ * \note As this function is called by amp_ext_token_lookup(), it can be
+ * considered a lower level API.
*
* \return A pointer to the containing #confparams structure member or NULL if
* nothing found or if \a amp is NULL or inconsistent.
*
* \sa amp_ext_token_lookup()
*
- * TODO: should use Lex to speed it up, strcmp() hurts!
+ * \todo Should use Lex to speed it up, strcmp() hurts!
*/
const struct confparams *HAMLIB_API amp_ext_lookup(AMP *amp, const char *name)
{
@@ -205,13 +209,14 @@ const struct confparams *HAMLIB_API amp_ext_lookup(AMP *amp, const char *name)
/**
- * \brief Lookup an extension levels or parameters token by its constant value
- * and return a pointer to the #confparams structure member.
+ * \brief Search for an extension levels or parameters token by its constant
+ * value and return a pointer to the #confparams structure member.
*
* \param amp The #AMP handle.
* \param token The token value (constant).
*
- * Searches the amp_caps::extlevels table first and then falls back to amp_caps::extparms.
+ * Searches the amp_caps::extlevels table first and then the
+ * amp_caps::extparms for the token by its constant value.
*
* \return A pointer to the containing #confparams structure member or NULL if
* nothing found or if \a amp is NULL or inconsistent.
@@ -248,11 +253,14 @@ const struct confparams *HAMLIB_API amp_ext_lookup_tok(AMP *amp, token_t token)
/**
- * \brief Simple lookup returning the extension token ID associated with \a
- * name.
+ * \brief Simple search returning the extension token ID associated with
+ * \a name.
*
* \param amp The #AMP handle.
- * \param name The name string to search.
+ * \param name The token name string to search.
+ *
+ * \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.
*
diff --git a/src/rot_ext.c b/src/rot_ext.c
index b3b19c2f..73aa4468 100644
--- a/src/rot_ext.c
+++ b/src/rot_ext.c
@@ -26,12 +26,16 @@
/**
* \file rot_ext.c
- * \brief Extension request parameter interface for rotators
+ * \brief Rotator extension parameters and levels interface.
*
- * An open-ended set of extension parameters, functions and levels are available
- * for each rotator, as provided in the rotcaps extparms, extfuncs and extlevels lists.
- * These provide a way to work with rotator-specific functions that don't fit into the
- * basic "virtual rotator" of Hamlib.
+ * \author Mikael Nousiainen
+ * \date 2020
+ *
+ * An open-ended set of extension parameters, functions and levels are
+ * available for each rotator, as provided in the rot_caps::extparms,
+ * rot_caps::extfuncs and rot_caps::extlevels lists. These provide a way to
+ * work with rotator-specific functions that don't fit into the basic "virtual
+ * rotator" of Hamlib.
*/
#ifdef HAVE_CONFIG_H
@@ -71,15 +75,21 @@ static int rot_has_ext_token(ROT *rot, token_t token)
/**
- * \param rot The rotator handle
- * \param cfunc callback function of each extfunc
- * \param data cookie to be passed to \a cfunc callback
- * \brief Executes cfunc on all the elements stored in the extfuncs table
+ * \brief Executes \a cfunc on all the elements stored in the
+ * rot_caps::extfuncs table.
+ *
+ * \param rot The #ROT handle.
+ * \param cfunc Callback function of each rot_caps::extfunc.
+ * \param data Cookie to be passed to the callback function \a cfunc.
*
* The callback \a cfunc is called until it returns a value which is not
- * strictly positive. A zero value means a normal end of iteration, and a
- * negative value an abnormal end, which will be the return value of
- * rot_ext_func_foreach.
+ * strictly positive.
+ *
+ * \returns A zero value means a normal end of iteration, or a **negative
+ * value** which means an abnormal end.
+ *
+ * \retval RIG_OK All extension functions elements successfully processed.
+ * \retval RIG_EINVAL \a rot or \a cfunc is NULL or inconsistent.
*/
int HAMLIB_API rot_ext_func_foreach(ROT *rot,
int (*cfunc)(ROT *,
@@ -121,15 +131,21 @@ int HAMLIB_API rot_ext_func_foreach(ROT *rot,
/**
- * \param rot The rotator handle
- * \param cfunc callback function of each extlevel
- * \param data cookie to be passed to \a cfunc callback
- * \brief Executes cfunc on all the elements stored in the extlevels table
+ * \brief Executes \a cfunc on all the elements stored in the
+ * rot_caps::extlevels extension levels table.
+ *
+ * \param rot The #ROT handle.
+ * \param cfunc Callback function of each rot_caps::extlevels.
+ * \param data Cookie to be passed to the callback function \a cfunc.
*
* The callback \a cfunc is called until it returns a value which is not
- * strictly positive. A zero value means a normal end of iteration, and a
- * negative value an abnormal end, which will be the return value of
- * rot_ext_level_foreach.
+ * strictly positive.
+ *
+ * \returns A zero value which means a normal end of iteration, or a
+ * **negative value** which means an abnormal end.
+ *
+ * \retval RIG_OK All extension levels elements successfully processed.
+ * \retval RIG_EINVAL \a rot or \a cfunc is NULL or inconsistent.
*/
int HAMLIB_API rot_ext_level_foreach(ROT *rot,
int (*cfunc)(ROT *,
@@ -171,15 +187,21 @@ int HAMLIB_API rot_ext_level_foreach(ROT *rot,
/**
- * \param rot The rotator handle
- * \param cfunc callback function of each extparm
- * \param data cookie to be passed to \a cfunc callback
- * \brief Executes cfunc on all the elements stored in the extparms table
+ * \brief Executes \a cfunc on all the elements stored in the
+ * rot_caps::extparms extension parameters table.
*
- * The callback \a cfunc is called until it returns a value which is not
- * strictly positive. A zero value means a normal end of iteration, and a
- * negative value an abnormal end, which will be the return value of
- * rot_ext_parm_foreach.
+ * \param rot The #ROT handle.
+ * \param cfunc callback function of each rot_caps::extparms.
+ * \param data Cookie to be passed to the callback function \a cfunc.
+ *
+ * The callback function \a cfunc is called until it returns a value which is not
+ * strictly positive.
+ *
+ * \returns A zero value which means a normal end of iteration, or a
+ * **negative value** which means an abnormal end.
+ *
+ * \retval RIG_OK All extension parameters elements successfully processed.
+ * \retval RIG_EINVAL \a rot or \a cfunc is NULL or inconsistent.
*/
int HAMLIB_API rot_ext_parm_foreach(ROT *rot,
int (*cfunc)(ROT *,
@@ -221,15 +243,24 @@ int HAMLIB_API rot_ext_parm_foreach(ROT *rot,
/**
- * \param rot
- * \param name
- * \brief lookup ext token by its name, return pointer to confparams struct.
+ * \brief Lookup an extension functions, levels, or parameters token by its
+ * name and return a pointer to the containing #confparams structure member.
+ *
+ * \param rot The #ROT handle.
+ * \param name The extension functions, levels, or parameters token name.
+ *
+ * Searches the rot_caps::extlevels, rot_caps::extfuncs and the
+ * rot_caps::extparms tables in order for the token by its name.
*
- * Lookup extlevels table, then extfuncs, then extparms.
+ * \note As this function is called by rot_ext_token_lookup(), it can be
+ * considered a lower level API.
*
- * Returns NULL if nothing found
+ * \return A pointer to the containing #confparams structure member or NULL if
+ * nothing found or if \a rot is NULL or inconsistent.
*
- * TODO: should use Lex to speed it up, strcmp hurts!
+ * \sa rot_ext_token_lookup()
+ *
+ * \todo Should use Lex to speed it up, strcmp() hurts!
*/
const struct confparams *HAMLIB_API rot_ext_lookup(ROT *rot, const char *name)
{
@@ -270,13 +301,18 @@ const struct confparams *HAMLIB_API rot_ext_lookup(ROT *rot, const char *name)
}
/**
- * \param rot
- * \param token
- * \brief lookup ext token, return pointer to confparams struct.
+ * \brief Searches for an extension levels, functions, or parameters token by
+ * its constant value and return a pointer to the #confparams structure
+ * member.
+ *
+ * \param rot The #ROT handle.
+ * \param token The token value (constant).
*
- * lookup extlevels table first, then extfuncs, then fall back to extparms.
+ * Searches the rot_caps::extlevels, rot_caps::extfuncs, and the
+ * rot_caps::extparms tables in order for the token by its constant value.
*
- * Returns NULL if nothing found
+ * \return A pointer to the containing #confparams structure member or NULL if
+ * nothing found or if \a rot is NULL or inconsistent.
*/
const struct confparams *HAMLIB_API rot_ext_lookup_tok(ROT *rot, token_t token)
{
@@ -318,9 +354,18 @@ const struct confparams *HAMLIB_API rot_ext_lookup_tok(ROT *rot, token_t token)
/**
- * \param rot
- * \param name
- * \brief Simple lookup returning token id associated with name
+ * \brief Simple search returning the extension token ID associated with
+ * \a name.
+ *
+ * \param rot The #ROT handle.
+ * \param name The token name string to search.
+ *
+ * \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.
+ *
+ * \sa rot_ext_lookup()
*/
token_t HAMLIB_API rot_ext_token_lookup(ROT *rot, const char *name)
{
diff --git a/src/rotator.c b/src/rotator.c
index 159b85c7..e89d3b33 100644
--- a/src/rotator.c
+++ b/src/rotator.c
@@ -251,7 +251,9 @@ ROT *HAMLIB_API rot_init(rot_model_t rot_model)
/*
* populate the rot->state
- * TODO: read the Preferences here!
+ */
+ /**
+ * \todo Read the Preferences here!
*/
rs = &rot->state;
-----------------------------------------------------------------------
Summary of changes:
include/hamlib/amplifier.h | 4 +-
include/hamlib/rotator.h | 6 +--
src/amplifier.c | 4 +-
src/extamp.c | 36 ++++++++-----
src/rot_ext.c | 127 ++++++++++++++++++++++++++++++---------------
src/rotator.c | 4 +-
6 files changed, 119 insertions(+), 62 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Nate B. <n0...@us...> - 2021-02-21 19:09: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 62bcb66865a863c77967a0b4142bf668ac064c44 (commit)
via 529685ab6993951be1ec7672b90b087bf7f603bc (commit)
via b0fc76ce445857d9e53eaefad1efc23627c94966 (commit)
from 2e321c5191382c0f359eb85e58693e461a7f6549 (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 62bcb66865a863c77967a0b4142bf668ac064c44
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sun Feb 21 12:35:36 2021 -0600
Fix RFPOWER command for TS480
https://github.com/Hamlib/Hamlib/issues/553
diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c
index e6f8bef0..cae882f9 100644
--- a/rigs/kenwood/kenwood.c
+++ b/rigs/kenwood/kenwood.c
@@ -2339,7 +2339,7 @@ static int kenwood_get_power_minmax(RIG *rig, int *power_now, int *power_min,
RETURNFUNC( -RIG_EPROTO);
}
- if (RIG_IS_TS890S)
+ if (RIG_IS_TS890S || RIG_IS_TS480)
{
n = sscanf(levelbuf, "PC%d;", power_now);
diff --git a/rigs/kenwood/kenwood.h b/rigs/kenwood/kenwood.h
index 83553879..66c735d2 100644
--- a/rigs/kenwood/kenwood.h
+++ b/rigs/kenwood/kenwood.h
@@ -27,7 +27,7 @@
#include <string.h>
#include "token.h"
-#define BACKEND_VER "20210209"
+#define BACKEND_VER "20210221"
#define EOM_KEN ';'
#define EOM_TH '\r'
commit 529685ab6993951be1ec7672b90b087bf7f603bc
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Feb 20 10:24:08 2021 -0600
Disable rigctld error check with rig_close/rig_open -- more investigation needed
https://github.com/Hamlib/Hamlib/issues/556
diff --git a/tests/rigctld.c b/tests/rigctld.c
index e65efc97..73dec16c 100644
--- a/tests/rigctld.c
+++ b/tests/rigctld.c
@@ -1092,6 +1092,7 @@ void *handle_socket(void *arg)
RETURNFUNC(NULL);
}
+#if 0
if (ferror(fsockin) || ferror(fsockout) || retcode == 2)
{
if (ferror(fsockout)) fsockout = get_fsockout(handle_data_arg);
@@ -1112,6 +1113,7 @@ void *handle_socket(void *arg)
} while (retry-- > 0 && retcode != RIG_OK);
}
}
+#endif
}
while (retcode == 0 || retcode == 2 || retcode == -RIG_ENAVAIL);
commit b0fc76ce445857d9e53eaefad1efc23627c94966
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Feb 20 08:13:08 2021 -0600
Update NEWS
diff --git a/NEWS b/NEWS
index 85782a0b..7c5dc423 100644
--- a/NEWS
+++ b/NEWS
@@ -10,8 +10,8 @@ Version 4.3
Add twiddle_timeout and twiddle_rit --set-conf options
rigctld --set-conf=twiddle_timeout=5,twiddle_rit=1
This will set the twiddle timeout to 5 seconds and turn on twiddle_rit
- For twiddle timeout VFOB will not be poller for 5 seconds after VFO twiddling is detected
- rigctld --twiddle is deprecated and will be removed in 5.0
+ For twiddle timeout VFOB will not be polled for 5 seconds after VFO twiddling is detected
+ rigctld --twiddle is deprecated and will be removed in 5.0 along with get_twiddle and set_twiddle
Version 4.2
2021-??-??
-----------------------------------------------------------------------
Summary of changes:
NEWS | 4 ++--
rigs/kenwood/kenwood.c | 2 +-
rigs/kenwood/kenwood.h | 2 +-
tests/rigctld.c | 2 ++
4 files changed, 6 insertions(+), 4 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Nate B. <n0...@us...> - 2021-02-20 13:19:13
|
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 2e321c5191382c0f359eb85e58693e461a7f6549 (commit)
via 707fe151d07f88b8a8d697bca7ac72b8cdd69848 (commit)
via 132d896e894f3b0692244e45df686a8eebabd836 (commit)
via 59d09e42a589f9040f9e7441395f655bd518e557 (commit)
via 83c75fa8c6b7e2f63d86dcd9a29c909952c4b8ca (commit)
via a6da45eb8b62bc10b53f1526af9049150ec4d407 (commit)
via 49bcb07b8fbc4f5d23ebff3d7b9224faca47996d (commit)
via 3a0ec1e1b4b5303c01e6aec9b90ce787f95d1681 (commit)
via c3e9677a7edcce722299cd28629fb50297f4df35 (commit)
via 132a5612f4064caecce0e133ff56f573f0783ed1 (commit)
via 0f9a7fac07b13aa4015446074b6ac61632c02d80 (commit)
via a9633cec39899d1f9a3fdaf7ffbbcfb06619c57e (commit)
via 6a3b28e518ac8331915ad2555ef248f0a405cdee (commit)
via 555bf9dc65ead752041f39679a6cab3c3fa6d324 (commit)
via 53b18d4ec40eb034224cf62213e9ef8c4609ddeb (commit)
from 1ad32d412460433724d18f411fffbf2f470a58c7 (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 2e321c5191382c0f359eb85e58693e461a7f6549
Merge: 59d09e42 707fe151
Author: Nate Bargmann <n0...@n0...>
Date: Sat Feb 20 07:18:02 2021 -0600
Merge pull request #555 from N0NB/doxygen_work
Doxygen work
commit 707fe151d07f88b8a8d697bca7ac72b8cdd69848
Author: Nate Bargmann <n0...@n0...>
Date: Sat Feb 20 07:15:25 2021 -0600
Update Doxygen comments in rot_conf.c
diff --git a/src/rot_conf.c b/src/rot_conf.c
index 9faa6aef..95c2a92a 100644
--- a/src/rot_conf.c
+++ b/src/rot_conf.c
@@ -25,7 +25,8 @@
*/
/**
- * \brief Rotator Configuration Interface
+ * \brief Rotator Configuration Interface.
+ *
* \file rot_conf.c
*/
@@ -140,16 +141,29 @@ static const struct confparams rotfrontend_serial_cfg_params[] =
{ RIG_CONF_END, NULL, }
};
+/** @} */ /* rotator definitions */
/**
- * \brief Set rotator state info from alpha input
- * \param rot
- * \param token TOK_... specifying which info to set
- * \param val input
- * \return RIG_OK or < 0 error
+ * \addtogroup rot_internal
+ * @{
+ */
+
+
+/**
+ * \brief Set a rotator state value from alpha input.
+ * \param rot The #ROT handle.
+ * \param token TOK_... specify which value to set.
+ * \param val Input.
+ *
+ * Assumes rot != NULL and val != NULL.
+ *
+ * \return RIG_OK or a **negative value** on error.
+ *
+ * \retval RIG_OK TOK_... value set successfully.
+ * \retval RIG_EINVAL TOK_.. value not set.
*
- * assumes rot!=NULL, val!=NULL
+ * \sa frontrot_get_conf()
*/
int frontrot_set_conf(ROT *rot, token_t token, const char *val)
{
@@ -335,11 +349,20 @@ int frontrot_set_conf(ROT *rot, token_t token, const char *val)
/**
- * \brief Get data from rotator state in alpha form
- * \param rot non-null
- * \param token TOK_... specifying which data to get
- * \param val result non-null
- * \return RIG_OK or < 0 if error
+ * \brief Query data from a rotator state in alpha form.
+ *
+ * \param rot The #ROT handle.
+ * \param token TOK_... specify which data to query.
+ * \param val Result.
+ *
+ * Assumes rot != NULL and val != NULL.
+ *
+ * \return RIG_OK or a **negative value** on error.
+ *
+ * \retval RIG_OK TOK_... value queried successfully.
+ * \retval RIG_EINVAL TOK_.. value not queried.
+ *
+ * \sa frontrot_set_conf()
*/
int frontrot_get_conf(ROT *rot, token_t token, char *val)
{
@@ -487,15 +510,31 @@ int frontrot_get_conf(ROT *rot, token_t token, char *val)
return RIG_OK;
}
+/** @} */ /* rot_internal definitions */
/**
- * \brief Executes cfunc on all the elements stored in the conf table
- * \param rot non-null
- * \param cfunc function(..)
- * \param data
+ * \addtogroup rotator
+ * @{
+ */
+
+
+/**
+ * \brief Executes cfunc on all the elements stored in the configuration
+ * parameters table.
+ *
+ * \param rot The #ROT handle.
+ * \param cfunc Pointer to the callback function(...).
+ * \param data Data for the callback function.
+ *
+ * Start first with backend configuration parameters table, then finish with
+ * frontend configuration parameters table.
+ *
+ * \return RIG_OK if the operation has been successful, otherwise a **negative
+ * value** if an error occurred (in which case, cause is set appropriately).
*
- * start first with backend conf table, then finish with frontend table
+ * \retval RIG_OK The \a cfunc action completed successfully.
+ * \retval RIG_EINVAL \a rot is NULL or inconsistent or \a cfunc is NULL.
*/
int HAMLIB_API rot_token_foreach(ROT *rot,
int (*cfunc)(const struct confparams *,
@@ -543,13 +582,23 @@ int HAMLIB_API rot_token_foreach(ROT *rot,
/**
- * \brief lookup conf token by its name, return pointer to confparams struct.
- * \param rot
- * \param name
+ * \brief Query a rotator configuration parameter token by its name.
+ *
+ * \param rot The #ROT handle.
+ * \param name Configuration parameter token name string.
* \return confparams or NULL
*
- * lookup backend config table first, then fall back to frontend.
- * TODO: should use Lex to speed it up, strcmp hurts!
+ * Use this function to get a pointer to the token in the #confparams
+ * structure. Searches the backend config params table first, then falls back
+ * to the frontend config params table.
+ *
+ * \return A pointer to the token in the #confparams structure or NULL if
+ * \a rot is NULL or inconsistent or if \a name is not found (how can the
+ * caller know which occurred?).
+ *
+ * \sa rot_token_lookup()
+ *
+ * TODO: Should use Lex to speed it up, strcmp() hurts!
*/
const struct confparams *HAMLIB_API rot_confparam_lookup(ROT *rot,
const char *name)
@@ -603,10 +652,18 @@ const struct confparams *HAMLIB_API rot_confparam_lookup(ROT *rot,
/**
- * \brief Simple lookup returning token id associated with name
- * \param rot
- * \param name
- * \return token enum
+ * \brief Search for the token ID associated with a rotator configuration
+ * parameter token name.
+ *
+ * \param rot The #ROT handle.
+ * \param name Configuration parameter token name string.
+ *
+ * Searches the backend and frontend configuration parameters tables for the
+ * token ID.
+ *
+ * \return The token ID value or #RIG_CONF_END if the lookup failed.
+ *
+ * \sa rot_confparam_lookup()
*/
token_t HAMLIB_API rot_token_lookup(ROT *rot, const char *name)
{
@@ -626,16 +683,20 @@ token_t HAMLIB_API rot_token_lookup(ROT *rot, const char *name)
/**
- * \brief set a rotator configuration parameter
- * \param rot The rot handle
- * \param token The parameter
- * \param val The value to set the parameter to
+ * \brief Set a rotator configuration parameter.
*
- * Sets a configuration parameter.
+ * \param rot The #ROT handle.
+ * \param token The token of the parameter to set.
+ * \param val The value to set the parameter to.
*
- * \return RIG_OK if the operation has been successful, otherwise
- * a negative value if an error occurred (in which case, cause is
- * set appropriately).
+ * Sets a rotator configuration parameter to \a val.
+ *
+ * \return RIG_OK if the operation has been successful, otherwise a **negative
+ * value** if an error occurred (in which case, cause is set appropriately).
+ *
+ * \retval RIG_OK The parameter was set successfully.
+ * \retval RIG_EINVAL \a rot is NULL or inconsistent or \a token is invalid.
+ * \retval RIG_ENAVAIL rot_caps#set_conf() capability is not available.
*
* \sa rot_get_conf()
*/
@@ -678,16 +739,20 @@ int HAMLIB_API rot_set_conf(ROT *rot, token_t token, const char *val)
/**
- * \brief get the value of a configuration parameter
- * \param rot The rot handle
- * \param token The parameter
- * \param val The location where to store the value of config \a token
+ * \brief Query the value of a rotator configuration parameter.
+ *
+ * \param rot The #ROT handle.
+ * \param token The token of the parameter to query.
+ * \param val The location where to store the value of the configuration \a token.
+ *
+ * Retrieves the value of a configuration parameter associated with \a token.
*
- * Retrieves the value of a configuration parameter associated with \a token.
+ * \return RIG_OK if the operation has been successful, otherwise a **negative
+ * value** if an error occurred (in which case, cause is set appropriately).
*
- * \return RIG_OK if the operation has been successful, otherwise
- * a negative value if an error occurred (in which case, cause is
- * set appropriately).
+ * \retval RIG_OK Querying the parameter was successful.
+ * \retval RIG_EINVAL \a rot is NULL or inconsistent.
+ * \retval RIG_ENAVAIL rot_caps#get_conf() capability is not available.
*
* \sa rot_set_conf()
*/
commit 132d896e894f3b0692244e45df686a8eebabd836
Author: Nate Bargmann <n0...@n0...>
Date: Sat Feb 20 07:13:55 2021 -0600
Add amp_internal subgroup to Doxygen documentation
The amp_internal subgroup will document those items intended for Hamlib
interal use, i.e. not a part of the public API.
diff --git a/doc/index.doxygen b/doc/index.doxygen
index 22670887..366239c1 100644
--- a/doc/index.doxygen
+++ b/doc/index.doxygen
@@ -106,5 +106,6 @@ Windows 32 bit on Debian GNU/Linux.
* \defgroup rotator Rotator API
* \defgroup rot_internal Rotator Internal API
* \defgroup amplifier Amplifier API
+ * \defgroup amp_internal Amplifier Internal API
* \defgroup utilities Utility Routines API
*/
diff --git a/src/amp_conf.c b/src/amp_conf.c
index bc0b4bd3..b819e56f 100644
--- a/src/amp_conf.c
+++ b/src/amp_conf.c
@@ -108,16 +108,30 @@ static const struct confparams ampfrontend_serial_cfg_params[] =
{ RIG_CONF_END, NULL, }
};
+/** @} */ /* amplifier definitions */
+
+
+/**
+ * \addtogroup amp_internal
+ * @{
+ */
+
-//! @cond Doxygen_Suppress
/**
- * \brief Set amplifier state info from alpha input
- * \param amp
- * \param token TOK_... specifying which info to set
- * \param val input
- * \return RIG_OK or < 0 error
+ * \brief Set an amplifier state value from alpha input.
+ *
+ * \param amp The #AMP handle.
+ * \param token TOK_... specify which value to set.
+ * \param val Input.
*
- * assumes amp!=NULL, val!=NULL
+ * Assumes amp != NULL and val != NULL.
+ *
+ * \return RIG_OK or a **negative value** error.
+ *
+ * \retval RIG_OK TOK_... value set successfully.
+ * \retval RIG_EINVAL TOK_.. value not set.
+ *
+ * \sa frontamp_get_conf()
*/
int frontamp_set_conf(AMP *amp, token_t token, const char *val)
{
@@ -295,16 +309,23 @@ int frontamp_set_conf(AMP *amp, token_t token, const char *val)
return RIG_OK;
}
-//! @endcond
-//! @cond Doxygen_Suppress
/**
- * \brief Get data from amplifier state in alpha form
- * \param amp non-null
- * \param token TOK_... specifying which data to get
- * \param val result non-null
- * \return RIG_OK or < 0 if error
+ * \brief Query data from an amplifier state in alpha form.
+ *
+ * \param amp The #AMP handle.
+ * \param token TOK_... specify which data to query.
+ * \param val Result.
+ *
+ * Assumes amp != NULL and val != NULL.
+ *
+ * \return RIG_OK or a **negative value** on error.
+ *
+ * \retval RIG_OK TOK_... value queried successfully.
+ * \retval RIG_EINVAL TOK_.. value not queried.
+ *
+ * \sa frontamp_set_conf()
*/
int frontamp_get_conf(AMP *amp, token_t token, char *val)
{
@@ -432,18 +453,33 @@ int frontamp_get_conf(AMP *amp, token_t token, char *val)
return RIG_OK;
}
-//! @endcond
+/** @} */ /* amp_internal definitions */
+
+
+/**
+ * \addtogroup amplifier
+ * @{
+ */
#ifdef XXREMOVEDXXC
// Not referenced anywhere
/**
- * \brief Executes cfunc on all the elements stored in the conf table
- * \param amp non-null
- * \param cfunc function(..)
- * \param data
+ * \brief Executes cfunc on all the elements stored in the configuration
+ * parameters table.
*
- * start first with backend conf table, then finish with frontend table
+ * \param amp The #AMP handle.
+ * \param cfunc Pointer to the callback function(...).
+ * \param data Data for the callback function.
+ *
+ * Start first with backend configuration parameters table, then finish with
+ * frontend configuration parameters table.
+ *
+ * \return RIG_OK if the operation has been successful, otherwise a **negative
+ * value** if an error occurred (in which case, cause is set appropriately).
+ *
+ * \retval RIG_OK The \a cfunc action completed successfully.
+ * \retval RIG_EINVAL \a amp is NULL or inconsistent or \a cfunc is NULL.
*/
int HAMLIB_API amp_token_foreach(AMP *amp,
int (*cfunc)(const struct confparams *,
@@ -502,7 +538,7 @@ int HAMLIB_API amp_token_foreach(AMP *amp,
* to the frontend config params table.
*
* \return A pointer to the token in the #confparams structure or NULL if
- * \a amp is NULL or inconsistent or if \a token is not found (how can the
+ * \a amp is NULL or inconsistent or if \a name is not found (how can the
* caller know which occurred?).
*
* \sa amp_token_lookup()
@@ -566,7 +602,7 @@ const struct confparams *HAMLIB_API amp_confparam_lookup(AMP *amp,
* Searches the backend and frontend configuration parameters tables for the
* token ID.
*
- * \return The token ID value or RIG_CONF_END if the lookup failed.
+ * \return The token ID value or #RIG_CONF_END if the lookup failed.
*
* \sa amp_confparam_lookup()
*/
@@ -590,9 +626,9 @@ token_t HAMLIB_API amp_token_lookup(AMP *amp, const char *name)
/**
* \brief Set an amplifier configuration parameter.
*
- * \param amp The #AMP handle.
+ * \param amp The #AMP handle.
* \param token The token of the parameter to set.
- * \param val The value to set the parameter to.
+ * \param val The value to set the parameter to.
*
* Sets an amplifier configuration parameter to \a val.
*
commit 59d09e42a589f9040f9e7441395f655bd518e557
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Feb 20 00:02:58 2021 -0600
Add USER-U USER-L modes to flrig.c for TS480
diff --git a/rigs/dummy/flrig.c b/rigs/dummy/flrig.c
index 7b69d628..16028125 100644
--- a/rigs/dummy/flrig.c
+++ b/rigs/dummy/flrig.c
@@ -914,6 +914,8 @@ static int flrig_open(RIG *rig)
else if (streq(p, "USB-D1")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); }
else if (streq(p, "USB-D2")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); }
else if (streq(p, "USB-D3")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, 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); }
diff --git a/rigs/dummy/flrig.h b/rigs/dummy/flrig.h
index b2cccb69..879df79b 100644
--- a/rigs/dummy/flrig.h
+++ b/rigs/dummy/flrig.h
@@ -28,7 +28,7 @@
#include <sys/time.h>
#endif
-#define BACKEND_VER "20210215"
+#define BACKEND_VER "20210220"
#define EOM "\r"
#define TRUE 1
commit 83c75fa8c6b7e2f63d86dcd9a29c909952c4b8ca
Author: Michael Black W9MDB <mdb...@ya...>
Date: Fri Feb 19 22:49:46 2021 -0600
Fixing AF RFWPOWER and STRENGTH for TS480
https://github.com/Hamlib/Hamlib/issues/553
diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c
index 26956254..e6f8bef0 100644
--- a/rigs/kenwood/kenwood.c
+++ b/rigs/kenwood/kenwood.c
@@ -2322,7 +2322,7 @@ static int kenwood_get_power_minmax(RIG *rig, int *power_now, int *power_min,
rig_debug(RIG_DEBUG_TRACE, "%s: retval=%d\n", __func__, retval);
- if (RIG_IS_TS890S)
+ if (RIG_IS_TS890S || RIG_IS_TS480)
{
expval = 6;
}
@@ -2677,7 +2677,7 @@ int kenwood_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
break;
case RIG_LEVEL_STRENGTH:
- if (RIG_IS_TS590S || RIG_IS_TS590SG)
+ if (RIG_IS_TS590S || RIG_IS_TS590SG || RIG_IS_TS480)
{
cmd = "SM0";
len = 3;
diff --git a/rigs/kenwood/ts480.c b/rigs/kenwood/ts480.c
index 7d781bcc..6a701e44 100644
--- a/rigs/kenwood/ts480.c
+++ b/rigs/kenwood/ts480.c
@@ -119,7 +119,7 @@ kenwood_ts480_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
return kenwood_set_level(rig, vfo, level, val);
case RIG_LEVEL_RF:
- if (rig->caps->rig_model == RIG_MODEL_TS890S)
+ if (RIG_IS_TS890S)
{
rf_max_level = 255;
}
@@ -132,7 +132,7 @@ kenwood_ts480_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
case RIG_LEVEL_SQL:
kenwood_val = val.f * 255; /* possible values for TS480 are 000.. 255 */
- if (rig->caps->rig_model == RIG_MODEL_TS890S)
+ if (RIG_IS_TS890S)
{
sprintf(levelbuf, "SQ%03d", kenwood_val);
}
@@ -148,7 +148,7 @@ kenwood_ts480_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
/* hamlib argument is int, possible values rig.h:enum agc_level_e */
/* possible values for TS480 000(=off), 001(=fast), 002(=slow) */
/* possible values for TS890 0(=off), 1(=slow), 2(=mid), 3(=fast), 4(=off/Last) */
- if (rig->caps->rig_model == RIG_MODEL_TS890S)
+ if (RIG_IS_TS890S)
{
rig_debug(RIG_DEBUG_VERBOSE, "%s TS890S RIG_LEVEL_AGC\n", __func__);
@@ -220,7 +220,7 @@ kenwood_ts480_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
/*
- * kenwood_get_level
+ * kenwood_ts480_get_level
* Assumes rig!=NULL, val!=NULL
*/
int
@@ -235,7 +235,7 @@ kenwood_ts480_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
rig_debug(RIG_DEBUG_TRACE, "%s called\n", __func__);
- if (rig->caps->rig_model == RIG_MODEL_TS890S)
+ if (RIG_IS_TS890S || RIG_IS_TS480)
{
rf_max_level = 255;
}
@@ -247,7 +247,7 @@ kenwood_ts480_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
switch (level)
{
case RIG_LEVEL_AF:
- if (rig->caps->rig_model == RIG_MODEL_TS890S)
+ if (RIG_IS_TS890S)
{
retval = kenwood_transaction(rig, "AG", ackbuf, sizeof(ackbuf));
offset_level = 2;
@@ -279,6 +279,10 @@ kenwood_ts480_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
return RIG_OK;
case RIG_LEVEL_RF:
+ if (RIG_IS_TS480)
+ {
+ rf_max_level = 100;
+ }
retval = kenwood_transaction(rig, "RG", ackbuf, sizeof(ackbuf));
if (RIG_OK != retval)
@@ -302,7 +306,7 @@ kenwood_ts480_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
return RIG_OK;
case RIG_LEVEL_SQL:
- if (rig->caps->rig_model == RIG_MODEL_TS890S)
+ if (RIG_IS_TS890S)
{
retval = kenwood_transaction(rig, "SQ", ackbuf, sizeof(ackbuf));
ack_len_expected = 5;
@@ -334,7 +338,7 @@ kenwood_ts480_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
return RIG_OK;
case RIG_LEVEL_AGC:
- if (rig->caps->rig_model == RIG_MODEL_TS890S)
+ if (RIG_IS_TS890S)
{
retval = kenwood_transaction(rig, "GC", ackbuf, sizeof(ackbuf));
ack_len_expected = 3;
@@ -364,7 +368,7 @@ kenwood_ts480_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
break;
case '1':
- if (rig->caps->rig_model == RIG_MODEL_TS890S)
+ if (RIG_IS_TS890S)
{
val->i = RIG_AGC_SLOW;
}
@@ -376,7 +380,7 @@ kenwood_ts480_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
break;
case '2':
- if (rig->caps->rig_model == RIG_MODEL_TS890S)
+ if (RIG_IS_TS890S)
{
val->i = RIG_AGC_MEDIUM;
}
commit a6da45eb8b62bc10b53f1526af9049150ec4d407
Author: Michael Black W9MDB <mdb...@ya...>
Date: Fri Feb 19 14:41:28 2021 -0600
Fix for TS480 RFPOWER read -- was not able to handle the long command string
https://github.com/Hamlib/Hamlib/issues/553
diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c
index eddade3c..26956254 100644
--- a/rigs/kenwood/kenwood.c
+++ b/rigs/kenwood/kenwood.c
@@ -2276,6 +2276,9 @@ static int kenwood_get_power_minmax(RIG *rig, int *power_now, int *power_min,
switch (rig->caps->rig_model)
{
+ // TS480 can't handle the long command string
+ // We can treat it like the TS890S
+ case RIG_MODEL_TS480:
// TS890S can't take power levels outside 5-100 and 5-25
// So all we'll do is read power_now
case RIG_MODEL_TS890S:
commit 49bcb07b8fbc4f5d23ebff3d7b9224faca47996d
Author: Michael Black W9MDB <mdb...@ya...>
Date: Fri Feb 19 14:32:54 2021 -0600
Add MICGAIN and STRENGTH to ts480.c
https://github.com/Hamlib/Hamlib/issues/553
diff --git a/rigs/kenwood/ts480.c b/rigs/kenwood/ts480.c
index 8f192a4b..7d781bcc 100644
--- a/rigs/kenwood/ts480.c
+++ b/rigs/kenwood/ts480.c
@@ -401,10 +401,11 @@ kenwood_ts480_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
return RIG_OK;
+ case RIG_LEVEL_STRENGTH:
+ case RIG_LEVEL_MICGAIN:
case RIG_LEVEL_RFPOWER:
return kenwood_get_level(rig, vfo, level, val);
- case RIG_LEVEL_MICGAIN:
case RIG_LEVEL_PREAMP:
case RIG_LEVEL_IF:
case RIG_LEVEL_APF:
commit 3a0ec1e1b4b5303c01e6aec9b90ce787f95d1681
Author: Michael Black W9MDB <mdb...@ya...>
Date: Fri Feb 19 14:27:21 2021 -0600
fix type in ts480 ag_level
diff --git a/rigs/kenwood/ts480.c b/rigs/kenwood/ts480.c
index 2720db8e..8f192a4b 100644
--- a/rigs/kenwood/ts480.c
+++ b/rigs/kenwood/ts480.c
@@ -115,7 +115,7 @@ kenwood_ts480_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
return kenwood_set_level(rig, vfo, level, val);
case RIG_LEVEL_AF:
- priv->ag_format =22;
+ priv->ag_format =2;
return kenwood_set_level(rig, vfo, level, val);
case RIG_LEVEL_RF:
commit c3e9677a7edcce722299cd28629fb50297f4df35
Author: Michael Black W9MDB <mdb...@ya...>
Date: Fri Feb 19 09:38:30 2021 -0600
Fix ts480 LEVEL_AF and add LEVEL_STRENGHT and LEVEL_MICGAIN
https://github.com/Hamlib/Hamlib/issues/553
diff --git a/rigs/kenwood/ts480.c b/rigs/kenwood/ts480.c
index 54044bce..2720db8e 100644
--- a/rigs/kenwood/ts480.c
+++ b/rigs/kenwood/ts480.c
@@ -39,7 +39,7 @@
#define TS480_AM_TX_MODES RIG_MODE_AM
#define TS480_VFO (RIG_VFO_A|RIG_VFO_B)
-#define TS480_LEVEL_ALL (RIG_LEVEL_RFPOWER|RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_SQL|RIG_LEVEL_AGC)
+#define TS480_LEVEL_ALL (RIG_LEVEL_RFPOWER|RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_SQL|RIG_LEVEL_AGC|RIG_LEVEL_MICGAIN|RIG_LEVEL_STRENGTH)
#define TS480_FUNC_ALL (RIG_FUNC_NB|RIG_FUNC_COMP|RIG_FUNC_VOX|RIG_FUNC_NR|RIG_FUNC_NR|RIG_FUNC_BC|RIG_FUNC_BC2|RIG_FUNC_RIT|RIG_FUNC_XIT)
#define TS890_FUNC_ALL (RIG_FUNC_NB|RIG_FUNC_NB2|RIG_FUNC_COMP|RIG_FUNC_VOX|RIG_FUNC_NR|RIG_FUNC_NR|RIG_FUNC_BC|RIG_FUNC_BC2|RIG_FUNC_RIT|RIG_FUNC_XIT)
@@ -105,6 +105,7 @@ kenwood_ts480_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
char levelbuf[16];
int kenwood_val;
int rf_max_level = 100; /* 100 for TS-480 and 255 for TS-890S */
+ struct kenwood_priv_data *priv = rig->state.priv;
rig_debug(RIG_DEBUG_TRACE, "%s called\n", __func__);
commit 132a5612f4064caecce0e133ff56f573f0783ed1
Author: Michael Black W9MDB <mdb...@ya...>
Date: Fri Feb 19 09:33:12 2021 -0600
Fix ts480 get_level for LEVEL_AF
https://github.com/Hamlib/Hamlib/issues/new
diff --git a/rigs/kenwood/ts480.c b/rigs/kenwood/ts480.c
index 0f6a97ac..54044bce 100644
--- a/rigs/kenwood/ts480.c
+++ b/rigs/kenwood/ts480.c
@@ -114,6 +114,7 @@ kenwood_ts480_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
return kenwood_set_level(rig, vfo, level, val);
case RIG_LEVEL_AF:
+ priv->ag_format =22;
return kenwood_set_level(rig, vfo, level, val);
case RIG_LEVEL_RF:
@@ -447,7 +448,7 @@ const struct rig_caps ts480_caps =
RIG_MODEL(RIG_MODEL_TS480),
.model_name = "TS-480",
.mfg_name = "Kenwood",
- .version = BACKEND_VER ".0",
+ .version = BACKEND_VER ".1",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
commit 0f9a7fac07b13aa4015446074b6ac61632c02d80
Author: Michael Black W9MDB <mdb...@ya...>
Date: Fri Feb 19 08:44:02 2021 -0600
Add -RIG_EINVAL when set_level > 1.0
diff --git a/rigs/dummy/dummy.c b/rigs/dummy/dummy.c
index abb3043a..4c524325 100644
--- a/rigs/dummy/dummy.c
+++ b/rigs/dummy/dummy.c
@@ -1006,6 +1006,7 @@ static int dummy_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
if (RIG_LEVEL_IS_FLOAT(level))
{
+ if (val.f > 1.0) RETURNFUNC(-RIG_EINVAL);
sprintf(lstr, "%f", val.f);
}
else
diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c
index fe5aadac..a63f0602 100644
--- a/rigs/icom/icom.c
+++ b/rigs/icom/icom.c
@@ -2419,6 +2419,7 @@ int icom_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
*/
if (RIG_LEVEL_IS_FLOAT(level))
{
+ if (val.f > 1.0) RETURNFUNC(-RIG_EINVAL);
icom_val = val.f * 255;
}
else
diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c
index 48427e84..eddade3c 100644
--- a/rigs/kenwood/kenwood.c
+++ b/rigs/kenwood/kenwood.c
@@ -2385,6 +2385,7 @@ int kenwood_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
if (RIG_LEVEL_IS_FLOAT(level))
{
+ if (val.f > 1.0) RETURNFUNC(-RIG_EINVAL);
kenwood_val = val.f * 255;
}
else
commit a9633cec39899d1f9a3fdaf7ffbbcfb06619c57e
Author: Michael Black W9MDB <mdb...@ya...>
Date: Fri Feb 19 07:47:31 2021 -0600
Update newcat.h version
diff --git a/rigs/yaesu/newcat.h b/rigs/yaesu/newcat.h
index 0403c150..36c7aceb 100644
--- a/rigs/yaesu/newcat.h
+++ b/rigs/yaesu/newcat.h
@@ -50,7 +50,7 @@
typedef char ncboolean;
/* shared function version */
-#define NEWCAT_VER "20210213"
+#define NEWCAT_VER "20210219"
/* Hopefully large enough for future use, 128 chars plus '\0' */
#define NEWCAT_DATA_LEN 129
commit 6a3b28e518ac8331915ad2555ef248f0a405cdee
Author: Michael Black W9MDB <mdb...@ya...>
Date: Fri Feb 19 07:46:32 2021 -0600
In newcat.c check LEVEL values to ensure they are in the range 0-1
diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c
index dacfa13f..75dbaf41 100644
--- a/rigs/yaesu/newcat.c
+++ b/rigs/yaesu/newcat.c
@@ -3474,6 +3474,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
{
RETURNFUNC(-RIG_ENAVAIL);
}
+ if (val.f > 1.0) RETURNFUNC(-RIG_EINVAL);
fpf = newcat_scale_float(255, val.f);
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "AG%c%03d%c", main_sub_vfo, fpf,
@@ -3643,6 +3644,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
newcat_get_mode(rig, vfo, &mode, &width);
}
+ if (val.f > 1.0) RETURNFUNC(-RIG_EINVAL);
if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101
|| is_ftdx10)
{
@@ -4196,6 +4198,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
RETURNFUNC(-RIG_ENAVAIL);
}
+ if (val.f > 1.0) RETURNFUNC(-RIG_EINVAL);
if (is_ftdx1200 || is_ftdx3000 || is_ft891 || is_ft991 || is_ftdx101
|| is_ftdx10)
{
commit 555bf9dc65ead752041f39679a6cab3c3fa6d324
Merge: 53b18d4e 1ad32d41
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Feb 18 23:57:33 2021 -0600
Merge branch 'master' of https://github.com/Hamlib/Hamlib
commit 53b18d4ec40eb034224cf62213e9ef8c4609ddeb
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Feb 18 23:45:14 2021 -0600
Add Main/Sub vfos to dummy.c for testing
diff --git a/rigs/dummy/dummy.c b/rigs/dummy/dummy.c
index ed6a46ac..abb3043a 100644
--- a/rigs/dummy/dummy.c
+++ b/rigs/dummy/dummy.c
@@ -505,8 +505,10 @@ static int dummy_set_vfo(RIG *rig, vfo_t vfo)
case RIG_VFO_VFO: /* FIXME */
case RIG_VFO_RX:
+ case RIG_VFO_MAIN: priv->curr = &priv->vfo_a; break;
case RIG_VFO_A: priv->curr = &priv->vfo_a; break;
+ case RIG_VFO_SUB: priv->curr = &priv->vfo_b; break;
case RIG_VFO_B: priv->curr = &priv->vfo_b; break;
case RIG_VFO_MEM:
@@ -2242,7 +2244,7 @@ struct rig_caps dummy_no_vfo_caps =
RIG_MODEL(RIG_MODEL_DUMMY_NOVFO),
.model_name = "Dummy No VFO",
.mfg_name = "Hamlib",
- .version = "20200606.0",
+ .version = "20210218.0",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_OTHER,
-----------------------------------------------------------------------
Summary of changes:
doc/index.doxygen | 1 +
rigs/dummy/dummy.c | 5 +-
rigs/dummy/flrig.c | 2 +
rigs/dummy/flrig.h | 2 +-
rigs/icom/icom.c | 1 +
rigs/kenwood/kenwood.c | 8 ++-
rigs/kenwood/ts480.c | 33 ++++++-----
rigs/yaesu/newcat.c | 3 +
rigs/yaesu/newcat.h | 2 +-
src/amp_conf.c | 84 ++++++++++++++++++++--------
src/rot_conf.c | 149 +++++++++++++++++++++++++++++++++++--------------
11 files changed, 206 insertions(+), 84 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|