[Hamlib-commits] Hamlib -- Ham radio control libraries branch master updated. e3b067307a93bebd3eab6
Library to control radio transceivers and receivers
Brought to you by:
n0nb
From: n0nb <n0...@us...> - 2024-10-25 21:19:54
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Hamlib -- Ham radio control libraries". The branch, master has been updated via e3b067307a93bebd3eab6c5d11687f6adc482d27 (commit) via f9d60d6b25d24b66b37b7c48f1afba548a6dd2c5 (commit) via 407a1deabe03e6b3fed17c9ba8288deafd839bd2 (commit) via 9b26eb1684d4be31c71857ae2fcc2d246e680710 (commit) via 8b0dc0731c34d215d991f1f11b76ee503221ae72 (commit) via 87531d273dd3902e2130c9a7db64da2dbc518cb1 (commit) via f6b8bdabe8fe369249b0f22946a3c417f1368056 (commit) via c02cf9726f5857e74eb4bd0545a881d8ccc8c112 (commit) via c015c3690b7784cd1a17e624ed2c813f8038dc2c (commit) via 41eb2b076c370571f9a2c27553aaa45ecc55b034 (commit) via 327517a881c127ee91d3dbd7882aa65a8fe62085 (commit) via e096426ddc8210f298571ad943159f2b3844ddef (commit) via c01e55b09b164587f8b7ddfa8d910f39ec60b0ed (commit) via 2a7d5387ee1b4e0e8c8ca5d0bb19d76f7a95d335 (commit) via 882d22a50ca99f4a2600620844ca4ffb216400fc (commit) via 96fc6855671e046f95da1b9f7b5a765de0b607aa (commit) via baf2897e76b367325a1a2085df7bf4b0459fd862 (commit) via ba62edc51b9b2d390b1c051562c34b06dda909bf (commit) via 53a3d8635373124b9b6b93c141673f2ea1c6c814 (commit) via e5c8117cea9798174a7bc5464743cba60c8d2b41 (commit) via 4afe039147ad1633cdaeaa328ad5aec50b279ccb (commit) via c1130737fa01be6c481145311201db8ce6d2ab09 (commit) via 6a9cec677af718d97f7f0097524cb235c4e16322 (commit) via 0548fea7c1340efb1c7667bea834a0c1f164f455 (commit) via aa9d227d64c1a17af7ad224dd82bba221954accf (commit) via e55c7dd8404d144c9b5219c07a2d500467710f8c (commit) via db854ab8e029310471d971990da2eae46f76bc46 (commit) via 07e490eada0ab711b4b20fb184f2fc2304461be7 (commit) via f33aa9a712c177bcfaf0e084bdb5ab996afbf2be (commit) via 141ca8bf3f5ea6b05fa6d1ed204b3369378091a2 (commit) via 64d39f58efe1601d89fd8067be172fd355b89c64 (commit) via a6fe6b547539e14e8ecb2a28cce6eb7f2f47b2cd (commit) via 548745d1f04fa327516ab125c66b1e7049abfdba (commit) via 7bde413c52a8d3b31e269b3107605eb255a58446 (commit) via 0b12c5cfff269ecde77c51d5adc107bd1744465f (commit) via 23e373b99dcff7ddf173cad79aad1a639ed30bc2 (commit) via f63b60a86644e9d0cf4af1c6c4b5891974a80129 (commit) via 4613f7d9331686ab5d75a424aebaa05e52b30d32 (commit) via e24617a4fe22a134701a8c800c8170fa80b72220 (commit) via 56eda7a76c6fea9504cc70ea895a82b8f2d6699a (commit) via 96bd1367fb84754c16e7429e16963fe01287555e (commit) via b0afbd22e6b56893ad86bec181423f26cff4bb32 (commit) via 55f83b1647aa43fc6cd0a946e57f2fd81287d075 (commit) via 73cdd0b214f6cb7dd2e2199c0c13a9e26bfeb5be (commit) via 4efdf1dffdf2053f509eba8138d1f9cdfa4900d0 (commit) via 4b05884fd7ee40c3a0869b89bed3d40fa3661ffa (commit) via 88bb2e63c25b931094476cbfa783f47c01a4c193 (commit) via c4f7cf35f9286acd9eb5405b0b7304452be490a9 (commit) via c37fb872cdd20cf4af355544aed105f0b9f95d54 (commit) via 1d45224e8a58ada49f449fd378c7b416162cfd27 (commit) via 48398dd3d46ed071a52a285797060ad62fbeeecb (commit) via 5fd100f06e56e62e0b4ee73773a615ac5b914ad1 (commit) via 31b625df2bed7080ea2faecce0a309f9b176a6b6 (commit) via 2a47377243cb89ef7607b162b83d3534772f3ca7 (commit) via 76a1a589c900fe1d7b7e0b3ba7dc3ea6a9c70925 (commit) via 9236b778ae05b9642b12000c8412c88e0855c9a8 (commit) via 76c3cd15bb72d6f2b83758b558e5368875baf125 (commit) via d81726e72452aa6d8150ad6f0468d86070440e51 (commit) via 496d8fde316c24572576b58bce9fc5bed52fd418 (commit) via 8a6a500ccdfbc63b98b31b0ebb6d854bcbe0097f (commit) via fc849732c0c1dfdbccc0d7666f46952eeee4c731 (commit) via 99d008a664fa2381d12e47741a645350800a1418 (commit) via 711089f25269e26e23bbe139d8f53fd4c45c6ca5 (commit) via 2b3000c21de924a5d9ad78586b3d2959a54c07ee (commit) via c58d46cfbec8982169f3b007f61f23a8b27cc4eb (commit) via 0eca80281fe8ebf9c2bb9c57608e15fd4bff4ebc (commit) via e09dd84bc25a1650b32ff1bc7fed26a4d50135f7 (commit) via b9b4d44f4f9539626119c5c34c9e13b156d2e290 (commit) via 6d0b4a7fce20eb7d2038e8026e5f82f84c24b3c4 (commit) via 1ffd767f884327f01a9369a657f174eea3009186 (commit) via 92a35118cbaa550771d723b431afd846156f1d1a (commit) via 0f4066bcdfbcad31bad397515f793aca7cf6bdf5 (commit) via f10ff6a61b3615eba4442db783fc65c9cf8e837d (commit) via 14615c5bb53a052204856caab03947eeae483135 (commit) via 276b891fd6c33568650f46c989bf8626675548c1 (commit) via 3e1df2db19ca0ea641c18aea25d9b3c408f40fc4 (commit) via 150bfa5a25ee9082843714d50ca32ee3f0b04ab6 (commit) via 83109ba43874e3532df7a19b6d77f04dbf284315 (commit) via 5fc4e6753103278d962b084d5ac32eebe21cc9c9 (commit) via ec7b23b19cb329cb17860778190860fb067f4087 (commit) via 913c00a707157c198b5d247f7a468dbb923b4ce4 (commit) via d179eed3e8459d87c0bdb43dbf7602da5737e0b7 (commit) via 9360ab4e3bf34dfb6edef5a0e8f77f202538db5e (commit) via ca705649ce0da3271d2e6120b51e11b2586eca2a (commit) via f4bb956bf90fc22d2bb21cce5dc16ba4a07346b8 (commit) via 1235945076a9388c24b68921f60eb188805079c6 (commit) via a9f4a35c7deb7256e366daf00f1b2c69f1ed6fc0 (commit) via 5f1c2b134818b8a2669e4e01163a64fc82690bb6 (commit) via 32f5f97a5f7e6a340900dd0328177d5e2fe4e0b4 (commit) via e50dd7bcde4bbb49b75110bc79da1369955b31ce (commit) via 19ee9056d9163b793d2c35071232e698090ea07f (commit) via c1da9b979cb369839c1ca7210c52f9bb83a41b59 (commit) via 5ea17ccd21e680ddf5e21454e1b8530d2b6ab5af (commit) via 1f3360e11d6f624483efbe32b6348be1f2b1aa7f (commit) via f8485ec2dc74789a02e72dc8896162b14510e461 (commit) via 7d78e8a2842ede00d1bfa62a3b83f79b3f8ba0c4 (commit) via 49e5ba81b032f4b2748d8a80082e911202fede08 (commit) via de13630c643276d4f7724daa919583650b03831e (commit) via 1ff85278640c8f4da639ee2a8640abc1a9d7d386 (commit) via 5f6554c797cb57d8053f47d4f72a27a570436ead (commit) via b667e31dcf56fd6a65512eb88e59ef55437c8577 (commit) via 99535c06822b7b66885e164d327c273fb14fc42a (commit) via 676c39a9d0d42385d04285474d3a4f24d32ac4b7 (commit) via 52deeeeebf13c6e10b19f71f19b32f174a349407 (commit) via 3f40c7b70da224093cb27a17ee81d8e1eaf272bf (commit) via ed7b65d58c7269ea87cbc0f3d66df3202216a321 (commit) via 82c03a80fcfd7b82c16fa236370cae59a3349621 (commit) via fe909084b923ba21317a15c2efb8bbaadf8666ac (commit) via 86f6339f5ebef581437323edd3be1f61be6bcb40 (commit) via f3f3cb9977ef3f4ec6a047e33dddb358a1e41e96 (commit) via 1dd12f0ef071048aa9ae0cba7cdc680cf580c3d7 (commit) via ba1424ff7d93b2f9960999eb96310a4066547519 (commit) via ef4d932ffd2ce196b250ceb5fc3b3736b784c285 (commit) via d0da604d502235318a3ca9c1fa6073e81b5a31e2 (commit) via f2811b739406af6a20715ade6b26f8ca72705cff (commit) via be9f3e7a62ca74e175e0185641fa16adc25ac958 (commit) via ecadc46ca26dcac51ab0f3e50aa9acef9a824a1e (commit) via 853a0a2822553cb808f43b5600b839afa93d66c4 (commit) via cb26ccbbc45b611b275758bc69deb2eef6be7c0a (commit) via 8d52565335784aad266eaec984b41e988a4a8332 (commit) via 4c3aca9299584349b32a8d8b834805cb9cee8901 (commit) via ae29c0c66568bcc989884055c0059ba1ae001fa0 (commit) via fc33324dcc27d3f884307185750566578b0819ea (commit) via 293f5ec2e5b1d455df9da136a5892b52d30f5740 (commit) via bdf4baa5b7d7630af8579fc3714f46b26c3dec7c (commit) via e35b87b11a25fb622c0e2469b81e064d1de66f65 (commit) via 240407d917ccec87082ec1e5b840c65c770fc528 (commit) via 0082572cd0f4461cf0f1f58d38a7f60713253839 (commit) via 23b4e00f0e9e9144339ebae26b0774606c640621 (commit) via 5d3d35d7bea2920b2a8715bd4cd321caec38be1b (commit) via fa4926c2d6d01c650346146772ad0a6c9830fe1e (commit) via 6d76ba4e7ff578edd6b4d0040094887b35bd5bb2 (commit) via d20a2358606bec98e232be0a7dbbfacafe98b2ab (commit) via 8fcb77664c15cbc76c3ce9806194d390cf763159 (commit) via 111a51217d82c0b0a50f6e8c2854b63c02f3d8eb (commit) via 6cc21cdad3b21e0b8e7f7b72482d58a7dcc4f360 (commit) via 147fb072f4e78181930e2395c9d323d421654753 (commit) via c4988900699971be3c7423568ed4533ab2f641d3 (commit) via 67c62e9b2a5ad1a2743b0dd595da26436f0915b4 (commit) via 93d12b9c6a1e13bd99954d1d12cd2b113cb19c65 (commit) via efb3cdc09d4f184d34f1444444d51cf5daa37c61 (commit) via f64727c1e094a89970e82ff6fea4dbb4e0e6c151 (commit) via 7e35ffac8d9f0ce63b641ec0e28260f314777389 (commit) via 940814617baf4a074e4cf00aa708231e6fc8318f (commit) via 954fd001610556370cec1ffda8e3fd2b7c54cb99 (commit) via f6c1a1429193dec15ee84e400044287fb3a437bb (commit) via 25ecaea63a34cb93bd12531181e2b1dfb1f61112 (commit) via 0dd52cec026b0c2518774723d7056c147a4639ea (commit) via 3a09649816251a92ffa767486a66d561a4bcaddb (commit) via 4d1148c1ba52e6401ccdd6b80b173ff766f3341f (commit) via 099cc7fc489c7fe27ec42d626924f8fa50bb07f6 (commit) via 846a56a39bfcb94018132da2947eccbb0c4740cd (commit) from 137231cb7b1bdc9dfe075f4cf4c311a9ebfcc306 (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 e3b067307a93bebd3eab6c5d11687f6adc482d27 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Oct 25 12:11:50 2024 -0500 Fix icom width filter using 1,2,3 for all modes diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 54b7b53de..ce1de5b83 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -2428,6 +2428,9 @@ static int icom_set_mode_x26(RIG *rig, vfo_t vfo, rmode_t mode, rig_debug(RIG_DEBUG_TRACE, "%s: vfo=%s, vfo_number=%d\n", __func__, rig_strvfo(vfo), vfo_number); + // allow width of 1,2,3 to set explicit filter + if (width >=1 && width <= 3) buf[2] = width; + retval = icom_transaction(rig, C_SEND_SEL_MODE, vfo_number, buf, buf_len, ackbuf, &ack_len); diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h index e41cdbbc2..b5bb5a3d1 100644 --- a/rigs/icom/icom.h +++ b/rigs/icom/icom.h @@ -35,7 +35,7 @@ #include <sys/time.h> #endif -#define BACKEND_VER "20241020" +#define BACKEND_VER "20241025" #define ICOM_IS_ID31 rig_is_model(rig, RIG_MODEL_ID31) #define ICOM_IS_ID51 rig_is_model(rig, RIG_MODEL_ID51) commit f9d60d6b25d24b66b37b7c48f1afba548a6dd2c5 Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Oct 22 10:30:30 2024 -0500 Remove duplicate parm diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index 8a9ac7ad7..60d4da02b 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -1182,7 +1182,7 @@ enum multicast_item_e { //! @cond Doxygen_Suppress #define RIG_PARM_FLOAT_LIST (RIG_PARM_BACKLIGHT|RIG_PARM_BAT|RIG_PARM_KEYLIGHT|RIG_PARM_BACKLIGHT) -#define RIG_PARM_STRING_LIST (RIG_PARM_BANDSELECT|RIG_PARM_KEYERTYPE|RIG_PARM_KEYERTYPE) +#define RIG_PARM_STRING_LIST (RIG_PARM_BANDSELECT|RIG_PARM_KEYERTYPE) #define RIG_PARM_READONLY_LIST (RIG_PARM_BAT) #define RIG_PARM_IS_FLOAT(l) ((l)&RIG_PARM_FLOAT_LIST) commit 407a1deabe03e6b3fed17c9ba8288deafd839bd2 Merge: 9b26eb168 8b0dc0731 Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Oct 22 09:21:33 2024 -0500 Merge branch 'master' of https://github.com/Hamlib/Hamlib commit 9b26eb1684d4be31c71857ae2fcc2d246e680710 Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Oct 22 09:16:38 2024 -0500 Fix power_minmax for kenwood https://github.com/Hamlib/Hamlib/issues/1622 diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index ad262512b..9922b8930 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -3037,11 +3037,11 @@ static int kenwood_get_power_minmax(RIG *rig, int *power_now, int *power_min, rs->power_min = 5; rs->power_max = 100; if (power_min) *power_min = 5; - if (power_max) *power_max = 5; + if (power_max) *power_max = 100; - if (rs->current_mode == RIG_MODE_AM) { *power_max = 50; } + if (rs->current_mode == RIG_MODE_AM) { *power_max = 25; } - if (rs->current_freq >= 70) + if (rs->current_freq >= 70000000) { rs->power_max = 50; commit 8b0dc0731c34d215d991f1f11b76ee503221ae72 Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Oct 22 09:16:38 2024 -0500 Fix power_minmax for kenwood diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index ad262512b..9922b8930 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -3037,11 +3037,11 @@ static int kenwood_get_power_minmax(RIG *rig, int *power_now, int *power_min, rs->power_min = 5; rs->power_max = 100; if (power_min) *power_min = 5; - if (power_max) *power_max = 5; + if (power_max) *power_max = 100; - if (rs->current_mode == RIG_MODE_AM) { *power_max = 50; } + if (rs->current_mode == RIG_MODE_AM) { *power_max = 25; } - if (rs->current_freq >= 70) + if (rs->current_freq >= 70000000) { rs->power_max = 50; commit 87531d273dd3902e2130c9a7db64da2dbc518cb1 Author: Mike Black W9MDB <mdb...@ya...> Date: Mon Oct 21 22:31:42 2024 -0500 Fix KEYERTYPE diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index bbe579bc2..8a9ac7ad7 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -1152,7 +1152,8 @@ enum rig_parm_e { enum rig_keyertype_e { RIG_KEYERTYPE_STRAIGHT = 0, RIG_KEYERTYPE_BUG = (1 << 0), - RIG_KEYERTYPE_PADDLE = (2 << 0) + RIG_KEYERTYPE_PADDLE = (1 << 1), + RIG_KEYERTYPE_UNKNOWN = (1 << 2) }; /** @@ -1181,7 +1182,7 @@ enum multicast_item_e { //! @cond Doxygen_Suppress #define RIG_PARM_FLOAT_LIST (RIG_PARM_BACKLIGHT|RIG_PARM_BAT|RIG_PARM_KEYLIGHT|RIG_PARM_BACKLIGHT) -#define RIG_PARM_STRING_LIST (RIG_PARM_BANDSELECT|RIG_PARM_KEYERTYPE) +#define RIG_PARM_STRING_LIST (RIG_PARM_BANDSELECT|RIG_PARM_KEYERTYPE|RIG_PARM_KEYERTYPE) #define RIG_PARM_READONLY_LIST (RIG_PARM_BAT) #define RIG_PARM_IS_FLOAT(l) ((l)&RIG_PARM_FLOAT_LIST) diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c index 5be851fb6..4c6020baf 100644 --- a/tests/rigctl_parse.c +++ b/tests/rigctl_parse.c @@ -3745,11 +3745,13 @@ declare_proto_rig(set_parm) break; case RIG_CONF_STRING: +#if 0 if (parm == RIG_PARM_KEYERTYPE) { val.i = atoi(arg2); } else +#endif { val.cs = arg2; } commit f6b8bdabe8fe369249b0f22946a3c417f1368056 Author: Mike Black W9MDB <mdb...@ya...> Date: Sun Oct 20 11:28:44 2024 -0500 Allow 1,2,3 width usage for all modes in icom.c diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 9050a9214..54b7b53de 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -2586,6 +2586,8 @@ int icom_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) if (priv_caps->mode_with_filter) { HAMLIB_TRACE; + // allow 1,2,3 values to set filter number + if (width >= 1 && width <= 3) datamode[1] = width; if (datamode[0] == 0) { datamode[1] = 0; } // the only good combo possible according to manual @@ -2593,7 +2595,7 @@ int icom_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) if((priv_caps->fm_filters[0] != 0) && (mode == RIG_MODE_FM || mode == RIG_MODE_WFM)) { // assumed fm_filters is ascending sequence -- see ic7300.c for example - if (width <= 3) datamode[1] = width; + if (width >= 1 && width <= 3) datamode[1] = width; else if (width <= priv_caps->fm_filters[0]) datamode[1] = 3; else if (width <= priv_caps->fm_filters[1]) datamode[1] = 2; else datamode[1] = 1; diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h index 8da32718e..e41cdbbc2 100644 --- a/rigs/icom/icom.h +++ b/rigs/icom/icom.h @@ -35,7 +35,7 @@ #include <sys/time.h> #endif -#define BACKEND_VER "20241018" +#define BACKEND_VER "20241020" #define ICOM_IS_ID31 rig_is_model(rig, RIG_MODEL_ID31) #define ICOM_IS_ID51 rig_is_model(rig, RIG_MODEL_ID51) commit c02cf9726f5857e74eb4bd0545a881d8ccc8c112 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Oct 18 09:30:19 2024 -0500 Fix compile warning on icom.c fm_filters diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 95ed7a186..9050a9214 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -2590,7 +2590,7 @@ int icom_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) if (datamode[0] == 0) { datamode[1] = 0; } // the only good combo possible according to manual // we need to let FM mode widths through here with datamode[1] set to FM width - if((priv_caps->fm_filters != NULL) && (mode == RIG_MODE_FM || mode == RIG_MODE_WFM)) + if((priv_caps->fm_filters[0] != 0) && (mode == RIG_MODE_FM || mode == RIG_MODE_WFM)) { // assumed fm_filters is ascending sequence -- see ic7300.c for example if (width <= 3) datamode[1] = width; diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h index bcc9a05a5..8da32718e 100644 --- a/rigs/icom/icom.h +++ b/rigs/icom/icom.h @@ -35,7 +35,7 @@ #include <sys/time.h> #endif -#define BACKEND_VER "20241009" +#define BACKEND_VER "20241018" #define ICOM_IS_ID31 rig_is_model(rig, RIG_MODEL_ID31) #define ICOM_IS_ID51 rig_is_model(rig, RIG_MODEL_ID51) commit c015c3690b7784cd1a17e624ed2c813f8038dc2c Author: Mike Black W9MDB <mdb...@ya...> Date: Sun Oct 13 16:11:25 2024 -0500 Update rigctl.1 for IC7300 filter 1,2,3 usage diff --git a/doc/man1/rigctl.1 b/doc/man1/rigctl.1 index d79f55f95..866fa3b76 100644 --- a/doc/man1/rigctl.1 +++ b/doc/man1/rigctl.1 @@ -494,6 +494,7 @@ Mode is a token: \(oqUSB\(cq, \(oqLSB\(cq, \(oqCW\(cq, \(oqCWR\(cq, \(oqDSB\(cq. .IP Passband is in Hz as an integer, -1 for no change, or \(oq0\(cq for the radio backend default. +IC7300 can use 1,2,3 to select which filter to use .IP .BR Note : Passing a \(oq?\(cq (query) as the first argument instead of a Mode token will commit 41eb2b076c370571f9a2c27553aaa45ecc55b034 Author: Mike Black W9MDB <mdb...@ya...> Date: Sun Oct 13 16:10:00 2024 -0500 Fix IC7300 set mode FM Allow IC7300 to use width of 1,2,3 to select filter diff --git a/NEWS b/NEWS index 52398b117..32e029f7b 100644 --- a/NEWS +++ b/NEWS @@ -13,6 +13,7 @@ Version 5.x -- future * Change FT1000MP Mark V model names to align with FT1000MP Version 4.6 + * IC7300 Mode filter can now be set by # (i.e. 1,2,3) * Fixed AF6SA WRC rotor controller * Added Rhode&Schwarz XK852 * Added Xiegu X6200 diff --git a/rigs/icom/ic7300.c b/rigs/icom/ic7300.c index 2bce4bebb..7cd2e9373 100644 --- a/rigs/icom/ic7300.c +++ b/rigs/icom/ic7300.c @@ -67,7 +67,7 @@ int ic9700_set_vfo(RIG *rig, vfo_t vfo); #define IC7300_PARMS (RIG_PARM_ANN|RIG_PARM_BACKLIGHT|RIG_PARM_SCREENSAVER|RIG_PARM_TIME|RIG_PARM_BEEP|RIG_PARM_KEYERTYPE|RIG_PARM_AFIF) #define IC7300_VFO_OPS (RIG_OP_CPY|RIG_OP_XCHG|RIG_OP_FROM_VFO|RIG_OP_TO_VFO|RIG_OP_MCL|RIG_OP_TUNE) -#define IC7300_SCAN_OPS (RIG_SCAN_STOP|RIG_SCAN_MEM|RIG_SCAN_PROG|RIG_SCAN_SLCT) +#define IC7300_SCAN_OPS (RIG_SCAN_STOP|RIG_SCAN_MEM|RIG_SCAN_PROG|RIG_SCAN_SLCT|RIG_SCAN_VFO) #define IC7300_ANTS (RIG_ANT_1) /* ant-1 is Hf-6m */ @@ -419,7 +419,8 @@ static const struct icom_priv_caps IC7300_priv_caps = .x1cx03_possibly = 1, .x1ax03_supported = 1, .mode_with_filter = 1, - .data_mode_supported = 1 + .data_mode_supported = 1, + .fm_filters = { 7000, 10000, 15000 } }; static const struct icom_priv_caps IC9700_priv_caps = @@ -474,7 +475,7 @@ static const struct icom_priv_caps IC9700_priv_caps = .x1cx03_possibly = 1, .x1ax03_supported = 1, .mode_with_filter = 1, - .data_mode_supported = 1 + .data_mode_supported = 1, }; static const struct icom_priv_caps IC705_priv_caps = @@ -741,7 +742,7 @@ struct rig_caps ic7300_caps = RIG_MODEL(RIG_MODEL_IC7300), .model_name = "IC-7300", .mfg_name = "Icom", - .version = BACKEND_VER ".13", + .version = BACKEND_VER ".14", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_TRANSCEIVER, diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 6d2b18ee5..95ed7a186 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -512,19 +512,19 @@ const struct confparams icom_cfg_params[] = }, { TOK_FILTER_USBD, "filter_usbd", "Filter to use USBD", "Filter to use for USBD/LSBD when setting mode", - "0", RIG_CONF_NUMERIC, {.n = {0, 3, 1}} + "1", RIG_CONF_NUMERIC, {.n = {0, 3, 1}} }, { TOK_FILTER_USB, "filter_usb", "Filter to use USB", "Filter to use when for USB/LSB setting mode", - "0", RIG_CONF_NUMERIC, {.n = {0, 3, 1}} + "2", RIG_CONF_NUMERIC, {.n = {0, 3, 1}} }, { TOK_FILTER_CW, "filter_cw", "Filter to use CW", "Filter to use for CW/CWR when setting mode", - "0", RIG_CONF_NUMERIC, {.n = {0, 3, 1}} + "3", RIG_CONF_NUMERIC, {.n = {0, 3, 1}} }, { TOK_FILTER_FM, "filter_fm", "Filter to use FM", "Filter to use for FM/PKTFM when setting mode", - "0", RIG_CONF_NUMERIC, {.n = {0, 3, 1}} + "1", RIG_CONF_NUMERIC, {.n = {0, 3, 1}} }, {RIG_CONF_END, NULL,} }; @@ -858,6 +858,7 @@ static int icom_check_ack(int ack_len, unsigned char *ackbuf) { // if we don't get ACK/NAK some serial corruption occurred // so we'll call it a timeout for retry purposes + rig_debug(RIG_DEBUG_WARN, "%s: command timed out (%#.2x)\n", __func__, ackbuf[0]); return -RIG_ETIMEOUT; } @@ -2346,7 +2347,7 @@ static int icom_get_mode_x26(RIG *rig, vfo_t vfo, int *mode_len, static int icom_set_mode_x26(RIG *rig, vfo_t vfo, rmode_t mode, rmode_t icom_mode, int datamode, - int filter) + int filter, pbwidth_t width) { struct icom_priv_data *priv = STATE(rig)->priv; const struct icom_priv_caps *priv_caps = rig->caps->priv; @@ -2354,6 +2355,7 @@ static int icom_set_mode_x26(RIG *rig, vfo_t vfo, rmode_t mode, unsigned char buf[3]; unsigned char ackbuf[MAXFRAMELEN]; int ack_len = sizeof(ackbuf); + int buf_len = 3; int mode_len; unsigned char mode_buf[4]; @@ -2380,25 +2382,45 @@ static int icom_set_mode_x26(RIG *rig, vfo_t vfo, rmode_t mode, if (priv->filter_usbd > 0 && (mode == RIG_MODE_PKTUSB || mode == RIG_MODE_PKTLSB)) { - rig_debug(RIG_DEBUG_TRACE, "%s: filter usbd=%d\n", __func__, priv->filter_usbd); + rig_debug(RIG_DEBUG_TRACE, "%s: filter usbd=%d, width=%d\n", __func__, priv->filter_usbd, (int)width); buf[2] = priv->filter_usbd; + if (width >= 1 && width <=3) buf[2] = width; + if (width == RIG_PASSBAND_NOCHANGE) + { + buf_len = 1; + } } else if (priv->filter_usb > 0 && (mode == RIG_MODE_USB || mode == RIG_MODE_LSB)) { rig_debug(RIG_DEBUG_TRACE, "%s: filter usb=%d\n", __func__, priv->filter_usb); buf[2] = priv->filter_usb; + if (width == RIG_PASSBAND_NOCHANGE) + { + buf_len = 1; + } } else if (priv->filter_cw > 0 && (mode == RIG_MODE_CW || mode == RIG_MODE_CWR)) { rig_debug(RIG_DEBUG_TRACE, "%s: filter cw=%d\n", __func__, priv->filter_cw); buf[2] = priv->filter_cw; + if (width == RIG_PASSBAND_NOCHANGE) + { + buf_len = 1; + } } - else if (priv->filter_fm > 0 && (mode == RIG_MODE_FM || mode == RIG_MODE_PKTFM)) + else if (mode == RIG_MODE_FM || mode == RIG_MODE_PKTFM) { - rig_debug(RIG_DEBUG_TRACE, "%s: filter fm=%d\n", __func__, priv->filter_fm); - buf[2] = priv->filter_fm; + rig_debug(RIG_DEBUG_TRACE, "%s: width=%d\n", __func__, (int)width); + buf[2] = width; + if (width > 10000) buf[2] = 1; + else if (width > 7000) buf[2] = 2; + else if (width > 3) buf[2] = 3; + if (width == RIG_PASSBAND_NOCHANGE) + { + buf_len = 1; + } } int vfo_number = icom_get_vfo_number_x25x26(rig, vfo); @@ -2406,7 +2428,7 @@ static int icom_set_mode_x26(RIG *rig, vfo_t vfo, rmode_t mode, rig_debug(RIG_DEBUG_TRACE, "%s: vfo=%s, vfo_number=%d\n", __func__, rig_strvfo(vfo), vfo_number); - retval = icom_transaction(rig, C_SEND_SEL_MODE, vfo_number, buf, 3, ackbuf, + retval = icom_transaction(rig, C_SEND_SEL_MODE, vfo_number, buf, buf_len, ackbuf, &ack_len); if (priv->x26cmdfails < 0 || priv_caps->x25x26_always) @@ -2568,11 +2590,17 @@ int icom_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) if (datamode[0] == 0) { datamode[1] = 0; } // the only good combo possible according to manual // we need to let FM mode widths through here with datamode[1] set to FM width - if((RIG_IS_IC7300 || RIG_IS_IC9700) && (mode == RIG_MODE_FM || mode == RIG_MODE_WFM)) + if((priv_caps->fm_filters != NULL) && (mode == RIG_MODE_FM || mode == RIG_MODE_WFM)) { - if (width <= 7000) datamode[1] = 3; - else if (width <= 10000) datamode[1] = 2; + // assumed fm_filters is ascending sequence -- see ic7300.c for example + if (width <= 3) datamode[1] = width; + else if (width <= priv_caps->fm_filters[0]) datamode[1] = 3; + else if (width <= priv_caps->fm_filters[1]) datamode[1] = 2; else datamode[1] = 1; + if (width > 3) + { + rig_debug(RIG_DEBUG_WARN, "%s: IC7300 width set by 1,2,3 - adjustable widht not implemented yet\n", __func__); + } } rig_debug(RIG_DEBUG_TRACE, "%s(%d) mode_icom=%d, datamode=%d, filter=%d\n", @@ -2585,7 +2613,7 @@ int icom_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) else { if (datamode[0] == 0) datamode[1] = 0; - retval = icom_set_mode_x26(rig, vfo, mode, mode_icom, datamode[0], datamode[1]); + retval = icom_set_mode_x26(rig, vfo, mode, mode_icom, datamode[0], datamode[1], width); } if (retval != RIG_OK) diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h index 608dbe594..bcc9a05a5 100644 --- a/rigs/icom/icom.h +++ b/rigs/icom/icom.h @@ -251,6 +251,7 @@ struct icom_priv_caps int x1ax03_supported; /*!< Rig supports setting/getting filter width */ int mode_with_filter; /*!< Rig mode commands include filter selection */ int data_mode_supported; /*!< Rig supports data mode flag */ + int fm_filters[3]; /*!< For models with FIL1/2/3 for FM low-to-high fixed filters -- IC7300/9700 */ }; struct icom_priv_data commit 327517a881c127ee91d3dbd7882aa65a8fe62085 Author: Mike Black W9MDB <mdb...@ya...> Date: Thu Oct 10 22:58:12 2024 -0500 Remote get_ts from ic707.c -- rig does not support it https://github.com/Hamlib/Hamlib/issues/1617 diff --git a/rigs/icom/ic707.c b/rigs/icom/ic707.c index da5ab31b9..81d7d1d78 100644 --- a/rigs/icom/ic707.c +++ b/rigs/icom/ic707.c @@ -59,7 +59,7 @@ struct rig_caps ic707_caps = RIG_MODEL(RIG_MODEL_IC707), .model_name = "IC-707", .mfg_name = "Icom", - .version = BACKEND_VER ".3", + .version = BACKEND_VER ".4", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_TRANSCEIVER, @@ -159,7 +159,7 @@ struct rig_caps ic707_caps = .set_split_mode = icom_set_split_mode, .get_split_mode = icom_get_split_mode, .set_ts = icom_set_ts, - .get_ts = icom_get_ts, +// .get_ts = icom_get_ts, // apparently does not have this .scan = icom_scan, commit e096426ddc8210f298571ad943159f2b3844ddef Author: Mike Black W9MDB <mdb...@ya...> Date: Wed Oct 9 08:53:37 2024 -0500 rigctld show-conf now exits only if no -r argument is given https://github.com/Hamlib/Hamlib/issues/1619 diff --git a/tests/rigctld.c b/tests/rigctld.c index 44be5afc6..45042e3ad 100644 --- a/tests/rigctld.c +++ b/tests/rigctld.c @@ -761,8 +761,11 @@ int main(int argc, char *argv[]) if (show_conf) { rig_token_foreach(my_rig, print_conf_list, (rig_ptr_t)my_rig); - fflush(stdout); - exit(0); + if (rig_file == NULL) + { + fflush(stdout); + exit(0); + } } /* commit c01e55b09b164587f8b7ddfa8d910f39ec60b0ed Author: Mike Black W9MDB <mdb...@ya...> Date: Wed Oct 9 08:35:59 2024 -0500 Change icom_scan to use vfo argument to set vfo -- default VFO_CURR to just switching to vfo mode https://github.com/Hamlib/Hamlib/issues/1619#issuecomment-2402159608 diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index fcb4c7a4c..6d2b18ee5 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -8664,11 +8664,14 @@ int icom_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch) unsigned char ackbuf[MAXFRAMELEN]; int scan_len, ack_len = sizeof(ackbuf), retval; int scan_cn, scan_sc; + vfo_t myvfo = vfo; ENTERFUNC; scan_len = 0; scan_cn = C_CTL_SCAN; + // for current vfo just switch to VFO mode (we might be in MEM) + if (myvfo == RIG_VFO_CURR) myvfo = RIG_VFO_VFO; switch (scan) { case RIG_SCAN_STOP: @@ -8678,7 +8681,7 @@ int icom_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch) case RIG_SCAN_VFO: case RIG_SCAN_MEM: HAMLIB_TRACE; - retval = rig_set_vfo(rig, scan==RIG_SCAN_MEM?RIG_VFO_MEM:RIG_VFO_VFO); + retval = rig_set_vfo(rig, scan==RIG_SCAN_MEM?RIG_VFO_MEM:myvfo); if (retval != RIG_OK) { commit 2a7d5387ee1b4e0e8c8ca5d0bb19d76f7a95d335 Author: Mike Black W9MDB <mdb...@ya...> Date: Wed Oct 9 08:30:55 2024 -0500 Change icom_scan VFO to just switch to VFO mode instead of VFOA https://github.com/Hamlib/Hamlib/issues/1619#issuecomment-2402159608 diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index b95eebcde..fcb4c7a4c 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -8678,7 +8678,7 @@ int icom_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch) case RIG_SCAN_VFO: case RIG_SCAN_MEM: HAMLIB_TRACE; - retval = rig_set_vfo(rig, scan==RIG_SCAN_MEM?RIG_VFO_MEM:RIG_VFO_A); + retval = rig_set_vfo(rig, scan==RIG_SCAN_MEM?RIG_VFO_MEM:RIG_VFO_VFO); if (retval != RIG_OK) { diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h index 80c0eff6a..608dbe594 100644 --- a/rigs/icom/icom.h +++ b/rigs/icom/icom.h @@ -35,7 +35,7 @@ #include <sys/time.h> #endif -#define BACKEND_VER "20241007" +#define BACKEND_VER "20241009" #define ICOM_IS_ID31 rig_is_model(rig, RIG_MODEL_ID31) #define ICOM_IS_ID51 rig_is_model(rig, RIG_MODEL_ID51) commit 882d22a50ca99f4a2600620844ca4ffb216400fc Author: Mike Black W9MDB <mdb...@ya...> Date: Mon Oct 7 12:19:03 2024 -0500 Add help to N command in rigctl diff --git a/src/sprintflst.c b/src/sprintflst.c index 047fb2bc5..1ad8434ba 100644 --- a/src/sprintflst.c +++ b/src/sprintflst.c @@ -852,6 +852,37 @@ int rig_sprintf_spectrum_avg_modes(char *str, int nlen, return len; } +int rig_sprintf_tuning_steps(char *str, int nlen, const struct tuning_step_list *tuning_step_list) +{ + int i, len = 0; + + *str = '\0'; + + for (i = 0; i < HAMLIB_TSLSTSIZ; i++) + { + int lentmp; + + if (tuning_step_list[i].modes == RIG_MODE_NONE) + { + break; + } + + lentmp = snprintf(str + len, nlen - len, "%s%d", i>0?", ":"", (int)tuning_step_list[i].ts); + + if (len < 0 || lentmp >= nlen - len) + { + rig_debug(RIG_DEBUG_ERR, "%s(%d): overflowed str buffer\n", __FILE__, __LINE__); + break; + } + + len += lentmp; + check_buffer_overflow(str, len, nlen); + } + + return len; + +} + char *get_rig_conf_type(enum rig_conf_e type) { switch (type) diff --git a/src/sprintflst.h b/src/sprintflst.h index bfb80ebe4..1e207aae5 100644 --- a/src/sprintflst.h +++ b/src/sprintflst.h @@ -51,6 +51,7 @@ extern HAMLIB_EXPORT( int ) rot_sprintf_status(char *str, int len, rot_status_t extern HAMLIB_EXPORT( int ) rig_sprintf_spectrum_modes(char *str, int nlen, const enum rig_spectrum_mode_e *modes); extern HAMLIB_EXPORT( int ) rig_sprintf_spectrum_spans(char *str, int nlen, const freq_t *spans); extern HAMLIB_EXPORT( int ) rig_sprintf_spectrum_avg_modes(char *str, int nlen, const struct rig_spectrum_avg_mode *avg_modes); +extern HAMLIB_EXPORT( int ) rig_sprintf_tuning_steps(char *str, int nlen, const struct tuning_step_list *tuning_step_list); extern HAMLIB_EXPORT( char *) get_rig_conf_type(enum rig_conf_e type); extern HAMLIB_EXPORT( int ) print_ext_param(const struct confparams *cfp, rig_ptr_t ptr); diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c index c4ea871c7..5be851fb6 100644 --- a/tests/rigctl_parse.c +++ b/tests/rigctl_parse.c @@ -3191,9 +3191,17 @@ declare_proto_rig(get_split_vfo) declare_proto_rig(set_ts) { unsigned long ts; + char s[SPRINTF_MAX_SIZE]; ENTERFUNC2; + if (!strcmp(arg1, "?")) + { + rig_sprintf_tuning_steps(s, sizeof(s), rig->caps->tuning_steps); + fprintf(fout, "%s\n", s); + RETURNFUNC2(RIG_OK); + } + CHKSCN1ARG(sscanf(arg1, "%lu", &ts)); RETURNFUNC2(rig_set_ts(rig, vfo, ts)); commit 96fc6855671e046f95da1b9f7b5a765de0b607aa Author: Mike Black W9MDB <mdb...@ya...> Date: Mon Oct 7 09:19:04 2024 -0500 Update rigctl.1 diff --git a/doc/man1/rigctl.1 b/doc/man1/rigctl.1 index 48baede60..d79f55f95 100644 --- a/doc/man1/rigctl.1 +++ b/doc/man1/rigctl.1 @@ -182,7 +182,7 @@ below. .BR \-L ", " \-\-show\-conf List all config parameters for the radio defined with .B \-m -above. Note the dummy device has no serial parameters. +above. Will exit if no -r is given. Note the dummy device has no serial parameters. . .TP .BR \-C ", " \-\-set\-conf = \fIparm=val\fP [ \fI,parm=val\fP ] @@ -1137,7 +1137,7 @@ Set .RI \(aq Transceive \(aq mode. .IP -Transcieve is a token: \(oqOFF\(cq, \(oqRIG\(cq, \(oqPOLL\(cq. +Transceive is a token: \(oqOFF\(cq, \(oqRIG\(cq, \(oqPOLL\(cq. .IP Transceive is a mechanism for radios to report events without a specific call for information. commit baf2897e76b367325a1a2085df7bf4b0459fd862 Author: Mike Black W9MDB <mdb...@ya...> Date: Mon Oct 7 08:11:31 2024 -0500 Add SCAN_VFO to icom.c and fix ic707.c to support correct scan modes diff --git a/rigs/icom/ic707.c b/rigs/icom/ic707.c index 0cc6e66f4..da5ab31b9 100644 --- a/rigs/icom/ic707.c +++ b/rigs/icom/ic707.c @@ -40,7 +40,7 @@ #define IC707_VFO_OPS (RIG_OP_FROM_VFO|RIG_OP_TO_VFO|RIG_OP_CPY) -#define IC707_SCAN_OPS (RIG_SCAN_VFO|RIG_SCAN_MEM|RIG_SCAN_STOP|RIG_SCAN_SLCT) +#define IC707_SCAN_OPS (RIG_SCAN_VFO|RIG_SCAN_MEM|RIG_SCAN_STOP) #define IC707_ANTS RIG_ANT_1 @@ -59,7 +59,7 @@ struct rig_caps ic707_caps = RIG_MODEL(RIG_MODEL_IC707), .model_name = "IC-707", .mfg_name = "Icom", - .version = BACKEND_VER ".2", + .version = BACKEND_VER ".3", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_TRANSCEIVER, diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 7e227e40b..b95eebcde 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -8675,9 +8675,10 @@ int icom_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch) scan_sc = S_SCAN_STOP; break; + case RIG_SCAN_VFO: case RIG_SCAN_MEM: HAMLIB_TRACE; - retval = rig_set_vfo(rig, RIG_VFO_MEM); + retval = rig_set_vfo(rig, scan==RIG_SCAN_MEM?RIG_VFO_MEM:RIG_VFO_A); if (retval != RIG_OK) { @@ -8688,7 +8689,7 @@ int icom_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch) * but some old models don't have it. * Should be put in icom_priv_caps ? */ - if (rig->caps->rig_type == RIG_TYPE_RECEIVER) + if (rig->caps->rig_type == RIG_TYPE_RECEIVER && scan == RIG_SCAN_MEM) { scan_sc = S_SCAN_MEM2; } @@ -8738,7 +8739,7 @@ int icom_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch) break; default: - rig_debug(RIG_DEBUG_ERR, "%s: unsupported scan %#x", __func__, scan); + rig_debug(RIG_DEBUG_ERR, "%s: unsupported scan %#x\n", __func__, scan); RETURNFUNC(-RIG_EINVAL); } diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h index 15e1559c2..80c0eff6a 100644 --- a/rigs/icom/icom.h +++ b/rigs/icom/icom.h @@ -35,7 +35,7 @@ #include <sys/time.h> #endif -#define BACKEND_VER "20241005" +#define BACKEND_VER "20241007" #define ICOM_IS_ID31 rig_is_model(rig, RIG_MODEL_ID31) #define ICOM_IS_ID51 rig_is_model(rig, RIG_MODEL_ID51) commit ba62edc51b9b2d390b1c051562c34b06dda909bf Author: Mike Black W9MDB <mdb...@ya...> Date: Mon Oct 7 07:52:48 2024 -0500 Fix simic7300 diff --git a/simulators/simic7300.c b/simulators/simic7300.c index 7c0c48487..797259dba 100644 --- a/simulators/simic7300.c +++ b/simulators/simic7300.c @@ -779,6 +779,9 @@ while (1) if (powerstat) { + unsigned char tmp = buf[2]; + buf[2] = buf[3]; + buf[3] = tmp; frameParse(fd, buf, len); } else commit 53a3d8635373124b9b6b93c141673f2ea1c6c814 Author: Mike Black W9MDB <mdb...@ya...> Date: Sat Oct 5 14:48:09 2024 -0500 Fix async detection in icom.c diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 75f16bf22..7e227e40b 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -9068,6 +9068,11 @@ int icom_process_async_frame(RIG *rig, size_t frame_length, * the rest is data * and don't forget one byte at the end for the EOM */ + if (frame[2] != 0x00) + { + rig_debug(RIG_DEBUG_VERBOSE, "%s: 3rd byte not 0x00...not async\n", __func__); + RETURNFUNC(RIG_OK); + } switch (frame[4]) { case C_RD_FREQ: diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h index b45c0b3da..15e1559c2 100644 --- a/rigs/icom/icom.h +++ b/rigs/icom/icom.h @@ -35,7 +35,7 @@ #include <sys/time.h> #endif -#define BACKEND_VER "20241001" +#define BACKEND_VER "20241005" #define ICOM_IS_ID31 rig_is_model(rig, RIG_MODEL_ID31) #define ICOM_IS_ID51 rig_is_model(rig, RIG_MODEL_ID51) commit e5c8117cea9798174a7bc5464743cba60c8d2b41 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Oct 4 16:28:32 2024 -0500 Add STOP and VFO to IC707 scan operations https://github.com/Hamlib/Hamlib/issues/1619 diff --git a/rigs/icom/ic707.c b/rigs/icom/ic707.c index d242a5215..0cc6e66f4 100644 --- a/rigs/icom/ic707.c +++ b/rigs/icom/ic707.c @@ -40,7 +40,7 @@ #define IC707_VFO_OPS (RIG_OP_FROM_VFO|RIG_OP_TO_VFO|RIG_OP_CPY) -#define IC707_SCAN_OPS (RIG_SCAN_VFO|RIG_SCAN_MEM) /* TBC */ +#define IC707_SCAN_OPS (RIG_SCAN_VFO|RIG_SCAN_MEM|RIG_SCAN_STOP|RIG_SCAN_SLCT) #define IC707_ANTS RIG_ANT_1 commit 4afe039147ad1633cdaeaa328ad5aec50b279ccb Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Oct 4 16:24:25 2024 -0500 Improve conf.c debug output diff --git a/src/conf.c b/src/conf.c index a38fd4c47..24fd6a5e3 100644 --- a/src/conf.c +++ b/src/conf.c @@ -1372,10 +1372,18 @@ const struct confparams *HAMLIB_API rig_confparam_lookup(RIG *rig, const struct confparams *cfp; hamlib_token_t token; - rig_debug(RIG_DEBUG_VERBOSE, "%s called for %s\n", __func__, name); if (!rig || !rig->caps) { + if (rig) + { + rig_debug(RIG_DEBUG_ERR, "%s: rig->caps is NULL\n", __func__); + } + else + { + rig_debug(RIG_DEBUG_ERR, "%s: rig is NULL\n", __func__); + } + return NULL; } @@ -1386,6 +1394,7 @@ const struct confparams *HAMLIB_API rig_confparam_lookup(RIG *rig, { if (!strcmp(cfp->name, name) || token == cfp->token) { + rig_debug(RIG_DEBUG_VERBOSE, "%s called for %s\n", __func__, cfp->name); return cfp; } } @@ -1394,6 +1403,7 @@ const struct confparams *HAMLIB_API rig_confparam_lookup(RIG *rig, { if (!strcmp(cfp->name, name) || token == cfp->token) { + rig_debug(RIG_DEBUG_VERBOSE, "%s called for %s\n", __func__, cfp->name); return cfp; } } @@ -1404,11 +1414,15 @@ const struct confparams *HAMLIB_API rig_confparam_lookup(RIG *rig, { if (!strcmp(cfp->name, name) || token == cfp->token) { + rig_debug(RIG_DEBUG_VERBOSE, "%s called for %s\n", __func__, cfp->name); return cfp; } } } + + rig_debug(RIG_DEBUG_VERBOSE, "%s called for %s and not found\n", __func__, + name); return NULL; } commit c1130737fa01be6c481145311201db8ce6d2ab09 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Oct 4 15:44:40 2024 -0500 Remove get_freq from ft757gx.c -- at least some of them apparently can't read freq diff --git a/rigs/yaesu/ft757gx.c b/rigs/yaesu/ft757gx.c index 1c6a3cb28..78011543b 100644 --- a/rigs/yaesu/ft757gx.c +++ b/rigs/yaesu/ft757gx.c @@ -55,7 +55,7 @@ static int ft757gx_get_conf(RIG *rig, hamlib_token_t token, char *val); static int ft757gx_set_conf(RIG *rig, hamlib_token_t token, const char *val); static int ft757_set_freq(RIG *rig, vfo_t vfo, freq_t freq); -static int ft757_get_freq(RIG *rig, vfo_t vfo, freq_t *freq); +//static int ft757_get_freq(RIG *rig, vfo_t vfo, freq_t *freq); static int ft757gx_get_freq(RIG *rig, vfo_t vfo, freq_t *freq); static int ft757_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, @@ -230,7 +230,7 @@ struct rig_caps ft757gx2_caps = RIG_MODEL(RIG_MODEL_FT757GXII), .model_name = "FT-757GXII", .mfg_name = "Yaesu", - .version = "20200325.0", + .version = "20240927.0", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_MOBILE, @@ -338,7 +338,7 @@ struct rig_caps ft757gx2_caps = .rig_close = NULL, /* port closed */ .set_freq = ft757_set_freq, /* set freq */ - .get_freq = ft757_get_freq, /* get freq */ + .get_freq = ft757gx_get_freq, /* get freq */ .set_mode = ft757_set_mode, /* set mode */ .get_mode = ft757_get_mode, /* get mode */ .set_vfo = ft757_set_vfo, /* set vfo */ @@ -515,6 +515,7 @@ static int ft757gx_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) * Return Freq */ +#if 0 static int ft757_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) { struct ft757_priv_data *priv = (struct ft757_priv_data *)STATE(rig)->priv; @@ -552,6 +553,7 @@ static int ft757_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) *freq); return RIG_OK; } +#endif static int ft757_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) commit 6a9cec677af718d97f7f0097524cb235c4e16322 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Oct 4 15:43:29 2024 -0500 Have multicast wait until rig is powered on diff --git a/src/multicast.c b/src/multicast.c index 9ef201e12..1c7e57373 100644 --- a/src/multicast.c +++ b/src/multicast.c @@ -390,6 +390,12 @@ void *multicast_thread(void *vrig) while (rs->multicast->runflag) { + while (STATE(rig)->powerstat == RIG_POWER_OFF) + { + rig_debug(RIG_DEBUG_VERBOSE,"%s: waiting for RIG_POWER_ON\n", __func__); + hl_usleep(500*1000); + } + #if 0 if ((retval = rig_get_freq(rig, RIG_VFO_A, &freqA)) != RIG_OK) commit 0548fea7c1340efb1c7667bea834a0c1f164f455 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Oct 4 15:40:56 2024 -0500 Fix spelling error in misc.c diff --git a/src/misc.c b/src/misc.c index b4b86331d..bcc24d818 100644 --- a/src/misc.c +++ b/src/misc.c @@ -2879,7 +2879,7 @@ const char *spaces(int len) } // if which==0 rig_band_select str will be returned -// if which!=0 the rig_parm_gran band str will be returne +// if which!=0 the rig_parm_gran band str will be returned const char *rig_get_band_str(RIG *rig, hamlib_band_t band, int which) { int i; commit aa9d227d64c1a17af7ad224dd82bba221954accf Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Oct 4 15:39:17 2024 -0500 Add device_class strings to cm108 diff --git a/src/cm108.c b/src/cm108.c index 120a6ab23..3e4bac440 100644 --- a/src/cm108.c +++ b/src/cm108.c @@ -68,6 +68,66 @@ #include "cm108.h" +#include <stdio.h> + +const char* get_usb_device_class_string(int device_class) { + switch (device_class) { + case 0x00: + return "Device Unspecified (Defined at Interface level)"; + case 0x01: + return "Audio"; + case 0x02: + return "Communications and CDC Control"; + case 0x03: + return "Human Interface Device (HID)"; + case 0x05: + return "Physical Interface Device"; + case 0x06: + return "Image (Scanner, Camera)"; + case 0x07: + return "Printer"; + case 0x08: + return "Mass Storage"; + case 0x09: + return "Hub"; + case 0x0A: + return "CDC Data"; + case 0x0B: + return "Smart Card"; + case 0x0D: + return "Content Security"; + case 0x0E: + return "Video"; + case 0x0F: + return "Personal Healthcare"; + case 0x10: + return "Audio/Video Devices"; + case 0x11: + return "Billboard Device Class"; + case 0x12: + return "USB Type-C Bridge Class"; + case 0x13: + return "Bulk Display"; + case 0x14: + return "MCTCP over USB"; + case 0x3C: + return "I3C"; + case 0x58: + return "Xbox"; + case 0xDC: + return "Diagnostic Device"; + case 0xE0: + return "Wireless Controller"; + case 0xEF: + return "Miscellaneous"; + case 0xFE: + return "Application Specific"; + case 0xFF: + return "Vendor Specific"; + default: + return "Unknown Device Class"; + } +} /** * \brief Open CM108 HID port (/dev/hidraw<i>X</i>). commit e55c7dd8404d144c9b5219c07a2d500467710f8c Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Oct 4 15:38:24 2024 -0500 Change IC910 to use IC9700 set_vfo routine diff --git a/rigs/icom/ic910.c b/rigs/icom/ic910.c index 67c10ade9..8afbfd55a 100644 --- a/rigs/icom/ic910.c +++ b/rigs/icom/ic910.c @@ -196,12 +196,14 @@ int ic910_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) } } +extern int ic9700_set_vfo(RIG *rig, vfo_t vfo); + struct rig_caps ic910_caps = { RIG_MODEL(RIG_MODEL_IC910), .model_name = "IC-910", .mfg_name = "Icom", - .version = BACKEND_VER ".1", + .version = BACKEND_VER ".2", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_TRANSCEIVER, @@ -323,7 +325,7 @@ struct rig_caps ic910_caps = .set_ptt = icom_set_ptt, .get_ptt = icom_get_ptt, - .set_vfo = icom_set_vfo, + .set_vfo = ic9700_set_vfo, // .get_vfo = icom_get_vfo, .get_ts = icom_get_ts, .set_ts = icom_set_ts, commit db854ab8e029310471d971990da2eae46f76bc46 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Oct 4 15:36:50 2024 -0500 Add initializer-overrides to Makefile diff --git a/Makefile.am b/Makefile.am index 398b1f812..f191a4f69 100644 --- a/Makefile.am +++ b/Makefile.am @@ -30,4 +30,4 @@ DIST_SUBDIRS = macros include lib src c++ bindings tests doc android scripts rot # Install any third party macros into our tree for distribution ACLOCAL_AMFLAGS = -I macros --install -AM_CFLAGS=-D_TIME_BITS=64 +AM_CFLAGS=-D_TIME_BITS=64 -Winitializer-overrides commit 07e490eada0ab711b4b20fb184f2fc2304461be7 Author: Mike Black W9MDB <mdb...@ya...> Date: Thu Oct 3 22:23:46 2024 -0500 Add set_ts and get_ts to IC707 https://github.com/Hamlib/Hamlib/issues/1617 diff --git a/rigs/icom/ic707.c b/rigs/icom/ic707.c index b3ee6f9d8..d242a5215 100644 --- a/rigs/icom/ic707.c +++ b/rigs/icom/ic707.c @@ -59,7 +59,7 @@ struct rig_caps ic707_caps = RIG_MODEL(RIG_MODEL_IC707), .model_name = "IC-707", .mfg_name = "Icom", - .version = BACKEND_VER ".1", + .version = BACKEND_VER ".2", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_TRANSCEIVER, @@ -158,6 +158,8 @@ struct rig_caps ic707_caps = .get_split_freq = icom_get_split_freq, .set_split_mode = icom_set_split_mode, .get_split_mode = icom_get_split_mode, + .set_ts = icom_set_ts, + .get_ts = icom_get_ts, .scan = icom_scan, commit f33aa9a712c177bcfaf0e084bdb5ab996afbf2be Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Oct 1 22:31:16 2024 -0500 Fix IC707 tuning steps and memory items Add MEM_SPLIT diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index eeebb5f81..bbe579bc2 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -1671,7 +1671,8 @@ typedef enum { RIG_MTYPE_BAND, /*!< VFO/Band channel */ RIG_MTYPE_PRIO, /*!< Priority channel */ RIG_MTYPE_VOICE, /*!< Stored Voice Message */ - RIG_MTYPE_MORSE /*!< Morse Message */ + RIG_MTYPE_MORSE, /*!< Morse Message */ + RIG_MTYPE_SPLIT /*!< Split operations */ } chan_type_t; diff --git a/rigs/icom/ic707.c b/rigs/icom/ic707.c index 1b4834760..b3ee6f9d8 100644 --- a/rigs/icom/ic707.c +++ b/rigs/icom/ic707.c @@ -38,7 +38,7 @@ #define IC707_VFO_ALL (RIG_VFO_A|RIG_VFO_B|RIG_VFO_MEM) -#define IC707_VFO_OPS (RIG_OP_FROM_VFO|RIG_OP_TO_VFO|RIG_OP_CPY|RIG_OP_MCL) +#define IC707_VFO_OPS (RIG_OP_FROM_VFO|RIG_OP_TO_VFO|RIG_OP_CPY) #define IC707_SCAN_OPS (RIG_SCAN_VFO|RIG_SCAN_MEM) /* TBC */ @@ -59,9 +59,9 @@ struct rig_caps ic707_caps = RIG_MODEL(RIG_MODEL_IC707), .model_name = "IC-707", .mfg_name = "Icom", - .version = BACKEND_VER ".0", + .version = BACKEND_VER ".1", .copyright = "LGPL", - .status = RIG_STATUS_BETA, + .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_TRANSCEIVER, .ptt_type = RIG_PTT_NONE, .dcd_type = RIG_DCD_NONE, @@ -99,9 +99,9 @@ struct rig_caps ic707_caps = .chan_desc_sz = 0, .chan_list = { - { 1, 26, RIG_MTYPE_MEM, IC_MIN_MEM_CAP }, - { 27, 30, RIG_MTYPE_EDGE, IC_MIN_MEM_CAP }, - { 31, 35, RIG_MTYPE_SAT, IC_MIN_MEM_CAP }, /* split ? */ + { 1, 25, RIG_MTYPE_MEM, IC_MIN_MEM_CAP }, + { 26, 30, RIG_MTYPE_SPLIT, IC_MIN_MEM_CAP }, /* split ? */ + { 31, 32, RIG_MTYPE_EDGE, IC_MIN_MEM_CAP }, RIG_CHAN_END, }, @@ -126,7 +126,8 @@ struct rig_caps ic707_caps = }, .tuning_steps = { - {IC707_ALL_RX_MODES, 10}, /* basic resolution, there's no set_ts */ + {IC707_ALL_RX_MODES, 10}, + {IC707_ALL_RX_MODES, 1000}, RIG_TS_END, }, /* mode/filter list, remember: order matters! */ commit 141ca8bf3f5ea6b05fa6d1ed204b3369378091a2 Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Oct 1 22:30:06 2024 -0500 Fix r8500 tuning steps diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index e8dafa04f..75f16bf22 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -176,7 +176,7 @@ const struct ts_sc_list r8500_ts_sc_list[] = {50, 0x01}, {100, 0x02}, {kHz(1), 0x03}, - {12500, 0x04}, + {2500, 0x04}, {kHz(5), 0x05}, {kHz(9), 0x06}, {kHz(10), 0x07}, diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h index 2e0356eb8..b45c0b3da 100644 --- a/rigs/icom/icom.h +++ b/rigs/icom/icom.h @@ -35,7 +35,7 @@ #include <sys/time.h> #endif -#define BACKEND_VER "20240922" +#define BACKEND_VER "20241001" #define ICOM_IS_ID31 rig_is_model(rig, RIG_MODEL_ID31) #define ICOM_IS_ID51 rig_is_model(rig, RIG_MODEL_ID51) commit 64d39f58efe1601d89fd8067be172fd355b89c64 Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Oct 1 11:50:01 2024 -0500 Fix segfault in powerminmax for kenwood diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index 711bd6168..ad262512b 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -3034,8 +3034,10 @@ static int kenwood_get_power_minmax(RIG *rig, int *power_now, int *power_min, // TS890S can't take power levels outside 5-100 and 5-25 // So all we'll do is read power_now case RIG_MODEL_TS890S: - rs->power_min = *power_min = 5; - rs->power_max = *power_max = 100; + rs->power_min = 5; + rs->power_max = 100; + if (power_min) *power_min = 5; + if (power_max) *power_max = 5; if (rs->current_mode == RIG_MODE_AM) { *power_max = 50; } diff --git a/rigs/kenwood/kenwood.h b/rigs/kenwood/kenwood.h index 158f67125..171ba605c 100644 --- a/rigs/kenwood/kenwood.h +++ b/rigs/kenwood/kenwood.h @@ -28,7 +28,7 @@ #include "token.h" #include "idx_builtin.h" -#define BACKEND_VER "20240925" +#define BACKEND_VER "20241001" #define EOM_KEN ';' #define EOM_TH '\r' commit a6fe6b547539e14e8ecb2a28cce6eb7f2f47b2cd Author: Mike Black W9MDB <mdb...@ya...> Date: Sat Sep 28 22:50:25 2024 -0500 More sleep.c cleanup diff --git a/src/sleep.c b/src/sleep.c index 37b873e02..f02017f67 100644 --- a/src/sleep.c +++ b/src/sleep.c @@ -51,8 +51,6 @@ int hl_usleep(rig_useconds_t usec) { double sleep_time = usec / 1e6; struct timespec tv1; - double start_at = monotonic_seconds(); - double end_at = start_at + sleep_time; double delay = sleep_time; if (sleep_time > .001) { delay -= .0001; } @@ -86,6 +84,8 @@ int hl_usleep(rig_useconds_t usec) { struct timespec tv2; double lasterr = 0; + double start_at = monotonic_seconds(); + double end_at = start_at + sleep_time; tv2.tv_sec = 0; tv2.tv_nsec = 1000000; nanosleep(&tv1, NULL); commit 548745d1f04fa327516ab125c66b1e7049abfdba Author: Mike Black W9MDB <mdb...@ya...> Date: Sat Sep 28 22:48:11 2024 -0500 Clean up sleep.c diff --git a/src/sleep.c b/src/sleep.c index 347962dce..37b873e02 100644 --- a/src/sleep.c +++ b/src/sleep.c @@ -50,19 +50,16 @@ extern double monotonic_seconds(); int hl_usleep(rig_useconds_t usec) { double sleep_time = usec / 1e6; - struct timespec tv1, tv2; + struct timespec tv1; double start_at = monotonic_seconds(); double end_at = start_at + sleep_time; double delay = sleep_time; - double lasterr = 0; if (sleep_time > .001) { delay -= .0001; } else if (sleep_time > .0001) { delay -= .00005; } tv1.tv_sec = (time_t) delay; tv1.tv_nsec = (long)((delay - tv1.tv_sec) * 1e+9); - tv2.tv_sec = 0; - tv2.tv_nsec = 1000000; // rig_debug(RIG_DEBUG_CACHE,"usec=%ld, sleep_time=%f, tv1=%ld,%ld\n", usec, sleep_time, (long)tv1.tv_sec, // (long)tv1.tv_nsec); @@ -74,26 +71,30 @@ int hl_usleep(rig_useconds_t usec) double elapsed; QueryPerformanceFrequency(&frequency); QueryPerformanceCounter(&start); - long long loops=0; do { struct timespec startc; clock_gettime(CLOCK_REALTIME, &startc); QueryPerformanceCounter(&end); elapsed = (double)(end.QuadPart - start.QuadPart) / frequency.QuadPart; - ++loops; } while (elapsed < sleep_time); } else { // Use Sleep for larger durations >= 3 milliseconds //Sleep((DWORD)(seconds * 1000 - 1)); // Convert seconds to milliseconds - usleep(sleep_time*1e6-400); + usleep(sleep_time*1e6-400); } #else + { + struct timespec tv2; + double lasterr = 0; + tv2.tv_sec = 0; + tv2.tv_nsec = 1000000; nanosleep(&tv1, NULL); while (((lasterr = end_at - monotonic_seconds()) > 0)) { nanosleep(&tv2, NULL); } + } #endif return 0; commit 7bde413c52a8d3b31e269b3107605eb255a58446 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Sep 27 22:57:58 2024 -0500 New hl_usleep routine to fix power on/on slowness and a little faster performance to boot. Times < 3ms use busy-wait for accuracy -- can't find any wait state to minimize CPU usage for those small times. https://github.com/Hamlib/Hamlib/issues/1601 https://github.com/Hamlib/Hamlib/issues/1604 diff --git a/src/sleep.c b/src/sleep.c index bf1dc5454..347962dce 100644 --- a/src/sleep.c +++ b/src/sleep.c @@ -67,15 +67,26 @@ int hl_usleep(rig_useconds_t usec) // (long)tv1.tv_nsec); #ifdef __WIN32__ - timeBeginPeriod(1); - nanosleep(&tv1, NULL); - while ((lasterr = end_at - monotonic_seconds()) > 0) - { - nanosleep(&tv2, NULL); + if (sleep_time < 0.003) { + // Busy-wait for small durations < 2 milliseconds + LARGE_INTEGER frequency, start, end; + double elapsed; + QueryPerformanceFrequency(&frequency); + QueryPerformanceCounter(&start); + long long loops=0; + do { + struct timespec startc; + clock_gettime(CLOCK_REALTIME, &startc); + QueryPerformanceCounter(&end); + elapsed = (double)(end.QuadPart - start.QuadPart) / frequency.QuadPart; + ++loops; + } while (elapsed < sleep_time); + } else { + // Use Sleep for larger durations >= 3 milliseconds + //Sleep((DWORD)(seconds * 1000 - 1)); // Convert seconds to milliseconds + usleep(sleep_time*1e6-400); } - - timeEndPeriod(1); #else nanosleep(&tv1, NULL); commit 0b12c5cfff269ecde77c51d5adc107bd1744465f Author: Mike Black W9MDB <mdb...@ya...> Date: Wed Sep 25 22:35:16 2024 -0500 Fix power_min/max segfault diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index 536ee5e73..711bd6168 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -3064,8 +3064,8 @@ static int kenwood_get_power_minmax(RIG *rig, int *power_now, int *power_min, __func__); // return the last values we got *power_now = rs->power_now; - *power_min = rs->power_min; - *power_max = rs->power_max; + if (power_min) *power_min = rs->power_min; + if (power_max) *power_max = rs->power_max; RETURNFUNC(RIG_OK); } diff --git a/rigs/kenwood/kenwood.h b/rigs/kenwood/kenwood.h index 04d39b76f..158f67125 100644 --- a/rigs/kenwood/kenwood.h +++ b/rigs/kenwood/kenwood.h @@ -28,7 +28,7 @@ #include "token.h" #include "idx_builtin.h" -#define BACKEND_VER "20240919" +#define BACKEND_VER "20240925" #define EOM_KEN ';' #define EOM_TH '\r' commit 23e373b99dcff7ddf173cad79aad1a639ed30bc2 Author: Mike Black W9MDB <mdb...@ya...> Date: Sun Sep 22 10:41:02 2024 -0500 Speed up FT991 power on -- more rigs can added when identified https://github.com/Hamlib/Hamlib/issues/1601 diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c index e87ac16ae..ba22ec713 100644 --- a/rigs/yaesu/newcat.c +++ b/rigs/yaesu/newcat.c @@ -3706,10 +3706,14 @@ int newcat_set_powerstat(RIG *rig, powerstat_t status) // so we reopen the com port again HAMLIB_TRACE; //oser_close(rp); - rig_close(rig); - hl_usleep(3000000); - //PTTPORT(rig)->fd = ser_open(rp); - rig_open(rig); + // we can add more rigs to this exception to speed t... [truncated message content] |