hamlib-cvs-digest Mailing List for Ham Radio Control Libraries (Page 13)
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
(20) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Michael B. <mdb...@us...> - 2021-04-28 22:50:08
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Hamlib -- Ham radio control libraries". The branch, master has been updated via 5473249e9ad75a302839804a0811039245f13c04 (commit) via 0b203c7e8f80f3190940d58a8df1f7a677db107b (commit) from 906b6e62d8f0eb07e3df5a029bc0f589c7eb1b1f (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 5473249e9ad75a302839804a0811039245f13c04 Author: Mike Black W9MDB <mdb...@ya...> Date: Wed Apr 28 17:39:08 2021 -0500 Add power2mW and mW2power to netrigctl.c diff --git a/rigs/dummy/netrigctl.c b/rigs/dummy/netrigctl.c index 6afc37b2..20c7cd50 100644 --- a/rigs/dummy/netrigctl.c +++ b/rigs/dummy/netrigctl.c @@ -512,6 +512,7 @@ static int netrigctl_open(RIG *rig) rig->caps->has_get_level = rs->has_get_level = strtoll(buf, NULL, 0); +#if 0 // don't think we need this anymore if (rs->has_get_level & RIG_LEVEL_RAWSTR) { /* include STRENGTH because the remote rig may be able to @@ -520,6 +521,7 @@ static int netrigctl_open(RIG *rig) rs->has_get_level |= RIG_LEVEL_STRENGTH; rig->caps->has_get_level |= RIG_LEVEL_STRENGTH; } +#endif ret = read_string(&rig->state.rigport, buf, BUF_MAX, "\n", 1); @@ -645,6 +647,44 @@ static int netrigctl_open(RIG *rig) if (!has) { rig->caps->get_freq = NULL; } } + else if (strcmp(setting, "has_set_conf") == 0) + { + int has = strtol(value, NULL, 0); + + if (!has) { rig->caps->set_conf = NULL; } + } + else if (strcmp(setting, "has_get_conf") == 0) + { + int has = strtol(value, NULL, 0); + + if (!has) { rig->caps->get_conf = NULL; } + } +#if 0 // for the future + else if (strcmp(setting, "has_set_trn") == 0) + { + int has = strtol(value, NULL, 0); + + if (!has) { rig->caps->set_trn = NULL; } + } + else if (strcmp(setting, "has_get_trn") == 0) + { + int has = strtol(value, NULL, 0); + + if (!has) { rig->caps->get_trn = NULL; } + } +#endif + else if (strcmp(setting, "has_power2mW") == 0) + { + int has = strtol(value, NULL, 0); + + if (!has) { rig->caps->power2mW = NULL; } + } + else if (strcmp(setting, "has_mw2power") == 0) + { + int has = strtol(value, NULL, 0); + + if (!has) { rig->caps->mW2power = NULL; } + } else if (strcmp(setting, "timeout") == 0) { // use the rig's timeout value pluse 200ms for potential network delays @@ -2319,6 +2359,99 @@ static int netrigctl_set_vfo_opt(RIG *rig, int status) return RIG_OK; } +#if 0 // for the futurem -- would have to poll to get the pushed data +static int netrigctl_set_trn(RIG *rig, int trn) +{ + char cmdbuf[32]; + char buf[BUF_MAX]; + int ret; + + sprintf(cmdbuf, "\\set_trn %s\n", trn ? "ON" : "OFF"); + ret = netrigctl_transaction(rig, cmdbuf, strlen(cmdbuf), buf); + + if (ret < 0) + { + return -RIG_EPROTO; + } + + return RIG_OK; +} + + +static int netrigctl_get_trn(RIG *rig, int *trn) +{ + char cmdbuf[32]; + char buf[BUF_MAX]; + int ret; + + ENTERFUNC; + sprintf(cmdbuf, "\\get_trn\n"); + ret = netrigctl_transaction(rig, cmdbuf, strlen(cmdbuf), buf); + + if (ret <= 0) + { + return -RIG_EPROTO; + } + + if (strstr(buf,"OFF")) *trn = RIG_TRN_OFF; + else if (strstr(buf,"RIG")) *trn = RIG_TRN_RIG; + else if (strstr(buf,"POLL")) *trn = RIG_TRN_POLL; + else { + rig_debug(RIG_DEBUG_ERR, "%s: Expected OFF, RIG, or POLL, got '%s'\n", __func__, buf); + ret = -RIG_EINVAL; + } + + RETURNFUNC(ret); +} +#endif + +static int netrigctl_mW2power(RIG *rig, float *power, unsigned int mwpower, + freq_t freq, rmode_t mode) +{ + char cmdbuf[32]; + char buf[BUF_MAX]; + int ret; + + ENTERFUNC; + + sprintf(cmdbuf, "\\mW2power %u %.0f %s\n", mwpower, freq, rig_strrmode(mode)); + ret = netrigctl_transaction(rig, cmdbuf, strlen(cmdbuf), buf); + + if (ret <= 0) + { + return -RIG_EPROTO; + } + + *power = atof(buf); + + RETURNFUNC(RIG_OK); +} + + +static int netrigctl_power2mW(RIG *rig, unsigned int *mwpower, float power, + freq_t freq, rmode_t mode) +{ + char cmdbuf[32]; + char buf[BUF_MAX]; + int ret; + + ENTERFUNC; + + sprintf(cmdbuf, "\\power2mW %f %.0f %s\n", power, freq, rig_strrmode(mode)); + ret = netrigctl_transaction(rig, cmdbuf, strlen(cmdbuf), buf); + + if (ret <= 0) + { + return -RIG_EPROTO; + } + + *mwpower = atof(buf); + + RETURNFUNC(RIG_OK); +} + + + /* * Netrigctl rig capabilities. */ @@ -2328,7 +2461,7 @@ struct rig_caps netrigctl_caps = RIG_MODEL(RIG_MODEL_NETRIGCTL), .model_name = "NET rigctl", .mfg_name = "Hamlib", - .version = "20210409.0", + .version = "20210428.0", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_OTHER, @@ -2427,4 +2560,9 @@ struct rig_caps netrigctl_caps = .set_channel = netrigctl_set_channel, .get_channel = netrigctl_get_channel, .set_vfo_opt = netrigctl_set_vfo_opt, + //.set_trn = netrigctl_set_trn, + //.get_trn = netrigctl_get_trn, + .power2mW = netrigctl_power2mW, + .mW2power = netrigctl_mW2power, + }; diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c index e1b9a65a..2e6813b4 100644 --- a/tests/rigctl_parse.c +++ b/tests/rigctl_parse.c @@ -4342,6 +4342,13 @@ declare_proto_rig(dump_state) fprintf(fout, "has_get_vfo=%d\n", rig->caps->get_vfo != NULL); fprintf(fout, "has_set_freq=%d\n", rig->caps->set_freq != NULL); fprintf(fout, "has_get_freq=%d\n", rig->caps->get_freq != NULL); + fprintf(fout, "has_set_conf=%d\n", rig->caps->set_conf != NULL); + fprintf(fout, "has_get_conf=%d\n", rig->caps->get_conf != NULL); + // for the future +// fprintf(fout, "has_set_trn=%d\n", rig->caps->set_trn != NULL); +// fprintf(fout, "has_get_trn=%d\n", rig->caps->get_trn != NULL); + fprintf(fout, "has_power2mW=%d\n", rig->caps->power2mW != NULL); + fprintf(fout, "has_mW2power=%d\n", rig->caps->mW2power != NULL); fprintf(fout, "timeout=%d\n", rig->caps->timeout); fprintf(fout, "done\n"); } commit 0b203c7e8f80f3190940d58a8df1f7a677db107b Author: Mike Black W9MDB <mdb...@ya...> Date: Wed Apr 28 17:38:54 2021 -0500 Add transceive ability to dummy rig diff --git a/rigs/dummy/dummy.c b/rigs/dummy/dummy.c index 4cb66af5..b5da2d1e 100644 --- a/rigs/dummy/dummy.c +++ b/rigs/dummy/dummy.c @@ -67,6 +67,7 @@ struct dummy_priv_data int bank; value_t parms[RIG_SETTING_MAX]; int ant_option[4]; /* simulate 4 antennas */ + int trn; /* transceive */ channel_t *curr; /* points to vfo_a, vfo_b or mem[] */ @@ -1988,7 +1989,9 @@ static int dummy_get_channel(RIG *rig, vfo_t vfo, channel_t *chan, static int dummy_set_trn(RIG *rig, int trn) { - ENTERFUNC; + struct dummy_priv_data *priv = (struct dummy_priv_data *)rig->state.priv; + + priv->trn = trn; RETURNFUNC(RIG_OK); } @@ -1996,8 +1999,9 @@ static int dummy_set_trn(RIG *rig, int trn) static int dummy_get_trn(RIG *rig, int *trn) { - ENTERFUNC; - *trn = RIG_TRN_OFF; + struct dummy_priv_data *priv = (struct dummy_priv_data *)rig->state.priv; + + *trn = priv->trn; RETURNFUNC(RIG_OK); } @@ -2123,7 +2127,7 @@ struct rig_caps dummy_caps = RIG_MODEL(RIG_MODEL_DUMMY), .model_name = "Dummy", .mfg_name = "Hamlib", - .version = "20210313.0", + .version = "20210428.0", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_OTHER, @@ -2288,7 +2292,7 @@ struct rig_caps dummy_no_vfo_caps = RIG_MODEL(RIG_MODEL_DUMMY_NOVFO), .model_name = "Dummy No VFO", .mfg_name = "Hamlib", - .version = "20210218.0", + .version = "20210428.0", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_OTHER, @@ -2313,7 +2317,7 @@ struct rig_caps dummy_no_vfo_caps = }, .scan_ops = DUMMY_SCAN, .vfo_ops = DUMMY_VFO_OP, - .transceive = RIG_TRN_OFF, + .transceive = RIG_TRN_RIG, .attenuator = { 10, 20, 30, RIG_DBLST_END, }, .preamp = { 10, RIG_DBLST_END, }, .rx_range_list1 = { { ----------------------------------------------------------------------- Summary of changes: rigs/dummy/dummy.c | 16 +++--- rigs/dummy/netrigctl.c | 140 ++++++++++++++++++++++++++++++++++++++++++++++++- tests/rigctl_parse.c | 7 +++ 3 files changed, 156 insertions(+), 7 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-28 12:14: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 906b6e62d8f0eb07e3df5a029bc0f589c7eb1b1f (commit) via 4c09c2362e6d3bb8b367a5fcde920dd19d4ac198 (commit) from 2066bb38fd8b77a46526826b1be2d0f9f34ddf8e (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 906b6e62d8f0eb07e3df5a029bc0f589c7eb1b1f Author: Mike Black W9MDB <mdb...@ya...> Date: Wed Apr 28 07:03:10 2021 -0500 Update man pages diff --git a/doc/man1/rigctl.1 b/doc/man1/rigctl.1 index b8751ffd..0f74d71c 100644 --- a/doc/man1/rigctl.1 +++ b/doc/man1/rigctl.1 @@ -1037,7 +1037,15 @@ Get DTMF . .TP .BR _ ", " get_info -Get misc information about the rig (no VFO in 'VFO mode' or value is passed). +Get misc information about the rig. +. +.TP +.BR 0xf5 ", " get_rig_info +Get misc information about the rig vfo status and other info. +. +.TP +.BR 0xf3 ", " get_vfo_info " \(aq" \fIVFO\fP \(aq +Get misc information about a specific vfo. . .TP .B dump_state diff --git a/doc/man1/rigctld.1 b/doc/man1/rigctld.1 index 8024b6c1..316b2eb2 100644 --- a/doc/man1/rigctld.1 +++ b/doc/man1/rigctld.1 @@ -1017,7 +1017,15 @@ Get DTMF . .TP .BR _ ", " get_info -Get misc information about the rig (no VFO in 'VFO mode' or value is passed). +Get misc information about the rig. +. +.TP +.BR 0xf5 ", " get_rig_info " +Get misc information about the rig vfos and other info. +. +.TP +.BR 0xf3 ", " get_vfo_info " \(aq" "\fIVFO\fP" \(aq +Get misc information about a specific vfo. . .TP .B dump_state commit 4c09c2362e6d3bb8b367a5fcde920dd19d4ac198 Author: Mike Black W9MDB <mdb...@ya...> Date: Wed Apr 28 06:44:10 2021 -0500 Fix rig_get_info to return "None" for VFO if needed instead of empty string Should make parsing easier ensuring all are token pairs https://github.com/Hamlib/Hamlib/issues/682 diff --git a/src/rig.c b/src/rig.c index d8412965..aece5b8b 100644 --- a/src/rig.c +++ b/src/rig.c @@ -6212,6 +6212,7 @@ int HAMLIB_API rig_get_rig_info(RIG *rig, char *response, int max_response_len) vfo_t vfoA,vfoB; freq_t freqA,freqB; rmode_t modeA,modeB; + char *modeAstr, *modeBstr; pbwidth_t widthA,widthB; split_t split; int satmode; @@ -6236,11 +6237,15 @@ int HAMLIB_API rig_get_rig_info(RIG *rig, char *response, int max_response_len) rig_get_cache(rig, vfoB, &freqB, &cache_ms_freq, &modeB, &cache_ms_mode, &widthB, &cache_ms_width); } + modeAstr = (char*)rig_strrmode(modeA); + modeBstr = (char*)rig_strrmode(modeB); + if (modeAstr[0]==0) modeAstr="None"; + if (modeBstr[0]==0) modeBstr="None"; rxa = 1; txa = split == 0; rxb = !rxa; txb = split == 1; - snprintf(response,max_response_len,"VFO=%s Freq=%.0f Mode=%s Width=%d RX=%d TX=%d\nVFO=%s Freq=%.0f Mode=%s Width=%d RX=%d TX=%d\nSplit=%d SatMode=%d", rig_strvfo(vfoA), freqA, rig_strrmode(modeA), (int)widthA, rxa, txa, rig_strvfo(vfoB), freqB, rig_strrmode(modeB), (int)widthB, rxb, txb, split, satmode); + snprintf(response,max_response_len,"VFO=%s Freq=%.0f Mode=%s Width=%d RX=%d TX=%d\nVFO=%s Freq=%.0f Mode=%s Width=%d RX=%d TX=%d\nSplit=%d SatMode=%d", rig_strvfo(vfoA), freqA, modeAstr, (int)widthA, rxa, txa, rig_strvfo(vfoB), freqB, modeBstr, (int)widthB, rxb, txb, split, satmode); RETURNFUNC(RIG_OK); } ----------------------------------------------------------------------- Summary of changes: doc/man1/rigctl.1 | 10 +++++++++- doc/man1/rigctld.1 | 10 +++++++++- src/rig.c | 7 ++++++- 3 files changed, 24 insertions(+), 3 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-27 22:34:40
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Hamlib -- Ham radio control libraries". The branch, master has been updated via 2066bb38fd8b77a46526826b1be2d0f9f34ddf8e (commit) from bfa75996874d7d34b3921cdc76cc6a3c4e9af8fd (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 2066bb38fd8b77a46526826b1be2d0f9f34ddf8e Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Apr 27 17:32:10 2021 -0500 Change rig_get_rig_info to use cached values for VFOB when not targetable https://github.com/Hamlib/Hamlib/issues/682 diff --git a/src/rig.c b/src/rig.c index 22746071..d8412965 100644 --- a/src/rig.c +++ b/src/rig.c @@ -6223,8 +6223,19 @@ int HAMLIB_API rig_get_rig_info(RIG *rig, char *response, int max_response_len) vfoB = vfo_fixup(rig, RIG_VFO_B); ret = rig_get_vfo_info(rig, vfoA, &freqA, &modeA, &widthA, &split, &satmode); if (ret != RIG_OK) RETURNFUNC(ret); - ret = rig_get_vfo_info(rig, vfoB, &freqB, &modeB, &widthB, &split, &satmode); - if (ret != RIG_OK) RETURNFUNC(ret); + // we need both vfo and mode targtable to avoid vfo swapping + if ((rig->caps->targetable_vfo & RIG_TARGETABLE_FREQ) && (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE)) + { + ret = rig_get_vfo_info(rig, vfoB, &freqB, &modeB, &widthB, &split, &satmode); + if (ret != RIG_OK) RETURNFUNC(ret); + } + else + { + // we'll use cached info instead of doing the vfo swapping + int cache_ms_freq, cache_ms_mode, cache_ms_width; + rig_get_cache(rig, vfoB, &freqB, &cache_ms_freq, &modeB, &cache_ms_mode, &widthB, + &cache_ms_width); + } rxa = 1; txa = split == 0; rxb = !rxa; ----------------------------------------------------------------------- Summary of changes: src/rig.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-27 22: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 bfa75996874d7d34b3921cdc76cc6a3c4e9af8fd (commit) from 7b5765d549b9a4b68f327b9b62e69d91d2d2efc9 (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 bfa75996874d7d34b3921cdc76cc6a3c4e9af8fd Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Apr 27 17:18:51 2021 -0500 In kenwood.c skip verification for RU/RD commands. On the TS-2000 at least it caused Resource temporarily unavailable when sending ID right after RU/RD https://github.com/Hamlib/Hamlib/issues/677 diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index 1feabae5..c39cbf5c 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -331,7 +331,16 @@ transaction_write: // So we'll skip the checks just on this one command for now // The TS-480 PC Control says RX; should return RX0; but it doesn't // We may eventually want to verify PTT with rig_get_ptt instead - if (retval == RIG_OK && strncmp(cmdstr, "RX", 2) == 0) { goto transaction_quit; } + // The TS-2000 doesn't like doing and ID right after RU or RD + if (retval == RIG_OK) + { + int skip = strncmp(cmdstr, "RX", 2) == 0; + skip |= strncmp(cmdstr, "RU", 2) == 0; + skip |= strncmp(cmdstr, "RD", 2) == 0; + if (skip) { + goto transaction_quit; + } + } // Malachite SDR cannot send ID after FA if (!datasize && priv->no_id) { RETURNFUNC(RIG_OK); } @@ -340,6 +349,9 @@ transaction_write: { rig->state.hold_decode = 0; + // there are some commands that have problems with immediate follow-up + // so we'll just ignore them + /* no reply expected so we need to write a command that always gives a reply so we can read any error replies from the actual command being sent without blocking */ ----------------------------------------------------------------------- Summary of changes: rigs/kenwood/kenwood.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-27 21:12:53
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Hamlib -- Ham radio control libraries". The branch, master has been updated via 7b5765d549b9a4b68f327b9b62e69d91d2d2efc9 (commit) via 9970323712b59ecf0f14ba74731fa4bac7887909 (commit) via 5034bf4451c604303e83404168196d5f9cd23a38 (commit) via af499a979ee2602f08527c3ab2c5ca9207a8b02e (commit) via 6b13c6c3a3ce65ce67c5a210d621521340128719 (commit) via 6c13951da8928e8201cc59f9db3ff1dbfe71db9b (commit) from 9a82ebf65229131e6425231f521a31d6a7efa312 (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 7b5765d549b9a4b68f327b9b62e69d91d2d2efc9 Author: Bill Somerville <bi...@cl...> Date: Tue Apr 27 20:40:32 2021 +0100 Add missing export definition diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index ada3cdbc..ffb08df7 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -3023,7 +3023,7 @@ extern HAMLIB_EXPORT(int) rig_set_cache_timeout_ms(RIG *rig, hamlib_cache_t sele extern HAMLIB_EXPORT(int) rig_set_vfo_opt(RIG *rig, int status); extern HAMLIB_EXPORT(int) rig_get_vfo_info(RIG *rig, vfo_t vfo, freq_t *freq, rmode_t *mode, pbwidth_t *width, split_t *split, int *satmode); -extern int HAMLIB_API rig_get_rig_info(RIG *rig, char *response, int max_response_len); +extern HAMLIB_EXPORT(int) rig_get_rig_info(RIG *rig, char *response, int max_response_len); extern HAMLIB_EXPORT(int) rig_get_cache(RIG *rig, vfo_t vfo, freq_t *freq, int * cache_ms_freq, rmode_t *mode, int *cache_ms_mode, pbwidth_t *width, int *cache_ms_width); commit 9970323712b59ecf0f14ba74731fa4bac7887909 Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Apr 27 13:16:37 2021 -0500 Update NEWS diff --git a/NEWS b/NEWS index 82c2c02e..5353a4c1 100644 --- a/NEWS +++ b/NEWS @@ -14,8 +14,8 @@ Version 4.2 Example output with rig in split mode This is a string return to allow for easy future expansion without changing the API New tokens may be introduced and can be skipped if not used by clients - VFOA Freq=10133000 Mode=LSB Width=0 RX=1 TX=0 - VFOB Freq=10134000 Mode=LSB Width=0 RX=0 TX=1 + VFO=VFOA Freq=10133000 Mode=LSB Width=0 RX=1 TX=0 + VFO=VFOB Freq=10134000 Mode=LSB Width=0 RX=0 TX=1 Split=1 SatMode=0 * USRP lib and gnuradio are deprecated and will be removed in 5.0 commit 5034bf4451c604303e83404168196d5f9cd23a38 Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Apr 27 13:14:54 2021 -0500 Make 1st token in get_rig_info a paired token too so all are A=B token pairs https://github.com/Hamlib/Hamlib/issues/682 diff --git a/src/rig.c b/src/rig.c index 0fecb56a..22746071 100644 --- a/src/rig.c +++ b/src/rig.c @@ -6229,7 +6229,7 @@ int HAMLIB_API rig_get_rig_info(RIG *rig, char *response, int max_response_len) txa = split == 0; rxb = !rxa; txb = split == 1; - snprintf(response,max_response_len,"%s Freq=%.0f Mode=%s Width=%d RX=%d TX=%d\n%s Freq=%.0f Mode=%s Width=%d RX=%d TX=%d\nSplit=%d SatMode=%d", rig_strvfo(vfoA), freqA, rig_strrmode(modeA), (int)widthA, rxa, txa, rig_strvfo(vfoB), freqB, rig_strrmode(modeB), (int)widthB, rxb, txb, split, satmode); + snprintf(response,max_response_len,"VFO=%s Freq=%.0f Mode=%s Width=%d RX=%d TX=%d\nVFO=%s Freq=%.0f Mode=%s Width=%d RX=%d TX=%d\nSplit=%d SatMode=%d", rig_strvfo(vfoA), freqA, rig_strrmode(modeA), (int)widthA, rxa, txa, rig_strvfo(vfoB), freqB, rig_strrmode(modeB), (int)widthB, rxb, txb, split, satmode); RETURNFUNC(RIG_OK); } commit af499a979ee2602f08527c3ab2c5ca9207a8b02e Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Apr 27 12:13:15 2021 -0500 Fix freqB on rig_get_rig_info https://github.com/Hamlib/Hamlib/milestone/7 diff --git a/NEWS b/NEWS index e9982745..82c2c02e 100644 --- a/NEWS +++ b/NEWS @@ -7,7 +7,17 @@ Copyright (C) 2000-2021 Michael Black W9MDB, and others Please send Hamlib bug reports to ham...@li... Version 4.2 - * 2021-04-06 + * 2021-04-27 + * New rig_get_vfo_info + * New rig_get_rig_info + Also get_rig_info in rigctld too + Example output with rig in split mode + This is a string return to allow for easy future expansion without changing the API + New tokens may be introduced and can be skipped if not used by clients + VFOA Freq=10133000 Mode=LSB Width=0 RX=1 TX=0 + VFOB Freq=10134000 Mode=LSB Width=0 RX=0 TX=1 + Split=1 SatMode=0 + * USRP lib and gnuradio are deprecated and will be removed in 5.0 * Added Radan rotator * Added Malachite SDR diff --git a/src/rig.c b/src/rig.c index db1722e1..0fecb56a 100644 --- a/src/rig.c +++ b/src/rig.c @@ -6229,7 +6229,7 @@ int HAMLIB_API rig_get_rig_info(RIG *rig, char *response, int max_response_len) txa = split == 0; rxb = !rxa; txb = split == 1; - snprintf(response,max_response_len,"%s Freq=%.0f Mode=%s Width=%d RX=%d TX=%d\n%s Freq=%.0f Mode=%s Width=%d RX=%d TX=%d\nSplit=%d SatMode=%d", rig_strvfo(vfoA), freqA, rig_strrmode(modeA), (int)widthA, rxa, txa, rig_strvfo(vfoB), freqA, rig_strrmode(modeB), (int)widthB, rxb, txb, split, satmode); + snprintf(response,max_response_len,"%s Freq=%.0f Mode=%s Width=%d RX=%d TX=%d\n%s Freq=%.0f Mode=%s Width=%d RX=%d TX=%d\nSplit=%d SatMode=%d", rig_strvfo(vfoA), freqA, rig_strrmode(modeA), (int)widthA, rxa, txa, rig_strvfo(vfoB), freqB, rig_strrmode(modeB), (int)widthB, rxb, txb, split, satmode); RETURNFUNC(RIG_OK); } diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c index 06eefd8a..e1b9a65a 100644 --- a/tests/rigctl_parse.c +++ b/tests/rigctl_parse.c @@ -333,7 +333,7 @@ static struct test_table test_list[] = { 0x8f, "dump_state", ACTION(dump_state), ARG_OUT | ARG_NOVFO }, { 0xf0, "chk_vfo", ACTION(chk_vfo), ARG_NOVFO, "ChkVFO" }, /* rigctld only--check for VFO mode */ { 0xf2, "set_vfo_opt", ACTION(set_vfo_opt), ARG_NOVFO | ARG_IN, "Status" }, /* turn vfo option on/off */ - { 0xf3, "get_vfo_info", ACTION(get_vfo_info), ARG_NOVFO | ARG_IN1 | ARG_OUT4, "Freq", "Mode", "Width", "Split", "SatMode" }, /* get several vfo parameters at once */ + { 0xf3, "get_vfo_info", ACTION(get_vfo_info), ARG_IN1 | ARG_OUT4, "Freq", "Mode", "Width", "Split", "SatMode" }, /* get several vfo parameters at once */ { 0xf5, "get_rig_info", ACTION(get_rig_info), ARG_NOVFO | ARG_OUT, "RigInfo" }, /* get several vfo parameters at once */ { 0xf4, "get_vfo_list", ACTION(get_vfo_list), ARG_OUT | ARG_NOVFO, "VFOs" }, { 0xf1, "halt", ACTION(halt), ARG_NOVFO }, /* rigctld only--halt the daemon */ commit 6b13c6c3a3ce65ce67c5a210d621521340128719 Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Apr 27 11:51:43 2021 -0500 New rig_get_rig_info function Also get_rig_info in rigctld too Example output with rig in split mode This is a string return to allow for easy future expansion without changing the API New tokens may be introduced and can be skipped if not used by clients VFOA Freq=10133000 Mode=LSB Width=0 RX=1 TX=0 VFOB Freq=10134000 Mode=LSB Width=0 RX=0 TX=1 Split=1 SatMode=0 https://github.com/Hamlib/Hamlib/issues/682 diff --git a/src/rig.c b/src/rig.c index 7e734a08..db1722e1 100644 --- a/src/rig.c +++ b/src/rig.c @@ -6209,14 +6209,28 @@ const char *HAMLIB_API rig_get_info(RIG *rig) */ int HAMLIB_API rig_get_rig_info(RIG *rig, char *response, int max_response_len) { - vfo_t vfoA; - freq_t freqA; - rmode_t modeA; - pbwidth_t widthA; + vfo_t vfoA,vfoB; + freq_t freqA,freqB; + rmode_t modeA,modeB; + pbwidth_t widthA,widthB; split_t split; int satmode; + int ret; + int rxa, txa, rxb, txb; response[0] = 0; - RETURNFUNC(-RIG_ENIMPL); + + vfoA = vfo_fixup(rig, RIG_VFO_A); + vfoB = vfo_fixup(rig, RIG_VFO_B); + ret = rig_get_vfo_info(rig, vfoA, &freqA, &modeA, &widthA, &split, &satmode); + if (ret != RIG_OK) RETURNFUNC(ret); + ret = rig_get_vfo_info(rig, vfoB, &freqB, &modeB, &widthB, &split, &satmode); + if (ret != RIG_OK) RETURNFUNC(ret); + rxa = 1; + txa = split == 0; + rxb = !rxa; + txb = split == 1; + snprintf(response,max_response_len,"%s Freq=%.0f Mode=%s Width=%d RX=%d TX=%d\n%s Freq=%.0f Mode=%s Width=%d RX=%d TX=%d\nSplit=%d SatMode=%d", rig_strvfo(vfoA), freqA, rig_strrmode(modeA), (int)widthA, rxa, txa, rig_strvfo(vfoB), freqA, rig_strrmode(modeB), (int)widthB, rxb, txb, split, satmode); + RETURNFUNC(RIG_OK); } /** diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c index 888cf05e..06eefd8a 100644 --- a/tests/rigctl_parse.c +++ b/tests/rigctl_parse.c @@ -166,6 +166,7 @@ declare_proto_rig(set_mode); declare_proto_rig(get_mode); declare_proto_rig(set_vfo); declare_proto_rig(get_vfo); +declare_proto_rig(get_rig_info); declare_proto_rig(get_vfo_info); declare_proto_rig(get_vfo_list); declare_proto_rig(set_ptt); @@ -333,6 +334,7 @@ static struct test_table test_list[] = { 0xf0, "chk_vfo", ACTION(chk_vfo), ARG_NOVFO, "ChkVFO" }, /* rigctld only--check for VFO mode */ { 0xf2, "set_vfo_opt", ACTION(set_vfo_opt), ARG_NOVFO | ARG_IN, "Status" }, /* turn vfo option on/off */ { 0xf3, "get_vfo_info", ACTION(get_vfo_info), ARG_NOVFO | ARG_IN1 | ARG_OUT4, "Freq", "Mode", "Width", "Split", "SatMode" }, /* get several vfo parameters at once */ + { 0xf5, "get_rig_info", ACTION(get_rig_info), ARG_NOVFO | ARG_OUT, "RigInfo" }, /* get several vfo parameters at once */ { 0xf4, "get_vfo_list", ACTION(get_vfo_list), ARG_OUT | ARG_NOVFO, "VFOs" }, { 0xf1, "halt", ACTION(halt), ARG_NOVFO }, /* rigctld only--halt the daemon */ { 0x8c, "pause", ACTION(pause), ARG_IN, "Seconds" }, @@ -2213,6 +2215,17 @@ declare_proto_rig(get_vfo) RETURNFUNC(status); } +declare_proto_rig(get_rig_info) +{ + char buf[1024]; // big enough to last numerous years hopefully + int ret; + ENTERFUNC; + ret = rig_get_rig_info(rig, buf, sizeof(buf)); + if (ret != RIG_OK) RETURNFUNC(ret); + fprintf(fout,"%s\n", buf); + RETURNFUNC(RIG_OK); +} + /* '\get_vfo_info' */ declare_proto_rig(get_vfo_info) { commit 6c13951da8928e8201cc59f9db3ff1dbfe71db9b Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Apr 27 10:32:12 2021 -0500 Add satmode to rig_get_vfo_info Add prototype for rig_get_rig_info https://github.com/Hamlib/Hamlib/issues/682 diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index 17dcf618..ada3cdbc 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -2376,7 +2376,12 @@ rig_get_vfo HAMLIB_PARAMS((RIG *rig, 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)); + vfo_t vfo, + freq_t *freq, + rmode_t *mode, + pbwidth_t *width, + split_t *split, + int *satmode)); extern HAMLIB_EXPORT(int) rig_get_vfo_list HAMLIB_PARAMS((RIG *rig, char *buf, int buflen)); @@ -3017,7 +3022,8 @@ extern HAMLIB_EXPORT(int) rig_get_cache_timeout_ms(RIG *rig, hamlib_cache_t sele extern HAMLIB_EXPORT(int) rig_set_cache_timeout_ms(RIG *rig, hamlib_cache_t selection, int ms); extern HAMLIB_EXPORT(int) rig_set_vfo_opt(RIG *rig, int status); -extern HAMLIB_EXPORT(int) rig_get_vfo_info(RIG *rig, vfo_t vfo, freq_t *freq, rmode_t *mode, pbwidth_t *width, split_t *split); +extern HAMLIB_EXPORT(int) rig_get_vfo_info(RIG *rig, vfo_t vfo, freq_t *freq, rmode_t *mode, pbwidth_t *width, split_t *split, int *satmode); +extern int HAMLIB_API rig_get_rig_info(RIG *rig, char *response, int max_response_len); extern HAMLIB_EXPORT(int) rig_get_cache(RIG *rig, vfo_t vfo, freq_t *freq, int * cache_ms_freq, rmode_t *mode, int *cache_ms_mode, pbwidth_t *width, int *cache_ms_width); diff --git a/src/rig.c b/src/rig.c index 0e12870c..7e734a08 100644 --- a/src/rig.c +++ b/src/rig.c @@ -6201,6 +6201,24 @@ const char *HAMLIB_API rig_get_info(RIG *rig) return (rig->caps->get_info(rig)); } +/** + * \brief get freq/mode/width for requested VFO + * \param rig The rig handle + * + * returns a string for all known VFOs plus rig split status and satellite mode status + */ +int HAMLIB_API rig_get_rig_info(RIG *rig, char *response, int max_response_len) +{ + vfo_t vfoA; + freq_t freqA; + rmode_t modeA; + pbwidth_t widthA; + split_t split; + int satmode; + response[0] = 0; + RETURNFUNC(-RIG_ENIMPL); +} + /** * \brief get freq/mode/width for requested VFO * \param rig The rig handle @@ -6219,7 +6237,7 @@ const char *HAMLIB_API rig_get_info(RIG *rig) * */ int HAMLIB_API rig_get_vfo_info(RIG *rig, vfo_t vfo, freq_t *freq, - rmode_t *mode, pbwidth_t *width, split_t *split) + rmode_t *mode, pbwidth_t *width, split_t *split, int *satmode) { int retval; @@ -6262,6 +6280,7 @@ int HAMLIB_API rig_get_vfo_info(RIG *rig, vfo_t vfo, freq_t *freq, *width = rig->state.cache.widthMainA; } + *satmode = rig->state.cache.satmode; // we should only need to ask for VFO_CURR to minimize display swapping TRACE; retval = rig_get_split(rig, RIG_VFO_CURR, split); diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c index 860586d7..888cf05e 100644 --- a/tests/rigctl_parse.c +++ b/tests/rigctl_parse.c @@ -134,6 +134,7 @@ struct test_table const char *arg2; const char *arg3; const char *arg4; + const char *arg5; }; @@ -331,7 +332,7 @@ static struct test_table test_list[] = { 0x8f, "dump_state", ACTION(dump_state), ARG_OUT | ARG_NOVFO }, { 0xf0, "chk_vfo", ACTION(chk_vfo), ARG_NOVFO, "ChkVFO" }, /* rigctld only--check for VFO mode */ { 0xf2, "set_vfo_opt", ACTION(set_vfo_opt), ARG_NOVFO | ARG_IN, "Status" }, /* turn vfo option on/off */ - { 0xf3, "get_vfo_info", ACTION(get_vfo_info), ARG_NOVFO | ARG_IN1 | ARG_OUT3, "Freq", "Mode", "Width", "Split" }, /* get several vfo parameters at once */ + { 0xf3, "get_vfo_info", ACTION(get_vfo_info), ARG_NOVFO | ARG_IN1 | ARG_OUT4, "Freq", "Mode", "Width", "Split", "SatMode" }, /* get several vfo parameters at once */ { 0xf4, "get_vfo_list", ACTION(get_vfo_list), ARG_OUT | ARG_NOVFO, "VFOs" }, { 0xf1, "halt", ACTION(halt), ARG_NOVFO }, /* rigctld only--halt the daemon */ { 0x8c, "pause", ACTION(pause), ARG_IN, "Seconds" }, @@ -2232,7 +2233,8 @@ declare_proto_rig(get_vfo_info) rmode_t mode = RIG_MODE_NONE; pbwidth_t width = 0; split_t split; - retval = rig_get_vfo_info(rig, vfo, &freq, &mode, &width, &split); + int satmode = 0; + retval = rig_get_vfo_info(rig, vfo, &freq, &mode, &width, &split, &satmode); if (retval != RIG_OK) { @@ -2249,6 +2251,7 @@ declare_proto_rig(get_vfo_info) fprintf(fout, "%s: %s\n", cmd->arg2, modestr); fprintf(fout, "%s: %d\n", cmd->arg3, (int)width); fprintf(fout, "%s: %d\n", cmd->arg4, (int)split); + fprintf(fout, "%s: %d\n", cmd->arg5, (int)satmode); } else { diff --git a/tests/simicom.c b/tests/simicom.c deleted file mode 100644 index 87fcc76d..00000000 --- a/tests/simicom.c +++ /dev/null @@ -1,288 +0,0 @@ -// simicom will show the pts port to use for rigctl on Unix -// using virtual serial ports on Windows is to be developed yet -// gcc -g -Wall -o simicom simicom.c -lhamlib -// On mingw in the hamlib src directory -// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32 -#define _XOPEN_SOURCE 600 -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#include <fcntl.h> -#include <sys/time.h> -#include <hamlib/rig.h> -#include "../src/misc.h" - -#define BUFSIZE 256 - -int civ_731_mode = 0; -vfo_t current_vfo = RIG_VFO_A; -int split = 0; - -// we make B different from A to ensure we see a difference at startup -float freqA = 14074000; -float freqB = 14074500; -mode_t modeA = RIG_MODE_CW; -mode_t modeB = RIG_MODE_USB; -pbwidth_t widthA = 0; -pbwidth_t widthB = 1; - -void dumphex(unsigned char *buf, int n) -{ - for (int i = 0; i < n; ++i) { printf("%02x ", buf[i]); } - - printf("\n"); -} - -int -frameGet(int fd, unsigned char *buf) -{ - int i = 0; - memset(buf, 0, BUFSIZE); - unsigned char c; - - while (read(fd, &c, 1) > 0) - { - buf[i++] = c; - //printf("i=%d, c=0x%02x\n",i,c); - - if (c == 0xfd) - { - dumphex(buf, i); - return i; - } - } - - printf("Error???\n"); - - return 0; -} - -void frameParse(int fd, unsigned char *frame, int len) -{ - double freq; - - dumphex(frame, len); - - if (frame[0] != 0xfe && frame[1] != 0xfe) - { - printf("expected fe fe, got "); - dumphex(frame, len); - return; - } - - switch (frame[4]) - { - case 0x03: - - //from_bcd(frameackbuf[2], (civ_731_mode ? 4 : 5) * 2); - if (current_vfo == RIG_VFO_A || current_vfo == RIG_VFO_MAIN) - { - printf("get_freqA\n"); - to_bcd(&frame[5], (long long)freqA, (civ_731_mode ? 4 : 5) * 2); - } - else - { - printf("get_freqB\n"); - to_bcd(&frame[5], (long long)freqB, (civ_731_mode ? 4 : 5) * 2); - } - - frame[10] = 0xfd; - write(fd, frame, 11); - break; - - case 0x04: - if (current_vfo == RIG_VFO_A || current_vfo == RIG_VFO_MAIN) - { - printf("get_modeA\n"); - frame[5] = modeA; - frame[6] = widthA; - } - else - { - printf("get_modeB\n"); - frame[5] = modeB; - frame[6] = widthB; - } - - frame[7] = 0xfd; - write(fd, frame, 8); - break; - - case 0x05: - freq = from_bcd(&frame[5], (civ_731_mode ? 4 : 5) * 2); - printf("set_freq to %.0f\n", freq); - - if (current_vfo == RIG_VFO_A || current_vfo == RIG_VFO_MAIN) { freqA = freq; } - else { freqB = freq; } - -// case 0x06: - - - case 0x07: - - switch (frame[5]) - { - case 0x00: current_vfo = RIG_VFO_A; break; - - case 0x01: current_vfo = RIG_VFO_B; break; - - case 0xd0: current_vfo = RIG_VFO_MAIN; break; - - case 0xd1: current_vfo = RIG_VFO_SUB; break; - } - - printf("set_vfo to %s\n", rig_strvfo(current_vfo)); - - frame[4] = 0xfb; - frame[5] = 0xfd; - write(fd, frame, 6); - break; - - case 0x0f: - if (frame[5] == 0) { split = 0; } - else { split = 1; } - - printf("set split %d\n", 1); - frame[4] = 0xfb; - frame[5] = 0xfd; - write(fd, frame, 6); - break; - - case 0x1a: // miscellaneous things - switch (frame[5]) - { - case 0x03: // width - if (current_vfo == RIG_VFO_A || current_vfo == RIG_VFO_MAIN) { frame[6] = widthA; } - else { frame[6] = widthB; } - - frame[7] = 0xfd; - write(fd, frame, 8); - break; - } - - break; - -#if 0 - case 0x25: - if (frame[6] == 0xfd) - { - if (frame[5] == 0x00) - { - to_bcd(&frame[6], (long long)freqA, (civ_731_mode ? 4 : 5) * 2); - printf("get_freqA=%.0f\n", freqA); - } - else - { - to_bcd(&frame[6], (long long)freqB, (civ_731_mode ? 4 : 5) * 2); - printf("get_freqB=%.0f\n", freqB); - } - - frame[11] = 0xfd; - write(fd, frame, 12); - } - else - { - freq = from_bcd(&frame[5], (civ_731_mode ? 4 : 5) * 2); - printf("set_freq to %.0f\n", freq); - - if (frame[5] == 0x00) { freqA = freq; } - else { freqB = freq; } - - frame[4] = 0xfb; - frame[5] = 0xfd; - } - - break; -#endif - - default: printf("cmd 0x%02x unknown\n", frame[4]); - } - - // don't care about the rig type yet - -} - -#if defined(WIN32) || defined(_WIN32) -int openPort(char *comport) // doesn't matter for using pts devices -{ - int fd; - fd = open(comport, O_RDWR); - - if (fd < 0) - { - perror(comport); - } - - return fd; -} - -#else -int openPort(char *comport) // doesn't matter for using pts devices -{ - int fd = posix_openpt(O_RDWR); - char *name = ptsname(fd); - - if (name == NULL) - { - perror("pstname"); - return -1; - } - - printf("name=%s\n", name); - - if (fd == -1 || grantpt(fd) == -1 || unlockpt(fd) == -1) - { - perror("posix_openpt"); - return -1; - } - - return fd; -} -#endif - -void rigStatus() -{ - char vfoa = current_vfo == RIG_VFO_A ? '*' : ' '; - char vfob = current_vfo == RIG_VFO_B ? '*' : ' '; - printf("%cVFOA: mode=%s width=%ld freq=%.0f\n", vfoa, rig_strrmode(modeA), - widthA, - freqA); - printf("%cVFOB: mode=%s width=%ld freq=%.0f\n", vfob, rig_strrmode(modeB), - widthB, - freqB); -} - -int main(int argc, char **argv) -{ - unsigned char buf[256]; - int fd = openPort(argv[1]); - - printf("%s: %s\n", argv[0], rig_version()); -#if defined(WIN32) || defined(_WIN32) - - if (argc != 2) - { - printf("Missing comport argument\n"); - printf("%s [comport]\n", argv[0]); - exit(1); - } - -#endif - - while (1) - { - int len = frameGet(fd, buf); - - if (len <= 0) - { - close(fd); - fd = openPort(argv[1]); - } - - frameParse(fd, buf, len); - rigStatus(); - } - - return 0; -} ----------------------------------------------------------------------- Summary of changes: NEWS | 12 ++- include/hamlib/rig.h | 10 +- src/rig.c | 35 ++++++- tests/rigctl_parse.c | 20 +++- tests/simicom.c | 288 --------------------------------------------------- 5 files changed, 71 insertions(+), 294 deletions(-) delete mode 100644 tests/simicom.c hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-27 15:00:41
|
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 9a82ebf65229131e6425231f521a31d6a7efa312 (commit) from 622257c3671bdc1f4e29dffcf0f6f0b48ffa30a2 (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 9a82ebf65229131e6425231f521a31d6a7efa312 Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Apr 27 10:00:10 2021 -0500 Make icom.c 0x25 cmd check only try once https://github.com/Hamlib/Hamlib/issues/685 diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 85f3a7db..2f76c30e 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -2109,7 +2109,7 @@ int icom_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) RIG_VFO_CURR)) { // then we get what was asked for - if (vfo == RIG_VFO_NONE) + if (vfo == RIG_VFO_NONE && rig->state.current_vfo == RIG_VFO_NONE) { rig_debug(RIG_DEBUG_TRACE, "%s(%d): forcing default VFO_A\n", __func__, __LINE__); @@ -4491,11 +4491,14 @@ int icom_get_split_freq(RIG *rig, vfo_t vfo, freq_t *tx_freq) { if (priv->x25cmdfails == 0) { + int retry_save = rs->rigport.retry; + rs->rigport.retry = 0; cmd = C_SEND_SEL_FREQ; subcmd = 0x01; // get the unselected vfo retval = icom_transaction(rig, cmd, subcmd, NULL, 0, ackbuf, &ack_len); + rs->rigport.retry = retry_save; if (retval == RIG_OK) // then we're done!! { *tx_freq = from_bcd(ackbuf + 2, (priv->civ_731_mode ? 4 : 5) * 2); diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h index 0f62d073..564b519e 100644 --- a/rigs/icom/icom.h +++ b/rigs/icom/icom.h @@ -30,7 +30,7 @@ #include <sys/time.h> #endif -#define BACKEND_VER "20210419" +#define BACKEND_VER "20210427" /* * defines used by comp_cal_str in rig.c ----------------------------------------------------------------------- Summary of changes: rigs/icom/icom.c | 5 ++++- rigs/icom/icom.h | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-27 14:43:47
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Hamlib -- Ham radio control libraries". The branch, master has been updated via 622257c3671bdc1f4e29dffcf0f6f0b48ffa30a2 (commit) from 64c2a4d4a95a4d905586b4b513237f622c7b0c2d (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 622257c3671bdc1f4e29dffcf0f6f0b48ffa30a2 Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Apr 27 09:43:05 2021 -0500 Add vfo_fixup to get_vfo_info https://github.com/Hamlib/Hamlib/issues/681 diff --git a/src/rig.c b/src/rig.c index 21a2ca97..0e12870c 100644 --- a/src/rig.c +++ b/src/rig.c @@ -6233,6 +6233,7 @@ int HAMLIB_API rig_get_vfo_info(RIG *rig, vfo_t vfo, freq_t *freq, //if (vfo == RIG_VFO_CURR) { vfo = rig->state.current_vfo; } + vfo = vfo_fixup(rig,vfo); // we can't use the cached values as some clients may only call this function // like Log4OM which mostly does polling TRACE; ----------------------------------------------------------------------- Summary of changes: src/rig.c | 1 + 1 file changed, 1 insertion(+) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-27 14:37:33
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Hamlib -- Ham radio control libraries". The branch, master has been updated via 64c2a4d4a95a4d905586b4b513237f622c7b0c2d (commit) from a6af56ff53fd0abfe1d7d76ec3f5ec9bf54bf2a2 (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 64c2a4d4a95a4d905586b4b513237f622c7b0c2d Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Apr 27 09:36:27 2021 -0500 Add TRACE statements to allow for better debug following top level rig calls diff --git a/src/rig.c b/src/rig.c index 42eb5987..21a2ca97 100644 --- a/src/rig.c +++ b/src/rig.c @@ -193,6 +193,8 @@ static const char *rigerror_table[] = #define ERROR_TBL_SZ (sizeof(rigerror_table)/sizeof(char *)) +#define TRACE rig_debug(RIG_DEBUG_TRACE,"%s(%d) trace\n", __FILE__, __LINE__) + /* * track which rig is opened (with rig_open) * needed at least for transceive mode @@ -1002,6 +1004,7 @@ int HAMLIB_API rig_open(RIG *rig) /* * trigger state->current_vfo first retrieval */ + TRACE; if (rig_get_vfo(rig, &rs->current_vfo) == RIG_OK) { rs->tx_vfo = rs->current_vfo; @@ -1014,6 +1017,7 @@ int HAMLIB_API rig_open(RIG *rig) if (backend_num == RIG_ICOM) { + TRACE; rig_set_vfo(rig, RIG_VFO_A); // force VFOA as our startup VFO rig_debug(RIG_DEBUG_TRACE, "%s: Icom rig so default vfo = %s\n", __func__, rig_strvfo(rs->current_vfo)); @@ -1037,6 +1041,7 @@ int HAMLIB_API rig_open(RIG *rig) // try to turn off the screensaver if possible // don't care about the return here...it's just a nice-to-have parm_value.i = 0; + TRACE; rig_set_parm(rig, RIG_PARM_SCREENSAVER, parm_value); } @@ -1100,6 +1105,7 @@ int HAMLIB_API rig_close(RIG *rig) if (rs->transceive != RIG_TRN_OFF) { + TRACE; rig_set_trn(rig, RIG_TRN_OFF); } @@ -1639,6 +1645,7 @@ int twiddling(RIG *rig) int retval2; int elapsed; + TRACE; retval2 = caps->get_freq(rig, RIG_VFO_CURR, &curr_freq); if (retval2 == RIG_OK && rig->state.current_freq != curr_freq) @@ -1737,7 +1744,10 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq) { rig_debug(RIG_DEBUG_TRACE, "%s: Ignoring set_freq due to VFO twiddling\n", __func__); - if (vfo != vfo_save && vfo != RIG_VFO_CURR) rig_set_vfo(rig, vfo_save); + if (vfo != vfo_save && vfo != RIG_VFO_CURR) { + TRACE; + rig_set_vfo(rig, vfo_save); + } RETURNFUNC( RIG_OK); // would be better as error but other software won't handle errors } @@ -1749,6 +1759,7 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq) do { + TRACE; retcode = caps->set_freq(rig, vfo, freq); if (retcode != RIG_OK) { RETURNFUNC(retcode); } @@ -1803,11 +1814,15 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq) { rig_debug(RIG_DEBUG_TRACE, "%s: Ignoring set_freq due to VFO twiddling\n", __func__); - if (vfo != vfo_save && vfo != RIG_VFO_CURR) rig_set_vfo(rig, vfo_save); + if (vfo != vfo_save && vfo != RIG_VFO_CURR) { + TRACE; + rig_set_vfo(rig, vfo_save); + } RETURNFUNC( RIG_OK); // would be better as error but other software won't handle errors } + TRACE; retcode = caps->set_freq(rig, vfo, freq); } @@ -1827,6 +1842,7 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq) ) { set_cache_freq(rig, RIG_VFO_ALL, (freq_t)0); + TRACE; retcode = rig_get_freq(rig, vfo, &freq_new); if (retcode != RIG_OK) { RETURNFUNC(retcode); } @@ -1846,7 +1862,10 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq) set_cache_freq(rig, vfo, freq_new); - if (vfo != vfo_save && vfo != RIG_VFO_CURR) rig_set_vfo(rig, vfo_save); + if (vfo != vfo_save && vfo != RIG_VFO_CURR) { + TRACE; + rig_set_vfo(rig, vfo_save); + } RETURNFUNC(retcode); } @@ -1924,6 +1943,7 @@ int HAMLIB_API rig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) { // if we're in PTT don't get VFOA freq -- otherwise we interrupt transmission ptt_t ptt; + TRACE; retcode = rig_get_ptt(rig, RIG_VFO_CURR, &ptt); if (retcode != RIG_OK) @@ -1983,6 +2003,7 @@ int HAMLIB_API rig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) rig_strvfo(vfo)); } + TRACE; retcode = caps->get_freq(rig, vfo, freq); cache_show(rig, __func__, __LINE__); @@ -2012,6 +2033,7 @@ int HAMLIB_API rig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) RETURNFUNC(-RIG_ENAVAIL); } + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -2021,6 +2043,7 @@ int HAMLIB_API rig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) cache_show(rig, __func__, __LINE__); + TRACE; retcode = caps->get_freq(rig, vfo, freq); /* try and revert even if we had an error above */ rc2 = caps->set_vfo(rig, curr_vfo); @@ -2127,6 +2150,7 @@ int HAMLIB_API rig_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) || vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { + TRACE; retcode = caps->set_mode(rig, vfo, mode, width); rig_debug(RIG_DEBUG_TRACE, "%s: targetable retcode after set_mode=%d\n", __func__, @@ -2145,6 +2169,7 @@ int HAMLIB_API rig_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -2245,6 +2270,7 @@ int HAMLIB_API rig_get_mode(RIG *rig, || vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { + TRACE; retcode = caps->get_mode(rig, vfo, mode, width); rig_debug(RIG_DEBUG_TRACE, "%s: retcode after get_mode=%d\n", __func__, retcode); @@ -2263,6 +2289,7 @@ int HAMLIB_API rig_get_mode(RIG *rig, curr_vfo = rig->state.current_vfo; rig_debug(RIG_DEBUG_TRACE, "%s(%d): vfo=%s, curr_vfo=%s\n", __func__, __LINE__, rig_strvfo(vfo), rig_strvfo(curr_vfo)); + TRACE; retcode = caps->set_vfo(rig, vfo == RIG_VFO_CURR ? RIG_VFO_A : vfo); cache_show(rig, __func__, __LINE__); @@ -2272,6 +2299,7 @@ int HAMLIB_API rig_get_mode(RIG *rig, RETURNFUNC(retcode); } + TRACE; retcode = caps->get_mode(rig, vfo, mode, width); /* try and revert even if we had an error above */ rc2 = caps->set_vfo(rig, curr_vfo); @@ -2523,6 +2551,7 @@ int HAMLIB_API rig_set_vfo(RIG *rig, vfo_t vfo) RIG_OK); // would be better as error but other software won't handle errors } + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode == RIG_OK) @@ -2543,6 +2572,7 @@ int HAMLIB_API rig_set_vfo(RIG *rig, vfo_t vfo) // we only get the freq if we set the vfo OK if (retcode == RIG_OK && caps->get_freq) { + TRACE; retcode = caps->get_freq(rig, vfo, &curr_freq); rig_debug(RIG_DEBUG_TRACE, "%s: retcode from rig_get_freq = %.10000s\n", __func__, @@ -2628,6 +2658,7 @@ int HAMLIB_API rig_get_vfo(RIG *rig, vfo_t *vfo) rig_debug(RIG_DEBUG_TRACE, "%s: cache miss age=%dms\n", __func__, cache_ms); } + TRACE; retcode = caps->get_vfo(rig, vfo); if (retcode == RIG_OK) @@ -2704,6 +2735,7 @@ int HAMLIB_API rig_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt) do { + TRACE; retcode = caps->set_ptt(rig, vfo, ptt); if (retcode != RIG_OK) { RETURNFUNC(retcode); } @@ -2743,6 +2775,7 @@ int HAMLIB_API rig_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode == RIG_OK) @@ -2753,6 +2786,7 @@ int HAMLIB_API rig_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt) do { + TRACE; retcode = caps->set_ptt(rig, vfo, ptt); if (retcode != RIG_OK) { RETURNFUNC(retcode); } @@ -2769,6 +2803,7 @@ int HAMLIB_API rig_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt) while (tptt != ptt && retry-- > 0 && retcode == RIG_OK); /* try and revert even if we had an error above */ + TRACE; rc2 = caps->set_vfo(rig, curr_vfo); /* return the first error code */ @@ -2969,6 +3004,7 @@ int HAMLIB_API rig_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt) || vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { + TRACE; retcode = caps->get_ptt(rig, vfo, ptt); if (retcode == RIG_OK) @@ -2986,6 +3022,7 @@ int HAMLIB_API rig_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -2993,6 +3030,7 @@ int HAMLIB_API rig_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt) RETURNFUNC(retcode); } + TRACE; retcode = caps->get_ptt(rig, vfo, ptt); /* try and revert even if we had an error above */ rc2 = caps->set_vfo(rig, curr_vfo); @@ -3010,6 +3048,7 @@ int HAMLIB_API rig_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt) case RIG_PTT_SERIAL_RTS: if (caps->get_ptt) { + TRACE; retcode = caps->get_ptt(rig, vfo, ptt); if (retcode == RIG_OK) @@ -3041,6 +3080,7 @@ int HAMLIB_API rig_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt) case RIG_PTT_SERIAL_DTR: if (caps->get_ptt) { + TRACE; retcode = caps->get_ptt(rig, vfo, ptt); if (retcode == RIG_OK) @@ -3072,6 +3112,7 @@ int HAMLIB_API rig_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt) case RIG_PTT_PARALLEL: if (caps->get_ptt) { + TRACE; retcode = caps->get_ptt(rig, vfo, ptt); if (retcode == RIG_OK) @@ -3096,6 +3137,7 @@ int HAMLIB_API rig_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt) case RIG_PTT_CM108: if (caps->get_ptt) { + TRACE; retcode = caps->get_ptt(rig, vfo, ptt); if (retcode == RIG_OK) @@ -3121,6 +3163,7 @@ int HAMLIB_API rig_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt) case RIG_PTT_GPION: if (caps->get_ptt) { + TRACE; retcode = caps->get_ptt(rig, vfo, ptt); if (retcode == RIG_OK) @@ -3191,6 +3234,7 @@ int HAMLIB_API rig_get_dcd(RIG *rig, vfo_t vfo, dcd_t *dcd) if (vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { + TRACE; retcode = caps->get_dcd(rig, vfo, dcd); RETURNFUNC(retcode); } @@ -3201,6 +3245,7 @@ int HAMLIB_API rig_get_dcd(RIG *rig, vfo_t vfo, dcd_t *dcd) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -3208,6 +3253,7 @@ int HAMLIB_API rig_get_dcd(RIG *rig, vfo_t vfo, dcd_t *dcd) RETURNFUNC(retcode); } + TRACE; retcode = caps->get_dcd(rig, vfo, dcd); /* try and revert even if we had an error above */ rc2 = caps->set_vfo(rig, curr_vfo); @@ -3295,6 +3341,7 @@ int HAMLIB_API rig_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift) if (vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { + TRACE; retcode = caps->set_rptr_shift(rig, vfo, rptr_shift); RETURNFUNC(retcode); } @@ -3305,6 +3352,7 @@ int HAMLIB_API rig_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -3312,6 +3360,7 @@ int HAMLIB_API rig_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift) RETURNFUNC(retcode); } + TRACE; retcode = caps->set_rptr_shift(rig, vfo, rptr_shift); /* try and revert even if we had an error above */ rc2 = caps->set_vfo(rig, curr_vfo); @@ -3368,6 +3417,7 @@ int HAMLIB_API rig_get_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift) if (vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { + TRACE; retcode = caps->get_rptr_shift(rig, vfo, rptr_shift); RETURNFUNC(retcode); } @@ -3378,6 +3428,7 @@ int HAMLIB_API rig_get_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -3385,7 +3436,8 @@ int HAMLIB_API rig_get_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift) RETURNFUNC(retcode); } - retcode = caps->get_rptr_shift(rig, vfo, rptr_shift); + TRACE; + retcode = caps->get_rptr_shift(rig, vfo, rptr_shift); /* try and revert even if we had an error above */ rc2 = caps->set_vfo(rig, curr_vfo); @@ -3436,6 +3488,7 @@ int HAMLIB_API rig_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t rptr_offs) if (vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { + TRACE; retcode = caps->set_rptr_offs(rig, vfo, rptr_offs); RETURNFUNC(retcode); } @@ -3446,6 +3499,7 @@ int HAMLIB_API rig_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t rptr_offs) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -3509,6 +3563,7 @@ int HAMLIB_API rig_get_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t *rptr_offs) if (vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { + TRACE; retcode = caps->get_rptr_offs(rig, vfo, rptr_offs); RETURNFUNC(retcode); } @@ -3519,6 +3574,7 @@ int HAMLIB_API rig_get_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t *rptr_offs) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -3585,6 +3641,7 @@ int HAMLIB_API rig_set_split_freq(RIG *rig, vfo_t vfo, freq_t tx_freq) || vfo == RIG_VFO_TX || tx_vfo == rig->state.current_vfo)) { + TRACE; retcode = caps->set_split_freq(rig, vfo, tx_freq); RETURNFUNC(retcode); } @@ -3602,6 +3659,7 @@ int HAMLIB_API rig_set_split_freq(RIG *rig, vfo_t vfo, freq_t tx_freq) do { + TRACE; retcode = rig_set_freq(rig, tx_vfo, tx_freq); if (retcode != RIG_OK) { RETURNFUNC(retcode); } @@ -3619,6 +3677,7 @@ int HAMLIB_API rig_set_split_freq(RIG *rig, vfo_t vfo, freq_t tx_freq) if (caps->set_vfo) { + TRACE; retcode = caps->set_vfo(rig, tx_vfo); } else if (rig_has_vfo_op(rig, RIG_OP_TOGGLE) && caps->vfo_op) @@ -3643,11 +3702,13 @@ int HAMLIB_API rig_set_split_freq(RIG *rig, vfo_t vfo, freq_t tx_freq) // doing get_freq seems to break on some rigs that can't read freq immediately after set if (caps->set_split_freq) { + TRACE; retcode = caps->set_split_freq(rig, vfo, tx_freq); //rig_get_freq(rig, vfo, &tfreq); } else { + TRACE; retcode = rig_set_freq(rig, RIG_VFO_CURR, tx_freq); //rig_get_freq(rig, vfo, &tfreq); } @@ -3659,6 +3720,7 @@ int HAMLIB_API rig_set_split_freq(RIG *rig, vfo_t vfo, freq_t tx_freq) /* try and revert even if we had an error above */ if (caps->set_vfo) { + TRACE; rc2 = caps->set_vfo(rig, curr_vfo); } else @@ -3717,6 +3779,7 @@ int HAMLIB_API rig_get_split_freq(RIG *rig, vfo_t vfo, freq_t *tx_freq) || vfo == RIG_VFO_TX || vfo == rig->state.current_vfo)) { + TRACE; retcode = caps->get_split_freq(rig, vfo, tx_freq); RETURNFUNC(retcode); } @@ -3736,6 +3799,7 @@ int HAMLIB_API rig_get_split_freq(RIG *rig, vfo_t vfo, freq_t *tx_freq) if (caps->get_freq && (caps->targetable_vfo & RIG_TARGETABLE_FREQ)) { + TRACE; retcode = caps->get_freq(rig, tx_vfo, tx_freq); RETURNFUNC(retcode); } @@ -3746,6 +3810,7 @@ int HAMLIB_API rig_get_split_freq(RIG *rig, vfo_t vfo, freq_t *tx_freq) // if the underlying rig has OP_XCHG we don't need to set VFO if (!rig_has_vfo_op(rig, RIG_OP_XCHG)) { + TRACE; retcode = caps->set_vfo(rig, tx_vfo); if (retcode != RIG_OK) { RETURNFUNC(retcode); } @@ -3769,10 +3834,12 @@ int HAMLIB_API rig_get_split_freq(RIG *rig, vfo_t vfo, freq_t *tx_freq) if (caps->get_split_freq) { + TRACE; retcode = caps->get_split_freq(rig, vfo, tx_freq); } else { + TRACE; retcode = caps->get_freq(rig, RIG_VFO_CURR, tx_freq); } @@ -3785,6 +3852,7 @@ int HAMLIB_API rig_get_split_freq(RIG *rig, vfo_t vfo, freq_t *tx_freq) rig_debug(RIG_DEBUG_TRACE, "%s: restoring vfo=%s\n", __func__, rig_strvfo(save_vfo)); + TRACE; rc2 = caps->set_vfo(rig, save_vfo); } else @@ -3845,6 +3913,7 @@ int HAMLIB_API rig_set_split_mode(RIG *rig, || vfo == RIG_VFO_TX || vfo == rig->state.current_vfo)) { + TRACE; retcode = caps->set_split_mode(rig, vfo, tx_mode, tx_width); RETURNFUNC(retcode); } @@ -3864,6 +3933,7 @@ int HAMLIB_API rig_set_split_mode(RIG *rig, if (caps->set_mode && (caps->targetable_vfo & RIG_TARGETABLE_MODE)) { + TRACE; retcode = caps->set_mode(rig, tx_vfo, tx_mode, tx_width); RETURNFUNC(retcode); } @@ -3871,6 +3941,7 @@ int HAMLIB_API rig_set_split_mode(RIG *rig, if (caps->set_vfo) { + TRACE; retcode = caps->set_vfo(rig, tx_vfo); } else if (rig_has_vfo_op(rig, RIG_OP_TOGGLE) && caps->vfo_op) @@ -3890,16 +3961,19 @@ int HAMLIB_API rig_set_split_mode(RIG *rig, if (caps->set_split_mode) { + TRACE; retcode = caps->set_split_mode(rig, vfo, tx_mode, tx_width); } else { + TRACE; retcode = caps->set_mode(rig, RIG_VFO_CURR, tx_mode, tx_width); } /* try and revert even if we had an error above */ if (caps->set_vfo) { + TRACE; rc2 = caps->set_vfo(rig, curr_vfo); } else @@ -3962,6 +4036,7 @@ int HAMLIB_API rig_get_split_mode(RIG *rig, vfo_t vfo, rmode_t *tx_mode, || vfo == RIG_VFO_TX || vfo == rig->state.current_vfo)) { + TRACE; retcode = caps->get_split_mode(rig, vfo, tx_mode, tx_width); RETURNFUNC(retcode); } @@ -3981,6 +4056,7 @@ int HAMLIB_API rig_get_split_mode(RIG *rig, vfo_t vfo, rmode_t *tx_mode, if (caps->get_mode && (caps->targetable_vfo & RIG_TARGETABLE_MODE)) { + TRACE; retcode = caps->get_mode(rig, tx_vfo, tx_mode, tx_width); RETURNFUNC(retcode); } @@ -3988,10 +4064,12 @@ int HAMLIB_API rig_get_split_mode(RIG *rig, vfo_t vfo, rmode_t *tx_mode, if (caps->set_vfo) { + TRACE; retcode = caps->set_vfo(rig, tx_vfo); } else if (rig_has_vfo_op(rig, RIG_OP_TOGGLE) && caps->vfo_op) { + TRACE; retcode = caps->vfo_op(rig, vfo, RIG_OP_TOGGLE); } else @@ -4006,16 +4084,19 @@ int HAMLIB_API rig_get_split_mode(RIG *rig, vfo_t vfo, rmode_t *tx_mode, if (caps->get_split_mode) { + TRACE; retcode = caps->get_split_mode(rig, vfo, tx_mode, tx_width); } else { + TRACE; retcode = caps->get_mode(rig, RIG_VFO_CURR, tx_mode, tx_width); } /* try and revert even if we had an error above */ if (caps->set_vfo) { + TRACE; rc2 = caps->set_vfo(rig, curr_vfo); } else @@ -4095,6 +4176,7 @@ int HAMLIB_API rig_set_split_freq_mode(RIG *rig, int retcode2; #endif + TRACE; retcode = caps->set_split_freq_mode(rig, vfo, tx_freq, tx_mode, tx_width); #if 0 // this verification seems to be causing bad behavior on some reigs @@ -4126,11 +4208,13 @@ int HAMLIB_API rig_set_split_freq_mode(RIG *rig, } else { + TRACE; retcode = rig_set_split_freq(rig, vfo, tx_freq); } if (RIG_OK == retcode) { + TRACE; retcode = rig_set_split_mode(rig, vfo, tx_mode, tx_width); } @@ -4188,14 +4272,17 @@ int HAMLIB_API rig_get_split_freq_mode(RIG *rig, if (caps->get_split_freq_mode) { + TRACE; retcode = caps->get_split_freq_mode(rig, vfo, tx_freq, tx_mode, tx_width); return retcode; } + TRACE; retcode = rig_get_split_freq(rig, vfo, tx_freq); if (RIG_OK == retcode) { + TRACE; retcode = rig_get_split_mode(rig, vfo, tx_mode, tx_width); } @@ -4246,6 +4333,7 @@ int HAMLIB_API rig_set_split_vfo(RIG *rig, if (vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { + TRACE; retcode = caps->set_split_vfo(rig, vfo, split, tx_vfo); if (retcode == RIG_OK) @@ -4265,6 +4353,7 @@ int HAMLIB_API rig_set_split_vfo(RIG *rig, } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -4272,6 +4361,7 @@ int HAMLIB_API rig_set_split_vfo(RIG *rig, RETURNFUNC(retcode); } + TRACE; retcode = caps->set_split_vfo(rig, vfo, split, tx_vfo); /* try and revert even if we had an error above */ @@ -4374,6 +4464,7 @@ int HAMLIB_API rig_get_split_vfo(RIG *rig, if (vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { + TRACE; retcode = caps->get_split_vfo(rig, vfo, split, tx_vfo); rig->state.cache.split = *split; rig->state.cache.split_vfo = *tx_vfo; @@ -4397,6 +4488,7 @@ int HAMLIB_API rig_get_split_vfo(RIG *rig, #endif + TRACE; retcode = caps->get_split_vfo(rig, vfo, split, tx_vfo); #if 0 // see above /* try and revert even if we had an error above */ @@ -4459,6 +4551,7 @@ int HAMLIB_API rig_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit) || vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { + TRACE; retcode = caps->set_rit(rig, vfo, rit); RETURNFUNC(retcode); } @@ -4469,6 +4562,7 @@ int HAMLIB_API rig_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -4533,6 +4627,7 @@ int HAMLIB_API rig_get_rit(RIG *rig, vfo_t vfo, shortfreq_t *rit) || vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { + TRACE; retcode = caps->get_rit(rig, vfo, rit); RETURNFUNC(retcode); } @@ -4543,6 +4638,7 @@ int HAMLIB_API rig_get_rit(RIG *rig, vfo_t vfo, shortfreq_t *rit) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -4550,6 +4646,7 @@ int HAMLIB_API rig_get_rit(RIG *rig, vfo_t vfo, shortfreq_t *rit) RETURNFUNC(retcode); } + TRACE; retcode = caps->get_rit(rig, vfo, rit); /* try and revert even if we had an error above */ rc2 = caps->set_vfo(rig, curr_vfo); @@ -4602,6 +4699,7 @@ int HAMLIB_API rig_set_xit(RIG *rig, vfo_t vfo, shortfreq_t xit) || vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { + TRACE; retcode = caps->set_xit(rig, vfo, xit); RETURNFUNC(retcode); } @@ -4612,6 +4710,7 @@ int HAMLIB_API rig_set_xit(RIG *rig, vfo_t vfo, shortfreq_t xit) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -4676,6 +4775,7 @@ int HAMLIB_API rig_get_xit(RIG *rig, vfo_t vfo, shortfreq_t *xit) || vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { + TRACE; retcode = caps->get_xit(rig, vfo, xit); RETURNFUNC(retcode); } @@ -4686,6 +4786,7 @@ int HAMLIB_API rig_get_xit(RIG *rig, vfo_t vfo, shortfreq_t *xit) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -4693,6 +4794,7 @@ int HAMLIB_API rig_get_xit(RIG *rig, vfo_t vfo, shortfreq_t *xit) RETURNFUNC(retcode); } + TRACE; retcode = caps->get_xit(rig, vfo, xit); /* try and revert even if we had an error above */ rc2 = caps->set_vfo(rig, curr_vfo); @@ -4744,6 +4846,7 @@ int HAMLIB_API rig_set_ts(RIG *rig, vfo_t vfo, shortfreq_t ts) if (vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { + TRACE; retcode = caps->set_ts(rig, vfo, ts); RETURNFUNC(retcode); } @@ -4754,6 +4857,7 @@ int HAMLIB_API rig_set_ts(RIG *rig, vfo_t vfo, shortfreq_t ts) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -4761,6 +4865,7 @@ int HAMLIB_API rig_set_ts(RIG *rig, vfo_t vfo, shortfreq_t ts) RETURNFUNC(retcode); } + TRACE; retcode = caps->set_ts(rig, vfo, ts); /* try and revert even if we had an error above */ rc2 = caps->set_vfo(rig, curr_vfo); @@ -4817,6 +4922,7 @@ int HAMLIB_API rig_get_ts(RIG *rig, vfo_t vfo, shortfreq_t *ts) if (vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { + TRACE; retcode = caps->get_ts(rig, vfo, ts); RETURNFUNC(retcode); } @@ -4827,6 +4933,7 @@ int HAMLIB_API rig_get_ts(RIG *rig, vfo_t vfo, shortfreq_t *ts) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -4834,6 +4941,7 @@ int HAMLIB_API rig_get_ts(RIG *rig, vfo_t vfo, shortfreq_t *ts) RETURNFUNC(retcode); } + TRACE; retcode = caps->get_ts(rig, vfo, ts); /* try and revert even if we had an error above */ rc2 = caps->set_vfo(rig, curr_vfo); @@ -4891,6 +4999,7 @@ int HAMLIB_API rig_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option) || vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { + TRACE; retcode = caps->set_ant(rig, vfo, ant, option); RETURNFUNC(retcode); } @@ -4901,6 +5010,7 @@ int HAMLIB_API rig_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -4908,6 +5018,7 @@ int HAMLIB_API rig_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option) RETURNFUNC(retcode); } + TRACE; retcode = caps->set_ant(rig, vfo, ant, option); /* try and revert even if we had an error above */ rc2 = caps->set_vfo(rig, curr_vfo); @@ -4972,6 +5083,7 @@ int HAMLIB_API rig_get_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t *option, || vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { + TRACE; retcode = caps->get_ant(rig, vfo, ant, option, ant_curr, ant_tx, ant_rx); RETURNFUNC(retcode); } @@ -4982,6 +5094,7 @@ int HAMLIB_API rig_get_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t *option, } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -4989,6 +5102,7 @@ int HAMLIB_API rig_get_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t *option, RETURNFUNC(retcode); } + TRACE; retcode = caps->get_ant(rig, vfo, ant, option, ant_curr, ant_tx, ant_rx); /* try and revert even if we had an error above */ rc2 = caps->set_vfo(rig, curr_vfo); @@ -5193,6 +5307,7 @@ int HAMLIB_API rig_set_powerstat(RIG *rig, powerstat_t status) RETURNFUNC(-RIG_ENAVAIL); } + TRACE; retcode = rig->caps->set_powerstat(rig, status); RETURNFUNC(retcode); } @@ -5233,6 +5348,7 @@ int HAMLIB_API rig_get_powerstat(RIG *rig, powerstat_t *status) RETURNFUNC(-RIG_ENAVAIL); } + TRACE; retcode = rig->caps->get_powerstat(rig, status); RETURNFUNC(retcode); } @@ -5421,6 +5537,7 @@ int HAMLIB_API rig_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -5430,6 +5547,7 @@ int HAMLIB_API rig_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op) retcode = caps->vfo_op(rig, vfo, op); /* try and revert even if we had an error above */ + TRACE; rc2 = caps->set_vfo(rig, curr_vfo); if (RIG_OK == retcode) @@ -5524,6 +5642,7 @@ int HAMLIB_API rig_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -5533,6 +5652,7 @@ int HAMLIB_API rig_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch) retcode = caps->scan(rig, vfo, scan, ch); /* try and revert even if we had an error above */ + TRACE; rc2 = caps->set_vfo(rig, curr_vfo); if (RIG_OK == retcode) @@ -5597,6 +5717,7 @@ int HAMLIB_API rig_send_dtmf(RIG *rig, vfo_t vfo, const char *digits) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -5606,6 +5727,7 @@ int HAMLIB_API rig_send_dtmf(RIG *rig, vfo_t vfo, const char *digits) retcode = caps->send_dtmf(rig, vfo, digits); /* try and revert even if we had an error above */ + TRACE; rc2 = caps->set_vfo(rig, curr_vfo); if (RIG_OK == retcode) @@ -5671,6 +5793,7 @@ int HAMLIB_API rig_recv_dtmf(RIG *rig, vfo_t vfo, char *digits, int *length) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -5680,6 +5803,7 @@ int HAMLIB_API rig_recv_dtmf(RIG *rig, vfo_t vfo, char *digits, int *length) retcode = caps->recv_dtmf(rig, vfo, digits, length); /* try and revert even if we had an error above */ + TRACE; rc2 = caps->set_vfo(rig, curr_vfo); if (RIG_OK == retcode) @@ -5744,6 +5868,7 @@ int HAMLIB_API rig_send_morse(RIG *rig, vfo_t vfo, const char *msg) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -5753,6 +5878,7 @@ int HAMLIB_API rig_send_morse(RIG *rig, vfo_t vfo, const char *msg) retcode = caps->send_morse(rig, vfo, msg); /* try and revert even if we had an error above */ + TRACE; rc2 = caps->set_vfo(rig, curr_vfo); if (RIG_OK == retcode) @@ -5802,6 +5928,7 @@ int HAMLIB_API rig_stop_morse(RIG *rig, vfo_t vfo) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -5811,6 +5938,7 @@ int HAMLIB_API rig_stop_morse(RIG *rig, vfo_t vfo) retcode = caps->stop_morse(rig, vfo); /* try and revert even if we had an error above */ + TRACE; rc2 = caps->set_vfo(rig, curr_vfo); if (RIG_OK == retcode) @@ -5843,6 +5971,7 @@ static int wait_morse_ptt(RIG *rig, vfo_t vfo) rig_debug(RIG_DEBUG_TRACE, "%s: loop#%d until ptt=0, ptt=%d\n", __func__, loops, pttStatus); elapsed_ms(&rig->state.cache.time_ptt, HAMLIB_ELAPSED_INVALIDATE); + TRACE; retval = rig_get_ptt(rig, vfo, &pttStatus); if (retval != RIG_OK) @@ -5892,6 +6021,7 @@ int HAMLIB_API rig_wait_morse(RIG *rig, vfo_t vfo) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -5901,6 +6031,7 @@ int HAMLIB_API rig_wait_morse(RIG *rig, vfo_t vfo) retcode = wait_morse_ptt(rig, vfo); /* try and revert even if we had an error above */ + TRACE; rc2 = caps->set_vfo(rig, curr_vfo); if (RIG_OK == retcode) @@ -5960,6 +6091,7 @@ int HAMLIB_API rig_send_voice_mem(RIG *rig, vfo_t vfo, int ch) } curr_vfo = rig->state.current_vfo; + TRACE; retcode = caps->set_vfo(rig, vfo); if (retcode != RIG_OK) @@ -5969,6 +6101,7 @@ int HAMLIB_API rig_send_voice_mem(RIG *rig, vfo_t vfo, int ch) retcode = caps->send_voice_mem(rig, vfo, ch); /* try and revert even if we had an error above */ + TRACE; rc2 = caps->set_vfo(rig, curr_vfo); if (RIG_OK == retcode) @@ -6036,6 +6169,7 @@ int HAMLIB_API rig_set_vfo_opt(RIG *rig, int status) RETURNFUNC(-RIG_ENAVAIL); } + TRACE; retcode = rig->caps->set_vfo_opt(rig, status); RETURNFUNC(retcode); } @@ -6063,6 +6197,7 @@ const char *HAMLIB_API rig_get_info(RIG *rig) return (NULL); } + TRACE; return (rig->caps->get_info(rig)); } @@ -6100,6 +6235,7 @@ int HAMLIB_API rig_get_vfo_info(RIG *rig, vfo_t vfo, freq_t *freq, // we can't use the cached values as some clients may only call this function // like Log4OM which mostly does polling + TRACE; retval = rig_get_freq(rig, vfo, freq); if (retval != RIG_OK) { RETURNFUNC(retval); } @@ -6114,6 +6250,7 @@ int HAMLIB_API rig_get_vfo_info(RIG *rig, vfo_t vfo, freq_t *freq, if (allTheTimeA || allTheTimeB || justOnceB) { + TRACE; retval = rig_get_mode(rig, vfo, mode, width); if (retval != RIG_OK) { RETURNFUNC(retval); } @@ -6125,6 +6262,7 @@ int HAMLIB_API rig_get_vfo_info(RIG *rig, vfo_t vfo, freq_t *freq, } // we should only need to ask for VFO_CURR to minimize display swapping + TRACE; retval = rig_get_split(rig, RIG_VFO_CURR, split); if (retval != RIG_OK) { RETURNFUNC(retval); } ----------------------------------------------------------------------- Summary of changes: src/rig.c | 146 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 142 insertions(+), 4 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-27 12:37: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 a6af56ff53fd0abfe1d7d76ec3f5ec9bf54bf2a2 (commit) from aa9a8d8af1ebbbd7ca5e32ba81c11fe1aa53c150 (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 a6af56ff53fd0abfe1d7d76ec3f5ec9bf54bf2a2 Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Apr 27 07:34:14 2021 -0500 Fit kenwoods set_rit to move right right direction https://github.com/Hamlib/Hamlib/issues/677 diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index f3f23cef..1feabae5 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -1793,7 +1793,7 @@ int kenwood_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit) if (priv->has_rit2) { - diff = curr_rit - rit; + diff = rit - curr_rit; rig_debug(RIG_DEBUG_TRACE, "%s: rit=%ld, curr_rit=%ld, diff=%d\n", __func__, rit, curr_rit, diff); snprintf(buf, sizeof(buf), "R%c%05d", (diff > 0) ? 'U' : 'D', abs((int) diff)); retval = kenwood_transaction(rig, buf, NULL, 0); diff --git a/rigs/kenwood/kenwood.h b/rigs/kenwood/kenwood.h index 3376fbf4..abe0829a 100644 --- a/rigs/kenwood/kenwood.h +++ b/rigs/kenwood/kenwood.h @@ -28,7 +28,7 @@ #include "token.h" #include "misc.h" -#define BACKEND_VER "20210425" +#define BACKEND_VER "20210427" #define EOM_KEN ';' #define EOM_TH '\r' ----------------------------------------------------------------------- Summary of changes: rigs/kenwood/kenwood.c | 2 +- rigs/kenwood/kenwood.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-27 11:50: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 aa9a8d8af1ebbbd7ca5e32ba81c11fe1aa53c150 (commit) via 19fb0e421d0e4862ffabbb703791c4804d052a33 (commit) via d0b3484c13a18ae8485833debe95bc84b5b1a0e2 (commit) from a281161fcff34034f4c83e833bd2522a4abcae28 (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 aa9a8d8af1ebbbd7ca5e32ba81c11fe1aa53c150 Merge: 19fb0e42 d0b3484c Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Apr 27 06:50:07 2021 -0500 Merge branch 'master' of https://github.com/Hamlib/Hamlib commit 19fb0e421d0e4862ffabbb703791c4804d052a33 Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Apr 27 06:47:58 2021 -0500 Change rig_set_split_mode to return RIG_OK when set_vfo and vfo_op are not available For the FT-991 example there's no need to set mode on VFOB as there is only one mode for both VFOs So if rig has neither of these we will assume VFOB mode does not need to be set https://github.com/Hamlib/Hamlib/issues/684 diff --git a/src/rig.c b/src/rig.c index 924ab4a3..42eb5987 100644 --- a/src/rig.c +++ b/src/rig.c @@ -3879,7 +3879,8 @@ int HAMLIB_API rig_set_split_mode(RIG *rig, } else { - RETURNFUNC(-RIG_ENAVAIL); + rig_debug(RIG_DEBUG_WARN, "%s: rig does not have set_vfo or vfo_op. Assuming mode already set\n", __func__); + RETURNFUNC(RIG_OK); } if (retcode != RIG_OK) commit d0b3484c13a18ae8485833debe95bc84b5b1a0e2 Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Apr 27 06:47:58 2021 -0500 Change rig_set_split_mode to return RIG_OK when set_vfo and vfo_op are not available For the FT-991 example there's no need to set mode on VFOB as there is only one mode for both VFOs So if rig has neither of these we will assume VFOB mode does not need to be set diff --git a/src/rig.c b/src/rig.c index 924ab4a3..42eb5987 100644 --- a/src/rig.c +++ b/src/rig.c @@ -3879,7 +3879,8 @@ int HAMLIB_API rig_set_split_mode(RIG *rig, } else { - RETURNFUNC(-RIG_ENAVAIL); + rig_debug(RIG_DEBUG_WARN, "%s: rig does not have set_vfo or vfo_op. Assuming mode already set\n", __func__); + RETURNFUNC(RIG_OK); } if (retcode != RIG_OK) ----------------------------------------------------------------------- Summary of changes: src/rig.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-27 03:32:50
|
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 a281161fcff34034f4c83e833bd2522a4abcae28 (commit) via b0323be6b7653613ee3a240d39c49e8934857ab8 (commit) via 7ea0a49dcd70e7e10757b47889473c9a3957b915 (commit) via 402fecc43bdc594c30eea37a36054e8f5591b3e2 (commit) via 25eb70d90d3db5dcf7b516e1816eb14e8d1293f6 (commit) via a8b66955472f5964f6b04f2a69ae83bfc6bbbc1f (commit) via 9ca111a5a50308def4be04c037f1f74423599253 (commit) via 95b08de780cec1b1655eb8a29d5fcdc18230d41c (commit) via 6fd5371b12e0befff156e80f6e2de94e79ed2cd1 (commit) via 38e6cf1cd8b5251d1a604945b81a0924647e7a5b (commit) via 08a7515e911bea6a1ece4f66a96f7a45e151c467 (commit) via e4657a5d16087a88f17fb47ee30b61cca207c8a9 (commit) via de5c5a27a11c9b7b97ad0241ea067359b786a34e (commit) via 1f57311fee51a16ffaf496d8e6bf292b78d776cb (commit) via 45a1bf5b454f58257545132d4dee67e8268ff85e (commit) via 6a0df54003128f4537cd28bdc72b839f11e0d6b4 (commit) via 6e5791c221a236301425f4e539ca366858710fc6 (commit) via c13fcd861640b7e3b64e2a14bde19832100b5f0a (commit) via 645941cf9ae21bfbf7ad191ca9fc0153845176c5 (commit) via 6e1977277eda2d4bb02d9ba77dcfebdf5591771e (commit) via ad0569688b5f9c35e65aeb7ffe30a373396698e0 (commit) via bb1d0f83a0feca576c332d3a9574c8f644afd05e (commit) via 212c41f0af56222982cb728fe58ac7b96737a033 (commit) via 9b9a2b551178d080b86207094c795603e454e482 (commit) via 2b44f470fa014d1b22f375f6989524fe4dcedc00 (commit) via 055d4dce88f7b407bd647b42154faf947ee28035 (commit) via 4495b5b43452f88dd1b0f52248f5197b4bfd58e8 (commit) via fc1160c0a5a057553c83b166f01ecced8ddb8274 (commit) via 4f66af6ee1b7dd572c2b0411777b33417dc4c6a5 (commit) via c91baf0f2b3e41f6ad42392cfe1a178351e16021 (commit) via 40169d1dee173407c5f356ba7fa1a09ef8c5293e (commit) from ec68495bd31f0b4525c8b4624b5bd751da03c839 (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 a281161fcff34034f4c83e833bd2522a4abcae28 Author: Mike Black W9MDB <mdb...@ya...> Date: Mon Apr 26 11:32:55 2021 -0500 Improve kenwood set_rit to use the difference requested instead of restarting at zero https://github.com/Hamlib/Hamlib/issues/677 diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index fc0f2779..f3f23cef 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -1734,6 +1734,7 @@ int kenwood_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit) int diff; int rit_enabled; int xit_enabled; + shortfreq_t curr_rit; struct kenwood_priv_data *priv = rig->state.priv; rig_debug(RIG_DEBUG_VERBOSE, "%s called: vfo=%s, rit=%ld\n", @@ -1768,31 +1769,40 @@ int kenwood_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit) } } - // zero out rit - // we might be able to read rit and just do the difference - // see if anybody ever wants that or complain about this being slow + // by getting current rit we can determine how to handle change + // we just use curr_rit - rit to determine how far we need to move + // No need to zero out rit + retval = kenwood_get_rit(rig,RIG_VFO_CURR,&curr_rit); + if (retval != RIG_OK) + { + RETURNFUNC(retval); + } +#if 0 // no longer needed if diff can be done retval = kenwood_transaction(rig, "RC", NULL, 0); if (retval != RIG_OK) { RETURNFUNC(retval); } +#endif - if (rit == 0) + if (rit == 0 && curr_rit == 0) { RETURNFUNC(RIG_OK); } if (priv->has_rit2) { - snprintf(buf, sizeof(buf), "R%c%05d", (rit > 0) ? 'U' : 'D', abs((int) rit)); + diff = curr_rit - rit; + rig_debug(RIG_DEBUG_TRACE, "%s: rit=%ld, curr_rit=%ld, diff=%d\n", __func__, rit, curr_rit, diff); + snprintf(buf, sizeof(buf), "R%c%05d", (diff > 0) ? 'U' : 'D', abs((int) diff)); retval = kenwood_transaction(rig, buf, NULL, 0); } else { snprintf(buf, sizeof(buf), "R%c", (rit > 0) ? 'U' : 'D'); - - diff = labs((rit + rit >= 0 ? 5 : -5) / 10); // round to nearest + diff = labs(((curr_rit - rit) + (curr_rit - rit) >= 0 ? 5 : -5) / 10); // round to nearest 10Hz + rig_debug(RIG_DEBUG_TRACE, "%s: rit=%ld, curr_rit=%ld, diff=%d\n", __func__, rit, curr_rit, diff); rig_debug(RIG_DEBUG_TRACE, "%s: rit change loop=%d\n", __func__, diff); for (i = 0; i < diff; i++) commit b0323be6b7653613ee3a240d39c49e8934857ab8 Merge: 7ea0a49d 402fecc4 Author: Mike Black W9MDB <mdb...@ya...> Date: Sun Apr 25 23:20:57 2021 -0500 Merge branch 'master' of https://github.com/Hamlib/Hamlib commit 7ea0a49dcd70e7e10757b47889473c9a3957b915 Author: Mike Black W9MDB <mdb...@ya...> Date: Sun Apr 25 23:19:11 2021 -0500 Re-do get_rit for has_rit2 rigs If this works should be able to change get_rit in TS480 to the generic kenwood get_rit https://github.com/Hamlib/Hamlib/issues/677 diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index db931cc6..fc0f2779 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -781,6 +781,18 @@ int kenwood_open(RIG *rig) "%s: no response to get_id from rig...continuing anyways.\n", __func__); } + if (RIG_IS_TS2000 + || RIG_IS_TS480 + || RIG_IS_TS590S + || RIG_IS_TS590SG + || RIG_IS_TS890S + || RIG_IS_TS990S) + { + // rig has Set 2 RIT/XIT function + rig_debug(RIG_DEBUG_TRACE, "%s: rig has_rit2\n", __func__); + priv->has_rit2 = 1; + } + if (RIG_IS_TS590S) { /* we need the firmware version for these rigs to deal with f/w defects */ @@ -1717,41 +1729,77 @@ int kenwood_get_rit(RIG *rig, vfo_t vfo, shortfreq_t *rit) */ int kenwood_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit) { - char buf[4]; + char buf[32]; int retval, i; - shortfreq_t curr_rit; int diff; + int rit_enabled; + int xit_enabled; + struct kenwood_priv_data *priv = rig->state.priv; rig_debug(RIG_DEBUG_VERBOSE, "%s called: vfo=%s, rit=%ld\n", __func__, rig_strvfo(vfo), rit); - retval = kenwood_get_rit(rig, vfo, &curr_rit); + // RC clear command cannot be executed if RIT/XIT is not enabled + retval = kenwood_get_func(rig, vfo, RIG_FUNC_RIT, &rit_enabled); if (retval != RIG_OK) { RETURNFUNC(retval); } - // we'll set the rigs that have a rit step setting to 10Hz steps - retval = kenwood_transaction(rig, "RC;RU00010", NULL, 0); + if (!rit_enabled) + { + retval = kenwood_get_func(rig, vfo, RIG_FUNC_XIT, &xit_enabled); - if (retval != RIG_OK) + if (retval != RIG_OK) + { + RETURNFUNC(retval); + } + } + + if (!rit_enabled && !xit_enabled) { - RETURNFUNC(retval); + retval = kenwood_set_func(rig, vfo, RIG_FUNC_RIT, 1); + + if (retval != RIG_OK) + { + RETURNFUNC(retval); + } } - if (rit == 0) { RETURNFUNC(RIG_OK); } // we're done here + // zero out rit + // we might be able to read rit and just do the difference + // see if anybody ever wants that or complain about this being slow + retval = kenwood_transaction(rig, "RC", NULL, 0); - snprintf(buf, sizeof(buf), "R%c", (rit > 0) ? 'U' : 'D'); + if (retval != RIG_OK) + { + RETURNFUNC(retval); + } - diff = labs((rit + rit >= 0 ? 5 : -5) / 10); // round to nearest - rig_debug(RIG_DEBUG_TRACE, "%s: rit change loop=%d\n", __func__, diff); + if (rit == 0) + { + RETURNFUNC(RIG_OK); + } - for (i = 0; i < diff; i++) + if (priv->has_rit2) { + snprintf(buf, sizeof(buf), "R%c%05d", (rit > 0) ? 'U' : 'D', abs((int) rit)); retval = kenwood_transaction(rig, buf, NULL, 0); } + else + { + snprintf(buf, sizeof(buf), "R%c", (rit > 0) ? 'U' : 'D'); + + diff = labs((rit + rit >= 0 ? 5 : -5) / 10); // round to nearest + rig_debug(RIG_DEBUG_TRACE, "%s: rit change loop=%d\n", __func__, diff); + + for (i = 0; i < diff; i++) + { + retval = kenwood_transaction(rig, buf, NULL, 0); + } + } RETURNFUNC(retval); } @@ -1849,6 +1897,7 @@ static int kenwood_set_filter_width(RIG *rig, rmode_t mode, pbwidth_t width) if (caps->filter_width[i].modes & mode) { selected_filter_width = &caps->filter_width[i]; + if (caps->filter_width[i].width_hz >= width) { break; @@ -2014,10 +2063,12 @@ int kenwood_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) else if (RIG_IS_TS480) { err = kenwood_set_filter_width(rig, mode, width); + if (err != RIG_OK) { // Ignore errors as non-fatal - rig_debug(RIG_DEBUG_ERR, "%s: error setting filter width, error: %d\n", __func__, err); + rig_debug(RIG_DEBUG_ERR, "%s: error setting filter width, error: %d\n", + __func__, err); } } @@ -2100,6 +2151,7 @@ static int kenwood_get_filter_width(RIG *rig, rmode_t mode, pbwidth_t *width) } retval = kenwood_safe_transaction(rig, "FW", ackbuf, sizeof(ackbuf), 6); + if (retval != RIG_OK) { RETURNFUNC(retval); @@ -2238,10 +2290,12 @@ int kenwood_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) if (RIG_IS_TS480) { retval = kenwood_get_filter_width(rig, *mode, width); + if (retval != RIG_OK) { // Ignore errors as non-fatal - rig_debug(RIG_DEBUG_ERR, "%s: error getting filter width, error: %d\n", __func__, retval); + rig_debug(RIG_DEBUG_ERR, "%s: error getting filter width, error: %d\n", + __func__, retval); *width = rig_passband_normal(rig, *mode); } } @@ -2474,7 +2528,8 @@ static int kenwood_get_power_minmax(RIG *rig, int *power_now, int *power_min, RETURNFUNC(RIG_OK); } -static int kenwood_find_slope_filter_for_frequency(RIG *rig, vfo_t vfo, struct kenwood_slope_filter *filter, int frequency_hz, int *value) +static int kenwood_find_slope_filter_for_frequency(RIG *rig, vfo_t vfo, + struct kenwood_slope_filter *filter, int frequency_hz, int *value) { int retval; int i; @@ -2492,13 +2547,17 @@ static int kenwood_find_slope_filter_for_frequency(RIG *rig, vfo_t vfo, struct k return -RIG_ENAVAIL; } - retval = rig_get_cache(rig, vfo, &freq, &cache_ms_freq, &mode, &cache_ms_mode, &width, &cache_ms_width); + retval = rig_get_cache(rig, vfo, &freq, &cache_ms_freq, &mode, &cache_ms_mode, + &width, &cache_ms_width); + if (retval != RIG_OK) { return -RIG_EINVAL; } - retval = rig_get_ext_func(rig, vfo, TOK_FUNC_FILTER_WIDTH_DATA, &data_mode_filter_active); + retval = rig_get_ext_func(rig, vfo, TOK_FUNC_FILTER_WIDTH_DATA, + &data_mode_filter_active); + if (retval != RIG_OK) { // Ignore errors, e.g. if the command is not supported @@ -2507,13 +2566,15 @@ static int kenwood_find_slope_filter_for_frequency(RIG *rig, vfo_t vfo, struct k for (i = 0; filter[i].value >= 0; i++) { - if (filter[i].modes & mode && filter[i].data_mode_filter == data_mode_filter_active) + if (filter[i].modes & mode + && filter[i].data_mode_filter == data_mode_filter_active) { if (filter[i].frequency_hz >= frequency_hz) { *value = filter[i].value; return RIG_OK; } + last_filter = &filter[i]; } } @@ -2527,7 +2588,8 @@ static int kenwood_find_slope_filter_for_frequency(RIG *rig, vfo_t vfo, struct k return -RIG_EINVAL; } -static int kenwood_find_slope_filter_for_value(RIG *rig, vfo_t vfo, struct kenwood_slope_filter *filter, int value, int *frequency_hz) +static int kenwood_find_slope_filter_for_value(RIG *rig, vfo_t vfo, + struct kenwood_slope_filter *filter, int value, int *frequency_hz) { int retval; int i; @@ -2544,13 +2606,17 @@ static int kenwood_find_slope_filter_for_value(RIG *rig, vfo_t vfo, struct kenwo return -RIG_ENAVAIL; } - retval = rig_get_cache(rig, vfo, &freq, &cache_ms_freq, &mode, &cache_ms_mode, &width, &cache_ms_width); + retval = rig_get_cache(rig, vfo, &freq, &cache_ms_freq, &mode, &cache_ms_mode, + &width, &cache_ms_width); + if (retval != RIG_OK) { return -RIG_EINVAL; } - retval = rig_get_ext_func(rig, vfo, TOK_FUNC_FILTER_WIDTH_DATA, &data_mode_filter_active); + retval = rig_get_ext_func(rig, vfo, TOK_FUNC_FILTER_WIDTH_DATA, + &data_mode_filter_active); + if (retval != RIG_OK) { // Ignore errors, e.g. if the command is not supported @@ -2559,7 +2625,8 @@ static int kenwood_find_slope_filter_for_value(RIG *rig, vfo_t vfo, struct kenwo for (i = 0; filter[i].value >= 0; i++) { - if (filter[i].modes & mode && filter[i].data_mode_filter == data_mode_filter_active) + if (filter[i].modes & mode + && filter[i].data_mode_filter == data_mode_filter_active) { if (filter[i].value == value) { @@ -2750,7 +2817,9 @@ int kenwood_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) break; case RIG_LEVEL_SLOPE_HIGH: - retval = kenwood_find_slope_filter_for_frequency(rig, vfo, caps->slope_filter_high, val.i, &kenwood_val); + retval = kenwood_find_slope_filter_for_frequency(rig, vfo, + caps->slope_filter_high, val.i, &kenwood_val); + if (retval != RIG_OK) { // Fall back to using raw values @@ -2758,6 +2827,7 @@ int kenwood_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) { RETURNFUNC(-RIG_EINVAL); } + kenwood_val = val.i; } @@ -2765,7 +2835,9 @@ int kenwood_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) break; case RIG_LEVEL_SLOPE_LOW: - retval = kenwood_find_slope_filter_for_frequency(rig, vfo, caps->slope_filter_low, val.i, &kenwood_val); + retval = kenwood_find_slope_filter_for_frequency(rig, vfo, + caps->slope_filter_low, val.i, &kenwood_val); + if (retval != RIG_OK) { // Fall back to using raw values @@ -2773,6 +2845,7 @@ int kenwood_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) { RETURNFUNC(-RIG_EINVAL); } + kenwood_val = val.i; } @@ -2806,6 +2879,7 @@ int kenwood_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) { kenwood_val = val.f * 100.0f; } + snprintf(levelbuf, sizeof(levelbuf), "PL%03d%03d", kenwood_val, kenwood_val); break; @@ -3181,7 +3255,9 @@ int kenwood_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) value = atoi(&lvlbuf[2]); - retval = kenwood_find_slope_filter_for_value(rig, vfo, caps->slope_filter_low, value, &val->i); + retval = kenwood_find_slope_filter_for_value(rig, vfo, caps->slope_filter_low, + value, &val->i); + if (retval != RIG_OK) { if (retval == -RIG_ENAVAIL) @@ -3194,6 +3270,7 @@ int kenwood_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) RETURNFUNC(retval); } } + break; case RIG_LEVEL_SLOPE_HIGH: @@ -3206,7 +3283,9 @@ int kenwood_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) value = atoi(&lvlbuf[2]); - retval = kenwood_find_slope_filter_for_value(rig, vfo, caps->slope_filter_high, value, &val->i); + retval = kenwood_find_slope_filter_for_value(rig, vfo, caps->slope_filter_high, + value, &val->i); + if (retval != RIG_OK) { if (retval == -RIG_ENAVAIL) @@ -3219,6 +3298,7 @@ int kenwood_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) RETURNFUNC(retval); } } + break; case RIG_LEVEL_CWPITCH: @@ -3244,7 +3324,8 @@ int kenwood_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) sscanf(lvlbuf + 2, "%d", &val->i); break; - case RIG_LEVEL_COMP: { + case RIG_LEVEL_COMP: + { int raw_value; retval = kenwood_safe_transaction(rig, "PL", lvlbuf, 50, 8); @@ -3263,10 +3344,12 @@ int kenwood_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) { val->f = (float) raw_value / 100.0f; } + break; } - case RIG_LEVEL_VOXDELAY: { + case RIG_LEVEL_VOXDELAY: + { int raw_value; retval = kenwood_safe_transaction(rig, "VD", lvlbuf, 50, 6); @@ -3282,7 +3365,8 @@ int kenwood_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) break; } - case RIG_LEVEL_VOXGAIN: { + case RIG_LEVEL_VOXGAIN: + { int raw_value; retval = kenwood_safe_transaction(rig, "VG", lvlbuf, 50, 5); @@ -3297,7 +3381,8 @@ int kenwood_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) break; } - case RIG_LEVEL_BKIN_DLYMS: { + case RIG_LEVEL_BKIN_DLYMS: + { int raw_value; retval = kenwood_safe_transaction(rig, "SD", lvlbuf, 50, 6); @@ -3600,7 +3685,8 @@ int kenwood_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status) *status = respbuf[3] != '0' ? 1 : 0; RETURNFUNC(RIG_OK); - case RIG_FUNC_FBKIN: { + case RIG_FUNC_FBKIN: + { int raw_value; retval = kenwood_safe_transaction(rig, "SD", respbuf, 20, 6); @@ -4172,7 +4258,8 @@ int kenwood_get_dcd(RIG *rig, vfo_t vfo, dcd_t *dcd) RETURNFUNC(-RIG_EINVAL); } - if (RIG_IS_TS480 || RIG_IS_TS590S || RIG_IS_TS590SG || RIG_IS_TS990S || RIG_IS_TS2000) + if (RIG_IS_TS480 || RIG_IS_TS590S || RIG_IS_TS590SG || RIG_IS_TS990S + || RIG_IS_TS2000) { expected = 4; } @@ -4188,7 +4275,8 @@ int kenwood_get_dcd(RIG *rig, vfo_t vfo, dcd_t *dcd) RETURNFUNC(retval); } - if ((RIG_IS_TS990S && RIG_VFO_SUB == vfo) || (RIG_IS_TS2000 && RIG_VFO_SUB == vfo)) + if ((RIG_IS_TS990S && RIG_VFO_SUB == vfo) || (RIG_IS_TS2000 + && RIG_VFO_SUB == vfo)) { offs = 3; } diff --git a/rigs/kenwood/kenwood.h b/rigs/kenwood/kenwood.h index c0deee97..3376fbf4 100644 --- a/rigs/kenwood/kenwood.h +++ b/rigs/kenwood/kenwood.h @@ -28,7 +28,7 @@ #include "token.h" #include "misc.h" -#define BACKEND_VER "20210423" +#define BACKEND_VER "20210425" #define EOM_KEN ';' #define EOM_TH '\r' @@ -154,6 +154,7 @@ struct kenwood_priv_data char last_if_response[KENWOOD_MAX_BUF_LEN]; int poweron; /* to avoid powering on more than once */ int ag_format; /* which AG command is being used...see LEVEL_AF in kenwood.c*/ + int has_rit2; /* rig has set 2 rit command -- can set rit 0-99999 directly */ int micgain_min, micgain_max; /* varies by rig so we figure it out automagically */ int is_k2; int is_k3; commit 402fecc43bdc594c30eea37a36054e8f5591b3e2 Author: Mike Black W9MDB <mdb...@ya...> Date: Sun Apr 25 23:19:11 2021 -0500 Re-do get_rit for has_rit2 rigs If this works should be able to change get_rit in TS480 to the generic kenwood get_rit diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index db931cc6..fc0f2779 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -781,6 +781,18 @@ int kenwood_open(RIG *rig) "%s: no response to get_id from rig...continuing anyways.\n", __func__); } + if (RIG_IS_TS2000 + || RIG_IS_TS480 + || RIG_IS_TS590S + || RIG_IS_TS590SG + || RIG_IS_TS890S + || RIG_IS_TS990S) + { + // rig has Set 2 RIT/XIT function + rig_debug(RIG_DEBUG_TRACE, "%s: rig has_rit2\n", __func__); + priv->has_rit2 = 1; + } + if (RIG_IS_TS590S) { /* we need the firmware version for these rigs to deal with f/w defects */ @@ -1717,41 +1729,77 @@ int kenwood_get_rit(RIG *rig, vfo_t vfo, shortfreq_t *rit) */ int kenwood_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit) { - char buf[4]; + char buf[32]; int retval, i; - shortfreq_t curr_rit; int diff; + int rit_enabled; + int xit_enabled; + struct kenwood_priv_data *priv = rig->state.priv; rig_debug(RIG_DEBUG_VERBOSE, "%s called: vfo=%s, rit=%ld\n", __func__, rig_strvfo(vfo), rit); - retval = kenwood_get_rit(rig, vfo, &curr_rit); + // RC clear command cannot be executed if RIT/XIT is not enabled + retval = kenwood_get_func(rig, vfo, RIG_FUNC_RIT, &rit_enabled); if (retval != RIG_OK) { RETURNFUNC(retval); } - // we'll set the rigs that have a rit step setting to 10Hz steps - retval = kenwood_transaction(rig, "RC;RU00010", NULL, 0); + if (!rit_enabled) + { + retval = kenwood_get_func(rig, vfo, RIG_FUNC_XIT, &xit_enabled); - if (retval != RIG_OK) + if (retval != RIG_OK) + { + RETURNFUNC(retval); + } + } + + if (!rit_enabled && !xit_enabled) { - RETURNFUNC(retval); + retval = kenwood_set_func(rig, vfo, RIG_FUNC_RIT, 1); + + if (retval != RIG_OK) + { + RETURNFUNC(retval); + } } - if (rit == 0) { RETURNFUNC(RIG_OK); } // we're done here + // zero out rit + // we might be able to read rit and just do the difference + // see if anybody ever wants that or complain about this being slow + retval = kenwood_transaction(rig, "RC", NULL, 0); - snprintf(buf, sizeof(buf), "R%c", (rit > 0) ? 'U' : 'D'); + if (retval != RIG_OK) + { + RETURNFUNC(retval); + } - diff = labs((rit + rit >= 0 ? 5 : -5) / 10); // round to nearest - rig_debug(RIG_DEBUG_TRACE, "%s: rit change loop=%d\n", __func__, diff); + if (rit == 0) + { + RETURNFUNC(RIG_OK); + } - for (i = 0; i < diff; i++) + if (priv->has_rit2) { + snprintf(buf, sizeof(buf), "R%c%05d", (rit > 0) ? 'U' : 'D', abs((int) rit)); retval = kenwood_transaction(rig, buf, NULL, 0); } + else + { + snprintf(buf, sizeof(buf), "R%c", (rit > 0) ? 'U' : 'D'); + + diff = labs((rit + rit >= 0 ? 5 : -5) / 10); // round to nearest + rig_debug(RIG_DEBUG_TRACE, "%s: rit change loop=%d\n", __func__, diff); + + for (i = 0; i < diff; i++) + { + retval = kenwood_transaction(rig, buf, NULL, 0); + } + } RETURNFUNC(retval); } @@ -1849,6 +1897,7 @@ static int kenwood_set_filter_width(RIG *rig, rmode_t mode, pbwidth_t width) if (caps->filter_width[i].modes & mode) { selected_filter_width = &caps->filter_width[i]; + if (caps->filter_width[i].width_hz >= width) { break; @@ -2014,10 +2063,12 @@ int kenwood_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) else if (RIG_IS_TS480) { err = kenwood_set_filter_width(rig, mode, width); + if (err != RIG_OK) { // Ignore errors as non-fatal - rig_debug(RIG_DEBUG_ERR, "%s: error setting filter width, error: %d\n", __func__, err); + rig_debug(RIG_DEBUG_ERR, "%s: error setting filter width, error: %d\n", + __func__, err); } } @@ -2100,6 +2151,7 @@ static int kenwood_get_filter_width(RIG *rig, rmode_t mode, pbwidth_t *width) } retval = kenwood_safe_transaction(rig, "FW", ackbuf, sizeof(ackbuf), 6); + if (retval != RIG_OK) { RETURNFUNC(retval); @@ -2238,10 +2290,12 @@ int kenwood_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) if (RIG_IS_TS480) { retval = kenwood_get_filter_width(rig, *mode, width); + if (retval != RIG_OK) { // Ignore errors as non-fatal - rig_debug(RIG_DEBUG_ERR, "%s: error getting filter width, error: %d\n", __func__, retval); + rig_debug(RIG_DEBUG_ERR, "%s: error getting filter width, error: %d\n", + __func__, retval); *width = rig_passband_normal(rig, *mode); } } @@ -2474,7 +2528,8 @@ static int kenwood_get_power_minmax(RIG *rig, int *power_now, int *power_min, RETURNFUNC(RIG_OK); } -static int kenwood_find_slope_filter_for_frequency(RIG *rig, vfo_t vfo, struct kenwood_slope_filter *filter, int frequency_hz, int *value) +static int kenwood_find_slope_filter_for_frequency(RIG *rig, vfo_t vfo, + struct kenwood_slope_filter *filter, int frequency_hz, int *value) { int retval; int i; @@ -2492,13 +2547,17 @@ static int kenwood_find_slope_filter_for_frequency(RIG *rig, vfo_t vfo, struct k return -RIG_ENAVAIL; } - retval = rig_get_cache(rig, vfo, &freq, &cache_ms_freq, &mode, &cache_ms_mode, &width, &cache_ms_width); + retval = rig_get_cache(rig, vfo, &freq, &cache_ms_freq, &mode, &cache_ms_mode, + &width, &cache_ms_width); + if (retval != RIG_OK) { return -RIG_EINVAL; } - retval = rig_get_ext_func(rig, vfo, TOK_FUNC_FILTER_WIDTH_DATA, &data_mode_filter_active); + retval = rig_get_ext_func(rig, vfo, TOK_FUNC_FILTER_WIDTH_DATA, + &data_mode_filter_active); + if (retval != RIG_OK) { // Ignore errors, e.g. if the command is not supported @@ -2507,13 +2566,15 @@ static int kenwood_find_slope_filter_for_frequency(RIG *rig, vfo_t vfo, struct k for (i = 0; filter[i].value >= 0; i++) { - if (filter[i].modes & mode && filter[i].data_mode_filter == data_mode_filter_active) + if (filter[i].modes & mode + && filter[i].data_mode_filter == data_mode_filter_active) { if (filter[i].frequency_hz >= frequency_hz) { *value = filter[i].value; return RIG_OK; } + last_filter = &filter[i]; } } @@ -2527,7 +2588,8 @@ static int kenwood_find_slope_filter_for_frequency(RIG *rig, vfo_t vfo, struct k return -RIG_EINVAL; } -static int kenwood_find_slope_filter_for_value(RIG *rig, vfo_t vfo, struct kenwood_slope_filter *filter, int value, int *frequency_hz) +static int kenwood_find_slope_filter_for_value(RIG *rig, vfo_t vfo, + struct kenwood_slope_filter *filter, int value, int *frequency_hz) { int retval; int i; @@ -2544,13 +2606,17 @@ static int kenwood_find_slope_filter_for_value(RIG *rig, vfo_t vfo, struct kenwo return -RIG_ENAVAIL; } - retval = rig_get_cache(rig, vfo, &freq, &cache_ms_freq, &mode, &cache_ms_mode, &width, &cache_ms_width); + retval = rig_get_cache(rig, vfo, &freq, &cache_ms_freq, &mode, &cache_ms_mode, + &width, &cache_ms_width); + if (retval != RIG_OK) { return -RIG_EINVAL; } - retval = rig_get_ext_func(rig, vfo, TOK_FUNC_FILTER_WIDTH_DATA, &data_mode_filter_active); + retval = rig_get_ext_func(rig, vfo, TOK_FUNC_FILTER_WIDTH_DATA, + &data_mode_filter_active); + if (retval != RIG_OK) { // Ignore errors, e.g. if the command is not supported @@ -2559,7 +2625,8 @@ static int kenwood_find_slope_filter_for_value(RIG *rig, vfo_t vfo, struct kenwo for (i = 0; filter[i].value >= 0; i++) { - if (filter[i].modes & mode && filter[i].data_mode_filter == data_mode_filter_active) + if (filter[i].modes & mode + && filter[i].data_mode_filter == data_mode_filter_active) { if (filter[i].value == value) { @@ -2750,7 +2817,9 @@ int kenwood_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) break; case RIG_LEVEL_SLOPE_HIGH: - retval = kenwood_find_slope_filter_for_frequency(rig, vfo, caps->slope_filter_high, val.i, &kenwood_val); + retval = kenwood_find_slope_filter_for_frequency(rig, vfo, + caps->slope_filter_high, val.i, &kenwood_val); + if (retval != RIG_OK) { // Fall back to using raw values @@ -2758,6 +2827,7 @@ int kenwood_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) { RETURNFUNC(-RIG_EINVAL); } + kenwood_val = val.i; } @@ -2765,7 +2835,9 @@ int kenwood_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) break; case RIG_LEVEL_SLOPE_LOW: - retval = kenwood_find_slope_filter_for_frequency(rig, vfo, caps->slope_filter_low, val.i, &kenwood_val); + retval = kenwood_find_slope_filter_for_frequency(rig, vfo, + caps->slope_filter_low, val.i, &kenwood_val); + if (retval != RIG_OK) { // Fall back to using raw values @@ -2773,6 +2845,7 @@ int kenwood_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) { RETURNFUNC(-RIG_EINVAL); } + kenwood_val = val.i; } @@ -2806,6 +2879,7 @@ int kenwood_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) { kenwood_val = val.f * 100.0f; } + snprintf(levelbuf, sizeof(levelbuf), "PL%03d%03d", kenwood_val, kenwood_val); break; @@ -3181,7 +3255,9 @@ int kenwood_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) value = atoi(&lvlbuf[2]); - retval = kenwood_find_slope_filter_for_value(rig, vfo, caps->slope_filter_low, value, &val->i); + retval = kenwood_find_slope_filter_for_value(rig, vfo, caps->slope_filter_low, + value, &val->i); + if (retval != RIG_OK) { if (retval == -RIG_ENAVAIL) @@ -3194,6 +3270,7 @@ int kenwood_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) RETURNFUNC(retval); } } + break; case RIG_LEVEL_SLOPE_HIGH: @@ -3206,7 +3283,9 @@ int kenwood_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) value = atoi(&lvlbuf[2]); - retval = kenwood_find_slope_filter_for_value(rig, vfo, caps->slope_filter_high, value, &val->i); + retval = kenwood_find_slope_filter_for_value(rig, vfo, caps->slope_filter_high, + value, &val->i); + if (retval != RIG_OK) { if (retval == -RIG_ENAVAIL) @@ -3219,6 +3298,7 @@ int kenwood_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) RETURNFUNC(retval); } } + break; case RIG_LEVEL_CWPITCH: @@ -3244,7 +3324,8 @@ int kenwood_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) sscanf(lvlbuf + 2, "%d", &val->i); break; - case RIG_LEVEL_COMP: { + case RIG_LEVEL_COMP: + { int raw_value; retval = kenwood_safe_transaction(rig, "PL", lvlbuf, 50, 8); @@ -3263,10 +3344,12 @@ int kenwood_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) { val->f = (float) raw_value / 100.0f; } + break; } - case RIG_LEVEL_VOXDELAY: { + case RIG_LEVEL_VOXDELAY: + { int raw_value; retval = kenwood_safe_transaction(rig, "VD", lvlbuf, 50, 6); @@ -3282,7 +3365,8 @@ int kenwood_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) break; } - case RIG_LEVEL_VOXGAIN: { + case RIG_LEVEL_VOXGAIN: + { int raw_value; retval = kenwood_safe_transaction(rig, "VG", lvlbuf, 50, 5); @@ -3297,7 +3381,8 @@ int kenwood_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) break; } - case RIG_LEVEL_BKIN_DLYMS: { + case RIG_LEVEL_BKIN_DLYMS: + { int raw_value; retval = kenwood_safe_transaction(rig, "SD", lvlbuf, 50, 6); @@ -3600,7 +3685,8 @@ int kenwood_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status) *status = respbuf[3] != '0' ? 1 : 0; RETURNFUNC(RIG_OK); - case RIG_FUNC_FBKIN: { + case RIG_FUNC_FBKIN: + { int raw_value; retval = kenwood_safe_transaction(rig, "SD", respbuf, 20, 6); @@ -4172,7 +4258,8 @@ int kenwood_get_dcd(RIG *rig, vfo_t vfo, dcd_t *dcd) RETURNFUNC(-RIG_EINVAL); } - if (RIG_IS_TS480 || RIG_IS_TS590S || RIG_IS_TS590SG || RIG_IS_TS990S || RIG_IS_TS2000) + if (RIG_IS_TS480 || RIG_IS_TS590S || RIG_IS_TS590SG || RIG_IS_TS990S + || RIG_IS_TS2000) { expected = 4; } @@ -4188,7 +4275,8 @@ int kenwood_get_dcd(RIG *rig, vfo_t vfo, dcd_t *dcd) RETURNFUNC(retval); } - if ((RIG_IS_TS990S && RIG_VFO_SUB == vfo) || (RIG_IS_TS2000 && RIG_VFO_SUB == vfo)) + if ((RIG_IS_TS990S && RIG_VFO_SUB == vfo) || (RIG_IS_TS2000 + && RIG_VFO_SUB == vfo)) { offs = 3; } diff --git a/rigs/kenwood/kenwood.h b/rigs/kenwood/kenwood.h index c0deee97..3376fbf4 100644 --- a/rigs/kenwood/kenwood.h +++ b/rigs/kenwood/kenwood.h @@ -28,7 +28,7 @@ #include "token.h" #include "misc.h" -#define BACKEND_VER "20210423" +#define BACKEND_VER "20210425" #define EOM_KEN ';' #define EOM_TH '\r' @@ -154,6 +154,7 @@ struct kenwood_priv_data char last_if_response[KENWOOD_MAX_BUF_LEN]; int poweron; /* to avoid powering on more than once */ int ag_format; /* which AG command is being used...see LEVEL_AF in kenwood.c*/ + int has_rit2; /* rig has set 2 rit command -- can set rit 0-99999 directly */ int micgain_min, micgain_max; /* varies by rig so we figure it out automagically */ int is_k2; int is_k3; commit 25eb70d90d3db5dcf7b516e1816eb14e8d1293f6 Author: Mike Black W9MDB <mdb...@ya...> Date: Sun Apr 25 14:59:47 2021 -0500 In iofunc.c only call hl_sleep if needed diff --git a/src/iofunc.c b/src/iofunc.c index b83cabbd..0e58e217 100644 --- a/src/iofunc.c +++ b/src/iofunc.c @@ -481,7 +481,7 @@ int HAMLIB_API write_block(hamlib_port_t *p, const char *txbuffer, size_t count) return -RIG_EIO; } - hl_usleep(p->write_delay * 1000); + if (p->write_delay > 0) hl_usleep(p->write_delay * 1000); } } else commit a8b66955472f5964f6b04f2a69ae83bfc6bbbc1f Merge: ec68495b 9ca111a5 Author: Michael Black <mdb...@ya...> Date: Sun Apr 25 09:42:11 2021 -0500 Merge pull request #680 from mikaelnousiainen/ts480-fixes Extend TS-480 backend functionality significantly commit 9ca111a5a50308def4be04c037f1f74423599253 Author: Mikael Nousiainen <mik...@ik...> Date: Sun Apr 25 17:19:16 2021 +0300 Fix RIT for TS-480 diff --git a/rigs/kenwood/ts480.c b/rigs/kenwood/ts480.c index 44a2e8ab..8ab25d76 100644 --- a/rigs/kenwood/ts480.c +++ b/rigs/kenwood/ts480.c @@ -26,6 +26,7 @@ #include <stdio.h> #include <stdlib.h> +#include <math.h> #include <hamlib/rig.h> #include "cal.h" @@ -731,7 +732,7 @@ static int ts480_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit) rig_debug(RIG_DEBUG_TRACE, "%s called\n", __func__); - if (rit < 9999 || rit > 9999) + if (rit < -9999 || rit > 9999) { RETURNFUNC(-RIG_EINVAL); } @@ -781,7 +782,7 @@ static int ts480_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit) RETURNFUNC(RIG_OK); } - snprintf(buf, sizeof(buf), "R%c%05ld", (rit > 0) ? 'U' : 'D', rit); + snprintf(buf, sizeof(buf), "R%c%05d", (rit > 0) ? 'U' : 'D', abs((int) rit)); retval = kenwood_transaction(rig, buf, NULL, 0); RETURNFUNC(retval); commit 95b08de780cec1b1655eb8a29d5fcdc18230d41c Author: Mikael Nousiainen <mik...@ik...> Date: Sun Apr 25 17:14:59 2021 +0300 Fix RIT for TS-480 diff --git a/rigs/kenwood/ts480.c b/rigs/kenwood/ts480.c index 21cd7775..44a2e8ab 100644 --- a/rigs/kenwood/ts480.c +++ b/rigs/kenwood/ts480.c @@ -724,12 +724,18 @@ kenwood_ts480_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) static int ts480_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit) { + char buf[20]; int retval; int rit_enabled; int xit_enabled; rig_debug(RIG_DEBUG_TRACE, "%s called\n", __func__); + if (rit < 9999 || rit > 9999) + { + RETURNFUNC(-RIG_EINVAL); + } + // RC clear command cannot be executed if RIT/XIT is not enabled retval = kenwood_get_func(rig, vfo, RIG_FUNC_RIT, &rit_enabled); @@ -770,7 +776,15 @@ static int ts480_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit) } } - RETURNFUNC(kenwood_set_rit(rig, vfo, rit)); + if (rit == 0) + { + RETURNFUNC(RIG_OK); + } + + snprintf(buf, sizeof(buf), "R%c%05ld", (rit > 0) ? 'U' : 'D', rit); + retval = kenwood_transaction(rig, buf, NULL, 0); + + RETURNFUNC(retval); } static int ts480_get_rit(RIG *rig, vfo_t vfo, shortfreq_t *rit) commit 6fd5371b12e0befff156e80f6e2de94e79ed2cd1 Merge: 38e6cf1c ec68495b Author: Mikael Nousiainen <mik...@ik...> Date: Sun Apr 25 16:50:48 2021 +0300 Merge branch 'master' into ts480-fixes commit 38e6cf1cd8b5251d1a604945b81a0924647e7a5b Author: Mikael Nousiainen <mik...@ik...> Date: Sun Apr 25 16:50:16 2021 +0300 Fix TS-480 narrow filter widths. Add NR2 and CW IF filter support. diff --git a/rigs/kenwood/ts480.c b/rigs/kenwood/ts480.c index 37fa3136..21cd7775 100644 --- a/rigs/kenwood/ts480.c +++ b/rigs/kenwood/ts480.c @@ -73,27 +73,37 @@ { 20, 10.0f } \ } } -#define TOK_FUNC_TX_AUDIO_FROM_DATA_INPUT TOKEN_BACKEND(102) -#define TOK_LEVEL_DSP_RX_EQUALIZER TOKEN_BACKEND(103) -#define TOK_LEVEL_DSP_TX_EQUALIZER TOKEN_BACKEND(104) -#define TOK_LEVEL_DSP_TX_BANDWIDTH TOKEN_BACKEND(105) -#define TOK_LEVEL_BEEP_VOLUME TOKEN_BACKEND(106) -#define TOK_LEVEL_TX_SIDETONE_VOLUME TOKEN_BACKEND(107) -#define TOK_LEVEL_AF_INPUT_LEVEL TOKEN_BACKEND(108) -#define TOK_LEVEL_AF_OUTPUT_LEVEL TOKEN_BACKEND(109) -#define TOK_LEVEL_DIGITAL_NOISE_LIMITER TOKEN_BACKEND(110) +#define TOK_FUNC_NOISE_REDUCTION_2 TOKEN_BACKEND(102) +#define TOK_FUNC_TX_AUDIO_FROM_DATA_INPUT TOKEN_BACKEND(103) +#define TOK_LEVEL_DSP_RX_EQUALIZER TOKEN_BACKEND(104) +#define TOK_LEVEL_DSP_TX_EQUALIZER TOKEN_BACKEND(105) +#define TOK_LEVEL_DSP_TX_BANDWIDTH TOKEN_BACKEND(106) +#define TOK_LEVEL_BEEP_VOLUME TOKEN_BACKEND(107) +#define TOK_LEVEL_TX_SIDETONE_VOLUME TOKEN_BACKEND(108) +#define TOK_LEVEL_AF_INPUT_LEVEL TOKEN_BACKEND(109) +#define TOK_LEVEL_AF_OUTPUT_LEVEL TOKEN_BACKEND(110) +#define TOK_LEVEL_DIGITAL_NOISE_LIMITER TOKEN_BACKEND(111) +#define TOK_FUNC_CW_IF_FOR_SSB_RX TOKEN_BACKEND(112) int ts480_ext_tokens[] = { - TOK_FUNC_FILTER_WIDTH_DATA, TOK_FUNC_TX_AUDIO_FROM_DATA_INPUT, + TOK_FUNC_NOISE_REDUCTION_2, TOK_FUNC_FILTER_WIDTH_DATA, TOK_FUNC_TX_AUDIO_FROM_DATA_INPUT, TOK_LEVEL_DSP_RX_EQUALIZER, TOK_LEVEL_DSP_TX_EQUALIZER, TOK_LEVEL_DSP_TX_BANDWIDTH, TOK_LEVEL_BEEP_VOLUME, TOK_LEVEL_TX_SIDETONE_VOLUME, TOK_LEVEL_AF_INPUT_LEVEL, TOK_LEVEL_AF_OUTPUT_LEVEL, - TOK_LEVEL_DIGITAL_NOISE_LIMITER, + TOK_LEVEL_DIGITAL_NOISE_LIMITER, TOK_FUNC_CW_IF_FOR_SSB_RX, TOK_BACKEND_NONE, }; const struct confparams ts480_ext_funcs[] = { + { + TOK_FUNC_NOISE_REDUCTION_2, "NR2", "Noise reduction 2", "Noise reduction 2", + NULL, RIG_CONF_CHECKBUTTON, + }, + { + TOK_FUNC_CW_IF_FOR_SSB_RX, "CW_IF_FOR_SSB_RX", "CW IF filter for SSB", "Use CW IF filter for SSB reception", + NULL, RIG_CONF_CHECKBUTTON, + }, { TOK_FUNC_FILTER_WIDTH_DATA, "FILTER_WIDTH_DATA", "Filter bandwidth for data", "Filter bandwidth for data communications", NULL, RIG_CONF_CHECKBUTTON, @@ -793,12 +803,28 @@ static int ts480_get_rit(RIG *rig, vfo_t vfo, shortfreq_t *rit) static int ts480_set_ext_func(RIG *rig, vfo_t vfo, token_t token, int status) { + char cmdbuf[20]; int retval; rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); switch (token) { + case TOK_FUNC_NOISE_REDUCTION_2: + if (status < 0 || status > 1) + { + RETURNFUNC(-RIG_EINVAL); + } + snprintf(cmdbuf, sizeof(cmdbuf), "NR%d", status ? 2 : 0); + retval = kenwood_transaction(rig, cmdbuf, NULL, 0); + break; + case TOK_FUNC_CW_IF_FOR_SSB_RX: + if (status < 0 || status > 1) + { + RETURNFUNC(-RIG_EINVAL); + } + retval = ts480_set_ex_menu(rig, 17, 1, status); + break; case TOK_FUNC_FILTER_WIDTH_DATA: if (status < 0 || status > 1) { @@ -822,12 +848,30 @@ static int ts480_set_ext_func(RIG *rig, vfo_t vfo, token_t token, int status) static int ts480_get_ext_func(RIG *rig, vfo_t vfo, token_t token, int *status) { + char ackbuf[20]; int retval; rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); switch (token) { + case TOK_FUNC_NOISE_REDUCTION_2: { + int value; + + retval = kenwood_safe_transaction(rig, "NR", ackbuf, sizeof(ackbuf), 3); + if (retval != RIG_OK) + { + RETURNFUNC(retval); + } + + sscanf(ackbuf, "NR%d", &value); + + *status = (value == 2) ? 1 : 0; + break; + } + case TOK_FUNC_CW_IF_FOR_SSB_RX: + retval = ts480_get_ex_menu(rig, 17, 1, status); + break; case TOK_FUNC_FILTER_WIDTH_DATA: retval = ts480_get_ex_menu(rig, 45, 1, status); break; @@ -855,7 +899,7 @@ static int ts480_set_ext_level(RIG *rig, vfo_t vfo, token_t token, value_t val) { RETURNFUNC(-RIG_EINVAL); } - sprintf(cmdbuf, "DL%d%02d", val.i != 0 ? 1 : 0, val.i > 0 ? val.i - 1 : 0); + snprintf(cmdbuf, sizeof(cmdbuf), "DL%d%02d", val.i != 0 ? 1 : 0, val.i > 0 ? val.i - 1 : 0); retval = kenwood_transaction(rig, cmdbuf, NULL, 0); break; case TOK_LEVEL_DSP_RX_EQUALIZER: @@ -991,14 +1035,11 @@ static struct kenwood_filter_width ts480_filter_width[] = { { RIG_MODE_RTTY | RIG_MODE_RTTYR, 1000, 1000 }, { RIG_MODE_RTTY | RIG_MODE_RTTYR, 1500, 1500 }, { RIG_MODE_SSB, 0, 2400 }, - { RIG_MODE_SSB, 1, 1200 }, // TODO: NAR1? - { RIG_MODE_SSB, 2, 1800 }, // TODO: NAR2? - { RIG_MODE_FM, 0, 14000 }, - { RIG_MODE_FM, 1, 7000 }, // TODO: NAR1? - { RIG_MODE_FM, 2, 10000 }, // TODO: NAR2? - { RIG_MODE_AM, 0, 9000 }, - { RIG_MODE_AM, 1, 3000 }, // TODO: NAR1? - { RIG_MODE_AM, 2, 6000 }, // TODO: NAR2? + { RIG_MODE_SSB, 1, 500 }, // NAR1 optional filter + { RIG_MODE_SSB, 2, 270 }, // NAR2 optional filter + { RIG_MODE_FM, 0, 12000 }, + { RIG_MODE_AM, 0, 6000 }, + { RIG_MODE_AM, 1, 2400 }, // NAR1 optional filter (?) { RIG_MODE_NONE, -1, -1 }, }; @@ -1194,8 +1235,8 @@ const struct rig_caps ts480_caps = /* mode/filter list, remember: order matters! */ .filters = { {RIG_MODE_SSB, kHz(2.4)}, - {RIG_MODE_SSB, kHz(1.2)}, - {RIG_MODE_SSB, kHz(1.8)}, + {RIG_MODE_SSB, Hz(270)}, + {RIG_MODE_SSB, Hz(500)}, {RIG_MODE_CW | RIG_MODE_CWR, Hz(200)}, {RIG_MODE_CW | RIG_MODE_CWR, Hz(50)}, {RIG_MODE_CW | RIG_MODE_CWR, Hz(1000)}, @@ -1211,12 +1252,9 @@ const struct rig_caps ts480_caps = {RIG_MODE_RTTY | RIG_MODE_RTTYR, Hz(250)}, {RIG_MODE_RTTY | RIG_MODE_RTTYR, Hz(1000)}, {RIG_MODE_RTTY | RIG_MODE_RTTYR, Hz(1500)}, - {RIG_MODE_AM, kHz(9)}, - {RIG_MODE_AM, kHz(3)}, {RIG_MODE_AM, kHz(6)}, - {RIG_MODE_FM, kHz(14)}, - {RIG_MODE_FM, kHz(7)}, - {RIG_MODE_FM, kHz(10)}, + {RIG_MODE_AM, kHz(2.4)}, + {RIG_MODE_FM, kHz(12)}, RIG_FLT_END, }, .vfo_ops = TS480_VFO_OPS, commit 08a7515e911bea6a1ece4f66a96f7a45e151c467 Author: Mikael Nousiainen <mik...@ik...> Date: Sat Apr 24 19:13:12 2021 +0300 Add support for FW filter width command on TS-480 diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index 6ee1f58e..50f83084 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -1850,6 +1850,42 @@ static int kenwood_set_filter(RIG *rig, pbwidth_t width) RETURNFUNC(kenwood_transaction(rig, cmd, NULL, 0)); } +static int kenwood_set_filter_width(RIG *rig, rmode_t mode, pbwidth_t width) +{ + struct kenwood_priv_caps *caps = kenwood_caps(rig); + struct kenwood_filter_width *selected_filter_width = NULL; + char cmd[20]; + int i; + + rig_debug(RIG_DEBUG_VERBOSE, "%s called, width=%ld\n", __func__, width); + + if (caps->filter_width == NULL) + { + RETURNFUNC(-RIG_ENAVAIL); + } + + for (i = 0; caps->filter_width[i].value >= 0; i++) + { + if (caps->filter_width[i].modes & mode) + { + selected_filter_width = &caps->filter_width[i]; + if (caps->filter_width[i].width_hz >= width) + { + break; + } + } + } + + if (selected_filter_width == NULL) + { + RETURNFUNC(-RIG_EINVAL); + } + + snprintf(cmd, sizeof(cmd), "FW%04d", selected_filter_width->value); + + RETURNFUNC(kenwood_transaction(rig, cmd, NULL, 0)); +} + /* * kenwood_set_mode */ @@ -1995,6 +2031,15 @@ int kenwood_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) kenwood_set_filter(rig, width); /* non fatal */ } + else if (RIG_IS_TS480) + { + err = kenwood_set_filter_width(rig, mode, width); + if (err != RIG_OK) + { + // Ignore errors as non-fatal + rig_debug(RIG_DEBUG_ERR, "%s: error setting filter width, error: %d\n", __func__, err); + } + } RETURNFUNC(RIG_OK); } @@ -2059,6 +2104,44 @@ static int kenwood_get_filter(RIG *rig, pbwidth_t *width) RETURNFUNC(RIG_OK); } +static int kenwood_get_filter_width(RIG *rig, rmode_t mode, pbwidth_t *width) +{ + struct kenwood_priv_caps *caps = kenwood_caps(rig); + char ackbuf[20]; + int i; + int retval; + int filter_value; + + rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); + + if (caps->filter_width == NULL) + { + RETURNFUNC(-RIG_ENAVAIL); + } + + retval = kenwood_safe_transaction(rig, "FW", ackbuf, sizeof(ackbuf), 6); + if (retval != RIG_OK) + { + RETURNFUNC(retval); + } + + sscanf(ackbuf, "FW%d", &filter_value); + + for (i = 0; caps->filter_width[i].value >= 0; i++) + { + if (caps->filter_width[i].modes & mode) + { + if (caps->filter_width[i].value == filter_value) + { + *width = caps->filter_width[i].width_hz; + RETURNFUNC(RIG_OK); + } + } + } + + RETURNFUNC(-RIG_EINVAL); +} + /* * kenwood_get_mode */ @@ -2172,8 +2255,20 @@ int kenwood_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) } } - /* XXX ? */ - *width = rig_passband_normal(rig, *mode); + if (RIG_IS_TS480) + { + retval = kenwood_get_filter_width(rig, *mode, width); + if (retval != RIG_OK) + { + // Ignore errors as non-fatal + rig_debug(RIG_DEBUG_ERR, "%s: error getting filter width, error: %d\n", __func__, retval); + *width = rig_passband_normal(rig, *mode); + } + } + else + { + *width = rig_passband_normal(rig, *mode); + } RETURNFUNC(RIG_OK); } diff --git a/rigs/kenwood/kenwood.h b/rigs/kenwood/kenwood.h index bbdf016e..ff43580d 100644 --- a/rigs/kenwood/kenwood.h +++ b/rigs/kenwood/kenwood.h @@ -112,7 +112,7 @@ struct kenwood_filter_width { rmode_t modes; int value; - int width_hz; + pbwidth_t width_hz; }; struct kenwood_slope_filter @@ -120,7 +120,7 @@ struct kenwood_slope_filter rmode_t modes; int data_mode_filter; int value; - int frequency_hz; + pbwidth_t frequency_hz; }; struct kenwood_priv_caps diff --git a/rigs/kenwood/ts480.c b/rigs/kenwood/ts480.c index 8f653b8f..37fa3136 100644 --- a/rigs/kenwood/ts480.c +++ b/rigs/kenwood/ts480.c @@ -975,7 +975,7 @@ static int ts480_get_ext_level(RIG *rig, vfo_t vfo, token_t token, value_t *val) } static struct kenwood_filter_width ts480_filter_width[] = { - { RIG_MODE_CW | RIG_MODE_CWR, 0, 50 }, + { RIG_MODE_CW | RIG_MODE_CWR, 50, 50 }, { RIG_MODE_CW | RIG_MODE_CWR, 80, 80 }, { RIG_MODE_CW | RIG_MODE_CWR, 100, 100 }, { RIG_MODE_CW | RIG_MODE_CWR, 150, 150 }, @@ -991,14 +991,14 @@ static struct kenwood_filter_width ts480_filter_width[] = { { RIG_MODE_RTTY | RIG_MODE_RTTYR, 1000, 1000 }, { RIG_MODE_RTTY | RIG_MODE_RTTYR, 1500, 1500 }, { RIG_MODE_SSB, 0, 2400 }, - { RIG_MODE_SSB, 1, 2400 }, // NAR1? - { RIG_MODE_SSB, 2, 2400 }, // NAR2? - { RIG_MODE_FM, 0, 2400 }, - { RIG_MODE_FM, 1, 2400 }, // NAR1? - { RIG_MODE_FM, 2, 2400 }, // NAR2? - { RIG_MODE_AM, 0, 2400 }, - { RIG_MODE_AM, 1, 2400 }, // NAR1? - { RIG_MODE_AM, 2, 2400 }, // NAR2? + { RIG_MODE_SSB, 1, 1200 }, // TODO: NAR1? + { RIG_MODE_SSB, 2, 1800 }, // TODO: NAR2? + { RIG_MODE_FM, 0, 14000 }, + { RIG_MODE_FM, 1, 7000 }, // TODO: NAR1? + { RIG_MODE_FM, 2, 10000 }, // TODO: NAR2? + { RIG_MODE_AM, 0, 9000 }, + { RIG_MODE_AM, 1, 3000 }, // TODO: NAR1? + { RIG_MODE_AM, 2, 6000 }, // TODO: NAR2? { RIG_MODE_NONE, -1, -1 }, }; @@ -1057,6 +1057,7 @@ static struct kenwood_slope_filter ts480_slope_filter_low[] = { static struct kenwood_priv_caps ts480_priv_caps = { .cmdtrm = EOM_KEN, + .filter_width = ts480_filter_width, .slope_filter_high = ts480_slope_filter_high, .slope_filter_low = ts480_slope_filter_low, }; @@ -1108,7 +1109,7 @@ const struct rig_caps ts480_caps = .write_delay = 0, .post_write_delay = 0, .timeout = 200, - .retry = 10, + .retry = 3, .preamp = {12, RIG_DBLST_END,}, .attenuator = {12, RIG_DBLST_END,}, .max_rit = kHz(9.99), @@ -1193,10 +1194,29 @@ const struct rig_caps ts480_caps = /* mode/filter list, remember: order matters! */ .filters = { {RIG_MODE_SSB, kHz(2.4)}, - {RIG_MODE_CW, Hz(200)}, - {RIG_MODE_RTTY, Hz(500)}, + {RIG_MODE_SSB, kHz(1.2)}, + {RIG_MODE_SSB, kHz(1.8)}, + {RIG_MODE_CW | RIG_MODE_CWR, Hz(200)}, + {RIG_MODE_CW | RIG_MODE_CWR, Hz(50)}, + {RIG_MODE_CW | RIG_MODE_CWR, Hz(1000)}, + {RIG_MODE_CW | RIG_MODE_CWR, Hz(80)}, + {RIG_MODE_CW | RIG_MODE_CWR, Hz(100)}, + {RIG_MODE_CW | RIG_MODE_CWR, Hz(150)}, + {RIG_MODE_CW | RIG_MODE_CWR, Hz(300)}, + {RIG_MODE_CW | RIG_MODE_CWR, Hz(400)}, + {RIG_MODE_CW | RIG_MODE_CWR, Hz(500)}, + {RIG_MODE_CW | RIG_MODE_CWR, Hz(600)}, + {RIG_MODE_CW | RIG_MODE_CWR, Hz(2000)}, + {RIG_MODE_RTTY | RIG_MODE_RTTYR, Hz(500)}, + {RIG_MODE_RTTY | RIG_MODE_RTTYR, Hz(250)}, + {RIG_MODE_RTTY | RIG_MODE_RTTYR, Hz(1000)}, + {RIG_MODE_RTTY | RIG_MODE_RTTYR, Hz(1500)}, {RIG_MODE_AM, kHz(9)}, + {RIG_MODE_AM, kHz(3)}, + {RIG_MODE_AM, kHz(6)}, {RIG_MODE_FM, kHz(14)}, + {RIG_MODE_FM, kHz(7)}, + {RIG_MODE_FM, kHz(10)}, RIG_FLT_END, }, .vfo_ops = TS480_VFO_OPS, commit e4657a5d16087a88f17fb47ee30b61cca207c8a9 Author: Mikael Nousiainen <mik...@ik...> Date: Fri Apr 23 23:32:42 2021 +0300 TS-480: Add Digital Noise Limiter. Start implementation for filter width command. Fix bugs. diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index c70b1dcd..6ee1f58e 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -2410,6 +2410,7 @@ static int kenwood_find_slope_filter_for_frequency(RIG *rig, vfo_t vfo, struct k int cache_ms_mode; pbwidth_t width; int cache_ms_width; + int data_mode_filter_active; if (filter == NULL) { @@ -2422,10 +2423,16 @@ static int kenwood_find_slope_filter_for_frequency(RIG *rig, vfo_t vfo, struct k return -RIG_EINVAL; } + retval = rig_get_ext_func(rig, vfo, TOK_FUNC_FILTER_WIDTH_DATA, &data_mode_filter_active); + if (retval != RIG_OK) + { + // Ignore errors, e.g. if the command is not supported + data_mode_filter_active = 0; + } + for (i = 0; filter[i].value >= 0; i++) { - // TODO: check data mode status - if (filter[i].modes & mode) + if (filter[i].modes & mode && filter[i].data_mode_filter == data_mode_filter_active) { if (filter[i].frequency_hz >= frequency_hz) { @@ -2455,6 +2462,7 @@ static int kenwood_find_slope_filter_for_value(RIG *rig, vfo_t vfo, struct kenwo int cache_ms_mode; pbwidth_t width; int cache_ms_width; + int data_mode_filter_active; if (filter == NULL) { @@ -2467,10 +2475,16 @@ static int kenwood_find_slope_filter_for_value(RIG *rig, vfo_t vfo, struct kenwo return -RIG_EINVAL; } + retval = rig_get_ext_func(rig, vfo, TOK_FUNC_FILTER_WIDTH_DATA, &data_mode_filter_active); + if (retval != RIG_OK) + { + // Ignore errors, e.g. if the command is not supported + data_mode_filter_active = 0; + } + for (i = 0; filter[i].value >= 0; i++) { - // TODO: check data mode status - if (filter[i].modes & mode) + if (filter[i].modes & mode && filter[i].data_mode_filter == data_mode_filter_active) { if (filter[i].value == value) { @@ -3095,8 +3109,15 @@ int kenwood_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) retval = kenwood_find_slope_filter_for_value(rig, vfo, caps->slope_filter_low, value, &val->i); if (retval != RIG_OK) { - // Fall back to using raw values - val->i = value; + if (retval == -RIG_ENAVAIL) + { + // Fall back to using raw values + val->i = value; + } + else + { + RETURNFUNC(retval); + } } break; @@ -3113,8 +3134,15 @@ int kenwood_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) retval = kenwood_find_slope_filter_for_value(rig, vfo, caps->slope_filter_high, value, &val->i); if (retval != RIG_OK) { - // Fall back to using raw values - val->i = value; + if (retval == -RIG_ENAVAIL) + { + // Fall back to using raw values + val->i = value; + } + else + { + RETURNFUNC(retval); + } } break; diff --git a/rigs/kenwood/kenwood.h b/rigs/kenwood/kenwood.h index 7e674b36..bbdf016e 100644 --- a/rigs/kenwood/kenwood.h +++ b/rigs/kenwood/kenwood.h @@ -47,6 +47,8 @@ #define TOK_RIT TOKEN_BACKEND(4) #define TOK_NO_ID TOKEN_BACKEND(5) +#define TOK_FUNC_FILTER_WIDTH_DATA TOKEN_BACKEND(6) // Data communications mode that affects SL/SH/FW commands + /* Token structure assigned to .cfgparams in rig_caps */ extern const struct confparams kenwood_cfg_params[]; @@ -106,7 +108,12 @@ extern const struct confparams kenwood_cfg_params[]; #define RIG_IS_POWERSDR (rig->caps->rig_model == RIG_MODEL_POWERSDR) #define RIG_IS_MALACHITE (rig->caps->rig_model == RIG_MODEL_MALACHITE) -#define KENWOOD_SLOPE_FILTER_COUNT_MAX 64 +struct kenwood_filter_width +{ + rmode_t modes; + int value; + int width_hz; +}; struct kenwood_slope_filter { @@ -121,8 +128,9 @@ struct kenwood_priv_caps char cmdtrm; /* Command termination chars (ken=';' or th='\r') */ int if_len; /* length of IF; answer excluding ';' terminator */ rmode_t *mode_table; - struct kenwood_slope_filter *slope_filter_high; /* Last entry should have value == -1 and frequency_hz == -1*/ - struct kenwood_slope_filter *slope_filter_low; /* Last entry should have value == -1 and frequency_hz == -1*/ + struct kenwood_filter_width *filter_width; /* Last entry should have value == -1 and width_hz == -1 */ + struct kenwood_slope_filter *slope_filter_high; /* Last entry should have value == -1 and frequency_hz == -1 */ + struct kenwood_slope_filter *slope_filter_low; /* Last entry should have value == -1 and frequency_hz == -1 */ }; struct kenwood_priv_data diff --git a/rigs/kenwood/ts480.c b/rigs/kenwood/ts480.c index 6bd4cd79..8f653b8f 100644 --- a/rigs/kenwood/ts480.c +++ b/rigs/kenwood/ts480.c @@ -73,7 +73,6 @@ { 20, 10.0f } \ } } -#define TOK_FUNC_FILTER_WIDTH_DATA TOKEN_BACKEND(101) #define TOK_FUNC_TX_AUDIO_FROM_DATA_INPUT TOKEN_BACKEND(102) #define TOK_LEVEL_DSP_RX_EQUALIZER TOKEN_BACKEND(103) #define TOK_LEVEL_DSP_TX_EQUALIZER TOKEN_BACKEND(104) @@ -82,12 +81,14 @@ #define TOK_LEVEL_TX_SIDETONE_VOLUME TOKEN_BACKEND(107) #define TOK_LEVEL_AF_INPUT_LEVEL TOKEN_BACKEND(108) #define TOK_LEVEL_AF_OUTPUT_LEVEL TOKEN_BACKEND(109) +#define TOK_LEVEL_DIGITAL_NOISE_LIMITER TOKEN_BACKEND(110) int ts480_ext_tokens[] = { TOK_FUNC_FILTER_WIDTH_DATA, TOK_FUNC_TX_AUDIO_FROM_DATA_INPUT, TOK_LEVEL_DSP_RX_EQUALIZER, TOK_LEVEL_DSP_TX_EQUALIZER, TOK_LEVEL_DSP_TX_BANDWIDTH, TOK_LEVEL_BEEP_VOLUME, TOK_LEVEL_TX_SIDETONE_VOLUME, TOK_LEVEL_AF_INPUT_LEVEL, TOK_LEVEL_AF_OUTPUT_LEVEL, + TOK_LEVEL_DIGITAL_NOISE_LIMITER, TOK_BACKEND_NONE, }; @@ -106,6 +107,10 @@ const struct confparams ts480_ext_funcs[] = const struct confparams ts480_ext_levels[] = { + { + TOK_LEVEL_DIGITAL_NOISE_LIMITER, "DIGITAL_NOISE_LIMITER", "Digital Noise Limiter", "Digital Noise Limiter", + NULL, RIG_CONF_COMBO, { .c = { .combostr = { "OFF", "DNL Level 1", "DNL Level 2", "DNL Level 3", NULL } } } + }, { TOK_LEVEL_DSP_RX_EQUALIZER, "DSP_RX_EQUALIZER", "DSP RX equalizer", "DSP RX equalizer type", NULL, RIG_CONF_COMBO, { .c = { .combostr = { "OFF", "Hb1", "Hb2", "FP", "bb1", "bb2", "c", "U", NULL } } } @@ -839,11 +844,20 @@ static int ts480_get_ext_func(RIG *rig, vfo_t vfo, token_t token, int *status) static int ts480_set_ext_level(RIG *rig, vfo_t vfo, token_t token, value_t val) { int retval; + char cmdbuf[20]; rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); switch (token) { + case TOK_LEVEL_DIGITAL_NOISE_LIMITER: + if (val.i < 0 || val.i > 3) + { + RETURNFUNC(-RIG_EINVAL); + } + sprintf(cmdbuf, "DL%d%02d", val.i != 0 ? 1 : 0, val.i > 0 ? val.i - 1 : 0); + retval = kenwood_transaction(rig, cmdbuf, NULL, 0); + break; case TOK_LEVEL_DSP_RX_EQUALIZER: if (val.i < 0 || val.i > 7) { @@ -866,32 +880,32 @@ static int ts480_set_ext_level(RIG *rig, vfo_t vfo, token_t token, value_t val) retval = ts480_set_ex_menu(rig, 20, 1, val.i); break; case TOK_LEVEL_BEEP_VOLUME: - if (val.i < 0 || val.i > 9) + if (val.f < 0 || val.f > 9) { RETURNFUNC(-RIG_EINVAL); } - retval = ts480_set_ex_menu(rig, 12, 1, val.i); + retval = ts480_set_ex_menu(rig, 12, 1, (int) val.f); break; case TOK_LEVEL_TX_SIDETONE_VOLUME: - if (val.i < 0 || val.i > 9) + if (val.f < 0 || val.f > 9) { RETURNFUNC(-RIG_EINVAL); } - retval = ts480_set_ex_menu(rig, 13, 1, val.i); + retval ... [truncated message content] |
From: Michael B. <mdb...@us...> - 2021-04-25 13:35:20
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Hamlib -- Ham radio control libraries". The branch, master has been updated via ec68495bd31f0b4525c8b4624b5bd751da03c839 (commit) via 1cfa4c205c96498a4b6c55c8880eb5b195def1ab (commit) via 60f861bfd5970290edd7483bce3ccbbe317e4655 (commit) via 9231c2f7e59402dec3d860434ec1323641e2840b (commit) from e0a3f8deac300a080de1bc5bff83b0a65a9949f8 (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 ec68495bd31f0b4525c8b4624b5bd751da03c839 Author: Mike Black W9MDB <mdb...@ya...> Date: Sun Apr 25 08:33:14 2021 -0500 Change WSAStartup logic in network.c to better allow for errors. WSAStartup should now get called once only and should be restarted if needed. https://github.com/Hamlib/Hamlib/issues/679 diff --git a/src/network.c b/src/network.c index 98a49c15..bd458412 100644 --- a/src/network.c +++ b/src/network.c @@ -143,11 +143,23 @@ int network_open(hamlib_port_t *rp, int default_port) #ifdef __MINGW32__ WSADATA wsadata; + int ret; - if (!(wsstarted++) && WSAStartup(MAKEWORD(1, 1), &wsadata) == SOCKET_ERROR) + if (wsstarted == 0) { - rig_debug(RIG_DEBUG_ERR, "%s: error creating socket\n", __func__); - RETURNFUNC(-RIG_EIO); + ret = WSAStartup(MAKEWORD(1, 1), &wsadata); + + if (ret == 0) + { + wsstarted = 1; + rig_debug(RIG_DEBUG_VERBOSE, "%s: WSAStartup OK\n", __func__); + } + else + { + rig_debug(RIG_DEBUG_ERR, "%s: error creating socket, WSAStartup ret=%d\n", + __func__, ret); + RETURNFUNC(-RIG_EIO); + } } #endif @@ -347,20 +359,30 @@ void network_flush(hamlib_port_t *rp) //! @cond Doxygen_Suppress int network_close(hamlib_port_t *rp) { - int ret; + int ret = 0; ENTERFUNC; + if (rp->fd > 0) + { +#ifdef __MINGW32__ + ret = closesocket(rp->fd); +#else + ret = close(rp->fd); +#endif + rig_debug(RIG_DEBUG_VERBOSE, "%s: close socket ret=%d\n", __func__, ret); + rp->fd = 0; + } + #ifdef __MINGW32__ - ret = closesocket(rp->fd); - if (--wsstarted) + if (wsstarted) { - WSACleanup(); + ret = WSACleanup(); + rig_debug(RIG_DEBUG_VERBOSE, "%s: WSACleanup ret=%d\n", __func__, ret); + wsstarted = 0; } -#else - ret = close(rp->fd); #endif RETURNFUNC(ret); } commit 1cfa4c205c96498a4b6c55c8880eb5b195def1ab Author: Mike Black W9MDB <mdb...@ya...> Date: Sat Apr 24 09:17:53 2021 -0500 Remove SQLSTAT deprecated level diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index 12fdcae0..ec4e668d 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -903,7 +903,7 @@ typedef uint64_t rig_level_e; /*!< These are not settable */ #define RIG_LEVEL_RAWSTR CONSTANT_64BIT_FLAG(26) /*!< \c RAWSTR -- Raw (A/D) value for signal strength, specific to each rig, arg int */ -#define RIG_LEVEL_SQLSTAT CONSTANT_64BIT_FLAG(27) /*!< \c SQLSTAT -- SQL status, arg int (open=1/closed=0). Deprecated, use get_dcd instead */ +//#define RIG_LEVEL_SQLSTAT CONSTANT_64BIT_FLAG(27) /*!< \c SQLSTAT -- SQL status, arg int (open=1/closed=0). Deprecated, use get_dcd instead */ #define RIG_LEVEL_SWR CONSTANT_64BIT_FLAG(28) /*!< \c SWR -- SWR, arg float [0.0 ... infinite] */ #define RIG_LEVEL_ALC CONSTANT_64BIT_FLAG(29) /*!< \c ALC -- ALC, arg float */ #define RIG_LEVEL_STRENGTH CONSTANT_64BIT_FLAG(30) /*!< \c STRENGTH -- Effective (calibrated) signal strength relative to S9, arg int (dB) */ @@ -945,7 +945,7 @@ typedef uint64_t rig_level_e; //! @cond Doxygen_Suppress #define RIG_LEVEL_FLOAT_LIST (RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_SQL|RIG_LEVEL_APF|RIG_LEVEL_NR|RIG_LEVEL_PBT_IN|RIG_LEVEL_PBT_OUT|RIG_LEVEL_RFPOWER|RIG_LEVEL_MICGAIN|RIG_LEVEL_COMP|RIG_LEVEL_BALANCE|RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_VOXGAIN|RIG_LEVEL_ANTIVOX|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_RFPOWER_METER_WATTS|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER|RIG_LEVEL_NOTCHF_RAW|RIG_LEVEL_MONITOR_GAIN|RIG_LEVEL_NB) -#define RIG_LEVEL_READONLY_LIST (RIG_LEVEL_SQLSTAT|RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_STRENGTH|RIG_LEVEL_RAWSTR|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER) +#define RIG_LEVEL_READONLY_LIST (RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_STRENGTH|RIG_LEVEL_RAWSTR|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER) #define RIG_LEVEL_IS_FLOAT(l) ((l)&RIG_LEVEL_FLOAT_LIST) #define RIG_LEVEL_SET(l) ((l)&~RIG_LEVEL_READONLY_LIST) diff --git a/src/misc.c b/src/misc.c index 792b0a84..86d9c376 100644 --- a/src/misc.c +++ b/src/misc.c @@ -847,7 +847,6 @@ static struct { RIG_LEVEL_SLOPE_HIGH, "SLOPE_HIGH" }, { RIG_LEVEL_BKIN_DLYMS, "BKIN_DLYMS" }, { RIG_LEVEL_RAWSTR, "RAWSTR" }, - { RIG_LEVEL_SQLSTAT, "SQLSTAT" }, { RIG_LEVEL_SWR, "SWR" }, { RIG_LEVEL_ALC, "ALC" }, { RIG_LEVEL_STRENGTH, "STRENGTH" }, diff --git a/tests/dumpcaps.c b/tests/dumpcaps.c index 33720155..de312174 100644 --- a/tests/dumpcaps.c +++ b/tests/dumpcaps.c @@ -344,12 +344,6 @@ int dumpcaps(RIG *rig, FILE *fout) caps->level_gran); fprintf(fout, "Get level: %s\n", prntbuf); - if ((caps->has_get_level & RIG_LEVEL_SQLSTAT)) - { - fprintf(fout, "Warning--backend uses deprecated SQLSTAT level!\n"); - backend_warnings++; - } - if ((caps->has_get_level & RIG_LEVEL_RAWSTR) && caps->str_cal.size == 0 && !(caps->has_get_level & RIG_LEVEL_STRENGTH)) diff --git a/tests/dumpcaps_rot.c b/tests/dumpcaps_rot.c index 52dadda0..b75c01e2 100644 --- a/tests/dumpcaps_rot.c +++ b/tests/dumpcaps_rot.c @@ -170,12 +170,6 @@ int dumpcaps_rot(ROT *rot, FILE *fout) caps->level_gran); fprintf(fout, "Get level: %s\n", prntbuf); - if ((caps->has_get_level & RIG_LEVEL_SQLSTAT)) - { - fprintf(fout, "Warning--backend uses deprecated SQLSTAT level!\n"); - backend_warnings++; - } - rot_sprintf_level_gran(prntbuf, sizeof(prntbuf), caps->has_set_level, caps->level_gran); fprintf(fout, "Set level: %s\n", prntbuf); commit 60f861bfd5970290edd7483bce3ccbbe317e4655 Author: Mike Black W9MDB <mdb...@ya...> Date: Sat Apr 24 09:16:40 2021 -0500 More changes to bring rigctld dump_caps into line with rigctl dump_caps https://github.com/Hamlib/Hamlib/issues/659 diff --git a/rigs/dummy/netrigctl.c b/rigs/dummy/netrigctl.c index b51a5600..6afc37b2 100644 --- a/rigs/dummy/netrigctl.c +++ b/rigs/dummy/netrigctl.c @@ -492,7 +492,7 @@ static int netrigctl_open(RIG *rig) return (ret < 0) ? ret : -RIG_EPROTO; } - rs->has_get_func = strtoll(buf, NULL, 0); + rig->caps->has_get_func = rs->has_get_func = strtoll(buf, NULL, 0); ret = read_string(&rig->state.rigport, buf, BUF_MAX, "\n", 1); @@ -501,7 +501,7 @@ static int netrigctl_open(RIG *rig) return (ret < 0) ? ret : -RIG_EPROTO; } - rs->has_set_func = strtoll(buf, NULL, 0); + rig->caps->has_set_func = rs->has_set_func = strtoll(buf, NULL, 0); ret = read_string(&rig->state.rigport, buf, BUF_MAX, "\n", 1); @@ -510,7 +510,7 @@ static int netrigctl_open(RIG *rig) return (ret < 0) ? ret : -RIG_EPROTO; } - rs->has_get_level = strtoll(buf, NULL, 0); + rig->caps->has_get_level = rs->has_get_level = strtoll(buf, NULL, 0); if (rs->has_get_level & RIG_LEVEL_RAWSTR) { @@ -518,6 +518,7 @@ static int netrigctl_open(RIG *rig) provide a front end emulation, if it can't then an -RIG_EINVAL will be returned */ rs->has_get_level |= RIG_LEVEL_STRENGTH; + rig->caps->has_get_level |= RIG_LEVEL_STRENGTH; } ret = read_string(&rig->state.rigport, buf, BUF_MAX, "\n", 1); @@ -527,7 +528,7 @@ static int netrigctl_open(RIG *rig) return (ret < 0) ? ret : -RIG_EPROTO; } - rs->has_set_level = strtoll(buf, NULL, 0); + rig->caps->has_set_level = rs->has_set_level = strtoll(buf, NULL, 0); ret = read_string(&rig->state.rigport, buf, BUF_MAX, "\n", 1); @@ -545,7 +546,7 @@ static int netrigctl_open(RIG *rig) return (ret < 0) ? ret : -RIG_EPROTO; } - rs->has_set_parm = strtoll(buf, NULL, 0); + rig->caps->has_set_parm = rs->has_set_parm = strtoll(buf, NULL, 0); #if 0 gran_t level_gran[RIG_SETTING_MAX]; /*!< level granularity */ commit 9231c2f7e59402dec3d860434ec1323641e2840b Author: Mike Black W9MDB <mdb...@ya...> Date: Sat Apr 24 08:47:01 2021 -0500 Some more change to bring rigctld dump_caps into line with rigctl dump_caps https://github.com/Hamlib/Hamlib/issues/659 diff --git a/rigs/dummy/netrigctl.c b/rigs/dummy/netrigctl.c index bac1c202..b51a5600 100644 --- a/rigs/dummy/netrigctl.c +++ b/rigs/dummy/netrigctl.c @@ -402,7 +402,7 @@ static int netrigctl_open(RIG *rig) return (ret < 0) ? ret : -RIG_EPROTO; } - rs->max_rit = atol(buf); + rig->caps->max_rit = rs->max_rit = atol(buf); ret = read_string(&rig->state.rigport, buf, BUF_MAX, "\n", 1); @@ -411,7 +411,7 @@ static int netrigctl_open(RIG *rig) return (ret < 0) ? ret : -RIG_EPROTO; } - rs->max_xit = atol(buf); + rig->caps->max_xit = rs->max_xit = atol(buf); ret = read_string(&rig->state.rigport, buf, BUF_MAX, "\n", 1); @@ -420,7 +420,7 @@ static int netrigctl_open(RIG *rig) return (ret < 0) ? ret : -RIG_EPROTO; } - rs->max_ifshift = atol(buf); + rig->caps->max_ifshift = rs->max_ifshift = atol(buf); ret = read_string(&rig->state.rigport, buf, BUF_MAX, "\n", 1); @@ -443,13 +443,20 @@ static int netrigctl_open(RIG *rig) &rs->preamp[2], &rs->preamp[3], &rs->preamp[4], &rs->preamp[5], &rs->preamp[6]); + rig->caps->preamp[0] = rs->preamp[0]; + rig->caps->preamp[1] = rs->preamp[1]; + rig->caps->preamp[2] = rs->preamp[2]; + rig->caps->preamp[3] = rs->preamp[3]; + rig->caps->preamp[4] = rs->preamp[4]; + rig->caps->preamp[5] = rs->preamp[5]; + rig->caps->preamp[6] = rs->preamp[6]; if (ret < 0 || ret >= HAMLIB_MAXDBLSTSIZ) { ret = 0; } - rs->preamp[ret] = RIG_DBLST_END; + rig->caps->preamp[ret] = rs->preamp[ret] = RIG_DBLST_END; ret = read_string(&rig->state.rigport, buf, BUF_MAX, "\n", 1); @@ -463,13 +470,20 @@ static int netrigctl_open(RIG *rig) &rs->attenuator[2], &rs->attenuator[3], &rs->attenuator[4], &rs->attenuator[5], &rs->attenuator[6]); + rig->caps->attenuator[0] = rs->attenuator[0]; + rig->caps->attenuator[1] = rs->attenuator[1]; + rig->caps->attenuator[2] = rs->attenuator[2]; + rig->caps->attenuator[3] = rs->attenuator[3]; + rig->caps->attenuator[4] = rs->attenuator[4]; + rig->caps->attenuator[5] = rs->attenuator[5]; + rig->caps->attenuator[6] = rs->attenuator[6]; if (ret < 0 || ret >= HAMLIB_MAXDBLSTSIZ) { ret = 0; } - rs->attenuator[ret] = RIG_DBLST_END; + rig->caps->attenuator[ret] = rs->attenuator[ret] = RIG_DBLST_END; ret = read_string(&rig->state.rigport, buf, BUF_MAX, "\n", 1); diff --git a/tests/rigctl.c b/tests/rigctl.c index 9a57316a..d3777f56 100644 --- a/tests/rigctl.c +++ b/tests/rigctl.c @@ -522,6 +522,19 @@ int main(int argc, char *argv[]) */ if (dump_caps_opt) { + + // if rigctld then we need to open to get the rig caps + if (my_model == RIG_MODEL_NETRIGCTL) { + int ret; + rig_set_debug(verbose); + my_rig = rig_init(my_model); + if((ret=rig_open(my_rig)) != RIG_OK) + { + fprintf(stderr,"Unable to open rigctld: %s\n", rigerror(ret)); + exit(1); + } + rig_close(my_rig); + } dumpcaps(my_rig, stdout); rig_cleanup(my_rig); /* if you care about memory */ exit(0); ----------------------------------------------------------------------- Summary of changes: include/hamlib/rig.h | 4 ++-- rigs/dummy/netrigctl.c | 35 +++++++++++++++++++++++++---------- src/misc.c | 1 - src/network.c | 40 +++++++++++++++++++++++++++++++--------- tests/dumpcaps.c | 6 ------ tests/dumpcaps_rot.c | 6 ------ tests/rigctl.c | 13 +++++++++++++ 7 files changed, 71 insertions(+), 34 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-24 04:41:41
|
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 e0a3f8deac300a080de1bc5bff83b0a65a9949f8 (commit) from 21b9aadb91db8c2c4574812ba442c830664b58a0 (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 e0a3f8deac300a080de1bc5bff83b0a65a9949f8 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Apr 23 23:40:40 2021 -0500 Fix rigctld caps ptt_type to reflect the connected rig https://github.com/Hamlib/Hamlib/issues/659 diff --git a/rigs/dummy/netrigctl.c b/rigs/dummy/netrigctl.c index 79be2533..bac1c202 100644 --- a/rigs/dummy/netrigctl.c +++ b/rigs/dummy/netrigctl.c @@ -589,10 +589,16 @@ static int netrigctl_open(RIG *rig) * if there is any PTT capability and we have not * locally overridden it */ - rig->state.pttport.type.ptt = temp; + rig->state.pttport.type.ptt = RIG_PTT_RIG_MICDATA; + rig->caps->ptt_type = RIG_PTT_RIG_MICDATA; rig_debug(RIG_DEBUG_TRACE, "%s: %s set to %d\n", __func__, setting, rig->state.pttport.type.ptt); } + else + { + rig->state.pttport.type.ptt = temp; + rig->caps->ptt_type = temp; + } } else if (strcmp(setting, "targetable_vfo") == 0) { diff --git a/tests/simicom.c b/tests/simicom.c index c57dbafd..87fcc76d 100644 --- a/tests/simicom.c +++ b/tests/simicom.c @@ -16,15 +16,16 @@ #define BUFSIZE 256 int civ_731_mode = 0; -vfo_t vfo_curr = RIG_VFO_A; +vfo_t current_vfo = RIG_VFO_A; int split = 0; +// we make B different from A to ensure we see a difference at startup float freqA = 14074000; float freqB = 14074500; mode_t modeA = RIG_MODE_CW; -mode_t modeB = RIG_MODE_CW; -pbwidth_t widthA = 200; -pbwidth_t widthB = 300; +mode_t modeB = RIG_MODE_USB; +pbwidth_t widthA = 0; +pbwidth_t widthB = 1; void dumphex(unsigned char *buf, int n) { @@ -75,7 +76,7 @@ void frameParse(int fd, unsigned char *frame, int len) case 0x03: //from_bcd(frameackbuf[2], (civ_731_mode ? 4 : 5) * 2); - if (vfo_curr == RIG_VFO_A || vfo_curr == RIG_VFO_MAIN) + if (current_vfo == RIG_VFO_A || current_vfo == RIG_VFO_MAIN) { printf("get_freqA\n"); to_bcd(&frame[5], (long long)freqA, (civ_731_mode ? 4 : 5) * 2); @@ -91,7 +92,7 @@ void frameParse(int fd, unsigned char *frame, int len) break; case 0x04: - if (vfo_curr == RIG_VFO_A || vfo_curr == RIG_VFO_MAIN) + if (current_vfo == RIG_VFO_A || current_vfo == RIG_VFO_MAIN) { printf("get_modeA\n"); frame[5] = modeA; @@ -112,7 +113,7 @@ void frameParse(int fd, unsigned char *frame, int len) freq = from_bcd(&frame[5], (civ_731_mode ? 4 : 5) * 2); printf("set_freq to %.0f\n", freq); - if (vfo_curr == RIG_VFO_A || vfo_curr == RIG_VFO_MAIN) { freqA = freq; } + if (current_vfo == RIG_VFO_A || current_vfo == RIG_VFO_MAIN) { freqA = freq; } else { freqB = freq; } // case 0x06: @@ -122,16 +123,16 @@ void frameParse(int fd, unsigned char *frame, int len) switch (frame[5]) { - case 0x00: vfo_curr = RIG_VFO_A; break; + case 0x00: current_vfo = RIG_VFO_A; break; - case 0x01: vfo_curr = RIG_VFO_B; break; + case 0x01: current_vfo = RIG_VFO_B; break; - case 0xd0: vfo_curr = RIG_VFO_MAIN; break; + case 0xd0: current_vfo = RIG_VFO_MAIN; break; - case 0xd1: vfo_curr = RIG_VFO_SUB; break; + case 0xd1: current_vfo = RIG_VFO_SUB; break; } - printf("set_vfo to %s\n", rig_strvfo(vfo_curr)); + printf("set_vfo to %s\n", rig_strvfo(current_vfo)); frame[4] = 0xfb; frame[5] = 0xfd; @@ -148,6 +149,21 @@ void frameParse(int fd, unsigned char *frame, int len) write(fd, frame, 6); break; + case 0x1a: // miscellaneous things + switch (frame[5]) + { + case 0x03: // width + if (current_vfo == RIG_VFO_A || current_vfo == RIG_VFO_MAIN) { frame[6] = widthA; } + else { frame[6] = widthB; } + + frame[7] = 0xfd; + write(fd, frame, 8); + break; + } + + break; + +#if 0 case 0x25: if (frame[6] == 0xfd) { @@ -178,6 +194,7 @@ void frameParse(int fd, unsigned char *frame, int len) } break; +#endif default: printf("cmd 0x%02x unknown\n", frame[4]); } @@ -226,9 +243,13 @@ int openPort(char *comport) // doesn't matter for using pts devices void rigStatus() { - printf("VFOA: mode=%s width=%ld freq=%.0f\n", rig_strrmode(modeA), widthA, + char vfoa = current_vfo == RIG_VFO_A ? '*' : ' '; + char vfob = current_vfo == RIG_VFO_B ? '*' : ' '; + printf("%cVFOA: mode=%s width=%ld freq=%.0f\n", vfoa, rig_strrmode(modeA), + widthA, freqA); - printf("VFOB: mode=%s width=%ld freq=%.0f\n", rig_strrmode(modeB), widthB, + printf("%cVFOB: mode=%s width=%ld freq=%.0f\n", vfob, rig_strrmode(modeB), + widthB, freqB); } ----------------------------------------------------------------------- Summary of changes: rigs/dummy/netrigctl.c | 8 +++++++- tests/simicom.c | 49 +++++++++++++++++++++++++++++++++++-------------- 2 files changed, 42 insertions(+), 15 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-24 04:39: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 21b9aadb91db8c2c4574812ba442c830664b58a0 (commit) via 0a4e0dbdfb5d169b0c8c126d476a4bead152e6dd (commit) via 295daa791b922b837598ef4439ca5f3730329529 (commit) via 1d79b9e01cae5a474d73b568cd1b2cc6f5222851 (commit) from b6a29f1e165fe53f1dff1f85d67cd3a8c178dda1 (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 21b9aadb91db8c2c4574812ba442c830664b58a0 Merge: 0a4e0dbd 295daa79 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Apr 23 23:39:02 2021 -0500 Merge branch 'master' of https://github.com/Hamlib/Hamlib commit 0a4e0dbdfb5d169b0c8c126d476a4bead152e6dd Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Apr 23 23:37:44 2021 -0500 Fix RIT in kenwood.c -- default to 10Hz steps if rig step setting works https://github.com/Hamlib/Hamlib/issues/677 diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index e6f4e062..12b20038 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -782,18 +782,6 @@ int kenwood_open(RIG *rig) "%s: no response to get_id from rig...continuing anyways.\n", __func__); } - if (RIG_IS_TS2000 - || RIG_IS_TS480 - || RIG_IS_TS590S - || RIG_IS_TS590SG - || RIG_IS_TS890S - || RIG_IS_TS990S) - { - // rig has Set 2 RIT/XIT function - rig_debug(RIG_DEBUG_TRACE, "%s: rig has_rit2\n", __func__); - priv->has_rit2 = 1; - } - if (RIG_IS_TS590S) { /* we need the firmware version for these rigs to deal with f/w defects */ @@ -1733,11 +1721,10 @@ int kenwood_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit) int retval, i; shortfreq_t curr_rit; int diff; - struct kenwood_priv_data *priv = rig->state.priv; - rig_debug(RIG_DEBUG_VERBOSE, "%s called: vfo=%s, rit=%ld, has_rit2=%d\n", + rig_debug(RIG_DEBUG_VERBOSE, "%s called: vfo=%s, rit=%ld\n", __func__, - rig_strvfo(vfo), rit, priv->has_rit2); + rig_strvfo(vfo), rit); retval = kenwood_get_rit(rig, vfo, &curr_rit); @@ -1746,32 +1733,24 @@ int kenwood_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit) RETURNFUNC(retval); } - if (priv->has_rit2) // if backend shows it has the Set 2 command + // we'll set the rigs that have a rit step setting to 10Hz steps + retval = kenwood_transaction(rig, "RC;RU00010", NULL, 0); + + if (retval != RIG_OK) { - char cmd[15]; // length required to make Apple-gcc happy (unicode-proof). - snprintf(cmd, sizeof(cmd) - 1, "R%c%05d", rit > 0 ? 'U' : 'D', abs((int)rit)); - retval = kenwood_transaction(rig, cmd, NULL, 0); + RETURNFUNC(retval); } - else - { - retval = kenwood_transaction(rig, "RC", NULL, 0); - if (retval != RIG_OK) - { - RETURNFUNC(retval); - } + if (rit == 0) { RETURNFUNC(RIG_OK); } // we're done here - if (rit == 0) { RETURNFUNC(RIG_OK); } // we're done here + snprintf(buf, sizeof(buf), "R%c", (rit > 0) ? 'U' : 'D'); - snprintf(buf, sizeof(buf), "R%c", (rit > 0) ? 'U' : 'D'); + diff = labs((rit + rit >= 0 ? 5 : -5) / 10); // round to nearest + rig_debug(RIG_DEBUG_TRACE, "%s: rit change loop=%d\n", __func__, diff); - diff = labs((rit + rit >= 0 ? 5 : -5) / 10); // round to nearest - rig_debug(RIG_DEBUG_TRACE, "%s: rit change loop=%d\n", __func__, diff); - - for (i = 0; i < diff; i++) - { - retval = kenwood_transaction(rig, buf, NULL, 0); - } + for (i = 0; i < diff; i++) + { + retval = kenwood_transaction(rig, buf, NULL, 0); } RETURNFUNC(retval); diff --git a/rigs/kenwood/kenwood.h b/rigs/kenwood/kenwood.h index fc2e7654..a2f197e4 100644 --- a/rigs/kenwood/kenwood.h +++ b/rigs/kenwood/kenwood.h @@ -28,7 +28,7 @@ #include "token.h" #include "misc.h" -#define BACKEND_VER "20210406" +#define BACKEND_VER "20210423" #define EOM_KEN ';' #define EOM_TH '\r' @@ -133,7 +133,6 @@ struct kenwood_priv_data struct timespec cache_start; char last_if_response[KENWOOD_MAX_BUF_LEN]; int poweron; /* to avoid powering on more than once */ - int has_rit2; /* rig has set 2 rit command */ int ag_format; /* which AG command is being used...see LEVEL_AF in kenwood.c*/ int micgain_min, micgain_max; /* varies by rig so we figure it out automagically */ int is_k2; commit 295daa791b922b837598ef4439ca5f3730329529 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Apr 23 23:37:44 2021 -0500 Fix RIT in kenwood.c -- default to 10Hz steps if rig step setting works diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index e6f4e062..12b20038 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -782,18 +782,6 @@ int kenwood_open(RIG *rig) "%s: no response to get_id from rig...continuing anyways.\n", __func__); } - if (RIG_IS_TS2000 - || RIG_IS_TS480 - || RIG_IS_TS590S - || RIG_IS_TS590SG - || RIG_IS_TS890S - || RIG_IS_TS990S) - { - // rig has Set 2 RIT/XIT function - rig_debug(RIG_DEBUG_TRACE, "%s: rig has_rit2\n", __func__); - priv->has_rit2 = 1; - } - if (RIG_IS_TS590S) { /* we need the firmware version for these rigs to deal with f/w defects */ @@ -1733,11 +1721,10 @@ int kenwood_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit) int retval, i; shortfreq_t curr_rit; int diff; - struct kenwood_priv_data *priv = rig->state.priv; - rig_debug(RIG_DEBUG_VERBOSE, "%s called: vfo=%s, rit=%ld, has_rit2=%d\n", + rig_debug(RIG_DEBUG_VERBOSE, "%s called: vfo=%s, rit=%ld\n", __func__, - rig_strvfo(vfo), rit, priv->has_rit2); + rig_strvfo(vfo), rit); retval = kenwood_get_rit(rig, vfo, &curr_rit); @@ -1746,32 +1733,24 @@ int kenwood_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit) RETURNFUNC(retval); } - if (priv->has_rit2) // if backend shows it has the Set 2 command + // we'll set the rigs that have a rit step setting to 10Hz steps + retval = kenwood_transaction(rig, "RC;RU00010", NULL, 0); + + if (retval != RIG_OK) { - char cmd[15]; // length required to make Apple-gcc happy (unicode-proof). - snprintf(cmd, sizeof(cmd) - 1, "R%c%05d", rit > 0 ? 'U' : 'D', abs((int)rit)); - retval = kenwood_transaction(rig, cmd, NULL, 0); + RETURNFUNC(retval); } - else - { - retval = kenwood_transaction(rig, "RC", NULL, 0); - if (retval != RIG_OK) - { - RETURNFUNC(retval); - } + if (rit == 0) { RETURNFUNC(RIG_OK); } // we're done here - if (rit == 0) { RETURNFUNC(RIG_OK); } // we're done here + snprintf(buf, sizeof(buf), "R%c", (rit > 0) ? 'U' : 'D'); - snprintf(buf, sizeof(buf), "R%c", (rit > 0) ? 'U' : 'D'); + diff = labs((rit + rit >= 0 ? 5 : -5) / 10); // round to nearest + rig_debug(RIG_DEBUG_TRACE, "%s: rit change loop=%d\n", __func__, diff); - diff = labs((rit + rit >= 0 ? 5 : -5) / 10); // round to nearest - rig_debug(RIG_DEBUG_TRACE, "%s: rit change loop=%d\n", __func__, diff); - - for (i = 0; i < diff; i++) - { - retval = kenwood_transaction(rig, buf, NULL, 0); - } + for (i = 0; i < diff; i++) + { + retval = kenwood_transaction(rig, buf, NULL, 0); } RETURNFUNC(retval); diff --git a/rigs/kenwood/kenwood.h b/rigs/kenwood/kenwood.h index fc2e7654..a2f197e4 100644 --- a/rigs/kenwood/kenwood.h +++ b/rigs/kenwood/kenwood.h @@ -28,7 +28,7 @@ #include "token.h" #include "misc.h" -#define BACKEND_VER "20210406" +#define BACKEND_VER "20210423" #define EOM_KEN ';' #define EOM_TH '\r' @@ -133,7 +133,6 @@ struct kenwood_priv_data struct timespec cache_start; char last_if_response[KENWOOD_MAX_BUF_LEN]; int poweron; /* to avoid powering on more than once */ - int has_rit2; /* rig has set 2 rit command */ int ag_format; /* which AG command is being used...see LEVEL_AF in kenwood.c*/ int micgain_min, micgain_max; /* varies by rig so we figure it out automagically */ int is_k2; commit 1d79b9e01cae5a474d73b568cd1b2cc6f5222851 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Apr 23 17:43:54 2021 -0500 Fix icom \get_mode in non-vfo mode to stay on VFOB/Sub https://github.com/Hamlib/Hamlib/issues/676 diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 3654039b..85f3a7db 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -2108,8 +2108,8 @@ int icom_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) if (vfo & (RIG_VFO_A | RIG_VFO_MAIN | RIG_VFO_SUB_A | RIG_VFO_MAIN_A | RIG_VFO_CURR)) { - // then we get our current vfo..i.e. VFOA - if (rig->state.current_vfo != RIG_VFO_A) + // then we get what was asked for + if (vfo == RIG_VFO_NONE) { rig_debug(RIG_DEBUG_TRACE, "%s(%d): forcing default VFO_A\n", __func__, __LINE__); diff --git a/src/rig.c b/src/rig.c index 82e7d1e6..924ab4a3 100644 --- a/src/rig.c +++ b/src/rig.c @@ -1895,6 +1895,8 @@ int HAMLIB_API rig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) vfo = vfo_fixup(rig, vfo); + if (vfo == RIG_VFO_CURR) vfo = curr_vfo; + // we ignore get_freq for the uplink VFO for gpredict to behave better if ((rig->state.uplink == 1 && vfo == RIG_VFO_SUB) || (rig->state.uplink == 2 && vfo == RIG_VFO_MAIN)) ----------------------------------------------------------------------- Summary of changes: rigs/icom/icom.c | 4 ++-- rigs/kenwood/kenwood.c | 49 ++++++++++++++----------------------------------- rigs/kenwood/kenwood.h | 3 +-- src/rig.c | 2 ++ 4 files changed, 19 insertions(+), 39 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-23 16:03: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 b6a29f1e165fe53f1dff1f85d67cd3a8c178dda1 (commit) via d0af094d3981d8141f3b9e2debc377e10b1a2714 (commit) from b0e006ce6cdf1262938abd581d9d25f1df96cfe9 (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 b6a29f1e165fe53f1dff1f85d67cd3a8c178dda1 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Apr 23 11:01:53 2021 -0500 Update simicom.c to recognize VFOA/B and Main/Sub selections Need to get simicom.c to have optional capabilities for the different CI-V capabilities of Icom rigs diff --git a/tests/simicom.c b/tests/simicom.c index 559b6c1d..c57dbafd 100644 --- a/tests/simicom.c +++ b/tests/simicom.c @@ -120,8 +120,16 @@ void frameParse(int fd, unsigned char *frame, int len) case 0x07: - if (frame[5] == 0xd0) { vfo_curr = RIG_VFO_MAIN; } - else if (frame[5] == 0xd1) { vfo_curr = RIG_VFO_SUB; } + switch (frame[5]) + { + case 0x00: vfo_curr = RIG_VFO_A; break; + + case 0x01: vfo_curr = RIG_VFO_B; break; + + case 0xd0: vfo_curr = RIG_VFO_MAIN; break; + + case 0xd1: vfo_curr = RIG_VFO_SUB; break; + } printf("set_vfo to %s\n", rig_strvfo(vfo_curr)); commit d0af094d3981d8141f3b9e2debc377e10b1a2714 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Apr 23 11:01:17 2021 -0500 Fix set freq on Sub VFO return to Main https://github.com/Hamlib/Hamlib/issues/670 diff --git a/src/rig.c b/src/rig.c index 828f91f7..82e7d1e6 100644 --- a/src/rig.c +++ b/src/rig.c @@ -1691,6 +1691,7 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq) const struct rig_caps *caps; int retcode; freq_t freq_new = freq; + vfo_t vfo_save; rig_debug(RIG_DEBUG_VERBOSE, "%s called vfo=%s, freq=%.0f\n", __func__, rig_strvfo(vfo), freq); @@ -1710,8 +1711,6 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq) caps = rig->caps; - vfo = vfo_fixup(rig, vfo); - if (rig->state.lo_freq != 0.0) { freq -= rig->state.lo_freq; @@ -1728,6 +1727,9 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq) RETURNFUNC(-RIG_ENAVAIL); } + vfo_save = rig->state.current_vfo; + vfo = vfo_fixup(rig, vfo); + if ((caps->targetable_vfo & RIG_TARGETABLE_FREQ) || vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { @@ -1735,6 +1737,7 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq) { rig_debug(RIG_DEBUG_TRACE, "%s: Ignoring set_freq due to VFO twiddling\n", __func__); + if (vfo != vfo_save && vfo != RIG_VFO_CURR) rig_set_vfo(rig, vfo_save); RETURNFUNC( RIG_OK); // would be better as error but other software won't handle errors } @@ -1752,7 +1755,7 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq) set_cache_freq(rig, vfo, (freq_t)0); -#if 0 // this verification seems to be causing bad behavior on some reigs +#if 0 // this verification seems to be causing bad behavior on some rigs if (caps->get_freq) { @@ -1790,8 +1793,6 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq) { rig_debug(RIG_DEBUG_TRACE, "%s: not a TARGETABLE_FREQ vfo=%s\n", __func__, rig_strvfo(vfo)); - int rc2; - vfo_t curr_vfo; if (!caps->set_vfo) { @@ -1802,33 +1803,12 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq) { rig_debug(RIG_DEBUG_TRACE, "%s: Ignoring set_freq due to VFO twiddling\n", __func__); + if (vfo != vfo_save && vfo != RIG_VFO_CURR) rig_set_vfo(rig, vfo_save); RETURNFUNC( RIG_OK); // would be better as error but other software won't handle errors } - curr_vfo = rig->state.current_vfo; - retcode = caps->set_vfo(rig, vfo); - // why is the line below here? - // it's causing set_freq on the wrong vfo - //vfo = rig->state.current_vfo; // can't call get_vfo since Icoms don't have it - - if (retcode != RIG_OK) - { - rig_debug(RIG_DEBUG_ERR, "%s: set_vfo(%s) err %.10000s\n", __func__, - rig_strvfo(vfo), rigerror(retcode)); - RETURNFUNC(retcode); - } - - retcode = caps->set_freq(rig, vfo, freq); - /* try and revert even if we had an error above */ - rc2 = caps->set_vfo(rig, curr_vfo); - - if (RIG_OK == retcode) - { - /* return the first error code */ - retcode = rc2; - } } if (retcode == RIG_OK && caps->get_freq != NULL) @@ -1866,6 +1846,8 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq) set_cache_freq(rig, vfo, freq_new); + if (vfo != vfo_save && vfo != RIG_VFO_CURR) rig_set_vfo(rig, vfo_save); + RETURNFUNC(retcode); } ----------------------------------------------------------------------- Summary of changes: src/rig.c | 36 +++++++++--------------------------- tests/simicom.c | 12 ++++++++++-- 2 files changed, 19 insertions(+), 29 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-22 04:48:58
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Hamlib -- Ham radio control libraries". The branch, master has been updated via b0e006ce6cdf1262938abd581d9d25f1df96cfe9 (commit) via e42571de9cdc876315f7c27a5edeff58ecd30494 (commit) via 994bfe4ffe57e8921fdb63e7a12c08ceb8ab3fcd (commit) from 870b9ca7481fc40255749194fe6215cbbc74df93 (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 b0e006ce6cdf1262938abd581d9d25f1df96cfe9 Author: Mike Black W9MDB <mdb...@ya...> Date: Wed Apr 21 23:48:29 2021 -0500 astyle files diff --git a/rigs/dummy/dummy.c b/rigs/dummy/dummy.c index 87a30bac..4cb66af5 100644 --- a/rigs/dummy/dummy.c +++ b/rigs/dummy/dummy.c @@ -844,7 +844,8 @@ static int dummy_set_split_freq(RIG *rig, vfo_t vfo, freq_t tx_freq) ENTERFUNC; priv->curr->tx_freq = tx_freq; - rig_debug(RIG_DEBUG_VERBOSE, "%s: priv->curr->tx_freq = %.0f\n", __func__, priv->curr->tx_freq); + rig_debug(RIG_DEBUG_VERBOSE, "%s: priv->curr->tx_freq = %.0f\n", __func__, + priv->curr->tx_freq); RETURNFUNC(RIG_OK); } @@ -857,7 +858,8 @@ static int dummy_get_split_freq(RIG *rig, vfo_t vfo, freq_t *tx_freq) ENTERFUNC; *tx_freq = priv->curr->tx_freq; - rig_debug(RIG_DEBUG_VERBOSE, "%s: priv->curr->tx_freq = %.0f\n", __func__, priv->curr->tx_freq); + rig_debug(RIG_DEBUG_VERBOSE, "%s: priv->curr->tx_freq = %.0f\n", __func__, + priv->curr->tx_freq); RETURNFUNC(RIG_OK); } diff --git a/rigs/dummy/netrigctl.c b/rigs/dummy/netrigctl.c index bb85e9d0..79be2533 100644 --- a/rigs/dummy/netrigctl.c +++ b/rigs/dummy/netrigctl.c @@ -328,9 +328,11 @@ static int netrigctl_open(RIG *rig) { break; } - switch(i) + + switch (i) { } + rig->caps->tx_range_list1->startf = rs->tx_range_list[i].startf; rig->caps->tx_range_list1->endf = rs->tx_range_list[i].endf; rig->caps->tx_range_list1->modes = rs->tx_range_list[i].modes; @@ -626,7 +628,8 @@ static int netrigctl_open(RIG *rig) { // use the rig's timeout value pluse 200ms for potential network delays rig->caps->timeout = strtol(value, NULL, 0) + 200; - rig_debug(RIG_DEBUG_TRACE, "%s: timeout value = '%s', final timeout=%d\n", __func__, value, rig->caps->timeout); + rig_debug(RIG_DEBUG_TRACE, "%s: timeout value = '%s', final timeout=%d\n", + __func__, value, rig->caps->timeout); } else { diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 75ed7e38..3654039b 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -2105,7 +2105,8 @@ int icom_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) // reason is we can't get width without swapping vfos -- yuck!! if (width != NULL) { - if (vfo & (RIG_VFO_A | RIG_VFO_MAIN | RIG_VFO_SUB_A | RIG_VFO_MAIN_A | RIG_VFO_CURR)) + if (vfo & (RIG_VFO_A | RIG_VFO_MAIN | RIG_VFO_SUB_A | RIG_VFO_MAIN_A | + RIG_VFO_CURR)) { // then we get our current vfo..i.e. VFOA if (rig->state.current_vfo != RIG_VFO_A) @@ -2137,7 +2138,9 @@ int icom_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) rig_set_vfo(rig, RIG_VFO_B); retval = icom_get_dsp_flt(rig, *mode); *width = retval; - if (*width == 0) *width = rig->state.cache.widthMainA; // we'll use VFOA's width + + if (*width == 0) { *width = rig->state.cache.widthMainA; } // we'll use VFOA's width + // dont' really care about cache time here // this is just to prevent vfo swapping while getting width rig->state.cache.widthMainB = retval; diff --git a/rigs/kenwood/flex6xxx.c b/rigs/kenwood/flex6xxx.c index 06d95600..387ada4b 100644 --- a/rigs/kenwood/flex6xxx.c +++ b/rigs/kenwood/flex6xxx.c @@ -1219,7 +1219,7 @@ const struct rig_caps powersdr_caps = .serial_parity = RIG_PARITY_NONE, .serial_handshake = RIG_HANDSHAKE_NONE, .write_delay = 0, - .post_write_delay = 20, + .post_write_delay = 0, // The combination of timeout and retry is important // We need at least 3 seconds to do profile switches // Hitting the timeout is OK as long as we retry diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index 8e3d674f..e6f4e062 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -911,7 +911,8 @@ int kenwood_open(RIG *rig) int retval; split_t split; vfo_t tx_vfo; - rig_debug(RIG_DEBUG_VERBOSE, "%s: found the right driver for %s(%d)\n", __func__, rig->caps->model_name, rig->caps->rig_model); + rig_debug(RIG_DEBUG_VERBOSE, "%s: found the right driver for %s(%d)\n", + __func__, rig->caps->model_name, rig->caps->rig_model); /* get current AI state so it can be restored */ kenwood_get_trn(rig, &priv->trn_state); /* ignore errors */ diff --git a/rigs/prm80/prm80.c b/rigs/prm80/prm80.c index 10e6628e..0ddb5174 100644 --- a/rigs/prm80/prm80.c +++ b/rigs/prm80/prm80.c @@ -796,7 +796,8 @@ int prm80_get_channel(RIG *rig, vfo_t vfo, channel_t *chan, int read_only) chan->funcs |= (lock_byte & 0x05) ? RIG_FUNC_LOCK : 0; chan->funcs |= (lock_byte & 0x08) ? RIG_FUNC_MUTE : 0; - chan->freq = pll_value_to_rx_freq((hhtoi(statebuf + 12) << 8) + hhtoi(statebuf + 14)); + chan->freq = pll_value_to_rx_freq((hhtoi(statebuf + 12) << 8) + hhtoi( + statebuf + 14)); chan->tx_freq = ((hhtoi(statebuf + 16) << 8) + hhtoi(statebuf + 18)) * FREQ_DIV; if (chan->rptr_shift != RIG_RPT_SHIFT_NONE) diff --git a/src/rig.c b/src/rig.c index f7ad1a3c..828f91f7 100644 --- a/src/rig.c +++ b/src/rig.c @@ -1703,7 +1703,8 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq) if (rig->state.twiddle_state == TWIDDLE_ON) { // we keep skipping set_freq while the vfo knob is in motion - rig_debug(RIG_DEBUG_VERBOSE, "%s: Twiddle on so skipping this set_freq request one time\n", __func__); + rig_debug(RIG_DEBUG_VERBOSE, + "%s: Twiddle on so skipping this set_freq request one time\n", __func__); rig->state.twiddle_state = TWIDDLE_OFF; } @@ -2490,9 +2491,11 @@ int HAMLIB_API rig_set_vfo(RIG *rig, vfo_t vfo) ENTERFUNC; rig_debug(RIG_DEBUG_VERBOSE, "%s called vfo=%s\n", __func__, rig_strvfo(vfo)); + if (vfo == RIG_VFO_B || vfo == RIG_VFO_SUB) { - rig_debug(RIG_DEBUG_VERBOSE, "%s ********************** called vfo=%s\n", __func__, rig_strvfo(vfo)); + rig_debug(RIG_DEBUG_VERBOSE, "%s ********************** called vfo=%s\n", + __func__, rig_strvfo(vfo)); } if (CHECK_RIG_ARG(rig)) @@ -4094,7 +4097,7 @@ int HAMLIB_API rig_set_split_freq_mode(RIG *rig, // in split mode we alwasy use VFOB // in the future we may start using RIG_VFO_TX and let the backend figure out what VFO to use - vfo = vfo_fixup(rig,RIG_VFO_B); // in split mode we always use VFOB/Sub for TX + vfo = vfo_fixup(rig, RIG_VFO_B); // in split mode we always use VFOB/Sub for TX rig_debug(RIG_DEBUG_VERBOSE, "%s: vfo=%s, tx_freq=%.0f, tx_mode=%s, tx_width=%d\n", __func__, rig_strvfo(vfo), tx_freq, rig_strrmode(tx_mode), (int)tx_width); @@ -4347,7 +4350,8 @@ int HAMLIB_API rig_get_split_vfo(RIG *rig, if (!split || !tx_vfo) { - rig_debug(RIG_DEBUG_ERR, "%s: split or tx_vfo is null, split=%p, tx_vfo=%p\n", __func__, split, tx_vfo); + rig_debug(RIG_DEBUG_ERR, "%s: split or tx_vfo is null, split=%p, tx_vfo=%p\n", + __func__, split, tx_vfo); RETURNFUNC(-RIG_EINVAL); } @@ -4358,7 +4362,9 @@ int HAMLIB_API rig_get_split_vfo(RIG *rig, // if we can't get the vfo we will return whatever we have cached *split = rig->state.cache.split; *tx_vfo = rig->state.cache.split_vfo; - rig_debug(RIG_DEBUG_VERBOSE, "%s: no get_split_vfo so returning split=%d, tx_vfo=%s\n", __func__, *split, rig_strvfo(*tx_vfo)); + rig_debug(RIG_DEBUG_VERBOSE, + "%s: no get_split_vfo so returning split=%d, tx_vfo=%s\n", __func__, *split, + rig_strvfo(*tx_vfo)); RETURNFUNC(RIG_OK); } diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c index c99cfbfe..860586d7 100644 --- a/tests/rigctl_parse.c +++ b/tests/rigctl_parse.c @@ -1651,11 +1651,13 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc, } rig_debug(RIG_DEBUG_TRACE, "%s: vfo_opt=%d\n", __func__, *vfo_opt); + if (my_rig->state.comm_state == 0) { rig_debug(RIG_DEBUG_WARN, "%s: rig not open...trying to reopen\n", __func__); rig_open(my_rig); } + retcode = (*cmd_entry->rig_routine)(my_rig, fout, fin, diff --git a/tests/simicom.c b/tests/simicom.c index 49c37f4c..559b6c1d 100644 --- a/tests/simicom.c +++ b/tests/simicom.c @@ -103,6 +103,7 @@ void frameParse(int fd, unsigned char *frame, int len) frame[5] = modeB; frame[6] = widthB; } + frame[7] = 0xfd; write(fd, frame, 8); break; @@ -113,8 +114,9 @@ void frameParse(int fd, unsigned char *frame, int len) if (vfo_curr == RIG_VFO_A || vfo_curr == RIG_VFO_MAIN) { freqA = freq; } else { freqB = freq; } + // case 0x06: - + case 0x07: @@ -181,10 +183,12 @@ int openPort(char *comport) // doesn't matter for using pts devices { int fd; fd = open(comport, O_RDWR); + if (fd < 0) { perror(comport); } + return fd; } @@ -214,8 +218,10 @@ int openPort(char *comport) // doesn't matter for using pts devices void rigStatus() { - printf("VFOA: mode=%s width=%ld freq=%.0f\n", rig_strrmode(modeA), widthA, freqA); - printf("VFOB: mode=%s width=%ld freq=%.0f\n", rig_strrmode(modeB), widthB, freqB); + printf("VFOA: mode=%s width=%ld freq=%.0f\n", rig_strrmode(modeA), widthA, + freqA); + printf("VFOB: mode=%s width=%ld freq=%.0f\n", rig_strrmode(modeB), widthB, + freqB); } int main(int argc, char **argv) @@ -225,13 +231,16 @@ int main(int argc, char **argv) printf("%s: %s\n", argv[0], rig_version()); #if defined(WIN32) || defined(_WIN32) + if (argc != 2) { printf("Missing comport argument\n"); printf("%s [comport]\n", argv[0]); exit(1); } + #endif + while (1) { int len = frameGet(fd, buf); commit e42571de9cdc876315f7c27a5edeff58ecd30494 Author: Mike Black W9MDB <mdb...@ya...> Date: Wed Apr 21 23:47:42 2021 -0500 Change default device in testrig.c to show pts usage diff --git a/tests/testrig.c b/tests/testrig.c index f4124c65..8a2a31ad 100644 --- a/tests/testrig.c +++ b/tests/testrig.c @@ -15,7 +15,7 @@ # include "config.h" #endif -#define SERIAL_PORT "/dev/ttyUSB0" +#define SERIAL_PORT "/dev/pts/2" int main(int argc, char *argv[]) commit 994bfe4ffe57e8921fdb63e7a12c08ceb8ab3fcd Author: Mike Black W9MDB <mdb...@ya...> Date: Wed Apr 21 17:47:59 2021 -0500 Add 0x04 command to simicom.c diff --git a/tests/simicom.c b/tests/simicom.c index 4662bb41..49c37f4c 100644 --- a/tests/simicom.c +++ b/tests/simicom.c @@ -90,6 +90,23 @@ void frameParse(int fd, unsigned char *frame, int len) write(fd, frame, 11); break; + case 0x04: + if (vfo_curr == RIG_VFO_A || vfo_curr == RIG_VFO_MAIN) + { + printf("get_modeA\n"); + frame[5] = modeA; + frame[6] = widthA; + } + else + { + printf("get_modeB\n"); + frame[5] = modeB; + frame[6] = widthB; + } + frame[7] = 0xfd; + write(fd, frame, 8); + break; + case 0x05: freq = from_bcd(&frame[5], (civ_731_mode ? 4 : 5) * 2); printf("set_freq to %.0f\n", freq); ----------------------------------------------------------------------- Summary of changes: rigs/dummy/dummy.c | 6 ++++-- rigs/dummy/netrigctl.c | 7 +++++-- rigs/icom/icom.c | 7 +++++-- rigs/kenwood/flex6xxx.c | 2 +- rigs/kenwood/kenwood.c | 3 ++- rigs/prm80/prm80.c | 3 ++- src/rig.c | 16 +++++++++++----- tests/rigctl_parse.c | 2 ++ tests/simicom.c | 32 +++++++++++++++++++++++++++++--- tests/testrig.c | 2 +- 10 files changed, 62 insertions(+), 18 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-19 16:26: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 870b9ca7481fc40255749194fe6215cbbc74df93 (commit) from cd82a2c00835872bf25d3ddd1d2ad8d1e7e64888 (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 870b9ca7481fc40255749194fe6215cbbc74df93 Author: Mike Black W9MDB <mdb...@ya...> Date: Mon Apr 19 09:51:58 2021 -0500 In icom.c add check for current vfo to avoid vfo swapping https://github.com/Hamlib/Hamlib/issues/665 https://github.com/Hamlib/Hamlib/issues/654 diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 6185f53f..75ed7e38 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -2105,7 +2105,7 @@ int icom_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) // reason is we can't get width without swapping vfos -- yuck!! if (width != NULL) { - if (vfo & (RIG_VFO_A | RIG_VFO_MAIN | RIG_VFO_SUB_A | RIG_VFO_MAIN_A)) + if (vfo & (RIG_VFO_A | RIG_VFO_MAIN | RIG_VFO_SUB_A | RIG_VFO_MAIN_A | RIG_VFO_CURR)) { // then we get our current vfo..i.e. VFOA if (rig->state.current_vfo != RIG_VFO_A) diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h index 15f07c8d..0f62d073 100644 --- a/rigs/icom/icom.h +++ b/rigs/icom/icom.h @@ -30,7 +30,7 @@ #include <sys/time.h> #endif -#define BACKEND_VER "20210418" +#define BACKEND_VER "20210419" /* * defines used by comp_cal_str in rig.c ----------------------------------------------------------------------- Summary of changes: rigs/icom/icom.c | 2 +- rigs/icom/icom.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-19 03:48: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 cd82a2c00835872bf25d3ddd1d2ad8d1e7e64888 (commit) from 7e7e2cb1acb27cdbe67b8f258d10144f0b99e754 (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 cd82a2c00835872bf25d3ddd1d2ad8d1e7e64888 Author: Mike Black W9MDB <mdb...@ya...> Date: Sun Apr 18 22:46:50 2021 -0500 In icom.c fix reading VFOB width when 0 and set to VFOA width https://github.com/Hamlib/Hamlib/issues/665 https://github.com/Hamlib/Hamlib/issues/654 diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 23a9c451..6185f53f 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -2137,6 +2137,7 @@ int icom_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) rig_set_vfo(rig, RIG_VFO_B); retval = icom_get_dsp_flt(rig, *mode); *width = retval; + if (*width == 0) *width = rig->state.cache.widthMainA; // we'll use VFOA's width // dont' really care about cache time here // this is just to prevent vfo swapping while getting width rig->state.cache.widthMainB = retval; diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h index fd44e5a2..15f07c8d 100644 --- a/rigs/icom/icom.h +++ b/rigs/icom/icom.h @@ -30,7 +30,7 @@ #include <sys/time.h> #endif -#define BACKEND_VER "20210408" +#define BACKEND_VER "20210418" /* * defines used by comp_cal_str in rig.c ----------------------------------------------------------------------- Summary of changes: rigs/icom/icom.c | 1 + rigs/icom/icom.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-18 16:42: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 7e7e2cb1acb27cdbe67b8f258d10144f0b99e754 (commit) via aefe8c44b7c5ce11b7e3772d0209d36e26c926fb (commit) via cfa42f23651206785ba47f511e87bdc8065d5bfc (commit) via 1e26a10365e5125d540aa4c034026dd83d3b0a66 (commit) via b74bf05541ee6931c7690d19a04f8a821bfa1b73 (commit) via 44a4b52bb961f5f80e3fdcee5d3877d665a85731 (commit) via 5d367f0920ef8c9a994564ec00038560f26afe86 (commit) via 0a5d9d9768b85fcae784bc0708aeb01bd6794205 (commit) from 0f692f514de5a1ec31220f3586aaf2b3d5cdcfba (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 7e7e2cb1acb27cdbe67b8f258d10144f0b99e754 Author: Mike Black W9MDB <mdb...@ya...> Date: Sun Apr 18 11:42:08 2021 -0500 Add hamlib version so simicom.c diff --git a/tests/simicom.c b/tests/simicom.c index 3616df55..4662bb41 100644 --- a/tests/simicom.c +++ b/tests/simicom.c @@ -206,6 +206,7 @@ int main(int argc, char **argv) unsigned char buf[256]; int fd = openPort(argv[1]); + printf("%s: %s\n", argv[0], rig_version()); #if defined(WIN32) || defined(_WIN32) if (argc != 2) { commit aefe8c44b7c5ce11b7e3772d0209d36e26c926fb Author: Mike Black W9MDB <mdb...@ya...> Date: Sun Apr 18 11:35:35 2021 -0500 In rig.c if rig does not set get_split_vfo then return cached values https://github.com/Hamlib/Hamlib/issues/654 https://github.com/Hamlib/Hamlib/issues/665 diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index ef5e4519..23a9c451 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -1588,6 +1588,8 @@ int icom_set_dsp_flt(RIG *rig, rmode_t mode, pbwidth_t width) unsigned char fw_sub_cmd = RIG_MODEL_IC7200 == rig->caps->rig_model ? 0x02 : S_MEM_FILT_WDTH; + ENTERFUNC; + if (RIG_PASSBAND_NOCHANGE == width) { RETURNFUNC(RIG_OK); @@ -1686,7 +1688,7 @@ int icom_set_mode_with_data(RIG *rig, vfo_t vfo, rmode_t mode, || rig->caps->rig_model == RIG_MODEL_IC9700 || rig->caps->rig_model == RIG_MODEL_IC705; - rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); + ENTERFUNC; switch (mode) { diff --git a/src/rig.c b/src/rig.c index d683d1c6..f7ad1a3c 100644 --- a/src/rig.c +++ b/src/rig.c @@ -2490,6 +2490,10 @@ int HAMLIB_API rig_set_vfo(RIG *rig, vfo_t vfo) ENTERFUNC; rig_debug(RIG_DEBUG_VERBOSE, "%s called vfo=%s\n", __func__, rig_strvfo(vfo)); + if (vfo == RIG_VFO_B || vfo == RIG_VFO_SUB) + { + rig_debug(RIG_DEBUG_VERBOSE, "%s ********************** called vfo=%s\n", __func__, rig_strvfo(vfo)); + } if (CHECK_RIG_ARG(rig)) { @@ -4343,6 +4347,7 @@ int HAMLIB_API rig_get_split_vfo(RIG *rig, if (!split || !tx_vfo) { + rig_debug(RIG_DEBUG_ERR, "%s: split or tx_vfo is null, split=%p, tx_vfo=%p\n", __func__, split, tx_vfo); RETURNFUNC(-RIG_EINVAL); } @@ -4350,7 +4355,11 @@ int HAMLIB_API rig_get_split_vfo(RIG *rig, if (caps->get_split_vfo == NULL) { - RETURNFUNC(-RIG_ENAVAIL); + // if we can't get the vfo we will return whatever we have cached + *split = rig->state.cache.split; + *tx_vfo = rig->state.cache.split_vfo; + rig_debug(RIG_DEBUG_VERBOSE, "%s: no get_split_vfo so returning split=%d, tx_vfo=%s\n", __func__, *split, rig_strvfo(*tx_vfo)); + RETURNFUNC(RIG_OK); } cache_ms = elapsed_ms(&rig->state.cache.time_split, HAMLIB_ELAPSED_GET); commit cfa42f23651206785ba47f511e87bdc8065d5bfc Author: Mike Black W9MDB <mdb...@ya...> Date: Sat Apr 17 22:48:14 2021 -0500 Beginning of Icom simulator -- does not work on Windows yet diff --git a/tests/simicom.c b/tests/simicom.c new file mode 100644 index 00000000..3616df55 --- /dev/null +++ b/tests/simicom.c @@ -0,0 +1,232 @@ +// simicom will show the pts port to use for rigctl on Unix +// using virtual serial ports on Windows is to be developed yet +// gcc -g -Wall -o simicom simicom.c -lhamlib +// On mingw in the hamlib src directory +// gcc -static -I../include -g -Wall -o simicom simicom.c -L../../build/src/.libs -lhamlib -lwsock32 -lws2_32 +#define _XOPEN_SOURCE 600 +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include <fcntl.h> +#include <sys/time.h> +#include <hamlib/rig.h> +#include "../src/misc.h" + +#define BUFSIZE 256 + +int civ_731_mode = 0; +vfo_t vfo_curr = RIG_VFO_A; +int split = 0; + +float freqA = 14074000; +float freqB = 14074500; +mode_t modeA = RIG_MODE_CW; +mode_t modeB = RIG_MODE_CW; +pbwidth_t widthA = 200; +pbwidth_t widthB = 300; + +void dumphex(unsigned char *buf, int n) +{ + for (int i = 0; i < n; ++i) { printf("%02x ", buf[i]); } + + printf("\n"); +} + +int +frameGet(int fd, unsigned char *buf) +{ + int i = 0; + memset(buf, 0, BUFSIZE); + unsigned char c; + + while (read(fd, &c, 1) > 0) + { + buf[i++] = c; + //printf("i=%d, c=0x%02x\n",i,c); + + if (c == 0xfd) + { + dumphex(buf, i); + return i; + } + } + + printf("Error???\n"); + + return 0; +} + +void frameParse(int fd, unsigned char *frame, int len) +{ + double freq; + + dumphex(frame, len); + + if (frame[0] != 0xfe && frame[1] != 0xfe) + { + printf("expected fe fe, got "); + dumphex(frame, len); + return; + } + + switch (frame[4]) + { + case 0x03: + + //from_bcd(frameackbuf[2], (civ_731_mode ? 4 : 5) * 2); + if (vfo_curr == RIG_VFO_A || vfo_curr == RIG_VFO_MAIN) + { + printf("get_freqA\n"); + to_bcd(&frame[5], (long long)freqA, (civ_731_mode ? 4 : 5) * 2); + } + else + { + printf("get_freqB\n"); + to_bcd(&frame[5], (long long)freqB, (civ_731_mode ? 4 : 5) * 2); + } + + frame[10] = 0xfd; + write(fd, frame, 11); + break; + + case 0x05: + freq = from_bcd(&frame[5], (civ_731_mode ? 4 : 5) * 2); + printf("set_freq to %.0f\n", freq); + + if (vfo_curr == RIG_VFO_A || vfo_curr == RIG_VFO_MAIN) { freqA = freq; } + else { freqB = freq; } +// case 0x06: + + + case 0x07: + + if (frame[5] == 0xd0) { vfo_curr = RIG_VFO_MAIN; } + else if (frame[5] == 0xd1) { vfo_curr = RIG_VFO_SUB; } + + printf("set_vfo to %s\n", rig_strvfo(vfo_curr)); + + frame[4] = 0xfb; + frame[5] = 0xfd; + write(fd, frame, 6); + break; + + case 0x0f: + if (frame[5] == 0) { split = 0; } + else { split = 1; } + + printf("set split %d\n", 1); + frame[4] = 0xfb; + frame[5] = 0xfd; + write(fd, frame, 6); + break; + + case 0x25: + if (frame[6] == 0xfd) + { + if (frame[5] == 0x00) + { + to_bcd(&frame[6], (long long)freqA, (civ_731_mode ? 4 : 5) * 2); + printf("get_freqA=%.0f\n", freqA); + } + else + { + to_bcd(&frame[6], (long long)freqB, (civ_731_mode ? 4 : 5) * 2); + printf("get_freqB=%.0f\n", freqB); + } + + frame[11] = 0xfd; + write(fd, frame, 12); + } + else + { + freq = from_bcd(&frame[5], (civ_731_mode ? 4 : 5) * 2); + printf("set_freq to %.0f\n", freq); + + if (frame[5] == 0x00) { freqA = freq; } + else { freqB = freq; } + + frame[4] = 0xfb; + frame[5] = 0xfd; + } + + break; + + default: printf("cmd 0x%02x unknown\n", frame[4]); + } + + // don't care about the rig type yet + +} + +#if defined(WIN32) || defined(_WIN32) +int openPort(char *comport) // doesn't matter for using pts devices +{ + int fd; + fd = open(comport, O_RDWR); + if (fd < 0) + { + perror(comport); + } + return fd; +} + +#else +int openPort(char *comport) // doesn't matter for using pts devices +{ + int fd = posix_openpt(O_RDWR); + char *name = ptsname(fd); + + if (name == NULL) + { + perror("pstname"); + return -1; + } + + printf("name=%s\n", name); + + if (fd == -1 || grantpt(fd) == -1 || unlockpt(fd) == -1) + { + perror("posix_openpt"); + return -1; + } + + return fd; +} +#endif + +void rigStatus() +{ + printf("VFOA: mode=%s width=%ld freq=%.0f\n", rig_strrmode(modeA), widthA, freqA); + printf("VFOB: mode=%s width=%ld freq=%.0f\n", rig_strrmode(modeB), widthB, freqB); +} + +int main(int argc, char **argv) +{ + unsigned char buf[256]; + int fd = openPort(argv[1]); + +#if defined(WIN32) || defined(_WIN32) + if (argc != 2) + { + printf("Missing comport argument\n"); + printf("%s [comport]\n", argv[0]); + exit(1); + } +#endif + while (1) + { + int len = frameGet(fd, buf); + + if (len <= 0) + { + close(fd); + fd = openPort(argv[1]); + } + + frameParse(fd, buf, len); + rigStatus(); + } + + return 0; +} commit 1e26a10365e5125d540aa4c034026dd83d3b0a66 Merge: b74bf055 44a4b52b Author: Mike Black W9MDB <mdb...@ya...> Date: Sat Apr 17 22:47:36 2021 -0500 Merge branch 'master' of https://github.com/Hamlib/Hamlib commit b74bf05541ee6931c7690d19a04f8a821bfa1b73 Author: Mike Black W9MDB <mdb...@ya...> Date: Sat Apr 17 22:47:14 2021 -0500 astyle misc.c and add CRC function for future use diff --git a/src/misc.c b/src/misc.c index d1353041..792b0a84 100644 --- a/src/misc.c +++ b/src/misc.c @@ -380,7 +380,7 @@ int HAMLIB_API sprintf_freq(char *str, int nlen, freq_t freq) decplaces = 1; } - return sprintf(str, "%.*f %s", decplaces , f, hz); + return sprintf(str, "%.*f %s", decplaces, f, hz); } @@ -1638,7 +1638,8 @@ int HAMLIB_API rig_set_cache_timeout_ms(RIG *rig, hamlib_cache_t selection, // So we map these to Main/Sub as required vfo_t HAMLIB_API vfo_fixup(RIG *rig, vfo_t vfo) { - rig_debug(RIG_DEBUG_TRACE, "%s: vfo=%s, vfo_curr=%s\n", __func__, rig_strvfo(vfo), rig_strvfo(rig->state.current_vfo)); + rig_debug(RIG_DEBUG_TRACE, "%s: vfo=%s, vfo_curr=%s\n", __func__, + rig_strvfo(vfo), rig_strvfo(rig->state.current_vfo)); if (vfo == RIG_VFO_CURR) { @@ -1672,7 +1673,8 @@ vfo_t HAMLIB_API vfo_fixup(RIG *rig, vfo_t vfo) } int satmode = rig->state.cache.satmode; - if (vfo == RIG_VFO_TX) vfo = RIG_VFO_A; + + if (vfo == RIG_VFO_TX) { vfo = RIG_VFO_A; } if (split) { vfo = RIG_VFO_B; } @@ -1690,7 +1692,10 @@ vfo_t HAMLIB_API vfo_fixup(RIG *rig, vfo_t vfo) } else if (vfo == RIG_VFO_B) - rig_debug(RIG_DEBUG_TRACE, "%s: final vfo=%s\n", __func__, rig_strvfo(vfo)); + { + rig_debug(RIG_DEBUG_TRACE, "%s: final vfo=%s\n", __func__, rig_strvfo(vfo)); + } + return vfo; } @@ -2217,6 +2222,29 @@ void errmsg(int err, char *s, const char *func, const char *file, int line) rigerror(err)); } +uint32_t CRC32_function(uint8_t *buf, uint32_t len) +{ + + uint32_t val, crc; + uint8_t i; + + crc = 0xFFFFFFFF; + + while (len--) + { + val = (crc^*buf++) & 0xFF; + + for (i = 0; i < 8; i++) + { + val = val & 1 ? (val >> 1) ^ 0xEDB88320 : val >> 1; + } + + crc = val ^ crc >> 8; + } + + return crc ^ 0xFFFFFFFF; +} + //! @endcond diff --git a/src/misc.h b/src/misc.h index a3c74f9d..cd285661 100644 --- a/src/misc.h +++ b/src/misc.h @@ -110,6 +110,8 @@ extern HAMLIB_EXPORT(vfo_t) vfo_fixup(RIG *rig, vfo_t vfo); extern HAMLIB_EXPORT(int) parse_hoststr(char *host, char hoststr[256], char port[6]); +extern HAMLIB_EXPORT(uint32_t) CRC32_function(uint8_t *buf, uint32_t len); + #ifdef PRId64 /** \brief printf(3) format to be used for long long (64bits) type */ # define PRIll PRId64 commit 44a4b52bb961f5f80e3fdcee5d3877d665a85731 Merge: 0a5d9d97 5d367f09 Author: Michael Black <mdb...@ya...> Date: Sat Apr 17 15:07:02 2021 -0500 Merge pull request #668 from fillods/prm80_vhf_fix prm80: fix RX frequencies on VHF commit 5d367f0920ef8c9a994564ec00038560f26afe86 Author: Stephane Fillod <fi...@us...> Date: Sat Apr 17 21:31:51 2021 +0200 prm80: fix RX frequencies on VHF The RX IF shift on VHF is the opposite than on UHF. Tested-by: Claus <cla...@we...> diff --git a/rigs/prm80/prm80.c b/rigs/prm80/prm80.c index 4f13dcd7..10e6628e 100644 --- a/rigs/prm80/prm80.c +++ b/rigs/prm80/prm80.c @@ -337,6 +337,40 @@ int prm80_reset(RIG *rig, reset_t reset) return RIG_OK; } +/* + * Convert freq in Hz to the RX PLL value representation with PRM08 firmware + */ +static unsigned rx_freq_to_pll_value(freq_t rx_freq) +{ + // UHF vs VHF + if (rx_freq > MHz(300)) + { + return (unsigned)((rx_freq - RX_IF_OFFSET) / FREQ_DIV); + } + else + { + return (unsigned)((rx_freq + RX_IF_OFFSET) / FREQ_DIV); + } +} + +static freq_t pll_value_to_rx_freq(unsigned pll_value) +{ + freq_t rx_freq; + + rx_freq = (freq_t)pll_value * FREQ_DIV; + + // UHF vs VHF + if (rx_freq > MHz(300)) + { + rx_freq += RX_IF_OFFSET; + } + else + { + rx_freq -= RX_IF_OFFSET; + } + + return rx_freq; +} /* * Set RX and TX freq @@ -353,7 +387,7 @@ int prm80_set_rx_tx_freq(RIG *rig, freq_t rx_freq, freq_t tx_freq) // for RX, compute the PLL word without the IF sprintf(rx_freq_buf, "%04X", - (unsigned)((rx_freq - RX_IF_OFFSET) / FREQ_DIV)); + rx_freq_to_pll_value(rx_freq)); sprintf(tx_freq_buf, "%04X", (unsigned)(tx_freq / FREQ_DIV)); @@ -762,8 +796,7 @@ int prm80_get_channel(RIG *rig, vfo_t vfo, channel_t *chan, int read_only) chan->funcs |= (lock_byte & 0x05) ? RIG_FUNC_LOCK : 0; chan->funcs |= (lock_byte & 0x08) ? RIG_FUNC_MUTE : 0; - chan->freq = ((hhtoi(statebuf + 12) << 8) + hhtoi(statebuf + 14)) * FREQ_DIV + - RX_IF_OFFSET; + chan->freq = pll_value_to_rx_freq((hhtoi(statebuf + 12) << 8) + hhtoi(statebuf + 14)); chan->tx_freq = ((hhtoi(statebuf + 16) << 8) + hhtoi(statebuf + 18)) * FREQ_DIV; if (chan->rptr_shift != RIG_RPT_SHIFT_NONE) @@ -830,7 +863,7 @@ int prm80_set_channel(RIG *rig, vfo_t vfo, const channel_t *chan) } // Set the RX frequency as PLL word. - sprintf(buf, "%04X", (unsigned)((chan->freq - RX_IF_OFFSET) / FREQ_DIV)); + sprintf(buf, "%04X", rx_freq_to_pll_value(chan->freq)); // "PLL value to load : $" ret = read_dollar_prompt_and_send(&rs->rigport, NULL, NULL, buf); diff --git a/rigs/prm80/prm80.h b/rigs/prm80/prm80.h index c2c33f04..9e73ad2e 100644 --- a/rigs/prm80/prm80.h +++ b/rigs/prm80/prm80.h @@ -24,7 +24,7 @@ #include <hamlib/rig.h> -#define BACKEND_VER "20210315" +#define BACKEND_VER "20210416" #define PRM80_MEM_CAP { \ .freq = 1, \ commit 0a5d9d9768b85fcae784bc0708aeb01bd6794205 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Apr 16 23:22:33 2021 -0500 See if make -j 4 works for github workflow diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 2da9c1ab..3109a560 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -18,7 +18,7 @@ jobs: - name: configure run: ./configure - name: make - run: make + run: make -j 4 - name: make check run: make check - name: make distcheck ----------------------------------------------------------------------- Summary of changes: .github/workflows/c-cpp.yml | 2 +- rigs/icom/icom.c | 4 +- rigs/prm80/prm80.c | 41 +++++++- rigs/prm80/prm80.h | 2 +- src/misc.c | 36 ++++++- src/misc.h | 2 + src/rig.c | 11 ++- tests/simicom.c | 233 ++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 319 insertions(+), 12 deletions(-) create mode 100644 tests/simicom.c hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-17 04:19: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 0f692f514de5a1ec31220f3586aaf2b3d5cdcfba (commit) from 8fe1615ccd8b5d1fb3f4edde41fee954c334a8e9 (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 0f692f514de5a1ec31220f3586aaf2b3d5cdcfba Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Apr 16 23:18:13 2021 -0500 FIx vfo_fixup to keep map VFOB request to Sub when appropriate https://github.com/Hamlib/Hamlib/issues/665 diff --git a/src/misc.c b/src/misc.c index 1da1d651..d1353041 100644 --- a/src/misc.c +++ b/src/misc.c @@ -1638,7 +1638,7 @@ int HAMLIB_API rig_set_cache_timeout_ms(RIG *rig, hamlib_cache_t selection, // So we map these to Main/Sub as required vfo_t HAMLIB_API vfo_fixup(RIG *rig, vfo_t vfo) { - rig_debug(RIG_DEBUG_TRACE, "%s: vfo=%s\n", __func__, rig_strvfo(vfo)); + rig_debug(RIG_DEBUG_TRACE, "%s: vfo=%s, vfo_curr=%s\n", __func__, rig_strvfo(vfo), rig_strvfo(rig->state.current_vfo)); if (vfo == RIG_VFO_CURR) { @@ -1676,13 +1676,13 @@ vfo_t HAMLIB_API vfo_fixup(RIG *rig, vfo_t vfo) if (split) { vfo = RIG_VFO_B; } - if (VFO_HAS_MAIN_SUB_ONLY && !split && !satmode) { vfo = RIG_VFO_MAIN; } + if (VFO_HAS_MAIN_SUB_ONLY && !split && !satmode && vfo != RIG_VFO_B) { vfo = RIG_VFO_MAIN; } - if (VFO_HAS_MAIN_SUB_ONLY && (split || satmode)) { vfo = RIG_VFO_SUB; } + else if (VFO_HAS_MAIN_SUB_ONLY && (split || satmode || vfo == RIG_VFO_B)) { vfo = RIG_VFO_SUB; } - if (VFO_HAS_MAIN_SUB_A_B_ONLY && split) { vfo = RIG_VFO_B; } + else if (VFO_HAS_MAIN_SUB_A_B_ONLY && split) { vfo = RIG_VFO_B; } - if (VFO_HAS_MAIN_SUB_A_B_ONLY && satmode) { vfo = RIG_VFO_SUB; } + else if (VFO_HAS_MAIN_SUB_A_B_ONLY && satmode) { vfo = RIG_VFO_SUB; } rig_debug(RIG_DEBUG_TRACE, "%s: RIG_VFO_TX changed to %s, split=%d, satmode=%d\n", __func__, ----------------------------------------------------------------------- Summary of changes: src/misc.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-17 03:31:48
|
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 8fe1615ccd8b5d1fb3f4edde41fee954c334a8e9 (commit) via 1bd795e297b131da1367ba498e0d14a6f9d3d0c6 (commit) from a1f5d4f5e3f0b4bf93dc980a12dcc9fac989c2ce (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 8fe1615ccd8b5d1fb3f4edde41fee954c334a8e9 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Apr 16 17:30:39 2021 -0500 Force Icom rigs to set VFOA as startup VFO https://github.com/Hamlib/Hamlib/issues/665 diff --git a/src/rig.c b/src/rig.c index db38adbc..d683d1c6 100644 --- a/src/rig.c +++ b/src/rig.c @@ -1014,6 +1014,7 @@ int HAMLIB_API rig_open(RIG *rig) if (backend_num == RIG_ICOM) { + rig_set_vfo(rig, RIG_VFO_A); // force VFOA as our startup VFO rig_debug(RIG_DEBUG_TRACE, "%s: Icom rig so default vfo = %s\n", __func__, rig_strvfo(rs->current_vfo)); } commit 1bd795e297b131da1367ba498e0d14a6f9d3d0c6 Author: Mike Black W9MDB <mdb...@ya...> Date: Thu Apr 15 17:19:42 2021 -0500 Add vfo_fixup to rig_set_vfo https://github.com/Hamlib/Hamlib/issues/665 diff --git a/src/rig.c b/src/rig.c index e90ca43a..db38adbc 100644 --- a/src/rig.c +++ b/src/rig.c @@ -2495,6 +2495,8 @@ int HAMLIB_API rig_set_vfo(RIG *rig, vfo_t vfo) RETURNFUNC(-RIG_EIO); } + vfo = vfo_fixup(rig, vfo); + if (vfo == RIG_VFO_CURR) { RETURNFUNC(RIG_OK); } // make sure we are asking for a VFO that the rig actually has ----------------------------------------------------------------------- Summary of changes: src/rig.c | 3 +++ 1 file changed, 3 insertions(+) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-15 19:25:16
|
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 a1f5d4f5e3f0b4bf93dc980a12dcc9fac989c2ce (commit) via 7d79b59bd7ee0a3b1499c194891b80f82bf1154d (commit) from 9cb7c7dcdf296fb031e2f819aed9a2eb512a64fb (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 a1f5d4f5e3f0b4bf93dc980a12dcc9fac989c2ce Author: Mike Black W9MDB <mdb...@ya...> Date: Thu Apr 15 12:24:29 2021 -0500 Fix sprint_freq to show appropriate # of decimal places to get to 0.1Hz on all scales diff --git a/src/misc.c b/src/misc.c index fa097e41..1da1d651 100644 --- a/src/misc.c +++ b/src/misc.c @@ -351,6 +351,7 @@ int HAMLIB_API sprintf_freq(char *str, int nlen, freq_t freq) { double f; char *hz; + int decplaces = 10; // too verbose //rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); @@ -364,19 +365,22 @@ int HAMLIB_API sprintf_freq(char *str, int nlen, freq_t freq) { hz = "MHz"; f = (double)freq / MHz(1); + decplaces = 7; } else if (llabs(freq) >= kHz(1)) { hz = "kHz"; f = (double)freq / kHz(1); + decplaces = 4; } else { hz = "Hz"; f = (double)freq; + decplaces = 1; } - return sprintf(str, "%g %s", f, hz); + return sprintf(str, "%.*f %s", decplaces , f, hz); } commit 7d79b59bd7ee0a3b1499c194891b80f82bf1154d Author: Mike Black W9MDB <mdb...@ya...> Date: Thu Apr 15 11:47:58 2021 -0500 When vfo twiddling is being done set_freq calls will be skipped https://github.com/Hamlib/Hamlib/issues/664 diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index cc6ceb46..12fdcae0 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -2090,6 +2090,11 @@ typedef enum { HAMLIB_CACHE_WIDTH } hamlib_cache_t; +typedef enum { + TWIDDLE_OFF, + TWIDDLE_ON +} twiddle_state_t; + /** * \brief Rig cache data * @@ -2254,6 +2259,7 @@ struct rig_state { int power_max; /*!< Maximum RF power level in rig units */ unsigned char disable_yaesu_bandselect; /*!< Disables Yaeus band select logic */ int twiddle_rit; /*!< Suppresses VFOB reading (cached value used) so RIT control can be used */ + int twiddle_state; /*!< keeps track of twiddle status */ }; //! @cond Doxygen_Suppress diff --git a/rigs/dummy/dummy.c b/rigs/dummy/dummy.c index a7c65380..87a30bac 100644 --- a/rigs/dummy/dummy.c +++ b/rigs/dummy/dummy.c @@ -844,6 +844,7 @@ static int dummy_set_split_freq(RIG *rig, vfo_t vfo, freq_t tx_freq) ENTERFUNC; priv->curr->tx_freq = tx_freq; + rig_debug(RIG_DEBUG_VERBOSE, "%s: priv->curr->tx_freq = %.0f\n", __func__, priv->curr->tx_freq); RETURNFUNC(RIG_OK); } @@ -856,6 +857,7 @@ static int dummy_get_split_freq(RIG *rig, vfo_t vfo, freq_t *tx_freq) ENTERFUNC; *tx_freq = priv->curr->tx_freq; + rig_debug(RIG_DEBUG_VERBOSE, "%s: priv->curr->tx_freq = %.0f\n", __func__, priv->curr->tx_freq); RETURNFUNC(RIG_OK); } diff --git a/src/rig.c b/src/rig.c index 40991865..e90ca43a 100644 --- a/src/rig.c +++ b/src/rig.c @@ -1661,8 +1661,9 @@ int twiddling(RIG *rig) if (elapsed < rig->state.twiddle_timeout) { - rig_debug(RIG_DEBUG_TRACE, "%s: Twiddle elapsed < 3, elapsed=%d\n", __func__, - elapsed); + rig_debug(RIG_DEBUG_TRACE, "%s: Twiddle elapsed < %d, elapsed=%d\n", __func__, + rig->state.twiddle_timeout, elapsed); + rig->state.twiddle_state = TWIDDLE_ON; // gets turned off in rig_set_freq; RETURNFUNC(1); // would be better as error but other software won't handle it } } @@ -1698,6 +1699,13 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq) RETURNFUNC(-RIG_EIO); } + if (rig->state.twiddle_state == TWIDDLE_ON) + { + // we keep skipping set_freq while the vfo knob is in motion + rig_debug(RIG_DEBUG_VERBOSE, "%s: Twiddle on so skipping this set_freq request one time\n", __func__); + rig->state.twiddle_state = TWIDDLE_OFF; + } + caps = rig->caps; vfo = vfo_fixup(rig, vfo); ----------------------------------------------------------------------- Summary of changes: include/hamlib/rig.h | 6 ++++++ rigs/dummy/dummy.c | 2 ++ src/misc.c | 6 +++++- src/rig.c | 12 ++++++++++-- 4 files changed, 23 insertions(+), 3 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-15 12:08: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 9cb7c7dcdf296fb031e2f819aed9a2eb512a64fb (commit) via 44925bbfca25961484b268fb11131f503177a178 (commit) from 976b8c23b2190b4f66d194ae7efc12ac34949a87 (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 9cb7c7dcdf296fb031e2f819aed9a2eb512a64fb Author: Mike Black W9MDB <mdb...@ya...> Date: Thu Apr 15 07:05:38 2021 -0500 Fix IC-705 filters in ic7300.c https://github.com/Hamlib/Hamlib/issues/666 diff --git a/rigs/icom/ic7300.c b/rigs/icom/ic7300.c index 82b3ac22..5a82e021 100644 --- a/rigs/icom/ic7300.c +++ b/rigs/icom/ic7300.c @@ -721,7 +721,7 @@ const struct rig_caps ic705_caps = RIG_MODEL(RIG_MODEL_IC705), .model_name = "IC-705", .mfg_name = "Icom", - .version = BACKEND_VER ".1", + .version = BACKEND_VER ".2", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_TRANSCEIVER, @@ -833,9 +833,9 @@ const struct rig_caps ic705_caps = /* mode/filter list, remember: order matters! But duplication may speed up search. Put the most commonly used modes first! Remember these are defaults, with dsp rigs you can change them to anything you want except FM and WFM which are fixed */ .filters = { - {RIG_MODE_SSB | RIG_MODE_PKTLSB | RIG_MODE_PKTUSB, kHz(3.6)}, {RIG_MODE_SSB | RIG_MODE_PKTLSB | RIG_MODE_PKTUSB, kHz(2.4)}, {RIG_MODE_SSB | RIG_MODE_PKTLSB | RIG_MODE_PKTUSB, kHz(1.8)}, + {RIG_MODE_SSB | RIG_MODE_PKTLSB | RIG_MODE_PKTUSB, kHz(3.0)}, {RIG_MODE_CW | RIG_MODE_CWR | RIG_MODE_RTTY | RIG_MODE_RTTYR, Hz(500)}, {RIG_MODE_CW | RIG_MODE_CWR | RIG_MODE_RTTY | RIG_MODE_RTTYR, Hz(250)}, {RIG_MODE_CW | RIG_MODE_CWR, kHz(1.2)}, commit 44925bbfca25961484b268fb11131f503177a178 Author: Mike Black W9MDB <mdb...@ya...> Date: Wed Apr 14 23:06:00 2021 -0500 Fir rig.c rig_set_split_freq_mode to use VFOB/Sub as appropriate https://github.com/Hamlib/Hamlib/issues/665 diff --git a/src/rig.c b/src/rig.c index 0acace4e..40991865 100644 --- a/src/rig.c +++ b/src/rig.c @@ -4079,7 +4079,7 @@ int HAMLIB_API rig_set_split_freq_mode(RIG *rig, // in split mode we alwasy use VFOB // in the future we may start using RIG_VFO_TX and let the backend figure out what VFO to use - vfo = RIG_VFO_B; // in split mode we always use VFOB + vfo = vfo_fixup(rig,RIG_VFO_B); // in split mode we always use VFOB/Sub for TX rig_debug(RIG_DEBUG_VERBOSE, "%s: vfo=%s, tx_freq=%.0f, tx_mode=%s, tx_width=%d\n", __func__, rig_strvfo(vfo), tx_freq, rig_strrmode(tx_mode), (int)tx_width); ----------------------------------------------------------------------- Summary of changes: rigs/icom/ic7300.c | 4 ++-- src/rig.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |
From: Michael B. <mdb...@us...> - 2021-04-14 22:16: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 976b8c23b2190b4f66d194ae7efc12ac34949a87 (commit) via 1764c2baa7d41d6e96840d4621f118c5c17eb88f (commit) via ed788ca264cd4ace0d451a323a68e8ed919a15cc (commit) from cec621638879b33f92e5b671aaa3ddef0585786c (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 976b8c23b2190b4f66d194ae7efc12ac34949a87 Merge: 1764c2ba ed788ca2 Author: Mike Black W9MDB <mdb...@ya...> Date: Wed Apr 14 17:15:52 2021 -0500 Merge branch 'master' of https://github.com/Hamlib/Hamlib commit 1764c2baa7d41d6e96840d4621f118c5c17eb88f Author: Mike Black W9MDB <mdb...@ya...> Date: Wed Apr 14 17:15:40 2021 -0500 Remove configure from repo diff --git a/configure b/configure deleted file mode 100755 index 1b1c186e..00000000 --- a/configure +++ /dev/null @@ -1,25033 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for Hamlib 4.2~git. -# -# Report bugs to <ham...@li...>. -# -# -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -# -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1 - - test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ - || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug...@gn... and -$0: ham...@li... about your -$0: system, including any error possibly output before this -$0: message. Then install a modern shell, or manually run -$0: the script under such a shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - -SHELL=${CONFIG_SHELL-/bin/sh} - - -test -n "$DJDIR" || exec 7<&0 </dev/null -exec 6>&1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='Hamlib' -PACKAGE_TARNAME='hamlib' -PACKAGE_VERSION='4.2~git' -PACKAGE_STRING='Hamlib 4.2~git' -PACKAGE_BUGREPORT='ham...@li...' -PACKAGE_URL='http://www.hamlib.org' - -ac_unique_file="include/hamlib/rig.h" -# Factoring default headers for most tests. -ac_includes_default="\ -#include <stdio.h> -#ifdef HAVE_SYS_TYPES_H -# include <sys/types.h> -#endif -#ifdef HAVE_SYS_STAT_H -# include <sys/stat.h> -#endif -#ifdef STDC_HEADERS -# include <stdlib.h> -# include <stddef.h> -#else -# ifdef HAVE_STDLIB_H -# include <stdlib.h> -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include <memory.h> -# endif -# include <string.h> -#endif -#ifdef HAVE_STRINGS_H -# include <strings.h> -#endif -#ifdef HAVE_INTTYPES_H -# include <inttypes.h> -#endif -#ifdef HAVE_STDINT_H -# include <stdint.h> -#endif -#ifdef HAVE_UNISTD_H -# include <unistd.h> -#endif" - -ac_config_libobj_dir=lib -ac_subst_vars='am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -AM_CXXFLAGS -AM_CFLAGS -AM_CPPFLAGS -AMP_BACKENDEPS -AMP_BACKEND_LIST -ROT_BACKENDEPS -ROT_BACKEND_LIST -RIG_BACKENDEPS -RIG_BACKEND_LIST -BUILD_OS_IS_FEDORA_FALSE -BUILD_OS_IS_FEDORA_TRUE -BUILD_OS_IS_UBUNTU_FALSE -BUILD_OS_IS_UBUNTU_TRUE -HAVE_USRP_FALSE -HAVE_USRP_TRUE -USRP_LIBS -USRP_CFLAGS -DL_LIBS -G313_WINDOWS_FALSE -G313_WINDOWS_TRUE -G313_LINUX_GNU_FALSE -G313_LINUX_GNU_TRUE -BINDING_LIB_TARGETS -BINDING_LIST -BINDING_UNINSTALL -BINDING_INSTALL_EXEC -BINDING_DISTCHECK -BINDING_DISTCLEAN -BINDING_CLEAN -BINDING_CHECK -BINDING_ALL -BINDINGS -SWIG_LIB -SWIG -ENABLE_LUA_FALSE -ENABLE_LUA_TRUE -LUA_LIB -LUA_INCLUDE -pkgluaexecdir -luaexecdir -pkgluadir -luadir -LUA_EXEC_PREFIX -LUA_PREFIX -LUA_PLATFORM -LUA_SHORT_VERSION -LUA_VERSION -LUA -TCL_SHLIB_SUFFIX -TCL_INCLUDE_SPEC -TCL_LIB_SPEC -TCL_VERSION -ENABLE_TCL_FALSE -ENABLE_TCL_TRUE -TCL_LIB_FILE -TCL_SRC_DIR -TCL_BIN_DIR -PYVER_3_FALSE -PYVER_3_TRUE -ENABLE_PYTHON_FALSE -ENABLE_PYTHON_TRUE -pkgpyexecdir -pyexecdir -pkgpythondir -pythondir -PYTHON_PLATFORM -PYTHON_EXEC_PREFIX -PYTHON_PREFIX -PYTHON_EXTRA_LDFLAGS -PYTHON_EXTRA_LIBS -PYTHON_SITE_PKG -PYTHON_LIBS -PYTHON_CPPFLAGS -PYTHON -PYTHON_VERSION -ENABLE_PERL_FALSE -ENABLE_PERL_TRUE -PERL_INC_DIR -LIBXML2_LIBS -LIBXML2_CFLAGS -PKG_CONFIG_LIBDIR -PKG_CONFIG_PATH -PKG_CONFIG -HTML_MATRIX_FALSE -HTML_MATRIX_TRUE -INDI_LIBS -NOVA_LIBS -READLINE_LIBS -LIBUSB -LIBUSB_LIBS -LIBUSB_CFLAGS -WINEXELDFLAGS -WINLDFLAGS -OSXLDFLAGS -AM_LDFLAGS -CXXCPP -LT_SYS_LIBRARY_PATH -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -MANIFEST_TOOL -RANLIB -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -SED -LIBTOOL -OBJDUMP -DLLTOOL -AS -ALLOCA -NET_LIBS -MATH_LIBS -PTHREAD_CFLAGS -PTHREAD_LIBS -PTHREAD_CC -ax_pthread_config -LIBOBJS -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -ac_ct_AR -AR -ENABLE_CXX_FALSE -ENABLE_CXX_TRUE -cf_with_cxx -LN_S -am__fastdepCXX_FALSE -am__fastdepCXX_TRUE -CXXDEPMODE -ac_ct_CXX -CXXFLAGS -CXX -ABI_AGE -ABI_REVISION -ABI_VERSION -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -AM_DEFAULT_V -AM_V -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -am__nodep -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__include -DEPDIR -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -EGREP -GREP -CPP -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -runstatedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL -am__quote' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_dependency_tracking -enable_silent_rules -enable_shared -enable_static -with_pic -enable_fast_install -with_aix_soname -with_gnu_ld -with_sysroot -enable_libtool_lock -with_libusb -with_readline -with_indi -enable_html_matrix -with_xml_support -enable_usrp -with_cxx_binding -with_perl_binding -with_perl_inc -with_python_binding -with_tcl_binding -with_tcl -with_lua_binding -enable_winradio -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP -CXX -CXXFLAGS -CCC -LT_SYS_LIBRARY_PATH -CXXCPP -LIBUSB_CFLAGS -LIBUSB_LIBS -PKG_CONFIG -PKG_CONFIG_PATH -PKG_CONFIG_LIBDIR -LIBXML2_CFLAGS -LIBXML2_LIBS -PYTHON_VERSION -PYTHON -LUA -LUA_INCLUDE -LUA_LIB -USRP_CFLAGS -USRP_LIBS' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -runstatedir='${localstatedir}/run' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir runstatedir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures Hamlib 4.2~git to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/hamlib] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of Hamlib 4.2~git:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-dependency-tracking - do not reject slow dependency extractors - --disable-dependency-tracking - speeds up one-time build - --enable-silent-rules less verbose build output (undo: "make V=1") - --disable-silent-rules verbose build output (undo: "make V=0") - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-static[=PKGS] build static libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-libtool-lock avoid locking (might break parallel builds) - --disable-html-matrix do not generate HTML rig feature matrix (requires - libgd-dev) [default=check] - --enable-usrp build USRP backend [default=no] - --disable-winradio do not build winradio backend [default=yes] - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use - both] - --with-aix-soname=aix|svr4|both - shared library versioning (aka "SONAME") variant to - provide on AIX, [default=aix]. - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-sysroot[=DIR] Search for dependent libraries within DIR (or the - compiler's sysroot if not specified). - --without-libusb disable USB dependent backends [default=yes] - --without-readline disable readline in rigctl/rotctl [default=yes] - --without-indi disable INDI in rigctl/rotctl [default=yes] - --with-xml-support build rigmem with XML support [default=no] - --without-cxx-binding do not build C++ binding [default=yes] - --with-perl-binding build perl binding [default=no] - --with-perl-inc directory containing perl includes - --with-python-binding build python binding [default=no] - --with-tcl-binding build Tcl binding [default=no] - --with-tcl=PATH directory containing tcl configuration (tclConfig.sh) - --with-lua-binding build lua binding [default=no] - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a - nonstandard directory <lib dir> - LIBS libraries to pass to the linker, e.g. -l<library> - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if - you have headers in a nonstandard directory <include dir> - CPP C preprocessor - CXX C++ compiler command - CXXFLAGS C++ compiler flags - LT_SYS_LIBRARY_PATH - User-defined run-time library search path. - CXXCPP C++ preprocessor - LIBUSB_CFLAGS - C compiler flags for libusb, overriding configure defaults - LIBUSB_LIBS linker flags for libusb, overriding configure check (useful for - specifying static libusb-1.0.a (see INSTALL)) - PKG_CONFIG path to pkg-config utility - PKG_CONFIG_PATH - directories to add to pkg-config's search path - PKG_CONFIG_LIBDIR - path overriding pkg-config's built-in search path - LIBXML2_CFLAGS - C compiler flags for LIBXML2, overriding pkg-config - LIBXML2_LIBS - linker flags for LIBXML2, overriding pkg-config - PYTHON_VERSION - The installed Python version to use, for example '2.3'. This - string will be appended to the Python interpreter canonical - name. - PYTHON the Python interpreter - LUA The Lua interpreter, e.g. /usr/bin/lua5.1 - LUA_INCLUDE The Lua includes, e.g. -I/usr/include/lua5.1 - LUA_LIB The Lua library, e.g. -llua5.1 - USRP_CFLAGS C compiler flags for USRP, overriding pkg-config - USRP_LIBS linker flags for USRP, overriding pkg-config - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to <ham...@li...>. -Hamlib home page: <http://www.hamlib.org>. -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -Hamlib configure 4.2~git -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( $as_echo "## ----------------------------------------------------- ## -## Report this to ham...@li... ## -## ----------------------------------------------------- ##" - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_mongrel - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_check_header_compi... [truncated message content] |
From: Michael B. <mdb...@us...> - 2021-04-14 21:58:36
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Hamlib -- Ham radio control libraries". The branch, master has been updated via cec621638879b33f92e5b671aaa3ddef0585786c (commit) via 4501c1c97b51ee84da702c1ef2fe7b3d891b5ca4 (commit) via ef60efe890b26987a31a15a7eae136970e241764 (commit) via af49370709be19ec0532ec78c982f42ce6850dd7 (commit) via 9d310062eb6a86cb4c963d8e4b0e224e99d25078 (commit) via 254fcbc804b6ba026c930b0bd0966f4174bef9ff (commit) via 7a9f8893be7737238badd5f60a20a4d85029c02e (commit) via 6b9fbf93a2254a2cda759390e1bf416e86748e01 (commit) via 4dadd29d458e55adf31fe566b6e2e221a7dc254f (commit) via fe8677322ed238120e4716cdd83524b900bcf949 (commit) from 10e4e36aa2547f782ce52e8cc9fa4a7643f4c79f (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 cec621638879b33f92e5b671aaa3ddef0585786c Author: Mike Black W9MDB <mdb...@ya...> Date: Wed Apr 14 16:56:38 2021 -0500 Fix vfo_fixup https://github.com/Hamlib/Hamlib/issues/663 diff --git a/src/misc.c b/src/misc.c index 1bf9b475..fa097e41 100644 --- a/src/misc.c +++ b/src/misc.c @@ -1651,7 +1651,7 @@ vfo_t HAMLIB_API vfo_fixup(RIG *rig, vfo_t vfo) if (VFO_HAS_MAIN_SUB_A_B_ONLY) { vfo = RIG_VFO_MAIN; } } - else if (vfo == RIG_VFO_TX || RIG_VFO_B) + else if (vfo == RIG_VFO_TX || vfo == RIG_VFO_B) { int retval; split_t split = 0; @@ -1668,7 +1668,7 @@ vfo_t HAMLIB_API vfo_fixup(RIG *rig, vfo_t vfo) } int satmode = rig->state.cache.satmode; - vfo = RIG_VFO_A; + if (vfo == RIG_VFO_TX) vfo = RIG_VFO_A; if (split) { vfo = RIG_VFO_B; } @@ -1684,6 +1684,7 @@ vfo_t HAMLIB_API vfo_fixup(RIG *rig, vfo_t vfo) "%s: RIG_VFO_TX changed to %s, split=%d, satmode=%d\n", __func__, rig_strvfo(vfo), split, satmode); } + else if (vfo == RIG_VFO_B) rig_debug(RIG_DEBUG_TRACE, "%s: final vfo=%s\n", __func__, rig_strvfo(vfo)); return vfo; diff --git a/tests/testcache.c b/tests/testcache.c index f0a33995..29f33304 100644 --- a/tests/testcache.c +++ b/tests/testcache.c @@ -116,13 +116,13 @@ int main(int argc, char *argv[]) if (widthA != 1000) { printf("widthA = %d\n", (int)widthA); exit(1); } - if (freqB != 14074100) { printf("freqB = %.1f\n", freqB); exit(1); } + if (freqB != 14075000) { printf("freqB = %.1f\n", freqB); exit(1); } if (modeB != RIG_MODE_LSB) { printf("modeB = %s\n", rig_strrmode(modeB)); exit(1); } if (widthB != 2000) { printf("widthB = %d\n", (int)widthB); exit(1); } - if (freqC != 14074200) { printf("freqC = %.1f\n", freqC); exit(1); } + if (freqC != 14076000) { printf("freqC = %.1f\n", freqC); exit(1); } if (modeC != RIG_MODE_PKTUSB) { printf("modeC = %s\n", rig_strrmode(modeC)); exit(1); } commit 4501c1c97b51ee84da702c1ef2fe7b3d891b5ca4 Author: Mike Black W9MDB <mdb...@ya...> Date: Wed Apr 14 15:41:01 2021 -0500 Remove generated files diff --git a/.gitignore b/.gitignore index 858b6b7c..3a47008c 100644 --- a/.gitignore +++ b/.gitignore @@ -11,15 +11,27 @@ *.swp $depbase.Tpo Makefile +Makefile.in aclocal.m4 +compile +config.guess +config.sub config.log +config.status +configure +depcomp hamlib.pc hamlib.spec +install-sh libtool +ltmain.sh +missing +py-compile autom4te.cache/ bindings/Hamlib.py bindings/hamlibvb.bas bindings/hamlibpy_wrap.c +build-aux/ doc/hamlib.cfg doc/hamlib.info doc/stamp-vti @@ -27,6 +39,7 @@ doc/hamlib.html doc/version.texi hamlib-*.tar.gz include/config.h +include/config.h.in include/stamp-h1 macros/libtool.m4 macros/ltoptions.m4 diff --git a/Makefile.in b/Makefile.in deleted file mode 100644 index 0b0a22c4..00000000 --- a/Makefile.in +++ /dev/null @@ -1,1040 +0,0 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/macros/ax_append_flag.m4 \ - $(top_srcdir)/macros/ax_cflags_warn_all.m4 \ - $(top_srcdir)/macros/ax_lib_indi.m4 \ - $(top_srcdir)/macros/ax_lib_nova.m4 \ - $(top_srcdir)/macros/ax_lib_readline.m4 \ - $(top_srcdir)/macros/ax_lua.m4 \ - $(top_srcdir)/macros/ax_pkg_swig.m4 \ - $(top_srcdir)/macros/ax_pthread.m4 \ - $(top_srcdir)/macros/ax_python_devel.m4 \ - $(top_srcdir)/macros/gr_pwin32.m4 \ - $(top_srcdir)/macros/hl_getaddrinfo.m4 \ - $(top_srcdir)/macros/libtool.m4 \ - $(top_srcdir)/macros/ltoptions.m4 \ - $(top_srcdir)/macros/ltsugar.m4 \ - $(top_srcdir)/macros/ltversion.m4 \ - $(top_srcdir)/macros/lt~obsolete.m4 \ - $(top_srcdir)/macros/perl.m4 $(top_srcdir)/macros/pkg.m4 \ - $(top_srcdir)/macros/tcl.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ - $(am__configure_deps) $(am__DIST_COMMON) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/include/config.h -CONFIG_CLEAN_FILES = hamlib.pc -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(aclocaldir)" "$(DESTDIR)$(docdir)" \ - "$(DESTDIR)$(pkgconfigdir)" -DATA = $(aclocal_DATA) $(doc_DATA) $(pkgconfig_DATA) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir distdir-am dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/hamlib.pc.in \ - $(top_srcdir)/build-aux/ar-lib $(top_srcdir)/build-aux/compile \ - $(top_srcdir)/build-aux/config.guess \ - $(top_srcdir)/build-aux/config.sub \ - $(top_srcdir)/build-aux/install-sh \ - $(top_srcdir)/build-aux/ltmain.sh \ - $(top_srcdir)/build-aux/missing AUTHORS COPYING COPYING.LIB \ - ChangeLog INSTALL NEWS README THANKS build-aux/ar-lib \ - build-aux/compile build-aux/config.guess build-aux/config.sub \ - build-aux/depcomp build-aux/install-sh build-aux/ltmain.sh \ - build-aux/missing build-aux/py-compile -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__post_remove_distdir = $(am__remove_distdir) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -DIST_TARGETS = dist-gzip -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ABI_AGE = @ABI_AGE@ -ABI_REVISION = @ABI_REVISION@ -ABI_VERSION = @ABI_VERSION@ -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMP_BACKENDEPS = @AMP_BACKENDEPS@ -AMP_BACKEND_LIST = @AMP_BACKEND_LIST@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_CPPFLAGS = @AM_CPPFLAGS@ -AM_CXXFLAGS = @AM_CXXFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AM_LDFLAGS = @AM_LDFLAGS@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BINDINGS = @BINDINGS@ -BINDING_ALL = @BINDING_ALL@ -BINDING_CHECK = @BINDING_CHECK@ -BINDING_CLEAN = @BINDING_CLEAN@ -BINDING_DISTCHECK = @BINDING_DISTCHECK@ -BINDING_DISTCLEAN = @BINDING_DISTCLEAN@ -BINDING_INSTALL_EXEC = @BINDING_INSTALL_EXEC@ -BINDING_LIB_TARGETS = @BINDING_LIB_TARGETS@ -BINDING_LIST = @BINDING_LIST@ -BINDING_UNINSTALL = @BINDING_UNINSTALL@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DL_LIBS = @DL_LIBS@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INDI_LIBS = @INDI_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBUSB = @LIBUSB@ -LIBUSB_CFLAGS = @LIBUSB_CFLAGS@ -LIBUSB_LIBS = @LIBUSB_LIBS@ -LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ -LIBXML2_LIBS = @LIBXML2_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -LUA = @LUA@ -LUA_EXEC_PREFIX = @LUA_EXEC_PREFIX@ -LUA_INCLUDE = @LUA_INCLUDE@ -LUA_LIB = @LUA_LIB@ -LUA_PLATFORM = @LUA_PLATFORM@ -LUA_PREFIX = @LUA_PREFIX@ -LUA_SHORT_VERSION = @LUA_SHORT_VERSION@ -LUA_VERSION = @LUA_VERSION@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MATH_LIBS = @MATH_LIBS@ -MKDIR_P = @MKDIR_P@ -NET_LIBS = @NET_LIBS@ -NM = @NM@ -NMEDIT = @NMEDIT@ -NOVA_LIBS = @NOVA_LIBS@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OSXLDFLAGS = @OSXLDFLAGS@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PERL_INC_DIR = @PERL_INC_DIR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -PYTHON = @PYTHON@ -PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ -PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ -PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ -PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ -PYTHON_LIBS = @PYTHON_LIBS@ -PYTHON_PLATFORM = @PYTHON_PLATFORM@ -PYTHON_PREFIX = @PYTHON_PREFIX@ -PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ -PYTHON_VERSION = @PYTHON_VERSION@ -RANLIB = @RANLIB@ -READLINE_LIBS = @READLINE_LIBS@ -RIG_BACKENDEPS = @RIG_BACKENDEPS@ -RIG_BACKEND_LIST = @RIG_BACKEND_LIST@ -ROT_BACKENDEPS = @ROT_BACKENDEPS@ -ROT_BACKEND_LIST = @ROT_BACKEND_LIST@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -SWIG = @SWIG@ -SWIG_LIB = @SWIG_LIB@ -TCL_BIN_DIR = @TCL_BIN_DIR@ -TCL_INCLUDE_SPEC = @TCL_INCLUDE_SPEC@ -TCL_LIB_FILE = @TCL_LIB_FILE@ -TCL_LIB_SPEC = @TCL_LIB_SPEC@ -TCL_SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@ -TCL_SRC_DIR = @TCL_SRC_DIR@ -TCL_VERSION = @TCL_VERSION@ -USRP_CFLAGS = @USRP_CFLAGS@ -USRP_LIBS = @USRP_LIBS@ -VERSION = @VERSION@ -WINEXELDFLAGS = @WINEXELDFLAGS@ -WINLDFLAGS = @WINLDFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -ax_pthread_config = @ax_pthread_config@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -cf_with_cxx = @cf_with_cxx@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -luadir = @luadir@ -luaexecdir = @luaexecdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -pkgluadir = @pkgluadir@ -pkgluaexecdir = @pkgluaexecdir@ -pkgpyexecdir = @pkgpyexecdir@ -pkgpythondir = @pkgpythondir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -pyexecdir = @pyexecdir@ -pythondir = @pythondir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -aclocaldir = $(datadir)/aclocal -aclocal_DATA = hamlib.m4 -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = hamlib.pc -EXTRA_DIST = PLAN LICENSE hamlib.m4 hamlib.pc.in README.developer \ - README.betatester README.win32 Android.mk - -doc_DATA = ChangeLog COPYING COPYING.LIB LICENSE \ - README README.betatester README.developer - -SUBDIRS = macros include lib \ - $(BACKEND_LIST) \ - $(RIG_BACKEND_LIST) \ - $(ROT_BACKEND_LIST) \ - $(AMP_BACKEND_LIST) \ - src \ - $(BINDINGS) \ - tests doc - -DIST_SUBDIRS = macros include lib src c++ bindings tests doc android scripts rotators/indi \ - $(BACKEND_LIST) $(RIG_BACKEND_LIST) $(ROT_BACKEND_LIST) $(AMP_BACKEND_LIST) - - -# Install any third party macros into our tree for distribution -ACLOCAL_AMFLAGS = -I macros --install -all: all-recursive - -.SUFFIXES: -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): -hamlib.pc: $(top_builddir)/config.status $(srcdir)/hamlib.pc.in - cd $(top_builddir) && $(SHELL) ./config.status $@ - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt -install-aclocalDATA: $(aclocal_DATA) - @$(NORMAL_INSTALL) - @list='$(aclocal_DATA)'; test -n "$(aclocaldir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(aclocaldir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(aclocaldir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(aclocaldir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(aclocaldir)" || exit $$?; \ - done - -uninstall-aclocalDATA: - @$(NORMAL_UNINSTALL) - @list='$(aclocal_DATA)'; test -n "$(aclocaldir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(aclocaldir)'; $(am__uninstall_files_from_dir) -install-docDATA: $(doc_DATA) - @$(NORMAL_INSTALL) - @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ - done - -uninstall-docDATA: - @$(NORMAL_UNINSTALL) - @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) -install-pkgconfigDATA: $(pkgconfig_DATA) - @$(NORMAL_INSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ - done - -uninstall-pkgconfigDATA: - @$(NORMAL_UNINSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) -clean-cscope: - -rm -f cscope.files -cscope.files: clean-cscope cscopelist -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz - $(am__post_remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-zstd: distdir - tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst - $(am__post_remove_distdir) - -dist-tarZ: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - *.tar.zst*) \ - zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build/sub \ - && ../../configure \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=../.. --prefix="$$dc_install_base" \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__post_remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: Makefile $(DATA) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(aclocaldir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(pkgconfigdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-aclocalDATA install-docDATA \ - install-pkgconfigDATA - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-aclocalDATA uninstall-docDATA \ - uninstall-pkgconfigDATA - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ - am--refresh check check-am clean clean-cscope clean-generic \ - clean-libtool cscope cscopelist-am ctags ctags-am dist \ - dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ - dist-xz dist-zip dist-zstd distcheck distclean \ - distclean-generic distclean-libtool distclean-tags \ - distcleancheck distdir distuninstallcheck dvi dvi-am html \ - html-am info info-am install install-aclocalDATA install-am \ - install-data install-data-am install-docDATA install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-pkgconfigDATA install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-aclocalDATA uninstall-am uninstall-docDATA \ - uninstall-pkgconfigDATA - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/amplifiers/elecraft/Makefile.in b/amplifiers/elecraft/Makefile.in deleted file mode 100644 index 406bb921..00000000 --- a/amplifiers/elecraft/Makefile.in +++ /dev/null @@ -1,709 +0,0 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = amplifiers/elecraft -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/macros/ax_append_flag.m4 \ - $(top_srcdir)/macros/ax_cflags_warn_all.m4 \ - $(top_srcdir)/macros/ax_lib_indi.m4 \ - $(top_srcdir)/macros/ax_lib_nova.m4 \ - $(top_srcdir)/macros/ax_lib_readline.m4 \ - $(top_srcdir)/macros/ax_lua.m4 \ - $(top_srcdir)/macros/ax_pkg_swig.m4 \ - $(top_srcdir)/macros/ax_pthread.m4 \ - $(top_srcdir)/macros/ax_python_devel.m4 \ - $(top_srcdir)/macros/gr_pwin32.m4 \ - $(top_srcdir)/macros/hl_getaddrinfo.m4 \ - $(top_srcdir)/macros/libtool.m4 \ - $(top_srcdir)/macros/ltoptions.m4 \ - $(top_srcdir)/macros/ltsugar.m4 \ - $(top_srcdir)/macros/ltversion.m4 \ - $(top_srcdir)/macros/lt~obsolete.m4 \ - $(top_srcdir)/macros/perl.m4 $(top_srcdir)/macros/pkg.m4 \ - $(top_srcdir)/macros/tcl.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/include/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libhamlib_elecraft_la_LIBADD = -am__objects_1 = kpa1500.lo -am__objects_2 = kpa.lo -am_libhamlib_elecraft_la_OBJECTS = $(am__objects_1) $(am__objects_2) -libhamlib_elecraft_la_OBJECTS = $(am_libhamlib_elecraft_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/kpa.Plo ./$(DEPDIR)/kpa1500.Plo -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libhamlib_elecraft_la_SOURCES) -DIST_SOURCES = $(libhamlib_elecraft_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/build-aux/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ABI_AGE = @ABI_AGE@ -ABI_REVISION = @ABI_REVISION@ -ABI_VERSION = @ABI_VERSION@ -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMP_BACKENDEPS = @AMP_BACKENDEPS@ -AMP_BACKEND_LIST = @AMP_BACKEND_LIST@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_CPPFLAGS = @AM_CPPFLAGS@ -AM_CXXFLAGS = @AM_CXXFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AM_LDFLAGS = @AM_LDFLAGS@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BINDINGS = @BINDINGS@ -BINDING_ALL = @BINDING_ALL@ -BINDING_CHECK = @BINDING_CHECK@ -BINDING_CLEAN = @BINDING_CLEAN@ -BINDING_DISTCHECK = @BINDING_DISTCHECK@ -BINDING_DISTCLEAN = @BINDING_DISTCLEAN@ -BINDING_INSTALL_EXEC = @BINDING_INSTALL_EXEC@ -BINDING_LIB_TARGETS = @BINDING_LIB_TARGETS@ -BINDING_LIST = @BINDING_LIST@ -BINDING_UNINSTALL = @BINDING_UNINSTALL@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DL_LIBS = @DL_LIBS@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -INDI_LIBS = @INDI_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBUSB = @LIBUSB@ -LIBUSB_CFLAGS = @LIBUSB_CFLAGS@ -LIBUSB_LIBS = @LIBUSB_LIBS@ -LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ -LIBXML2_LIBS = @LIBXML2_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -LUA = @LUA@ -LUA_EXEC_PREFIX = @LUA_EXEC_PREFIX@ -LUA_INCLUDE = @LUA_INCLUDE@ -LUA_LIB = @LUA_LIB@ -LUA_PLATFORM = @LUA_PLATFORM@ -LUA_PREFIX = @LUA_PREFIX@ -LUA_SHORT_VERSION = @LUA_SHORT_VERSION@ -LUA_VERSION = @LUA_VERSION@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MATH_LIBS = @MATH_LIBS@ -MKDIR_P = @MKDIR_P@ -NET_LIBS = @NET_LIBS@ -NM = @NM@ -NMEDIT = @NMEDIT@ -NOVA_LIBS = @NOVA_LIBS@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OSXLDFLAGS = @OSXLDFLAGS@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PERL_INC_DIR = @PERL_INC_DIR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -PYTHON = @PYTHON@ -PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ -PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ -PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ -PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ -PYTHON_LIBS = @PYTHON_LIBS@ -PYTHON_PLATFORM = @PYTHON_PLATFORM@ -PYTHON_PREFIX = @PYTHON_PREFIX@ -PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ -PYTHON_VERSION = @PYTHON_VERSION@ -RANLIB = @RANLIB@ -READLINE_LIBS = @READLINE_LIBS@ -RIG_BACKENDEPS = @RIG_BACKENDEPS@ -RIG_BACKEND_LIST = @RIG_BACKEND_LIST@ -ROT_BACKENDEPS = @ROT_BACKENDEPS@ -ROT_BACKEND_LIST = @ROT_BACKEND_LIST@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -SWIG = @SWIG@ -SWIG_LIB = @SWIG_LIB@ -TCL_BIN_DIR = @TCL_BIN_DIR@ -TCL_INCLUDE_SPEC = @TCL_INCLUDE_SPEC@ -TCL_LIB_FILE = @TCL_LIB_FILE@ -TCL_LIB_SPEC = @TCL_LIB_SPEC@ -TCL_SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@ -TCL_SRC_DIR = @TCL_SRC_DIR@ -TCL_VERSION = @TCL_VERSION@ -USRP_CFLAGS = @USRP_CFLAGS@ -USRP_LIBS = @USRP_LIBS@ -VERSION = @VERSION@ -WINEXELDFLAGS = @WINEXELDFLAGS@ -WINLDFLAGS = @WINLDFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -ax_pthread_config = @ax_pthread_config@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -cf_with_cxx = @cf_with_cxx@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -luadir = @luadir@ -luaexecdir = @luaexecdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -pkgluadir = @pkgluadir@ -pkgluaexecdir = @pkgluaexecdir@ -pkgpyexecdir = @pkgpyexecdir@ -pkgpythondir = @pkgpythondir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -pyexecdir = @pyexecdir@ -pythondir = @pythondir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -SRC = kpa1500.c -ELECRAFTSRC = kpa.c kpa.h -noinst_LTLIBRARIES = libhamlib-elecraft.la -libhamlib_elecraft_la_SOURCES = $(SRC) $(ELECRAFTSRC) -EXTRA_DIST = README.elecraft Android.mk -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu amplifiers/elecraft/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu amplifiers/elecraft/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libhamlib-elecraft.la: $(libhamlib_elecraft_la_OBJECTS) $(libhamlib_elecraft_la_DEPENDENCIES) $(EXTRA_libhamlib_elecraft_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libhamlib_elecraft_la_OBJECTS) $(libhamlib_elecraft_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kpa.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kpa1500.Plo@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/kpa.Plo - -rm -f ./$(DEPDIR)/kpa1500.Plo - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/kpa.Plo - -rm -f ./$(DEPDIR)/kpa1500.Plo - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-generic clean-libtool clean-noinstLTLIBRARIES \ - cscopelist-am ctags ctags-am distclean distclean-compile \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am ht... [truncated message content] |