Poniżej opis kilku programów i rozwiązań, z których korzystam, aby w przyzwoity sposób uzyskać połączenie radia z komputerem i aplikacjami. Zastosowanie wskazanych tu programów daje mi też (na czym mi najbardziej zależało) możliwość bezproblemowego sterowania radiem poprzez skrypty AHK.
Radio
Prezentowane na tym blogu rozwiązania testuję głównie z TRX Yaesu FTdx3000 / FTDX101D.
W szczególności stosowane komendy CAT zawsze będą pochodziły z listy YAESU.
W/w transceivery serii FTDX mają połączenie radio-komputer poprzez port USB, po zainstalowaniu sterowników dając nam dwa dodatkowe porty szeregowe, dedykowane do obsługi naszego radia.
Więcej na ten temat znajdziecie na podstronie z opisem konfiguracji.
OmniRIG
OmniRig to podstawowe oprogramowanie, z serii „must have” – zapewniające dostęp do połączenia radio-komputer z wielu aplikacji, wykorzystywanych w naszym hobby.
Program poprzez zaimplementowany interface obiektowy COM (nazwijmy go: OmniRIG API), zapewnia wszystkim innym aplikacjom komplet danych o stanie radia, w szczególności częstotliwości VFO (A/B), mode, stan RIT, XIT, itp. W prezentowanych na blogu skryptach, dane radia będziemy pobierać właśnie poprzez interface API z OmniRIG. Również poprzez to API możliwe jest wysłanie do radia dowolnej komendy CAT.
Czego więcej chcieć? 🙂 strona OmniRIG
Można zadać pytanie – dlaczego nie próbować połączyć się i nie pobierać danych generowanych przez TRX, bezpośrednio z portu szeregowego?
Bezpośredni dostęp do danych szeregowych (w rozumieniu – często i z wielu programów) wysyłanych z TRX jest dość trudny, głównie ze względu na konieczność blokowania portu przez używającą go aplikację, oraz specyficzne buforowanie tych danych przez moduł UART.
W dużym uproszczeniu – w danej chwili odbiór „paczki” danych na porcie szeregowym możliwy jest TYLKO przez jedną aplikację, która korzysta z tego portu COM. Próba bezpośredniego pobierania danych z tego samego COM przez wiele aplikacji kończy się najczęściej komunikatami o niedostępności portu.
Aby nie mieć takich problemów, mamy rozwiązanie j.w. – czyli jest tylko jedna aplikacja, która korzysta z bezpośredniego dostępu do portu szeregowego (w szczególności OmniRIG), z drugiej strony dając jednolity interface API do programowego operowania radiem.
Żeby jednak nie było tak strasznie z tym brakiem bezpośredniego dostępu do COM w przypadku programów blokujących port szeregowy i nie mających możliwości pracy z OmniRIG, dostępne jest dodatkowe oprogramowanie, umożliwiające proste współdzielenie (pomiędzy wiele aplikacji) każdego portu szeregowego.
Virtual Serial Port Emulator – VSPE
Po wielu próbach i walkach z wysyłaniem danych sterujących CAT bezpośrednio do radia poprzez dedykowany port szeregowy (tak, uparłem się 🙂 ) stwierdziłem, że dorzucenie do mojej konfiguracji jakiegoś rozwiązania typu splitter portu, rozwiąże kilka pojawiających się problemów. Wybór padł na VSPE (link).
Czym to jest, poczytajcie proszę na stronie twórców.
Czy warto to mieć? Powiem z pełnym przekonaniem – nie żałuję tych paru dolarów. Po kilku latach użytkowania uważam, że jest to bardzo skuteczne rozwiązanie i po prostu spełnia swoją funkcję.
Dzięki VSPE mamy możliwość pełnego współdzielenia (w tzw. trybie splitter) każdego z portów COM pomiędzy wiele aplikacji; w zależności od funkcji danego portu – do przesyłania komend CAT, ale również na przykład kluczowania CW czy PTT poprzez piny DTR czy RTS.
I najważniejsze – mając VSPE bez problemu skorzystamy w tym samym czasie z programu, który nie ma obsługi OmniRIG (sztandarowym przykładem jest N1MM Logger+) i ze skryptów AHK wysyłających do radia dowolne komendy CAT !
Podsumowując – VSPE (lub podobne rozwiązanie, bo jest tego kilka pozycji w sieci) daje możliwość wysyłania danych do/z jednego (wirtualnego) portu przez wiele programów (w tym w/w OmniRIG) i dba o to, żeby nie było tu konfliktów programowo-sprzętowych.
W osobnym wpisie prezentuję, jak dokładnie mam to u siebie wszystko skonfigurowane.
SerialSend
Niewielki program, który okazał nieodzowny w skryptach wysyłających dane bezpośrednio do portów COM.
Więcej w opisie wykorzystania skryptów AHK w wysyłaniu danych do portu szeregowego.
Terminal portów szeregowych
Do testów i zabawy z portami szeregowymi przydaje się prosty programowy terminal – osobiście polecam ten
Edytor skryptów
Bardzo dobre, bardziej zaawansowane środowisko (podpowiedzi składni języka, debugowanie, analiza step-by-step, podgląd zmiennych, itp): VSCODE wraz dodatkami do pisania w języku AHK
Następne: Konfiguracja sprzętowo programowa