[FEATURE] Expose ATU control (RIG_FUNC_TUNER) over the rigctld bridge #76
Replies: 2 comments 2 replies
-
|
Hi iu1teu, Thanks for such a thorough write-up — the command mapping and the Your suggested design (report "on" during tuning too, since the tuner is engaged either way) sounds right to me and avoids inventing a three-state Hamlib response that most clients would not expect anyway. I have not started it yet, so no firm date, but it'''s a well-scoped addition and I'''d expect it to land in a normal release cycle rather than needing anything special — realistically sometime in the next couple of weeks. I'''ll update this discussion once it'''s in a pre-release for you to test. |
Beta Was this translation helpful? Give feedback.
-
|
Hi Giovanni, v2.4.2-pre8 is out and adds ATU control over rigctld: https://github.com/mm5agm/Yaesu_Web_Control/releases/tag/v2.4.2-pre8
I'''ve tested it against my own FTdx101MP over raw rigctld commands and confirmed both the radio'''s physical TUNE LED and the web UI indicator track correctly. Could you give it a try with whatever you'''re driving it from and let me know if this meets what you were after? Also — thank you for the coffee! That'''s now bought me a very nice bottle of Valpolicella Ripasso. Much appreciated. Colin |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
What would you like YWC to do?
Expose antenna tuner (ATU) control through the built-in rigctld server on port 4532, using the standard Hamlib
get_func/set_funccommand pair with the conventionalTUNERfunction name:get_func TUNER(and short formu TUNER) → report current ATU stateset_func TUNER 1(and short formU TUNER 1) → engage the tuner / start a tune cycleset_func TUNER 0(and short formU TUNER 0) → disengage / bypass the tunerI checked
Services/RigctldServer.csin the repo, and both the single-character and long-form command switches currently have nofunc/u/Ucase at all — anything not explicitly matched falls through toRPRT -1. So as far as I can tell this would be new functionality, not a bug.For the actual radio behaviour to map to, YWC's own manual documents it precisely (§5.10, ATU button): a short tap toggles ATU on/off, a long press (≥500 ms) starts the auto-tune cycle. On the CAT side, on the FTDX3000 (and I believe the same family across the other supported Yaesu rigs) this is:
AC;→ query, responseACxxx;where the tuner-state digit is0= off,1= on,2= tuning in progressAC001;thenAC002;→ engage tuner (no-op if already on) then start the tune cycleSince YWC's own UI already implements this exact sequence for the ATU button, the rigctld handler would presumably just need to call into the same internal service that button already calls, rather than talk to the radio directly.
One open design question I'll leave to you as the person who knows the internals: Hamlib's
get_funcmodel is a boolean (0/1), but the radio has a third "tuning in progress" state. Whatever's cleanest is fine on my end — e.g.set_func TUNER 1triggering the full tune sequence andget_func TUNERjust reporting on/off (1 while tuning too, since the tuner is "engaged" during that phase) would already cover my use case.Why is this useful?
I run a custom desktop app for my own shack (Cluster/Digimode/Log automation for FT8 work) that currently talks to the radio through my own small CAT-server bridge, specifically because it needs ATU tune control, which no Hamlib-protocol path exposes. I already run that CAT server alongside YWC and WSJT-X concurrently — each on its own VSPE virtual serial port, all sharing the one physical CAT link — so serial contention isn't the issue.
The only thing still keeping my app on a separate raw-CAT connection instead of talking to YWC's rigctld bridge like WSJT-X and Log4OM already do is this one missing function. If
TUNERwere exposed over rigctld, I could drop my own CAT server entirely and consolidate everything through YWC, which would also mean one less thing polling the radio directly.I'd guess any other rigctld client that wants remote ATU control (there's a handful of shack-automation and remote-op tools that use plain Hamlib NET rigctl) would benefit the same way, not just my app.
Are there any references?
-Standard Hamlib rigctl protocol:
get_func/set_funcwith function nameTUNER(RIG_FUNC_TUNER) is the conventional way rigctl clients request tuner engagement — this is what a generic Hamlib-aware client would try first.Which radio(s) and operating mode(s) would benefit?
I'm specifically on an FTDX3000, but since ATU control is one of the four radios' shared feature set (per the support table in the README), exposing it generically over rigctld should benefit FTdx101MP/D, FTdx10, FT-710 and FTDX3000 alike — same CAT command family (
AC) across the range, just gated by "only applies to radios fitted with an internal or external ATU" like the front-end button already is.Beta Was this translation helpful? Give feedback.
All reactions