|
Co to je česky polling?
V českém technickém prostředí se pro
termín "polling" nejčastěji používá doslovný překlad "dotazování"
(případně "střídavé dotazování").
Polling je metoda aktivní komunikace, při které se jeden program
(tedy hlavní program, tzv. Master nebo Client) opakovaně v
pravidelných intervalech dotazuje druhého zařízení či programu
(Slave nebo Server), zda pro něj má nová data nebo zda došlo ke
změně stavu.
Jaký přístup zvolit u
radioamatérských kontrolérů k pollingu obecně a konkrétně?
Záleží vždy na tom, o jakou aplikaci se
jedná.
1. Polling s krátkými časovými
intervaly
Pokud máme s transceiverem přes rozhraní CAT propojenu aplikaci
Decodium pro provoz FT2, ve které ani ručně neřídíme jednotlivé
relace QSO, pak musíme počítat s tím, že zejména kvůli klíčování
RX/TX musí být nastaven pro polling krátký časový interval.
Obdobně SW WSJT-X na tom nebude o nic lépe. Proto u takových
programů očekáváme, že po spuštění obsadí komuniační port a nikoho
jiného ke komunikaci nepustí. A technicky to asi ani nelze
vyřešit jinak.
2. Polling s dlouhými časovými intervaly
Pokud si řešíme vlastní kontrolér, od
kterého očekáváme, že odešle povely do rádia s naším jednoduchým
příkazem, jako je například změna frekvence, změna módu nebo
obecně jakákoliv jiná změna (šířka pásma, zapnutí tuneru, přepnutí
VFO A na VFO B, zapnutí atenuátoru), pak periodický polling
nepotřebujeme.
Příkladem budiž ukázka řízení kmitočtu SDR Console z mého
controlleru, který byl vytvořen tak, aby se obešel bez pollingu a
příkaz odesílal po kliku na "ENTER":

V ukázce jste viděli spuštěné dvě
instance kontroléru, a to ve stavu, kdy bylo kliknuto na "ENTER" v
horní instanci. Na stejném portu běží i druhá instance. Nijak si
nevadí s první, protože ty jednoduché programy jsou napsané tak,
aby po odeslání příkazu zavřely port. Což prakticky znamená, že si
můžeme klikat mezi jedním a druhým "ENTER" a budeme přepínat
předvolené kmitočty. Takové řešení není až tak obvyklé, kontroléry
jsem psal tak, aby polling nepotřebovaly a porty neramlovaly
(neobsazovaly) zbytečnou komunikací.
3. Polling se středně dlouhými
časovými intervaly
Polling se středně dlouhými časovými
intervaly můžeme očekávat u hezkých a dobře napsaných programů,
zpravidla určených pro chatovací druhy provozu, jako je PSK, RTTY,
MFSK, DominoEX, Thor, apod. U dobře napsaných programů lze
zpravidla nastavit polling na delší časové intervaly.
|
|

Vidíte, že v konfiguraci Fldigi jsem
nastavil Polling Interval na hodnotu 1 s. Na obrázku vpravo
vidíte, že u programu Airlink Express lze nastavit polling až na 8
sekund.
Proč věnuji hodnotě Polling Interval
pozornost?
1. Protože některé programy pro digimódy nemají ovládací prvky
s příkazy na důležitá nastavení našeho transceiveru. Moje cesta,
jak z toho ven, je samostatný kontrolér, který potřebné příkazy má.
2. Protože někteří autoři programů se
víc, než potřebnou funkcionalitu, snaží řešit skutečnost, že
polling umí a že jim funguje svižně. Funguje, ale obsadí port CAT,
který už nepustí a ramlují ho mnoha zbytečnými příkazy s dotazem na stav
zařízení. |
 |
|
Moje řešení
Vybírám si pro práci s digimódy
aplikace, které pracují s pollingem rozumně. Pokud aplikace nemají
potřebné funkcionality, například neumí řídit atenuátory, skokově
nastavovat výkon nebo volit pásmo, doplním si funkcionality
vlastním kontrolérem, který zapojím na druhý port. Například
programy WSJT-X, Decodium (FT2), FLdigi, Airlink Express mi běží
na COM3 a kontrolér pro Yaesu na COM4.
Související témata
Téma pollingu úzce souvisí s komunikací mezi PC a CAT rozhraním
transceiveru. O principech komunikace na rozhraní moderního
transceiveru (ať CAT nebo CI-V) až po návrh jednoduchého
kontroléru jsem napsal několik článečků,
jejichž obsah je k dispozici zde.
Téma pollingu rovněž souvisí s prací na digimódech. Této
problematice jsem věnoval více článků na mém webu.
Obecně se
týkaly práce na digimódech s transceiverem Yaesu FT-710 a
práce na
digimódech přes satelit QO-100. |