Rig2Cast Lib je open-source framework napísaný v jazyku C# pre platformu .NET 8, určený na ovládanie rádioamatérskych transceiverov. Autor DeXTeRGT ho koncipoval ako modulárny základ pre desktopové aplikácie, webové rozhrania, background služby aj sieťových klientov – s vlastnou abstrakciou rádia, bezpečným multi-klientským behom, modulárnymi ovládačmi jednotlivých modelov, zisťovaním schopností zariadenia a voliteľnými protokolovými adaptérmi.
V článku sa dočítate
Prečo vznikol Rig2Cast Lib a je potrebný?
Hamlib slúži rádioamatérskej komunite mimoriadne dobre – podporuje impozantné množstvo rádií a predstavuje desaťročia skúseností s CAT protokolmi aj fyzickým hardvérom. Jeho natívna architektúra v jazyku C sa však podľa autora nie vždy prirodzene integruje do spravovaných .NET aplikácií. Použitie z C# bežne vyžaduje natívne binárky, platformovo špecifické nasadenie, interoperabilnú vrstvu a dodatočnú synchronizáciu okolo zdieľaného prístupu k rádiu. Moderné aplikácie navyše často potrebujú bezpečne sprístupniť jedno rádio viacerým klientom naraz cez natívne API, REST, gRPC, TCP, desktopové aplikácie aj webové rozhrania.
Rig2Cast Lib k tomuto problému pristupuje z nového architektonického smeru. Autor výslovne uvádza, že nejde o náhradu Hamlibu ani o jeho priamy prepis (line-by-line port) do C# – ide o nezávislé prehodnotenie ovládania rádia pre moderné .NET aplikácie. Oficiálna dokumentácia výrobcu je autoritou pre implementáciu CAT protokolu; Hamlib slúži ako užitočná referencia očakávaného správania a dôležitý cieľ kompatibility, no samotná architektúra a implementácia Rig2Cast sa vyvíja nezávisle od dostupných CAT protokolov rádií.
Cieľom nie je súperiť s Hamlibom ani ho znevažovať. Hamlib zostáva dôležitým projektom, neoceniteľným zdrojom skúseností a významným cieľom kompatibility. Rig2Cast skúma ovládanie rádia navrhnuté špecificky pre moderné .NET: asynchrónne, modulárne, riadené schopnosťami zariadenia, bezpečné pre viacerých klientov, nezávislé od transportnej vrstvy a jednoducho rozšíriteľné.
Jedno zariadenie a viacero pristupujúcich softvérov k nemu

Fyzické CAT pripojenie je vo svojej podstate sekvenčné – viaceré aplikácie nemôžu bezpečne posielať ľubovoľné príkazy na ten istý sériový port súčasne. Rig2Cast preto poskytuje jeden spravovaný plánovač príkazov na fyzické rádio. Viacero logických klientov môže pracovať súbežne, zatiaľ čo samotná CAT komunikácia zostáva sériová, usporiadaná a chránená.
Každá aplikácia alebo sieťové pripojenie dostáva vlastnú logickú identitu a reláciu. Runtime poskytuje role a oprávnenia klientov, usporiadané vykonávanie príkazov s prioritami, exkluzívne operácie, prístup založený na časovo obmedzených nájmoch pre citlivé operácie, čistenie relácie po odpojení a bezpečnú koordináciu medzi súbežnými klientmi. Zložené zmeny môžu byť transakčné na úrovni operácie rádia – napríklad zmena módu a šírky pásma môže prebehnúť pod exkluzívnou kontrolou tak, aby iný klient nemohol vložiť príkaz medzi tieto dve zmeny. Operácie vysielania majú dodatočnú ochranu a nie sú spracované ako bežné nastavovacie príkazy (settery).
Rovnaká spravovaná inštancia rádia je určená na podporu voliteľných rozhraní: natívne C# API, REST API (plánované), gRPC (plánované), bohatšie natívne TCP protokoly (plánované), adaptér kompatibilný s Hamlib rigctld (dostupná počiatočná implementácia), a desktopové aj webové aplikácie či background služby. Ide o adaptéry okolo toho istého runtime a modelu schopností – CAT logika výrobcu zostáva vnútri ovládača rádia namiesto toho, aby sa duplikovala naprieč každým API a používateľským rozhraním.
Možná kompatibilita s Hamlib

Rig2Cast obsahuje samostatný, voliteľný TCP adaptér kompatibilný s rigctld. Existujúci klienti kompatibilní s Hamlib sa môžu pripojiť, kým Rig2Cast v pozadí spravuje fyzické rádio, logické relácie a sériový CAT prístup. Aktuálny adaptér podporuje viacero súbežných TCP klientov a príkazy pre frekvenciu a aktívny VFO, prevádzkový mód a mód-závislú šírku pásma, split prevádzku a čítanie stavu PTT, krátke aj dlhé formy príkazov a rozšírené odpovede.
Adaptér počúva predvolene na loopback rozhraní a pracuje v režime iba na čítanie – zápis je nutné explicitne povoliť, a zápisy PTT zostávajú v tomto počiatočnom kompatibilnom adaptéri nedostupné. Cieľom je praktická kompatibilita bez oslabenia bezpečnostného modelu Rig2Cast. Framework zároveň nie je obmedzený legacy protokolom rigctld – nová funkcionalita môže zostať dostupná cez natívne C# API a budúce REST, gRPC, TCP, desktopové alebo webové adaptéry aj vtedy, keď pre ňu neexistuje žiadny príkaz Hamlib.
Aktuálny stav a download
Projekt je v štádiu aktívneho raného vývoja – architektúra a funkčný „vertikálny rez“ (vertical slice) pre Yaesu FTDX10 sú hotové, no verejné API ešte nie je stabilné. FTDX10 je prvým podporovaným a fyzicky otestovaným transceiverom, s pokrytím identifikácie, frekvencie VFO A/B, prevádzkových módov, split prevádzky, CAT PTT, filtrov, zosilnenia AF/RF, potlačovača šumu, RIT/XIT, S-metra a ďalších meračov. Súčasne prebieha aj počiatočná podpora rodiny Elecraft K3/K3S/KX3/KX2, implementovaná podľa oficiálnej dokumentácie výrobcu, so základnou vrstvou overenou na fyzickom K3S.
| Parameter | Hodnota |
|---|---|
| Jazyk a platforma | C#, .NET 8 |
| Licencia | GNU AGPL-3.0-only |
| Podporované rádiá | Yaesu FTDX10 (fyzicky testované), Elecraft K3S/K3/KX3/KX2 (raná fáza) |
| Počet automatizovaných testov | 137 |
| Predvolený port rigctld adaptéra | 127.0.0.1:4532 |
Zdrojový kód, dokumentácia aj návod na zostavenie sú dostupné v repozitári DeXTeRGT/Rig2CastLib na GitHube. Zostavenie vyžaduje .NET 8 SDK a funguje na Windows aj Linuxe; pre prácu bez fyzického rádia je súčasťou aj simulátor FTDX10. Autor otvorene uvádza, že významná časť kódu, testov a dokumentácie vznikla s pomocou AI asistencie pod ľudským dohľadom – požiadavky, architektonické smerovanie, bezpečnostné rozhodnutia aj finálne technické rozhodnutia zostávajú pod kontrolou vlastníka projektu, pričom vygenerovaný kód prechádza rovnakým procesom kontroly, kompilácie, testovania a overenia proti fyzickému rádiu ako akýkoľvek iný príspevok.
