Przejdź do treści
ATS Mini Controller
Offline
InformacjeInformacje9 min czytania

Alternatywny firmware: Monster i Berndt

Z jakim firmware ATS Mini działa ta aplikacja, dlaczego czasem prosi o potwierdzenie firmware’u i co zmienia się na ekranie po wgraniu forka Monster albo firmware’u H. J. Berndta.

Większość użytkowników korzysta z oficjalnego firmware’u i nigdy nie potrzebuje tej strony. Jest dla pozostałych: aplikacja rozpoznaje też forka Monster i osobny firmware napisany przez H. J. Berndta (hjberndt.de). Te trzy na tyle różnią się sposobem rozmowy przez kabel, że aplikacja zmienia to, co ci pokazuje — a w jednym przypadku najpierw pyta o zgodę. Oto co obsługuje, o co pyta i co znika z ekranu.

Trzy firmware

OficjalnyFork MonsterBerndt
Czym jestFirmware projektu, esp32-si4732/ats-miniFork oficjalnego, dokładający funkcje na jego bazieOsobny projekt, nie fork — w ogóle nie używa protokołu oficjalnego firmware’u
Rozpoznawany samodzielnieTak, po cichuTak, po cichuNie — aplikacja zawsze najpierw pyta
Odczyty statusuPełneZadeklarowane jako pełne, z kilkoma dodatkowymi polami w linii statusu; nigdy nie widziane na sprawnym radiuBrak. Ten firmware nie wysyła ramki statusu
Elementy sterowania w aplikacjiWszystkieWszystkie plus dwa szybsze polecenia, które ma tylko ten forkCztery i nic więcej
Sprawdzony na prawdziwym radiuTak, dwie wersjeNie — patrz niżejCzęściowo

Czy muszę powiedzieć aplikacji, jaki mam firmware?

Zwykle nie. Oficjalny firmware i fork Monster same się przedstawiają w danych statusu, które radio nadaje, więc aplikacja włącza właściwy profil w chwili, gdy pierwsza ramka da się odczytać: bez banera, bez pytania, bez ustawiania czegokolwiek. Potwierdzono to tutaj na oficjalnym firmware 2.38 i 2.33.

Panel połączenia wyraźnie rozdziela domysł od ustalenia. Nazywa firmware dopiero wtedy, gdy tożsamość jest naprawdę ustalona; wcześniej pisze Firmware jeszcze nierozpoznany, bo dopóki wykrywanie się nie skończy, aktywny profil jest ustawieniem domyślnym, a nie wnioskiem.

Wyjątkiem jest firmware Berndta. Aplikacja nigdy nie przełącza się na niego sama — każda droga do tego profilu prowadzi przez potwierdzenie, które klikasz, albo przez to, które już wcześniej dałeś dla tego samego radia.

Dlaczego aplikacja prosi o potwierdzenie firmware’u i czy można się zgodzić?

Jeśli odpowiedzi radia wyglądają na Berndta, pojawia się baner To wygląda na firmware H.J. Berndta z przyciskiem Przełącz na firmware Berndta. W praktyce radio, które tu sprawdzano, pokazało zamiast tego baner Brak odpowiedzi z radia — radio, które tu sprawdzano, nie odpowiedziało nic na sondę aplikacji — więc drogą, którą pójdzie większość posiadaczy, będzie przycisk To jednak firmware Berndta na tamtym banerze. Aplikacja pyta, zamiast przełączyć się sama, bo ten firmware używa kilku tych samych znaków co oficjalny, a co one tam robią, w większości nie zostało ustalone. Jeden z nich udało się przeczytać w kodzie jednej z wersji Berndta od początku do końca i jest to ten najbardziej niepokojący: znak, którym aplikacja wysyła w prawo, wpisuje surowe kroki enkodera obrotowego. Błędny domysł nie skończyłby się przy tym głośnym błędem — ten firmware nie wysyła żadnego potwierdzenia, a na nierozpoznane dane nie odpowiada w ogóle, więc nic by o tym nie powiedziało.

Zgodzić się więc można bez obaw: potwierdzenie sprawia, że aplikacja staje się ostrożniejsza, a nie odważniejsza. Na profilu Berndta wysyła cztery polecenia i nic poza nimi, pojedynczo, i odmawia wszystkiego, co wymagałoby ich serii. Bardziej ryzykowny jest ten stan, w którym aplikacja wciąż uważa, że rozmawia z oficjalnym firmware.

Kiedy aplikacja nie potrafi rozpoznać firmware’u

Brak odpowiedzi z radia znaczy, że nie przyszło nic. Zwykle powodem jest wyłączone zdalne sterowanie w oficjalnym firmware, więc baner kieruje cię do Settings → USB Port → Ad hoc w odbiorniku. Aplikacja świadomie nie czyta ciszy jako egzotycznego firmware’u: powiedzieć posiadaczowi fabrycznego oprogramowania, że ma niemiecki firmware niszowego autora, to gorsza z dwóch pomyłek.

Nierozpoznane odpowiedzi radia znaczą, że coś odpowiedziało, ale nic nie pasuje. Żaden firmware nie zostaje wtedy wybrany ani przyjęty z góry. Baner pokazuje dokładnie te linie, które przysłało radio, żeby ktoś, kto rozpoznaje własny firmware, mógł z tym coś zrobić. W tym czasie wszystko, co wysyłasz, idzie pojedynczo, co około pięć sekund — to najwolniejsze tempo, jakiego wymaga którykolwiek z obsługiwanych firmware — a aplikacja nie wysyła nic z własnej inicjatywy.

Oba te banery mają dyskretny przycisk To jednak firmware Berndta właśnie dla takiego czytelnika. A jeśli radio potwierdzone wcześniej jako oficjalne zacznie odpowiadać tak, jak odpowiada Berndt, aplikacja zapyta ponownie, zamiast przełączyć się po cichu — USB identyfikuje rewizję płytki, a nie konkretny egzemplarz, więc bez tego pytania jedna odpowiedź przeszłaby na następne radio tej samej rewizji.

Dlaczego po wgraniu innego firmware’u zniknęła część elementów sterowania?

Bo w firmware Berndta nie są obsługiwane, a aplikacja je usuwa, zamiast wyszarzać. Na radiu potwierdzonym jako Berndt nie ma na stronie: panelu pamięci, edytora motywu, kalibracji, uśpienia, skanera widma ani własnego panelu wyszukiwania stacji. Sprawdzono to na prawdziwym radiu.

Usunięcie jest wyborem celowym. Wyszarzony przycisk nadal przekazywałby swoje przypisanie polecenia do obsługi klawiatury i do każdego innego miejsca w aplikacji, więc naciśnięcie klawisza mogłoby wysłać znak, którego sam przycisk odmawia. Usunięcie elementu w całości zamyka jednym ruchem przycisk, skrót klawiaturowy i ścieżkę automatyzacji — dlatego lista skrótów w panelu pomocy też się skraca.

Pole częstotliwości w panelu strojenia znika z tego samego powodu: nie ustalono polecenia, które wysyła ten firmware na konkretną częstotliwość, więc aplikacja nie ma czego wysłać. Odczyty, których firmware nie podaje, pokazują —, a nie 0, żeby pustego pola nie dało się pomylić z pomiarem zerowym.

Dlaczego ten firmware tak wolno przyjmuje kliknięcia?

To firmware, nie aplikacja. Konsola Berndta przyjmuje mniej więcej jedno polecenie na pięć sekund: jego własny kod bierze polecenie tylko wtedy, gdy połączenie milczało tyle czasu, a drugie wysłane w tym okienku zostaje pochłonięte bez odpowiedzi i bez błędu. Dlatego aplikacja rozsuwa każdy zapis, żeby się w to wpisać.

Na ekranie masz o tym notkę i odliczanie na żywo — Następne polecenie za 4 s…. Przyciski zostają klikalne, bo kliknięcie trafia do kolejki, a nie w pustkę. Czekać mogą najwyżej dwa polecenia; trzecie zostaje odrzucone komunikatem, zamiast dopisać się do kolejki. A zmiana, która wymagałaby serii — podniesienie głośności o kilkadziesiąt kroków albo przejechanie widma — jest odrzucana od razu, z podaniem kosztu, bo przy pięciu sekundach na krok trwałaby minutami i nie dałoby się jej odróżnić od zawieszenia.

Wgrałem forka Monster i radio zachowuje się dziwnie

Prawie na pewno chodzi o wariant pamięci. ATS Mini bywa z dwoma rodzajami kości PSRAM — quad (QSPI) i octal (OSPI) — a Monster publikuje tylko wersję octal, więc na płytkę quad nie ma opublikowanego obrazu. Nie kończy się to czystą odmową. Na jedynym radiu, na którym ten projekt widział ten firmware w działaniu, nie udało się zainicjować pamięci PSRAM: radio wypisało na porcie szeregowym błąd, nie przysłało ani jednej ramki statusu i nie dało aplikacji niczego do sterowania. Najbardziej prawdopodobne wyjaśnienie to płytka quad z obrazem octal, bo tylko taki jest publikowany — ale rodzaj pamięci tamtej konkretnej płytki nigdy nie został ustalony. Tak czy inaczej da się to zobaczyć: ta linia błędu pojawia się w terminalu aplikacji jako zwykły odebrany tekst.

Rozwiązania nie ma w tej aplikacji. Żeby uruchomić Monstera na płytce z pamięcią quad, trzeba zbudować firmware ze źródeł z włączonym ustawieniem quad.

I właśnie dlatego ta strona nie obieca ci, że Monster działa. Aplikacja ma pełny profil Monstera — szerszą linię statusu, dodatkowe polecenia przywołania komórki pamięci i ustawienia parametru, 99 zapisywalnych komórek — ale napisano go z dokumentacji forka, a opublikowana wersja binarna nie uruchomiła się na dostępnym tutaj radiu. Nic z tego nie zostało sprawdzone na działającym radiu z Monsterem. Jedyne dane od Monstera, jakie ten projekt kiedykolwiek przechwycił, to lista opcji — i przyszła z tego radia, w którym kość pamięci już nie działała.

Czy nadal mogę korzystać z pamięci, edytora motywu i skanera widma?

OficjalnyFork MonsterBerndt
Komórki pamięci99, odczyt i zapis — sprawdzone w obie strony na radiuZadeklarowane te same 99 i zapisywalne; niesprawdzoneNie. Aplikacja może poprosić radio o wypisanie pamięci, ale nie potrafi zapisać komórki
Edytor motywuTakZadeklarowany; niesprawdzonyNiedostępny
Skaner widmaTakZadeklarowany; niesprawdzonyNiedostępny — nawet przejechanie 50 punktów szłoby ponad cztery minuty przy jednym poleceniu na pięć sekund
Zrzut ekranuTak — na tutejszym radiu około czterech sekund przez USBZadeklarowany; niesprawdzonyTak — przychodzi jako surowy obraz, na tutejszym radiu w około sześć sekund
Wyszukiwanie stacji, strojenie z EiBiTakZadeklarowane; niesprawdzoneNiedostępne: oba wymagają polecenia strojenia, którego temu firmware nie udało się wykazać
Dziennik odbiorówTakZadeklarowany; niesprawdzonyJest, ale wpis zrobiony na tym firmware nie niesie częstotliwości, trybu ani pasma — tylko te fragmenty danych o sygnale, które radio akurat wysłało: dziennik wypełnia się z ramki statusu, a ten firmware jej nie wysyła

Wiersz o pamięci Berndta zasługuje na szczegóły, bo o to posiadacze pytają najpierw. Polecenie wypisujące pamięć i układ pojedynczego wiersza odtworzono z kodu samego firmware’u, instrukcja po instrukcji, i aplikacja potrafi na tej podstawie zdekodować wiersz. Ale żadne radio z Berndtem nigdy takiego wiersza nie wypisało. Każda próba kończyła się tutaj nagłówkiem wypisu i niczym więcej — również po zapisaniu dwóch stacji z własnego menu radia, czego nadal nie udało się wyjaśnić. Zapis jest zablokowany dodatkowo: tryb wsadowego wysyłania, który oferuje ten firmware, wymaga czasów, w które pięciosekundowe tempo aplikacji się nie wpisuje, a przerwane w połowie wysyłanie zostawiłoby pamięć radia częściowo nadpisaną. Ścieżki zapisu więc nie ma i nie będzie, dopóki nie zostanie to rozstrzygnięte na radiu, którego zawartości nie żal.

Berndt: uczciwa reszta listy

  • Cztery elementy sterowania i żaden z nich nie używa znaku, którego użyłby oficjalny firmware: zrzut ekranu, wypis pamięci, wypis listy stacji i przełącznik wysyłania danych. Wszystkie cztery odczytano z kodu samego firmware’u; dwa z nich odpowiedziały też na prawdziwym radiu.
  • Oba wypisy przychodzą jako surowy tekst w panelu Terminal, który jest domyślnie zwinięty — rozwiń go, żeby przeczytać odpowiedź.
  • Przełącznik wysyłania danych to zawsze tylko przycisk, który naciskasz ty. Aplikacja nigdy nie wysyła go sama, bo to polecenie przestawia własny strumień danych radia, a błędny domysł uciszyłby radio.
  • Zostaw prędkość połączenia na 115200. Firmware Berndta w ogóle nie ma ustawienia prędkości. Tutejsze radio odpowiedziało natychmiast przy 115200, a przy 9600 było i głuche, i nieme. Liczba 9600, która krąży, pochodzi z dokumentacji samego autora firmware’u, nie z radia. Niższe prędkości zostają na liście w aplikacji, bo płytka podłączona przez układ mostka USB-szeregowy, a nie przez USB samego procesora, może zachować się inaczej.
  • Sterowanie po BLE na firmware Berndta jest niepotwierdzone. Parowanie, sesja i rozłączanie działają, a aplikacja trzyma odpowiedź dla BLE osobno od tej dla USB, żeby potwierdzenie nie przeciekło między połączeniami. Ale przez całą sesję BLE nie wrócił z radia ani jeden bajt, więc zdalnego sterowania po Bluetooth na tym firmware ta strona nie będzie obiecywać.

Na oficjalnym firmware różnice, które wynikają z numeru wersji, a nie z samego firmware’u — szybkie strojenie, Bluetooth, zakres pasma CB — opisują Wersje firmware. O samym połączeniu mówi Podłączanie ATS Mini, a o znaczeniu odczytów panel statusu.

Wgranie któregokolwiek z tych trzech do radia opisujemy osobno, bo zdobywa się je na trzy zupełnie różne sposoby: Wgrywanie firmware dla oficjalnych wydań i instalatora na tej stronie, Wgrywanie forka Monster dla projektu, który nie publikuje żadnych wydań, i Wgrywanie firmware H. J. Berndta dla tego, który przychodzi jako jeden obraz ze strony autora. Przed każdym z nich zrób kopię zapasową — Kopia zapasowa i odzyskiwanie firmware.

Polecane akcesoria

Najczęściej zadawane pytania

Z jakim firmware działa ATS Mini Controller?
Z trzema: z oficjalnym firmware esp32-si4732/ats-mini, z forkiem Monster i z osobnym firmware H. J. Berndta. Oficjalny firmware i fork Monster są rozpoznawane automatycznie z danych statusu, które nadaje radio. Firmware Berndta nigdy nie zostaje wybrany bez twojego potwierdzenia.
Czy muszę powiedzieć aplikacji, jaki firmware ma moje ATS Mini?
Nie. Aplikacja rozpoznaje to po tym, co przysyła radio. Jedynym wyjątkiem jest firmware Berndta, o który aplikacja pyta, zamiast przyjmować go sama — i pamięta twoją odpowiedź dla tego radia, więc pyta raz na radio, a nie raz na sesję.
Czy potwierdzenie firmware Berndta jest bezpieczne?
Tak. Potwierdzenie sprawia, że aplikacja staje się ostrożniejsza: na tym profilu wysyła tylko cztery polecenia, pojedynczo, i odmawia wszystkiego, co wymagałoby ich serii. Pyta najpierw, bo firmware Berndta używa części tych samych znaków co oficjalny, a co one tam robią, nie zostało ustalone — i bo ten firmware nigdy nie odpowiada, czy polecenie zostało przyjęte.
Dlaczego po wgraniu innego firmware zniknęły elementy sterowania?
Bo aplikacja usuwa elementy, których nie potrafi obsłużyć, zamiast je wyszarzać. Na firmware Berndta nie ma na stronie panelu pamięci, edytora motywu, kalibracji, uśpienia, skanera widma ani panelu wyszukiwania stacji, razem z ich skrótami klawiaturowymi. Własne przyciski radia nadal robią to wszystko.
Dlaczego aplikacja czeka około pięciu sekund między poleceniami na firmware Berndta?
Ten firmware przyjmuje mniej więcej jedno polecenie na pięć sekund i po cichu ignoruje wszystko wysłane w tym okienku, więc aplikacja rozsuwa swoje zapisy i pokazuje odliczanie. To nie usterka aplikacji ani połączenia.
Czy fork Monster działa na każdym ATS Mini?
Nie. Monster publikuje tylko wersję dla pamięci octal PSRAM, więc na płytkę z pamięcią quad nie ma opublikowanego obrazu, a rozwiązaniem jest tam zbudowanie firmware ze źródeł z włączoną pamięcią quad. Na jedynym radiu, na którym ten projekt widział ten firmware w działaniu, nie udało się zainicjować pamięci PSRAM: radio wypisało błąd przez port szeregowy i nie wysyłało danych statusu, więc zdalne sterowanie nie działało.
Czy aplikacja może zapisać stację w komórce pamięci na firmware Berndta?
Nie. Nie ma ścieżki zapisu. Aplikacja może poprosić radio o wypisanie pamięci i zna układ wiersza z kodu firmware’u, ale tryb wsadowego wysyłania, który oferuje ten firmware, wymaga czasów, w które tempo aplikacji się nie wpisuje, a przerwane wysyłanie nadpisałoby zapisane pamięci.
Jakiej prędkości połączenia użyć dla firmware Berndta?
115200, czyli tej domyślnej w aplikacji. Ten firmware w ogóle nie ma ustawienia prędkości. Radio, które tu sprawdzano, odpowiadało przy 115200 i milczało przy 9600.

Więcej

Urządzenie

Odkrywaj

Ustawienia

Motyw

Witaj w ATS Mini Controller

Ta aplikacja internetowa łączy się z Twoim radiem ATS Mini przez USB lub Bluetooth LE i pozwala sterować nim bezpośrednio z komputera lub telefonu. Dodaje zdalne strojenie, zarządzanie komórkami pamięci, wykonywanie zrzutów ekranu, streaming audio, skanowanie widma, edycję motywów i inne funkcje, których nie oferuje wbudowany firmware urządzenia.

Firmware 2.34+: wybierz sposób połączenia

Od wersji firmware 2.34 radiem można zdalnie sterować przez USB lub Bluetooth LE. Wybierz według tego, co jest dla Ciebie ważniejsze: szybkie zrzuty ekranu (USB) czy czysty dźwięk z wyjścia 3,5 mm radia (Bluetooth) — każdy z tych transportów wygrywa w innym obszarze.

  • USB Serial

    Settings USB Port zmień Off na Ad hoc

    Działa w każdej przeglądarce opartej na Chromium. Wymaga kabla USB-C z liniami danych (otwiera się w nowej karcie).

    Najlepszy do zrzutów ekranu i pracy z motywami. Transfer trwa sekundę lub dwie. Przy podłączonym kablu przechwytywany dźwięk jest zaszumiony — radio nie ma filtracji, która odizolowałaby wyjście 3,5 mm od linii zasilania USB, więc do toru audio przedostają się przydźwięk i szumy przetwornicy.

  • Bluetooth LE

    Settings Bluetooth ustaw tryb na Ad hoc

    Chrome / Edge / Opera na komputerze lub Androidzie. BLE jest eksperymentalne w firmware 2.34.

    Najlepszy dla czystego dźwięku. Bluetooth LE przenosi tylko sterowanie, nigdy dźwięk: ten dalej biegnie kablem z wyjścia 3,5 mm radia do komputera. Bez podłączonego kabla USB radio pracuje na baterii, więc to wyjście pozostaje wolne od szumów linii zasilania USB, które przedostają się przy połączeniu przewodowym. Zrzuty ekranu są znacznie wolniejsze (~30 s) z powodu limitu przepustowości BLE w firmware.

Nie tylko jeden firmware

Poza oficjalnym firmware aplikacja ma profile dla forka Monster i dla firmware’u H. J. Berndta. Sama rozpoznaje po odpowiedziach radia, który z nich jest zainstalowany, więc nie musisz nic wybierać. Gdy nic nie pasuje, mówi to wprost, zamiast zgadywać.

  • Firmware Berndta nigdy nie jest przyjmowany z góry. Używa części klawiszy oficjalnego firmware’u, a nie ustalono, co one tam robią, więc aplikacja pyta, zanim się na niego przełączy.
  • Brak części funkcji jest zamierzony. Czego dany firmware nie potrafi, tego nie ma na stronie — nie jest tylko wyszarzone — a na firmware Berndta polecenia wychodzą pojedynczo, w kilkusekundowych odstępach.
Jak aplikacja obsługuje inne firmware (otwiera się w nowej karcie)

Skróty klawiszowe

Pojedyncze klawisze sterują radiem na stronie Kontrolera, chyba że piszesz w polu tekstowym.

←→
Dostrój o jeden krok
↑↓
Głośność w górę / w dół
Enter
OK
BN
Następne / poprzednie pasmo
MV
Następna / poprzednia emisja
SA
Następny / poprzedni krok
WQ
Następna / poprzednia szerokość pasma
GF
ARW w górę / w dół
LK
Podświetlenie jaśniej / ciemniej
IU
Kalibracja w górę / w dół
OP
Uśpienie wł. / wył.
T
Przełącz log statusu
C
Zrzut ekranu
H
Zapisz odbiór
D
Widok kokpitu
⌘K
Szukaj stron i stacji