[Hamlib-commits] Hamlib -- Ham radio control libraries branch master updated. 6f967a68d5a6c0fda3e0d
Library to control radio transceivers and receivers
Brought to you by:
n0nb
From: Nate B. <n0...@us...> - 2022-08-25 18:40:10
|
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 6f967a68d5a6c0fda3e0d4092dde54eb6ffd4c32 (commit) via efd166fb50f0bea3887c4d40b3ed951312fb113c (commit) via 2c5013662dfe3158b2c3806e59be2c62fb277915 (commit) via dc02c566f5f5c9f257de99d1724d786ee8b47bc0 (commit) via ef06b358d7f1fc477608f3dc2cd167f45592a71d (commit) via 2275bf51f85fba88d405e4e206cbc941692106f4 (commit) via 95126fd350169c778c7f53b1233a78835874aec4 (commit) via f8f0678988c36abf2e042f97fc4166d6c91cb59b (commit) via 4664620b92b0f5167db1043fa98f727b396bcb04 (commit) via 3f99ec47db8a0aefdf50410dfcdcc62a942e9f21 (commit) via e86e05bce33df755f5a650fde3c5bbf79433d79e (commit) via e8fa723bc88d8ba4934895afa85196a217c8b749 (commit) via 2fdf608793074ce36d5e9ed7f86ef52ca6ab974b (commit) via c34f71933780245fb48a9d448b43c07fcc9b3226 (commit) via 2f08201f1295626fded6c01710fbccdce7d01e88 (commit) via ce5c90a6c72229e0f9fc1e1e48987c81c53d6c9e (commit) via b4150fce198daa77687cc868128be3e8b4b02e50 (commit) via d0dcfbff84597d4814e73256804d1fe6cf4d589f (commit) via abc2d5a84613691bbe7b2e6e5332797865295f9c (commit) via b97b8b0fe7c0b76f3e4715416c1da39d800c5e5e (commit) via 28b1a9bb9525be07f7d80212e17b4d744a0dc9f5 (commit) via 179ee66f0d788b95d3d26363391b6e64b4cb8ab6 (commit) via 6965927fb4b610e36edcc43dff8769f2a9a01b15 (commit) via ed5a26ac4e8670424ab7c686f5db88e362fa0595 (commit) via deb5ea6d6fa0adf09eb0ec07697d80b3739191d6 (commit) via 4442f67e7adc40ab3a705834d602f4b0f2d6da2c (commit) via 88f5022079a7d5dcad2047f5d43dffee2f130de7 (commit) via 23fcad6d866911c346028b750beebef5fd1799c9 (commit) via 34e651cf62ecc32649a29d1a68a07d47ff6dc686 (commit) via 2b4411c9c3a26f81d4428a97b1d2399ed1e4b6f7 (commit) via fb62a2f8814145e469d8762c713c089843f7e1e7 (commit) via 36e88e705b2a4260c84cac52b2c0b049ca5b2be5 (commit) via c4a2f647882be5596809b06379b69b146b353c5b (commit) via fa162231e7672575ed9889641f9f1414d538a1a2 (commit) via 7b8aa15b9c1112b9ed790ad481a0eaf5644c4d83 (commit) via 824a6d11fc37fb2877ab5bbe487d911c7ae56b45 (commit) via 810da5f54c7533289c2d4c86d20fedf3f57cbf0a (commit) via eea51fe7c7ce25643699bd7c9b73153ece3cac0f (commit) via 3c4a9f162714e9ad8686692df3ec15c34dfa2602 (commit) via 32f9353c03b5426304c1828fb9b0b62fe6079afa (commit) via 1830d768d69e7058ede6189b385ad5222a4d889e (commit) via f32af7496d07c74a5157c195c623f834c5ed07f4 (commit) via a81c295b3c20a333f5a058507437bbeb10b637e9 (commit) via 8c172af2249401eae0076a3dda178b18d8a73e29 (commit) via e8c36b2b4bca47b8209d1ba90369364fb6847aa9 (commit) via 0e85260d0fdf30cdb554a932cc35163a374fca99 (commit) via 5ee3c15c3b4f25215493c63e0a7748e27db83105 (commit) via 3762823255486f9ac0277f8369e50535838e5aa5 (commit) via 65a2101aff39e9db2891be233f37e5f05a795f7c (commit) via 998715f3f49f8274ae385fb102238e104246177a (commit) via 0b059cdb93b02b3dc069f2b13df4687a92e906f0 (commit) via e76bbf0e51145a734314371314687c9f50e09042 (commit) via 6bd647f4ed327d7b71deb401e216c76d5a74e1bb (commit) via 51650e94254fd737b3b83d920445753ab2665339 (commit) via 57f486bcc2341eb7ff7688cff0b373c1bac4ea39 (commit) via 0ff94e1a7ee3f1f42660db030f77bb4e1c43f438 (commit) via 81f8b03630eb8f0fb913a063160265930c486258 (commit) via 57dcd19bb3f1ac13731279752f29c60761a35c29 (commit) via 8e31b1363b0bc58af9ac938d2a5dcedba8aa1acf (commit) via 37830f7442b0525cdc4d0a3b6deebdc9b5a2802e (commit) via 1191ddc602079ed0bf41f0d885f42de0b1de5f22 (commit) via 36838e2f730a52fa428c82fbe41591bf409b6a40 (commit) via 2b7c2ab5ce16275eece683729bbaceb3aad703f5 (commit) via 2703aa7dab2d179676443985df14541c64c0ccdf (commit) via 69c85a13c096137b0da4110a80a48e46a230cba2 (commit) via 362dfe2612ce89fbb4d5932083ffb9a9374b9160 (commit) via 38801283703ee35722b632e88b32f90107c76295 (commit) via 64e226045a01d52a9ff6601be8161b0f3224a6d7 (commit) via 36c777e8bbd61600b89253656d1c6263206310cd (commit) via 2da9e4903a38080c26db350697eec53504a5f5c6 (commit) via be3865693ae87baee1c95e3622466d2c64eb402f (commit) via 15f54ccab5c235c917b64422e186df1d3fdad0f7 (commit) via 4385b50b1f4ce29475c08999aae45bc961307118 (commit) via 64c8327190a05efa3659dcd0b352ecaeda31df26 (commit) via 1f05801d0f1f828b7a98cad6bf587d5758b5456c (commit) via 57aa5e839952122cfe725d8747d8b5fc7ba9a950 (commit) via a83eb3bf42bcbfacb7f23f1ef551af5fcdc3e387 (commit) via 44ad5c63637aa7402695ef994ec9f380f1d00aa1 (commit) via 627ec8365222b2f8e59ffba2b907bb3b74d4bfea (commit) via dd3208ad348a676fb00461f2747d2f81d142346b (commit) via 027b3ee0a56b2325e0c72c94143a498dc9680f2d (commit) via 0c89bcd89fc0aaf5440d7bface9418b32eb114e6 (commit) via 9715babfafd75aea210fce438751aae376959f5e (commit) via f8039c9d91f42916c02b4124c5d961a82698aa5d (commit) via 21e6e9bf2a2d216961e7515121bf02f965a41d32 (commit) via d8b33f3b0e7d516f2d1482edb747266b768ea7b6 (commit) via aa130e547453669e93071d3ab07170ead84de9bd (commit) via 8af92926bb3daed970ed5738db67dd805015e005 (commit) via 74b4d7beb6deb708eb745e3c61e512e8b72eb5f2 (commit) via 7a132e2703b347ba9c3384c2103f5fcfa1452151 (commit) via 34018600ee840ea3ccaefe8f649f20cbcd4fe41b (commit) via 5f7b56801bb35bdeeefa14b1041071648cb18088 (commit) via 4dfe46edbb67caff669b554665ba2b1aeb12a937 (commit) via b7cbd39d1d9250efe6ccaf4c2ce89ead2e7a6531 (commit) via 8e9dea8ca989d6cadb26f4ad8e37bdf8978e77f3 (commit) via ff15e141ef92fd1255d8508c81604a49582eb16e (commit) via 05941406daeef734e6c6adf321a9904c1a8d5b6d (commit) via 02b2dad5b08ffe9b326444869a6fc3edce0b24e0 (commit) via 1c0655a9f5b67da1cbb5785ac3f03017ceff72a4 (commit) via 72c6bbf2c313e2fc94e7fc970294ac15d494d9ea (commit) via 4677fb16d471043cc500c4e7737722387320a3c9 (commit) via 4627e7c4fb07267dd15413ce5935505380b11cf1 (commit) via f4f7bc90814c14747aba264863ccc953413f4481 (commit) via 67248edfb819aa971d515e7cf9093cbcba7e704b (commit) via bceac4b40146b0087e8d518d181b4ce541f4f87e (commit) via 6d329131afb4fa1db43094f670dddbc2d4203da4 (commit) via 946408e0de1db9436ff46ccd9f985be28d3964c2 (commit) via cbef79b87356a7833ff340cd878355a76a5e7ccf (commit) via cc7c5961a0ce6d8cc2a449c009a715546639ad1a (commit) via d9c7fda5c9bd2505974bda8c79310d658f167ee2 (commit) via ea9257db45231d8fef6a64b7e7086f63b996af2a (commit) via 4d41dd140fdf890f0ef851066a4afb54018c32c7 (commit) via 8be68aacff211604f373930b1ef97d28e15370e3 (commit) via ccea73e631d8a7cac0280f9ccecc8c12cf77858f (commit) via 93ca57a555c9cf31475e0ba0834265e055c2d59d (commit) via 74aba61978699a5cd4f5bd92859e86c16d4b5d39 (commit) via 0e2ec276466621d761574b9e21750f52eb0ba317 (commit) via d0c615ae437a75f4f80925ccc67cfa3665d4ddf1 (commit) via 668db3a0e280cbe17a560462b4affd4bd1aa5aca (commit) via 30884ae47e244ec4fb8866cce86561b247ec78dc (commit) via 71f5766d5777fec453a3555a96f5a2df668854bd (commit) via 1566ceae3545775c8ed5641953fb2c098054228b (commit) via d0a09d49cc0527e8496c2d37952c4aa0f4921122 (commit) via 94338d46dd30f47880f8d66f85986a2e4431cbca (commit) via 2835c431dfe485a4341b84d62317ab2951df1743 (commit) via 363219e60a1db57d06ece703299c449bed37a6ec (commit) via 7b49921468d4c953b2eb2acbf777216fbd6e9c68 (commit) via a331b59f5f8b64c9b99f7551cbdbaecfcf24ad41 (commit) via e5ba9c401af5a7d0ae33e58a7f803dd2da3f117d (commit) via 0ec962243383d5d4f5bc7832d25432fd4abf51bf (commit) via 9f3314085aefb9c3ba71a01c316e0dc6b5412808 (commit) via b1369f9458b8dc023ef084f6d9dc5da37a3fdbd1 (commit) via 8acbef68aeb18ef2c29270198cb54131ecff3349 (commit) via 08c06aea147efe28d56baaf308b03d8463c9600e (commit) via 0e79b256555a01dd7c536e2211dfd98c91e0a2fd (commit) via 28e3ed2c37f5c2cd70b80e784bc44e4802ddff02 (commit) via 994d7a2ca6fdbb139d63411bbf22c6ac0a6e3cb7 (commit) via 6019873b666c6f99c943aa889866b91479d90122 (commit) via fc6e4321433cb5c532b522d7360b2e1ea30e4e69 (commit) via 5e6c1eaef868c61991a4c21628d77654482a1d04 (commit) via 4bdbb9954c18d46385bba5c63cafb9d5da293b22 (commit) via 5097d024ebed8448c1fbe06be6192a0215f23417 (commit) via e34c70cfb247fa4d9f9ace51bf2b7089d87d23f0 (commit) via 7708e979d989bb8d727884f54558d98c1c03744e (commit) via fc0e80a0d1dd2c44702b6c9f4049954a80267ab9 (commit) via 7dee3aaf5d6ddcb870701995c48f9ae3d4f72fe3 (commit) via 944a52e6643e9d5f74ad9ab9bf7a6634cb4ed987 (commit) via 04b9353d88904bdca59942c1a98437a8b6606170 (commit) via a8326ba4b5382334a9b2b060b75cacc33a89c0a1 (commit) via aa616b3707f88b39eb6717436e7a2fdcae3e769f (commit) via 3b7635ba7a876da30d8f633d1a585fb094e4d001 (commit) via cd2b73415076488f47821b705ff6e4cfc16eb3be (commit) via f4d0e3e4025048dcd1871708226b825927d47e01 (commit) via 64183e7d34b4256a43e5409de2c4870d632a195a (commit) via 0bcf9a8f9867fb607bec384c4fc1f6c7c8363bfe (commit) via 57112572799dabb1130bae719c11ef1c20b969a3 (commit) via 2f4bca95f75f1a2ba10f9ce0a2f3cda4bbe580a4 (commit) via b5f9f06cb0a86568b4da49e6f41d1e3bb7b4337a (commit) via 7a7342320008d77fe25a101c1dde73bee1f7b891 (commit) via 6955a0ed4f62f23d7c2f9c927c7daacd8ddcc420 (commit) via 04250b32032bca77a2c49ad5f10ab21a8460cef7 (commit) via d1640bd896e150f5898a4039255a407f6f3cc066 (commit) via 05c5724bcf9df2421e382d7c890475150a5957b7 (commit) via eccdfa564fb26fea6ad51d08e529db3796d91d54 (commit) via 0b6161c8e44f5c31680b41fb87e34eeb81ad039d (commit) via d3659ef996d1ddcd6fe24ba278fa7687ab890ac4 (commit) via 021dbcd26e681e9768045e892fe7fb14fa56427f (commit) via 7944ea511d7218e3d72d57a97bb01d778ab002bb (commit) via e716a010e8eb62b8430b28b661f958ad935e25ca (commit) via e7f51edfcb904a27ae107e31fb7690f31bc4962c (commit) via 214835339c7b7485c25d84d85ded10a5d8f68c28 (commit) via be58dae67492743164a098b01e835fa4cd4b5695 (commit) via 6513b485c93d052003b69911805261a2be92e818 (commit) via 28d304e8fe55eb400142ae35ee96bde88212f89f (commit) via 844141dbd88e05d1d0f7b980eca66be63299db27 (commit) via 5c9df8e27d75b262b21071a554f44488eae540af (commit) via 5e9bfed4cef2179da644822e26728d1faaf744fc (commit) via fdbdb388e20443a52686f745687bff701fa1cf6b (commit) via 521d3f6ac3b25799d80658e7dbd0bb7930b4180a (commit) from afabcfffa5ccb480e7d785c5f7e270c9779b8949 (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 6f967a68d5a6c0fda3e0d4092dde54eb6ffd4c32 Author: Mike Black W9MDB <mdb...@ya...> Date: Tue Aug 23 17:20:03 2022 -0500 Make pthread.h a default include and remove config.h from being included in rig.h https://github.com/Hamlib/Hamlib/milestone/14 diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index 2717adcb..a491ebfb 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -37,10 +37,7 @@ #include <string.h> #include <inttypes.h> #include <time.h> -#include <hamlib/config.h> -#ifdef HAVE_PTHREAD #include <pthread.h> -#endif /* Rig list is in a separate file so as not to mess up w/ this one */ #include <hamlib/riglist.h> @@ -2571,9 +2568,7 @@ struct rig_state { void *async_data_handler_priv_data; volatile int poll_routine_thread_run; void *poll_routine_priv_data; -#ifdef HAVE_PTHREAD pthread_mutex_t mutex_set_transaction; -#endif hamlib_port_t rigport; /*!< Rig port (internal use). */ hamlib_port_t pttport; /*!< PTT port (internal use). */ hamlib_port_t dcdport; /*!< DCD port (internal use). */ diff --git a/security/security.c b/security/security.c index cc661eee..bc45f322 100644 --- a/security/security.c +++ b/security/security.c @@ -27,6 +27,7 @@ #include "AESStringCrypt.h" #include "password.h" #include "../src/misc.h" +#include "hamlib/config.h" #if defined(_WIN32) // gmtime_r can be defined by mingw diff --git a/src/misc.h b/src/misc.h index 063385e8..b85f969b 100644 --- a/src/misc.h +++ b/src/misc.h @@ -23,6 +23,7 @@ #define _MISC_H 1 #include <hamlib/rig.h> +#include <hamlib/config.h> /* commit efd166fb50f0bea3887c4d40b3ed951312fb113c Merge: ef06b358 2c501366 Author: Michael Black <mdb...@ya...> Date: Tue Aug 23 12:11:51 2022 -0500 Merge pull request #1106 from mikaelnousiainen/fix-yaesu-power-off-handling Fix handling of EPOWER error code and reduce unnecessary commands in Yaesu newcat backend commit 2c5013662dfe3158b2c3806e59be2c62fb277915 Author: Mikael Nousiainen <mik...@ik...> Date: Tue Aug 23 00:14:12 2022 +0300 Fix warning message for allowed commands when rig is powered off diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c index caeb5956..d6ee9489 100644 --- a/tests/rigctl_parse.c +++ b/tests/rigctl_parse.c @@ -1745,9 +1745,8 @@ readline_repeat: && cmd_entry->cmd != 0xf0 // chk_vfo && cmd_entry->cmd != 0x87) // set_powerstat { - //rig_debug(RIG_DEBUG_WARN, "%s: %s - only \\set_powerstat can be run \n", __func__, rigerror(-RIG_EPOWER)); rig_debug(RIG_DEBUG_WARN, - "%s: only \\set_powerstat can be run when rig powered off\n", __func__); + "%s: command %s not allowed when rig is powered off\n", __func__, cmd_entry->name); retcode = -RIG_EPOWER; } else commit dc02c566f5f5c9f257de99d1724d786ee8b47bc0 Author: Mikael Nousiainen <mik...@ik...> Date: Tue Aug 23 00:10:25 2022 +0300 Fix handling of the new EPOWER error code: do not re-open rig and fix/extend allowed commands when rig is powered off. Fix Yaesu newcat backend to not try to call rig ID command during command validation. diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index 505bc94f..2717adcb 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -176,7 +176,8 @@ enum rig_errcode_e { */ #define RIG_IS_SOFT_ERRCODE(errcode) (errcode == RIG_EINVAL || errcode == RIG_ENIMPL || errcode == RIG_ERJCTED \ || errcode == RIG_ETRUNC || errcode == RIG_ENAVAIL || errcode == RIG_ENTARGET \ - || errcode == RIG_EVFO || errcode == RIG_EDOM || errcode == RIG_ESECURITY) + || errcode == RIG_EVFO || errcode == RIG_EDOM || errcode == RIG_EDEPRECATED \ + || errcode == RIG_ESECURITY || errcode == RIG_EPOWER) /** * \brief Token in the netrigctl protocol for returning error code diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c index 23e246e1..f9265f0b 100644 --- a/rigs/yaesu/newcat.c +++ b/rigs/yaesu/newcat.c @@ -481,6 +481,26 @@ int newcat_init(RIG *rig) priv->current_mem = NC_MEM_CHANNEL_NONE; priv->fast_set_commands = FALSE; + /* + * Determine the type of rig from the model number. Note it is + * possible for several model variants to exist; i.e., all the + * FT-9000 variants. + */ + + is_ft450 = newcat_is_rig(rig, RIG_MODEL_FT450); + is_ft891 = newcat_is_rig(rig, RIG_MODEL_FT891); + is_ft950 = newcat_is_rig(rig, RIG_MODEL_FT950); + is_ft991 = newcat_is_rig(rig, RIG_MODEL_FT991); + is_ft2000 = newcat_is_rig(rig, RIG_MODEL_FT2000); + is_ftdx9000 = newcat_is_rig(rig, RIG_MODEL_FT9000); + is_ftdx5000 = newcat_is_rig(rig, RIG_MODEL_FTDX5000); + is_ftdx1200 = newcat_is_rig(rig, RIG_MODEL_FTDX1200); + is_ftdx3000 = newcat_is_rig(rig, RIG_MODEL_FTDX3000); + is_ftdx3000dm = FALSE; // Detected dynamically + is_ftdx101d = newcat_is_rig(rig, RIG_MODEL_FTDX101D); + is_ftdx101mp = newcat_is_rig(rig, RIG_MODEL_FTDX101MP); + is_ftdx10 = newcat_is_rig(rig, RIG_MODEL_FTDX10); + RETURNFUNC(RIG_OK); } @@ -7327,26 +7347,6 @@ ncboolean newcat_valid_command(RIG *rig, char const *const command) RETURNFUNC2(FALSE); } - /* - * Determine the type of rig from the model number. Note it is - * possible for several model variants to exist; i.e., all the - * FT-9000 variants. - */ - - is_ft450 = newcat_is_rig(rig, RIG_MODEL_FT450); - is_ft891 = newcat_is_rig(rig, RIG_MODEL_FT891); - is_ft950 = newcat_is_rig(rig, RIG_MODEL_FT950); - is_ft991 = newcat_is_rig(rig, RIG_MODEL_FT991); - is_ft2000 = newcat_is_rig(rig, RIG_MODEL_FT2000); - is_ftdx9000 = newcat_is_rig(rig, RIG_MODEL_FT9000); - is_ftdx5000 = newcat_is_rig(rig, RIG_MODEL_FTDX5000); - is_ftdx1200 = newcat_is_rig(rig, RIG_MODEL_FTDX1200); - is_ftdx3000 = newcat_is_rig(rig, RIG_MODEL_FTDX3000); - is_ftdx3000dm = newcat_get_rigid(rig) == 462; - is_ftdx101d = newcat_is_rig(rig, RIG_MODEL_FTDX101D); - is_ftdx101mp = newcat_is_rig(rig, RIG_MODEL_FTDX101MP); - is_ftdx10 = newcat_is_rig(rig, RIG_MODEL_FTDX10); - if (!is_ft450 && !is_ft950 && !is_ft891 && !is_ft991 && !is_ft2000 && !is_ftdx5000 && !is_ftdx9000 && !is_ftdx1200 && !is_ftdx3000 && !is_ftdx101d && !is_ftdx101mp && !is_ftdx10) @@ -10082,6 +10082,8 @@ int newcat_get_rigid(RIG *rig) { s += 2; /* ID0310, jump past ID */ priv->rig_id = atoi(s); + + is_ftdx3000dm = priv->rig_id == NC_RIGID_FTDX3000DM; } rig_debug(RIG_DEBUG_TRACE, "rig_id = %d, idstr = %s\n", priv->rig_id, diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c index 57cce91b..caeb5956 100644 --- a/tests/rigctl_parse.c +++ b/tests/rigctl_parse.c @@ -1737,10 +1737,11 @@ readline_repeat: if (retcode == RIG_OK) { rig_powerstat = stat; } } - // only command allows when powered off is 0x87=set_powerstat - if (retcode == RIG_OK && (rig_powerstat == RIG_POWER_OFF - || rig_powerstat == RIG_POWER_STANDBY) - && cmd_entry->cmd != 0x01 // dump_caps + // Allow only certain commands when the rig is powered off + if (retcode == RIG_OK && (rig_powerstat == RIG_POWER_OFF || rig_powerstat == RIG_POWER_STANDBY) + && cmd_entry->cmd != '1' // dump_caps + && cmd_entry->cmd != '3' // dump_conf + && cmd_entry->cmd != 0x8f // dump_state && cmd_entry->cmd != 0xf0 // chk_vfo && cmd_entry->cmd != 0x87) // set_powerstat { commit ef06b358d7f1fc477608f3dc2cd167f45592a71d Author: Mike Black W9MDB <mdb...@ya...> Date: Mon Aug 22 15:55:35 2022 -0500 Add verification of EX commands in newcat.c diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c index 23e246e1..7335794c 100644 --- a/rigs/yaesu/newcat.c +++ b/rigs/yaesu/newcat.c @@ -607,9 +607,8 @@ int newcat_open(RIG *rig) rig_debug(RIG_DEBUG_ERR, "%s: FTDX5000 CAT RATE error: %s\n", __func__, rigerror(err)); } - SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "EX033;"); - newcat_get_cmd(rig); } + if (priv->rig_id == NC_RIGID_FTDX3000 || priv->rig_id == NC_RIGID_FTDX3000DM) { int err; @@ -621,8 +620,6 @@ int newcat_open(RIG *rig) rig_debug(RIG_DEBUG_ERR, "%s: FTDX5000 CAT RATE error: %s\n", __func__, rigerror(err)); } - SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "EX039;"); - newcat_get_cmd(rig); } RETURNFUNC(RIG_OK); @@ -2578,7 +2575,9 @@ int newcat_get_split_vfo(RIG *rig, vfo_t vfo, split_t *split, vfo_t *tx_vfo) // we assume split is always on VFO_B //if (*tx_vfo == RIG_VFO_B || *tx_vfo == RIG_VFO_SUB) - rig_debug(RIG_DEBUG_TRACE, "%s: tx_vfo=%s, curr_vfo=%s\n", __func__, rig_strvfo(*tx_vfo), rig_strvfo(rig->state.current_vfo)); + rig_debug(RIG_DEBUG_TRACE, "%s: tx_vfo=%s, curr_vfo=%s\n", __func__, + rig_strvfo(*tx_vfo), rig_strvfo(rig->state.current_vfo)); + if (*tx_vfo != rig->state.current_vfo) { *split = RIG_SPLIT_ON; @@ -7531,8 +7530,9 @@ int newcat_set_tx_vfo(RIG *rig, vfo_t tx_vfo) { HAMLIB_TRACE; p1 = p1 + 2; /* use non-Toggle commands */ + // If VFOB is active then we change VFOB with FT3 instead of VFOA - if (rig->state.current_vfo == RIG_VFO_B) p1++; + if (rig->state.current_vfo == RIG_VFO_B) { p1++; } } if (is_ftdx101d || is_ftdx101mp) @@ -10465,7 +10465,8 @@ int newcat_set_cmd_validate(RIG *rig) { strcpy(valcmd, "FA;"); - if (priv->rig_id == NC_RIGID_FTDX3000 || priv->rig_id == NC_RIGID_FTDX5000 || priv->rig_id == NC_RIGID_FTDX3000DM) + if (priv->rig_id == NC_RIGID_FTDX3000 || priv->rig_id == NC_RIGID_FTDX5000 + || priv->rig_id == NC_RIGID_FTDX3000DM) { strcpy(valcmd, ""); } @@ -10474,7 +10475,8 @@ int newcat_set_cmd_validate(RIG *rig) { strcpy(valcmd, "FB;"); - if (priv->rig_id == NC_RIGID_FTDX3000 || priv->rig_id == NC_RIGID_FTDX5000 || priv->rig_id == NC_RIGID_FTDX3000DM) + if (priv->rig_id == NC_RIGID_FTDX3000 || priv->rig_id == NC_RIGID_FTDX5000 + || priv->rig_id == NC_RIGID_FTDX3000DM) { strcpy(valcmd, ""); } @@ -10545,6 +10547,17 @@ int newcat_set_cmd_validate(RIG *rig) { strcpy(valcmd, "FA;"); // nothing to validate } + else if (strncmp(priv->cmd_str, "EX", 2) == 0) + { + char *p = strchr(priv->cmd_str, ';'); + + if (p) + { + strcpy(valcmd, priv->cmd_str); // we query the same number + *p = '\0'; + *(p - 1) = ';'; + } + } else { rig_debug(RIG_DEBUG_TRACE, "%s: %s not implemented\n", __func__, priv->cmd_str); diff --git a/rigs/yaesu/newcat.h b/rigs/yaesu/newcat.h index 08dd7573..f9dda6c4 100644 --- a/rigs/yaesu/newcat.h +++ b/rigs/yaesu/newcat.h @@ -50,7 +50,7 @@ typedef char ncboolean; /* shared function version */ -#define NEWCAT_VER "20220821" +#define NEWCAT_VER "20220822" /* Hopefully large enough for future use, 128 chars plus '\0' */ #define NEWCAT_DATA_LEN 129 commit 2275bf51f85fba88d405e4e206cbc941692106f4 Author: Mike Black W9MDB <mdb...@ya...> Date: Sun Aug 21 12:20:01 2022 -0500 When Yaeus rigs are split and tx is on VFOA then turning split off will remain on VFOB tx/rx https://github.com/Hamlib/Hamlib/issues/1100 diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c index bcdc4b72..23e246e1 100644 --- a/rigs/yaesu/newcat.c +++ b/rigs/yaesu/newcat.c @@ -7531,6 +7531,8 @@ int newcat_set_tx_vfo(RIG *rig, vfo_t tx_vfo) { HAMLIB_TRACE; p1 = p1 + 2; /* use non-Toggle commands */ + // If VFOB is active then we change VFOB with FT3 instead of VFOA + if (rig->state.current_vfo == RIG_VFO_B) p1++; } if (is_ftdx101d || is_ftdx101mp) commit 95126fd350169c778c7f53b1233a78835874aec4 Author: Mike Black W9MDB <mdb...@ya...> Date: Sun Aug 21 12:00:38 2022 -0500 Add EX echo as separte get_cmd call for CAT TOT TIMEOUT Could do this for other EX commands too https://github.com/Hamlib/Hamlib/issues/1100 diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c index fc5f76f9..bcdc4b72 100644 --- a/rigs/yaesu/newcat.c +++ b/rigs/yaesu/newcat.c @@ -607,6 +607,8 @@ int newcat_open(RIG *rig) rig_debug(RIG_DEBUG_ERR, "%s: FTDX5000 CAT RATE error: %s\n", __func__, rigerror(err)); } + SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "EX033;"); + newcat_get_cmd(rig); } if (priv->rig_id == NC_RIGID_FTDX3000 || priv->rig_id == NC_RIGID_FTDX3000DM) { @@ -619,6 +621,8 @@ int newcat_open(RIG *rig) rig_debug(RIG_DEBUG_ERR, "%s: FTDX5000 CAT RATE error: %s\n", __func__, rigerror(err)); } + SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "EX039;"); + newcat_get_cmd(rig); } RETURNFUNC(RIG_OK); commit f8f0678988c36abf2e042f97fc4166d6c91cb59b Author: Mike Black W9MDB <mdb...@ya...> Date: Sun Aug 21 11:57:53 2022 -0500 Take out EX echo request -- can't do that as EX command does not expect response https://github.com/Hamlib/Hamlib/issues/1100 diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c index c8d0aaf5..fc5f76f9 100644 --- a/rigs/yaesu/newcat.c +++ b/rigs/yaesu/newcat.c @@ -600,7 +600,7 @@ int newcat_open(RIG *rig) { int err; // set the CAT TIME OUT TIMER to 100ms - SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "EX0331;EX033;"); + SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "EX0331;"); if (RIG_OK != (err = newcat_set_cmd(rig))) { @@ -612,7 +612,7 @@ int newcat_open(RIG *rig) { int err; // set the CAT TIME OUT TIMER to 100ms - SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "EX0391;EX039;"); + SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "EX0391;"); if (RIG_OK != (err = newcat_set_cmd(rig))) { commit 4664620b92b0f5167db1043fa98f727b396bcb04 Author: Mike Black W9MDB <mdb...@ya...> Date: Sun Aug 21 11:51:34 2022 -0500 Add FTDX300DM to same exceptions as FTDX3000 https://github.com/Hamlib/Hamlib/issues/1100 diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c index 497b2667..c8d0aaf5 100644 --- a/rigs/yaesu/newcat.c +++ b/rigs/yaesu/newcat.c @@ -590,7 +590,7 @@ int newcat_open(RIG *rig) #endif - if (priv->rig_id == NC_RIGID_FTDX3000) + if (priv->rig_id == NC_RIGID_FTDX3000 || priv->rig_id == NC_RIGID_FTDX3000DM) { rig->state.disable_yaesu_bandselect = 1; rig_debug(RIG_DEBUG_VERBOSE, "%s: disabling FTDX3000 band select\n", __func__); @@ -608,7 +608,7 @@ int newcat_open(RIG *rig) rigerror(err)); } } - if (priv->rig_id == NC_RIGID_FTDX3000) + if (priv->rig_id == NC_RIGID_FTDX3000 || priv->rig_id == NC_RIGID_FTDX3000DM) { int err; // set the CAT TIME OUT TIMER to 100ms @@ -10459,7 +10459,7 @@ int newcat_set_cmd_validate(RIG *rig) { strcpy(valcmd, "FA;"); - if (priv->rig_id == NC_RIGID_FTDX3000 || priv->rig_id == NC_RIGID_FTDX5000) + if (priv->rig_id == NC_RIGID_FTDX3000 || priv->rig_id == NC_RIGID_FTDX5000 || priv->rig_id == NC_RIGID_FTDX3000DM) { strcpy(valcmd, ""); } @@ -10468,7 +10468,7 @@ int newcat_set_cmd_validate(RIG *rig) { strcpy(valcmd, "FB;"); - if (priv->rig_id == NC_RIGID_FTDX3000 || priv->rig_id == NC_RIGID_FTDX5000) + if (priv->rig_id == NC_RIGID_FTDX3000 || priv->rig_id == NC_RIGID_FTDX5000 || priv->rig_id == NC_RIGID_FTDX3000DM) { strcpy(valcmd, ""); } commit 3f99ec47db8a0aefdf50410dfcdcc62a942e9f21 Author: Mike Black W9MDB <mdb...@ya...> Date: Sun Aug 21 11:47:13 2022 -0500 Have FTDX5000 and DX3000 echo CAT TOT TIMEOUT when set https://github.com/Hamlib/Hamlib/issues/1100 diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c index c794d01c..497b2667 100644 --- a/rigs/yaesu/newcat.c +++ b/rigs/yaesu/newcat.c @@ -600,7 +600,7 @@ int newcat_open(RIG *rig) { int err; // set the CAT TIME OUT TIMER to 100ms - SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "EX0331;"); + SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "EX0331;EX033;"); if (RIG_OK != (err = newcat_set_cmd(rig))) { @@ -612,7 +612,7 @@ int newcat_open(RIG *rig) { int err; // set the CAT TIME OUT TIMER to 100ms - SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "EX0391;"); + SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "EX0391;EX039;"); if (RIG_OK != (err = newcat_set_cmd(rig))) { commit e86e05bce33df755f5a650fde3c5bbf79433d79e Author: Mike Black W9MDB <mdb...@ya...> Date: Sun Aug 21 11:40:52 2022 -0500 Change FTDX3000 CAT TOT TIMEOUT to 100ms Change Yaesu split detection to detect reverse split https://github.com/Hamlib/Hamlib/issues/1100 diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c index 80c8163f..c794d01c 100644 --- a/rigs/yaesu/newcat.c +++ b/rigs/yaesu/newcat.c @@ -608,6 +608,18 @@ int newcat_open(RIG *rig) rigerror(err)); } } + if (priv->rig_id == NC_RIGID_FTDX3000) + { + int err; + // set the CAT TIME OUT TIMER to 100ms + SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "EX0391;"); + + if (RIG_OK != (err = newcat_set_cmd(rig))) + { + rig_debug(RIG_DEBUG_ERR, "%s: FTDX5000 CAT RATE error: %s\n", __func__, + rigerror(err)); + } + } RETURNFUNC(RIG_OK); } @@ -2561,7 +2573,9 @@ int newcat_get_split_vfo(RIG *rig, vfo_t vfo, split_t *split, vfo_t *tx_vfo) } // we assume split is always on VFO_B - if (*tx_vfo == RIG_VFO_B || *tx_vfo == RIG_VFO_SUB) + //if (*tx_vfo == RIG_VFO_B || *tx_vfo == RIG_VFO_SUB) + rig_debug(RIG_DEBUG_TRACE, "%s: tx_vfo=%s, curr_vfo=%s\n", __func__, rig_strvfo(*tx_vfo), rig_strvfo(rig->state.current_vfo)); + if (*tx_vfo != rig->state.current_vfo) { *split = RIG_SPLIT_ON; } diff --git a/rigs/yaesu/newcat.h b/rigs/yaesu/newcat.h index 393b9f78..08dd7573 100644 --- a/rigs/yaesu/newcat.h +++ b/rigs/yaesu/newcat.h @@ -50,7 +50,7 @@ typedef char ncboolean; /* shared function version */ -#define NEWCAT_VER "20220819" +#define NEWCAT_VER "20220821" /* Hopefully large enough for future use, 128 chars plus '\0' */ #define NEWCAT_DATA_LEN 129 commit e8fa723bc88d8ba4934895afa85196a217c8b749 Author: Mike Black W9MDB <mdb...@ya...> Date: Sun Aug 21 10:29:22 2022 -0500 Change FTDX3000 write_delay back to zero -- at value of 1 rigctl was showing all ? responses from rig at 38400 baud https://github.com/Hamlib/Hamlib/issues/1100 diff --git a/rigs/yaesu/ft3000.c b/rigs/yaesu/ft3000.c index 7aebdd7d..88700167 100644 --- a/rigs/yaesu/ft3000.c +++ b/rigs/yaesu/ft3000.c @@ -244,7 +244,7 @@ const struct rig_caps ftdx3000_caps = RIG_MODEL(RIG_MODEL_FTDX3000), .model_name = "FTDX-3000", .mfg_name = "Yaesu", - .version = NEWCAT_VER ".7", + .version = NEWCAT_VER ".8", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_TRANSCEIVER, @@ -259,7 +259,7 @@ const struct rig_caps ftdx3000_caps = .serial_handshake = RIG_HANDSHAKE_HARDWARE, // write_delay 5ms or less was causing VS1;VS; to answer with VS0 instead of VS1 even though change did occur // see https://github.com/Hamlib/Hamlib/issues/906 - .write_delay = 1, + .write_delay = 0, // delay of 1 broke rigctl -- all ? responses .post_write_delay = FTDX5000_POST_WRITE_DELAY, .timeout = 2000, .retry = 3, commit 2fdf608793074ce36d5e9ed7f86ef52ca6ab974b Merge: c34f7193 2f08201f Author: Mike Black W9MDB <mdb...@ya...> Date: Sat Aug 20 22:56:16 2022 -0500 Merge branch 'master' of https://github.com/Hamlib/Hamlib commit c34f71933780245fb48a9d448b43c07fcc9b3226 Author: Mike Black W9MDB <mdb...@ya...> Date: Sat Aug 20 22:56:04 2022 -0500 Astyle files diff --git a/rigs/dummy/netrigctl.c b/rigs/dummy/netrigctl.c index 5b32afdb..5cb0c3ad 100644 --- a/rigs/dummy/netrigctl.c +++ b/rigs/dummy/netrigctl.c @@ -1071,9 +1071,11 @@ static int netrigctl_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt) char buf[BUF_MAX]; char vfostr[16] = ""; - rig_debug(RIG_DEBUG_VERBOSE, "%s called vfo=%s, ptt=%d, ptt_type=%d\n", __func__, + rig_debug(RIG_DEBUG_VERBOSE, "%s called vfo=%s, ptt=%d, ptt_type=%d\n", + __func__, rig_strvfo(vfo), ptt, rig->state.pttport.type.ptt); - if(rig->state.pttport.type.ptt == RIG_PTT_NONE) return RIG_OK; + + if (rig->state.pttport.type.ptt == RIG_PTT_NONE) { return RIG_OK; } ret = netrigctl_vfostr(rig, vfostr, sizeof(vfostr), RIG_VFO_A); diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 6dbc0cf9..11ba6d25 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -682,28 +682,28 @@ int icom_init(RIG *rig) // we can add rigs here that will never use the 0x25 cmd // some like the 751 don't even reject the command and have to time out if ( - rig->caps->rig_model == RIG_MODEL_IC275 - || rig->caps->rig_model == RIG_MODEL_IC375 - || rig->caps->rig_model == RIG_MODEL_IC706 - || rig->caps->rig_model == RIG_MODEL_IC706MKII - || rig->caps->rig_model == RIG_MODEL_IC706MKIIG - || rig->caps->rig_model == RIG_MODEL_IC751 - || rig->caps->rig_model == RIG_MODEL_X5105 - || rig->caps->rig_model == RIG_MODEL_IC1275 - || rig->caps->rig_model == RIG_MODEL_IC746 - || rig->caps->rig_model == RIG_MODEL_IC756 - || rig->caps->rig_model == RIG_MODEL_IC756PRO - || rig->caps->rig_model == RIG_MODEL_IC756PROII - || rig->caps->rig_model == RIG_MODEL_IC756PROIII - || rig->caps->rig_model == RIG_MODEL_IC746PRO - || rig->caps->rig_model == RIG_MODEL_IC756 - || rig->caps->rig_model == RIG_MODEL_IC7000 - || rig->caps->rig_model == RIG_MODEL_IC7100 - || rig->caps->rig_model == RIG_MODEL_IC7200 - || rig->caps->rig_model == RIG_MODEL_IC821H - || rig->caps->rig_model == RIG_MODEL_IC910 - || rig->caps->rig_model == RIG_MODEL_IC2730 - ) + rig->caps->rig_model == RIG_MODEL_IC275 + || rig->caps->rig_model == RIG_MODEL_IC375 + || rig->caps->rig_model == RIG_MODEL_IC706 + || rig->caps->rig_model == RIG_MODEL_IC706MKII + || rig->caps->rig_model == RIG_MODEL_IC706MKIIG + || rig->caps->rig_model == RIG_MODEL_IC751 + || rig->caps->rig_model == RIG_MODEL_X5105 + || rig->caps->rig_model == RIG_MODEL_IC1275 + || rig->caps->rig_model == RIG_MODEL_IC746 + || rig->caps->rig_model == RIG_MODEL_IC756 + || rig->caps->rig_model == RIG_MODEL_IC756PRO + || rig->caps->rig_model == RIG_MODEL_IC756PROII + || rig->caps->rig_model == RIG_MODEL_IC756PROIII + || rig->caps->rig_model == RIG_MODEL_IC746PRO + || rig->caps->rig_model == RIG_MODEL_IC756 + || rig->caps->rig_model == RIG_MODEL_IC7000 + || rig->caps->rig_model == RIG_MODEL_IC7100 + || rig->caps->rig_model == RIG_MODEL_IC7200 + || rig->caps->rig_model == RIG_MODEL_IC821H + || rig->caps->rig_model == RIG_MODEL_IC910 + || rig->caps->rig_model == RIG_MODEL_IC2730 + ) { priv->x25cmdfails = 1; } @@ -814,7 +814,8 @@ static vfo_t icom_current_vfo_x25(RIG *rig) { // we can't change freqs unless rig is idle and we don't know that // so we only check vfo once when freqs are equal - rig_debug(RIG_DEBUG_TRACE, "%s: vfo already determined...returning current_vfo\n", + rig_debug(RIG_DEBUG_TRACE, + "%s: vfo already determined...returning current_vfo\n", __func__); return rig->state.current_vfo; } @@ -1882,7 +1883,8 @@ pbwidth_t icom_get_dsp_flt(RIG *rig, rmode_t mode) } } - if (RIG_MODEL_X108G == rig->caps->rig_model || RIG_MODEL_X5105 == rig->caps->rig_model) + if (RIG_MODEL_X108G == rig->caps->rig_model + || RIG_MODEL_X5105 == rig->caps->rig_model) { priv->no_1a_03_cmd = ENUM_1A_03_NO; } @@ -3455,7 +3457,8 @@ int icom_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) int found = 0; for (i = 0; - i <= RIG_AGC_LAST && priv_caps->agc_levels[i].level != RIG_AGC_LAST && priv_caps->agc_levels[i].icom_level >= 0; i++) + i <= RIG_AGC_LAST && priv_caps->agc_levels[i].level != RIG_AGC_LAST + && priv_caps->agc_levels[i].icom_level >= 0; i++) { if (priv_caps->agc_levels[i].level == val.i) { diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index c773a799..75306e82 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -4941,6 +4941,7 @@ int kenwood_send_morse(RIG *rig, vfo_t vfo, const char *msg) * If answer is something else, return with error to prevent infinite loops */ if (!strncmp(m2, "KY0", 3)) { break; } + if (!strncmp(m2, "KY2", 3)) { break; } if (!strncmp(m2, "KY1", 3)) { hl_usleep(500000); } diff --git a/rigs/yaesu/ft747.c b/rigs/yaesu/ft747.c index dbf27165..1679b035 100644 --- a/rigs/yaesu/ft747.c +++ b/rigs/yaesu/ft747.c @@ -547,7 +547,8 @@ int ft747_set_freq(RIG *rig, vfo_t vfo, freq_t freq) p = (struct ft747_priv_data *)rig->state.priv; - rig_debug(RIG_DEBUG_VERBOSE, "ft747: requested freq = %"PRIfreq" Hz vfo = %s \n", freq, rig_strvfo(vfo)); + rig_debug(RIG_DEBUG_VERBOSE, + "ft747: requested freq = %"PRIfreq" Hz vfo = %s \n", freq, rig_strvfo(vfo)); /* * Copy native cmd freq_set to private cmd storage area @@ -579,12 +580,15 @@ int ft747_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) freq_t f; int ret; - rig_debug(RIG_DEBUG_VERBOSE, "%s: called vfo=%s, freqMainA=%.0f, freqMainB=%.0f\n", __func__, rig_strvfo(vfo), rig->state.cache.freqMainA, rig->state.cache.freqMainB); + rig_debug(RIG_DEBUG_VERBOSE, + "%s: called vfo=%s, freqMainA=%.0f, freqMainB=%.0f\n", __func__, + rig_strvfo(vfo), rig->state.cache.freqMainA, rig->state.cache.freqMainB); - if (vfo == RIG_VFO_CURR) vfo = rig->state.cache.vfo; - if (rig->state.cache.ptt == RIG_PTT_ON) + if (vfo == RIG_VFO_CURR) { vfo = rig->state.cache.vfo; } + + if (rig->state.cache.ptt == RIG_PTT_ON) { - *freq = RIG_VFO_B? rig->state.cache.freqMainB : rig->state.cache.freqMainA; + *freq = RIG_VFO_B ? rig->state.cache.freqMainB : rig->state.cache.freqMainA; return RIG_OK; } @@ -999,7 +1003,8 @@ static int ft747_get_update_data(RIG *rig) p = (struct ft747_priv_data *)rig->state.priv; rigport = &rig->state.rigport; - if (rig->state.cache.ptt == RIG_PTT_ON || !rig_check_cache_timeout(&p->status_tv, FT747_CACHE_TIMEOUT)) + if (rig->state.cache.ptt == RIG_PTT_ON + || !rig_check_cache_timeout(&p->status_tv, FT747_CACHE_TIMEOUT)) { return RIG_OK; } diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c index b4e161c7..80c8163f 100644 --- a/rigs/yaesu/newcat.c +++ b/rigs/yaesu/newcat.c @@ -771,14 +771,15 @@ int newcat_set_freq(RIG *rig, vfo_t vfo, freq_t freq) ENTERFUNC; - if (newcat_60m_exception(rig, freq)) - { + if (newcat_60m_exception(rig, freq)) + { // we don't try to set freq on 60m for some rigs since we must be in memory mode // and we can't run split mode on 60M memory mode either if (rig->state.cache.split == RIG_SPLIT_ON) { rig_set_split_vfo(rig, RIG_VFO_A, RIG_VFO_A, RIG_SPLIT_OFF); } + RETURNFUNC(RIG_OK); } // we don't set freq in this case @@ -10382,7 +10383,7 @@ int newcat_get_cmd(RIG *rig) rig_debug(RIG_DEBUG_WARN, "%s: Rig busy - retrying %d of %d: '%s'\n", __func__, retry_count, state->rigport.retry, priv->cmd_str); // DX3000 was taking 1.6 seconds in certain command sequences - hl_usleep(600*1000); // 600ms wait should cover most cases hopefully + hl_usleep(600 * 1000); // 600ms wait should cover most cases hopefully rc = -RIG_ERJCTED; /* retry */ break; diff --git a/rotators/rotorez/rotorez.c b/rotators/rotorez/rotorez.c index 6d8c1b75..0ce9c068 100644 --- a/rotators/rotorez/rotorez.c +++ b/rotators/rotorez/rotorez.c @@ -312,7 +312,7 @@ const struct rot_caps yrc1_rot_caps = ROT_MODEL(ROT_MODEL_YRC1), .model_name = "DCU2/DCU3/YRC-1", .mfg_name = "Hy-Gain", - .version = "20100823.2", + .version = "20100823.2", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rot_type = ROT_TYPE_OTHER, diff --git a/simulators/simft897.c b/simulators/simft897.c index f889bc68..6367847c 100644 --- a/simulators/simft897.c +++ b/simulators/simft897.c @@ -142,13 +142,14 @@ again: case 0xF7: printf("READ TX STATUS\n"); break; - case 0x03: - printf("READ RX STATUS\n"); + case 0x03: + printf("READ RX STATUS\n"); buf[0] = buf[1] = buf[2] = buf[3] = 0; - buf[4] = 0x03; n = write(fd, buf, 5); + buf[4] = 0x03; n = write(fd, buf, 5); break; - case 0xbb: buf[0] = buf[1] = 0;printf("READ EPROM\n"); n = write(fd, buf, 2);break; + case 0xbb: buf[0] = buf[1] = 0; printf("READ EPROM\n"); n = write(fd, buf, 2); + break; default: printf("Unknown cmd=%02x\n", buf[4]); } diff --git a/simulators/simkenwood.c b/simulators/simkenwood.c index bf70b8b1..e49bcf2e 100644 --- a/simulators/simkenwood.c +++ b/simulators/simkenwood.c @@ -296,13 +296,13 @@ int main(int argc, char *argv[]) { SNPRINTF(buf, sizeof(buf), "DA%d;", datamode); n = write(fd, buf, strlen(buf)); - printf("%s\n",buf); + printf("%s\n", buf); continue; } else if (strncmp(buf, "DA", 2) == 0) { sscanf(buf, "DA%d", &datamode); - printf("%s\n",buf); + printf("%s\n", buf); continue; } else if (strncmp(buf, "BD;", 3) == 0) diff --git a/tests/dumpcaps.c b/tests/dumpcaps.c index 7258ffaf..fb666d3b 100644 --- a/tests/dumpcaps.c +++ b/tests/dumpcaps.c @@ -296,7 +296,8 @@ int dumpcaps(RIG *rig, FILE *fout) const struct icom_priv_caps *priv_caps = (const struct icom_priv_caps *) rig->caps->priv; - if (priv_caps && RIG_BACKEND_NUM(rig->caps->rig_model) == RIG_ICOM && priv_caps->agc_levels_present) + if (priv_caps && RIG_BACKEND_NUM(rig->caps->rig_model) == RIG_ICOM + && priv_caps->agc_levels_present) { for (i = 0; i <= RIG_AGC_LAST && priv_caps->agc_levels[i].level != RIG_AGC_LAST && priv_caps->agc_levels[i].icom_level >= 0; i++) diff --git a/tests/rigctl.c b/tests/rigctl.c index 2b18f0ca..c9006468 100644 --- a/tests/rigctl.c +++ b/tests/rigctl.c @@ -736,7 +736,8 @@ void usage(void) usage_rig(stdout); printf("\nError codes and messages\n"); - for(enum rig_errcode_e e = 0; e<RIG_EEND; ++e) + + for (enum rig_errcode_e e = 0; e < RIG_EEND; ++e) { printf("-%d - %s", e, rigerror2(e)); } commit 2f08201f1295626fded6c01710fbccdce7d01e88 Merge: b4150fce ce5c90a6 Author: Michael Black <mdb...@ya...> Date: Sat Aug 20 22:35:27 2022 -0500 Merge pull request #1102 from georges/cm119b-support Add product id for CM119B chip. Used in KURI adapter designed by W7NX. commit ce5c90a6c72229e0f9fc1e1e48987c81c53d6c9e Author: Georges Auberger <381...@us...> Date: Sat Aug 20 15:26:17 2022 -1000 Add product id for CM119B chip. Used in KURI adapter designed by W7NX. diff --git a/src/cm108.c b/src/cm108.c index 71a61c68..086d3805 100644 --- a/src/cm108.c +++ b/src/cm108.c @@ -114,12 +114,13 @@ int cm108_open(hamlib_port_t *port) if (!ioctl(fd, HIDIOCGRAWINFO, &hiddevinfo) && ((hiddevinfo.vendor == 0x0d8c - // CM108/108B/109/119/119A + // CM108/108B/109/119/119A/119B && ((hiddevinfo.product >= 0x0008 && hiddevinfo.product <= 0x000f) || hiddevinfo.product == 0x0012 || hiddevinfo.product == 0x013a - || hiddevinfo.product == 0x013c)) + || hiddevinfo.product == 0x013c + || hiddevinfo.product == 0x0013)) // SSS1621/23 || (hiddevinfo.vendor == 0x0c76 && (hiddevinfo.product == 0x1605 commit b4150fce198daa77687cc868128be3e8b4b02e50 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Aug 19 15:39:21 2022 -0500 FT747GX add TARGETABLE_FREQ and update rx_range_list and tx_range_list for new range_list implmentation https://github.com/Hamlib/Hamlib/issues/1101 diff --git a/rigs/yaesu/ft747.c b/rigs/yaesu/ft747.c index 155fdf01..dbf27165 100644 --- a/rigs/yaesu/ft747.c +++ b/rigs/yaesu/ft747.c @@ -333,7 +333,7 @@ const struct rig_caps ft747_caps = .max_rit = Hz(0), /* 9999 */ .max_xit = Hz(0), .max_ifshift = Hz(0), - .targetable_vfo = 0, + .targetable_vfo = RIG_TARGETABLE_FREQ, .transceive = RIG_TRN_OFF, .bank_qty = 0, .chan_desc_sz = 0, @@ -343,18 +343,14 @@ const struct rig_caps ft747_caps = RIG_CHAN_END, }, - .rx_range_list1 = { RIG_FRNG_END, }, /* FIXME: enter region 1 setting */ - - .tx_range_list1 = { RIG_FRNG_END, }, - - .rx_range_list2 = { { + .rx_range_list1 = { { .startf = kHz(100), .endf = 29999900, .modes = FT747_ALL_RX_MODES, .low_power = -1, .high_power = -1, .vfo = FT747_VFOS }, RIG_FRNG_END, }, /* rx range */ - .tx_range_list2 = { {kHz(1500), 1999900, FT747_OTHER_TX_MODES, .low_power = 5000, .high_power = 100000, .vfo = FT747_VFOS}, /* 100W class */ + .tx_range_list1 = { {kHz(1500), 1999900, FT747_OTHER_TX_MODES, .low_power = 5000, .high_power = 100000, .vfo = FT747_VFOS}, /* 100W class */ {.startf = kHz(1500), .endf = 1999900, FT747_AM_TX_MODES, .low_power = 2000, .high_power = 25000, .vfo = FT747_VFOS}, /* 25W class */ commit d0dcfbff84597d4814e73256804d1fe6cf4d589f Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Aug 19 11:57:08 2022 -0500 FT747GX remove debug code -- duh... diff --git a/rigs/yaesu/ft747.c b/rigs/yaesu/ft747.c index bbd73ed1..155fdf01 100644 --- a/rigs/yaesu/ft747.c +++ b/rigs/yaesu/ft747.c @@ -569,11 +569,6 @@ int ft747_set_freq(RIG *rig, vfo_t vfo, freq_t freq) rig_force_cache_timeout(&p->status_tv); cmd = p->p_cmd; /* get native sequence */ - cmd[0] = 0x01; - cmd[1] = 0x02; - cmd[2] = 0x03; - cmd[3] = 0x04; - cmd[4] = 0x05; return write_block(&rig->state.rigport, cmd, YAESU_CMD_LENGTH); } commit abc2d5a84613691bbe7b2e6e5332797865295f9c Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Aug 19 09:33:10 2022 -0500 FT747GX show cached freqs when get_freq is called https://github.com/Hamlib/Hamlib/issues/1101 diff --git a/rigs/yaesu/ft747.c b/rigs/yaesu/ft747.c index 0e10b3f4..bbd73ed1 100644 --- a/rigs/yaesu/ft747.c +++ b/rigs/yaesu/ft747.c @@ -588,7 +588,7 @@ int ft747_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) freq_t f; int ret; - rig_debug(RIG_DEBUG_VERBOSE, "%s: called vfo=%s\n", __func__, rig_strvfo(vfo)); + rig_debug(RIG_DEBUG_VERBOSE, "%s: called vfo=%s, freqMainA=%.0f, freqMainB=%.0f\n", __func__, rig_strvfo(vfo), rig->state.cache.freqMainA, rig->state.cache.freqMainB); if (vfo == RIG_VFO_CURR) vfo = rig->state.cache.vfo; if (rig->state.cache.ptt == RIG_PTT_ON) commit b97b8b0fe7c0b76f3e4715416c1da39d800c5e5e Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Aug 19 09:30:59 2022 -0500 For FT747GX do not get info when PTT is on -- use cached info diff --git a/rigs/yaesu/ft747.c b/rigs/yaesu/ft747.c index f77a8fd8..0e10b3f4 100644 --- a/rigs/yaesu/ft747.c +++ b/rigs/yaesu/ft747.c @@ -1008,7 +1008,7 @@ static int ft747_get_update_data(RIG *rig) p = (struct ft747_priv_data *)rig->state.priv; rigport = &rig->state.rigport; - if (!rig_check_cache_timeout(&p->status_tv, FT747_CACHE_TIMEOUT)) + if (rig->state.cache.ptt == RIG_PTT_ON || !rig_check_cache_timeout(&p->status_tv, FT747_CACHE_TIMEOUT)) { return RIG_OK; } commit 28b1a9bb9525be07f7d80212e17b4d744a0dc9f5 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Aug 19 08:33:31 2022 -0500 Increase FT747GX cache timeout to 1500ms as get_freq is taking over 1000ms diff --git a/rigs/yaesu/ft747.c b/rigs/yaesu/ft747.c index 081a795c..f77a8fd8 100644 --- a/rigs/yaesu/ft747.c +++ b/rigs/yaesu/ft747.c @@ -303,7 +303,7 @@ const struct rig_caps ft747_caps = RIG_MODEL(RIG_MODEL_FT747), .model_name = "FT-747GX", .mfg_name = "Yaesu", - .version = "20220819.0", + .version = "20220819.1", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_MOBILE, diff --git a/rigs/yaesu/ft747.h b/rigs/yaesu/ft747.h index 10463c53..2df6513a 100644 --- a/rigs/yaesu/ft747.h +++ b/rigs/yaesu/ft747.h @@ -67,10 +67,9 @@ * rig_get_mode() in a row. * * The timeout is set to at least the time to transfer the block (790ms) - * plus post write delay, plus some margin, but less than 1 second, - * which may be typical polling period. + * plus post write delay, plus some margin as get_freq was taking > 1000ms */ -#define FT747_CACHE_TIMEOUT 900 +#define FT747_CACHE_TIMEOUT 1500 #endif /* _FT747_H */ commit 179ee66f0d788b95d3d26363391b6e64b4cb8ab6 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Aug 19 08:21:29 2022 -0500 Add 600ms wait when newcat.c see rig busy https://github.com/Hamlib/Hamlib/issues/1100 diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c index 54b6e98c..b4e161c7 100644 --- a/rigs/yaesu/newcat.c +++ b/rigs/yaesu/newcat.c @@ -10381,6 +10381,8 @@ int newcat_get_cmd(RIG *rig) rig_debug(RIG_DEBUG_WARN, "%s: Rig busy - retrying %d of %d: '%s'\n", __func__, retry_count, state->rigport.retry, priv->cmd_str); + // DX3000 was taking 1.6 seconds in certain command sequences + hl_usleep(600*1000); // 600ms wait should cover most cases hopefully rc = -RIG_ERJCTED; /* retry */ break; diff --git a/rigs/yaesu/newcat.h b/rigs/yaesu/newcat.h index 61c5cfd0..393b9f78 100644 --- a/rigs/yaesu/newcat.h +++ b/rigs/yaesu/newcat.h @@ -50,7 +50,7 @@ typedef char ncboolean; /* shared function version */ -#define NEWCAT_VER "20220816" +#define NEWCAT_VER "20220819" /* Hopefully large enough for future use, 128 chars plus '\0' */ #define NEWCAT_DATA_LEN 129 commit 6965927fb4b610e36edcc43dff8769f2a9a01b15 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Aug 19 07:55:20 2022 -0500 Add IC275 to icom rigs that can't do 0x25 diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 7ec57b4f..6dbc0cf9 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -682,7 +682,8 @@ int icom_init(RIG *rig) // we can add rigs here that will never use the 0x25 cmd // some like the 751 don't even reject the command and have to time out if ( - rig->caps->rig_model == RIG_MODEL_IC375 + rig->caps->rig_model == RIG_MODEL_IC275 + || rig->caps->rig_model == RIG_MODEL_IC375 || rig->caps->rig_model == RIG_MODEL_IC706 || rig->caps->rig_model == RIG_MODEL_IC706MKII || rig->caps->rig_model == RIG_MODEL_IC706MKIIG diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h index 8238f927..c363f3b8 100644 --- a/rigs/icom/icom.h +++ b/rigs/icom/icom.h @@ -30,7 +30,7 @@ #include <sys/time.h> #endif -#define BACKEND_VER "20220801" +#define BACKEND_VER "20220819" #define ICOM_IS_SECONDARY_VFO(vfo) ((vfo) & (RIG_VFO_B | RIG_VFO_SUB | RIG_VFO_SUB_B | RIG_VFO_MAIN_B)) #define ICOM_GET_VFO_NUMBER(vfo) (ICOM_IS_SECONDARY_VFO(vfo) ? 0x01 : 0x00) commit ed5a26ac4e8670424ab7c686f5db88e362fa0595 Author: Mike Black W9MDB <mdb...@ya...> Date: Fri Aug 19 06:58:03 2022 -0500 Try to get FT747GX to return freq while transmitting https://github.com/Hamlib/Hamlib/issues/1101 diff --git a/rigs/yaesu/ft747.c b/rigs/yaesu/ft747.c index 8a87998d..081a795c 100644 --- a/rigs/yaesu/ft747.c +++ b/rigs/yaesu/ft747.c @@ -303,7 +303,7 @@ const struct rig_caps ft747_caps = RIG_MODEL(RIG_MODEL_FT747), .model_name = "FT-747GX", .mfg_name = "Yaesu", - .version = "20220818.0", + .version = "20220819.0", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_MOBILE, @@ -591,7 +591,11 @@ int ft747_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) rig_debug(RIG_DEBUG_VERBOSE, "%s: called vfo=%s\n", __func__, rig_strvfo(vfo)); if (vfo == RIG_VFO_CURR) vfo = rig->state.cache.vfo; - if (rig->state.cache.ptt == RIG_PTT_ON) return vfo == RIG_VFO_B? rig->state.cache.freqMainB : rig->state.cache.freqMainA; + if (rig->state.cache.ptt == RIG_PTT_ON) + { + *freq = RIG_VFO_B? rig->state.cache.freqMainB : rig->state.cache.freqMainA; + return RIG_OK; + } p = (struct ft747_priv_data *)rig->state.priv; ret = ft747_get_update_data(rig); /* get whole shebang from rig */ commit deb5ea6d6fa0adf09eb0ec07697d80b3739191d6 Author: Mike Black W9MDB <mdb...@ya...> Date: Thu Aug 18 17:33:41 2022 -0500 For FT747GX return cached freq when in TX diff --git a/rigs/yaesu/ft747.c b/rigs/yaesu/ft747.c index 108da31c..8a87998d 100644 --- a/rigs/yaesu/ft747.c +++ b/rigs/yaesu/ft747.c @@ -590,8 +590,10 @@ int ft747_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) rig_debug(RIG_DEBUG_VERBOSE, "%s: called vfo=%s\n", __func__, rig_strvfo(vfo)); - p = (struct ft747_priv_data *)rig->state.priv; + if (vfo == RIG_VFO_CURR) vfo = rig->state.cache.vfo; + if (rig->state.cache.ptt == RIG_PTT_ON) return vfo == RIG_VFO_B? rig->state.cache.freqMainB : rig->state.cache.freqMainA; + p = (struct ft747_priv_data *)rig->state.priv; ret = ft747_get_update_data(rig); /* get whole shebang from rig */ if (ret < 0) commit 4442f67e7adc40ab3a705834d602f4b0f2d6da2c Author: Mike Black W9MDB <mdb...@ya...> Date: Thu Aug 18 17:03:17 2022 -0500 Finally got the FT747GX set_freq working correctly https://github.com/Hamlib/Hamlib/issues/1101 diff --git a/rigs/yaesu/ft747.c b/rigs/yaesu/ft747.c index 2f626a58..108da31c 100644 --- a/rigs/yaesu/ft747.c +++ b/rigs/yaesu/ft747.c @@ -150,8 +150,8 @@ typedef enum ft747_native_cmd_e ft747_native_cmd_t; #define FT747_SUMO_DISPLAYED_MODE 0x18 #define FT747_SUMO_DISPLAYED_STATUS 0x00 #define FT747_SUMO_DISPLAYED_FREQ 0x01 -#define FT747_SUMO_VFO_A_FREQ 0x08 -#define FT747_SUMO_VFO_B_FREQ 0x10 +#define FT747_SUMO_VFO_A_FREQ 0x09 +#define FT747_SUMO_VFO_B_FREQ 0x11 @@ -622,7 +622,7 @@ int ft747_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) rig_debug(RIG_DEBUG_VERBOSE, "ft747: freq = %"PRIfreq" Hz for VFO = %s\n", f, rig_strvfo(vfo)); - (*freq) = f * 10; /* return displayed frequency */ + (*freq) = f; /* return displayed frequency */ return RIG_OK; } commit 88f5022079a7d5dcad2047f5d43dffee2f130de7 Author: Mike Black W9MDB <mdb...@ya...> Date: Thu Aug 18 15:59:56 2022 -0500 Still trying to fix FT747GX set_freq https://github.com/Hamlib/Hamlib/issues/1101 diff --git a/rigs/yaesu/ft747.c b/rigs/yaesu/ft747.c index 9d896d5c..2f626a58 100644 --- a/rigs/yaesu/ft747.c +++ b/rigs/yaesu/ft747.c @@ -150,8 +150,8 @@ typedef enum ft747_native_cmd_e ft747_native_cmd_t; #define FT747_SUMO_DISPLAYED_MODE 0x18 #define FT747_SUMO_DISPLAYED_STATUS 0x00 #define FT747_SUMO_DISPLAYED_FREQ 0x01 -#define FT747_SUMO_VFO_A_FREQ 0x09 -#define FT747_SUMO_VFO_B_FREQ 0x11 +#define FT747_SUMO_VFO_A_FREQ 0x08 +#define FT747_SUMO_VFO_B_FREQ 0x10 @@ -604,15 +604,15 @@ int ft747_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) { case RIG_VFO_CURR: /* grab freq and convert */ - f = from_bcd_be(&(p->update_data[FT747_SUMO_DISPLAYED_FREQ]), 9); + f = from_bcd_be(&(p->update_data[FT747_SUMO_DISPLAYED_FREQ]), 8); break; case RIG_VFO_A: - f = from_bcd_be(&(p->update_data[FT747_SUMO_VFO_A_FREQ]), 9); + f = from_bcd_be(&(p->update_data[FT747_SUMO_VFO_A_FREQ]), 8); break; case RIG_VFO_B: - f = from_bcd_be(&(p->update_data[FT747_SUMO_VFO_B_FREQ]), 9); + f = from_bcd_be(&(p->update_data[FT747_SUMO_VFO_B_FREQ]), 8); break; default: commit 23fcad6d866911c346028b750beebef5fd1799c9 Author: Mike Black W9MDB <mdb...@ya...> Date: Thu Aug 18 09:21:17 2022 -0500 Hopefully fix FT747GX get_freq https://github.com/Hamlib/Hamlib/issues/1101 diff --git a/rigs/yaesu/ft747.c b/rigs/yaesu/ft747.c index 4be2de01..9d896d5c 100644 --- a/rigs/yaesu/ft747.c +++ b/rigs/yaesu/ft747.c @@ -303,7 +303,7 @@ const struct rig_caps ft747_caps = RIG_MODEL(RIG_MODEL_FT747), .model_name = "FT-747GX", .mfg_name = "Yaesu", - .version = "20220817.0", + .version = "20220818.0", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_MOBILE, @@ -604,15 +604,15 @@ int ft747_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) { case RIG_VFO_CURR: /* grab freq and convert */ - f = from_bcd_be(&(p->update_data[FT747_SUMO_DISPLAYED_FREQ]), 7); + f = from_bcd_be(&(p->update_data[FT747_SUMO_DISPLAYED_FREQ]), 9); break; case RIG_VFO_A: - f = from_bcd_be(&(p->update_data[FT747_SUMO_VFO_A_FREQ]), 7); + f = from_bcd_be(&(p->update_data[FT747_SUMO_VFO_A_FREQ]), 9); break; case RIG_VFO_B: - f = from_bcd_be(&(p->update_data[FT747_SUMO_VFO_B_FREQ]), 7); + f = from_bcd_be(&(p->update_data[FT747_SUMO_VFO_B_FREQ]), 9); break; default: commit 34e651cf62ecc32649a29d1a68a07d47ff6dc686 Author: Mike Black W9MDB <mdb...@ya...> Date: Wed Aug 17 17:40:09 2022 -0500 Attempt to fix ft747gx set_freq https://github.com/Hamlib/Hamlib/issues/1101 diff --git a/rigs/yaesu/ft747.c b/rigs/yaesu/ft747.c index 8bbdd1c0..4be2de01 100644 --- a/rigs/yaesu/ft747.c +++ b/rigs/yaesu/ft747.c @@ -303,7 +303,7 @@ const struct rig_caps ft747_caps = RIG_MODEL(RIG_MODEL_FT747), .model_name = "FT-747GX", .mfg_name = "Yaesu", - .version = "20220327.0", + .version = "20220817.0", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_MOBILE, @@ -551,7 +551,7 @@ int ft747_set_freq(RIG *rig, vfo_t vfo, freq_t freq) p = (struct ft747_priv_data *)rig->state.priv; - rig_debug(RIG_DEBUG_VERBOSE, "ft747: requested freq = %"PRIfreq" Hz \n", freq); + rig_debug(RIG_DEBUG_VERBOSE, "ft747: requested freq = %"PRIfreq" Hz vfo = %s \n", freq, rig_strvfo(vfo)); /* * Copy native cmd freq_set to private cmd storage area @@ -569,6 +569,11 @@ int ft747_set_freq(RIG *rig, vfo_t vfo, freq_t freq) rig_force_cache_timeout(&p->status_tv); cmd = p->p_cmd; /* get native sequence */ + cmd[0] = 0x01; + cmd[1] = 0x02;... [truncated message content] |