OK1UFC

 

Jak lze přepínat v SDR Console mezi RX a TX? 

Poslední aktualizace 2026   


Proč používat program SDR Console pro ovládání SDR přijímačů?

1. Program SDR Console patří k tomu nejlepšímu, co pro práci s SDR zařízením existuje. Používám ho mnoho let a pro práci přes geostacionární satelit QO-100 už sedmým rokem výhradně. Těším se především z parádních filtrů, které umožňují nejen jejich snadnou volbu, ale též definici mnoha jejich parametrů. Nevyhovuje mi při vysílání klikat myší na tlačítko TX. Obcházím to jednoduchou aplikací, která přepíná mezi RX a TX, když stisknu klávesu "END" (zvolil jsem si) nebo, když kliknu do červeného/zeleného pole. Jak to vypadá na obrazovce vidíte tady.

2. Program SDR Console komunikuje s mou aplikací přes CAT rozhraní na sériovém portu COM11.
 

Jak to funguje?

SDR Console umožňuje komunikaci přes sériový port, jako jakýkoliv jiný transceiver,  používá sadu příkazů rádia Kenwood TS-2000 (to jsem asi 20 let vlastnil). Aby SDR Console komunikovala přes CAT, provedeme následující nastavení (viz obrázek vpravo). Nastavení se dělá z menu Tools, položka Option. V mém případě je SDR Console připojena k virtuálnímu sériovému portu COM11 - viz zaškrtnutý čtvereček.

Aby se nám čtverečky v menu SDR Console objevily, musíme nejdříve virtuální sériové porty COM11 a COM12 vytvořit a propojit. Lze použít oblíbený com0com, který nám vytvoří virtuální porty trvale a program com0com spouštíme jen pokud potřebujeme jinou konfiguraci.

Poznámka: Pokud používáte pro práci se sériovými virtuálními porty jiný software, předpokládám, že vám bude rovněž fungovat.

 

 

 

 

Když máme nakonfigurovanou SDR Consoli pro ovládání přes CAT, můžeme pustit naši miniaturní aplikaci, která má následující vlastnosti:

 

takto vypadá při RX:

takto vypadá při TX:

   

   

a dělá následující věci:

- má vlastnost Form1.TopMost, tedy je stále nahoře a jiné aplikace ji nezakrývají;
- po kliknutí myši do zeleného obdélníku odešle přes CAT příkaz "TX;", čímž zapne vysílač SDR Console a změní se na červený obdélník;
- po kliknutí do červeného obdélníku odešle příkaz "RX;", čímž vypne vysílání;

- aplikace reaguje rovněž na stisknutí klávesy "END" (můžete si naprogramovat jinou, pokud se vám END nelíbí); po stisknutí "END" odešle aplikace povel přes CAT a přepne mezi RX/TX;
- aplikace zachycuje stisk "END" i mimo vlastní fokus, a to i když je kurzor mimo červené/zelené pole aplikace.

a to za podmínek:

- musí být nakonfigurovaná SDR Console dle výše uvedeného popisu;
- SDR Console musí být připojena do virtuálního sériového kabelu (například com0com) a pro aplikaci musí být k dispozici COM12 (lze změnit jen ve zdrojovém kódu, tato jednoduchá aplikace nemá žádné menu ani žádný konfigurační soubor).

Spustitelný program a zdrojový kód

Aby nám to vše fungovalo, bylo třeba naprogramovat low‑level keyboard hook přes WinAPI. To je standardní způsob, jak zachytit stisk kláves PC na úrovni systému.

Ve zdrojovém kódu najdete dva moduly:
KeyboardHook.vb
(zachycuje stisk klávesy "END", připraví příkaz pro řízení SDR Console a zavolá v modulu SDRCcom).
SDRCcom.vb (odešle příkazy skrz sériový port COM12 do SDR Console).
Ve zdrojovém kódu je také Form1.vb. V proceduře Form1.Load (při puštění aplikace) se volá funkce InstallHook() z modulu KeyboardHook.vb; tato funkce provede zachycení klávesy "END" a provede procedury další, tj. vytvoří příkaz, kterému SDR Console rozumí a zavolá proceduru SDRCcom(), která příkaz prožene skrz sériový port.

Spustitelný program stáhnete zde. Znovu opakuji, je natvrdo nastaven na COM12, Baud 57600 a zachycení klávesy "END".
Zdrojový kód řešení umožňuje udělat si v programu změny dle libosti a je ke stažení zde.

Poznámky:

1. Příklad jiného programu, který komunikuje přes CAT rozhraní s SDR Console je zde. Jsou v něm vysvětleny některé základní detaily a podstata komunikace přes CAT.
2. Program nepoužívá žádný polling, žádná periodická komunikace trvale neprobíhá a neotravuje SDR Consoli.
3. Program jsem napsal ve starší verzi Visual Studio 2010 v jazyce Visual Basic. Visual Basic je užitečný a jednoduchý programovací jazyk. Původně byl Basic vytvořen pro používání začátečníky a techniky neprogramátory, což je můj případ. Poslední dobou bývá jazyk Basic v některých komunitách opomíjen, či dokonce zatracován, Pokud patříte do takové komunity, tak si snadno převedete zdrojový kód řešení třeba do jazyka C#, který používá velmi podobnou filosofii myšlení.
4. Prosím, neposílejte mi ohledně programování komunikace s různými rádii přes TCP client, CAT nebo CI-V žádné dotazy, náměty nebo připomínky. Pro mojí vlastní potřebu jde o uzavřenou záležitost, činnost není předmětem mého dalšího zájmu. Nejsem profesionální programátor a v žádném případě nemám zájem, čas a chuť cokoliv kolem problematiky ovládání rádií řešit. Berte tento článek jen jako námět a příklad s uvedením rozhodujících detailů, které vás mohou zaměstnat déle, než jste předpokládali.
 

 

 

   TU 73, Mira, ok1ufc