Wgrywanie forka Monster
Fork Monster firmware’u ATS Mini nie publikuje żadnych wydań, ale gotowe binaria istnieją — w katalogu, o którym jego README nie wspomina. Co tam jest, na czym to działa i jak to wgrać.
Fork Monster (Ho52198/ats-mini-monster) rozbudowuje oficjalny firmware i ma tę samą licencję MIT co jego rodzic. Co robi aplikacja, gdy ten firmware już działa — szersza linia statusu, dodatkowe polecenia i spore zastrzeżenie do tego wszystkiego — opisuje Alternatywny firmware. Ta strona jest o wgraniu go do radia, czyli o tej niewygodnej części.
Żadnych wydań, ale binaria są
Repozytorium nie publikuje żadnych wydań ani nawet tagów. Nie ma nic do pobrania ze strony wydań, a lista wydań w instalatorze nie ma czego znaleźć — czyta wyłącznie oficjalny projekt firmware.
Gotowe obrazy mimo to istnieją. Trzy z nich są wrzucone wprost do repozytorium, do katalogu flash/ w gałęzi domyślnej: ats-mini.ino.bootloader.bin, ats-mini.ino.partitions.bin i ats-mini.ino.bin. To te same trzy pliki, które zawiera oficjalne archiwum wydania, bez obrazu scalonego i bez changelogu. README nie wspomina o tym katalogu, co zapewne tłumaczy, dlaczego większość ludzi wnioskuje, że nie ma czego pobierać.
Obok leży mały manifest-full.json z adresami zapisu — 0x0, 0x8000 i 0x10000, czyli tym samym układem co w oficjalnym firmware — oraz z nazwą wersji. Przeczytaj ten plik, zanim cokolwiek wgrasz: to jedyne miejsce, w którym fork podaje, z której oficjalnej wersji został zbudowany. W chwili pisania tego tekstu było tam 2.33+monster, czyli punktem wyjścia jest starsze oficjalne wydanie, a nie najnowsze.
W tym samym katalogu leży też strona instalatora webowego index.html, ale GitHub Pages nie jest dla tego repozytorium włączone, więc nigdzie ona nie działa. To plik, który musiałbyś sam gdzieś postawić, a nie link, który można otworzyć.
Jedna wersja, i to ta dla pamięci octal
Jest jeden komplet plików binarnych i jest zbudowany dla pamięci octal PSRAM. Uruchomienie go na niewłaściwej płytce nie kończy się czystą odmową. Na jedynym radiu, na którym ten projekt go widział, nie udało się zainicjować pamięci PSRAM: radio wypisało błąd przez port szeregowy, nie wysłało ani jednej ramki statusu i zostawiło aplikację bez niczego do sterowania — szczegóły są w poradniku Alternatywny firmware. Sprawdź więc najpierw, jaką masz płytkę: Wgrywanie firmware tłumaczy jak, a instalator odczyta to z układu w kilka sekund.
Konfiguracja budowania forka zawiera oba profile pamięci, esp32s3-ospi i esp32s3-qspi, a README podaje jednolinijkowe wywołanie arduino-cli compile --profile dla każdego z nich. Wersja quad jest więc na wyciągnięcie kompilacji — ale tylko kompilacji, bo nikt jej nie opublikował.
Co może z tym zrobić instalator na tej stronie
Nie całą robotę. Instalator odczytuje wariant z nazwy katalogu w archiwum wydania, a tutaj archiwum w ogóle nie ma, więc nie ma czego porównać z twoim sprzętem. Zostaje droga surowego .bin, która przyjmuje po jednym pliku naraz i ustala jego miejsce z nagłówka samego obrazu:
ats-mini.ino.binwczytuje się. To obraz aplikacji, więc aplikacja proponuje go pod0x10000— czyli pod właściwym adresem.ats-mini.ino.bootloader.biniats-mini.ino.partitions.binzostają odrzucone. Żaden z nich nie jest ani kompletnym obrazem, ani samodzielnym obrazem aplikacji, więc z żadnego nie da się odczytać adresu, a aplikacja go nie zgaduje.- Nie ma obrazu scalonego, więc nie ma pojedynczego pliku, który wgrałby całość.
W sumie: instalator potrafi zapisać aplikację forka na radiu, które działa już na oficjalnym firmware, z zaznaczonym obejściem i bez żadnej weryfikacji wariantu. Zakłada to, że bootloader i tablica partycji, które już są w radiu, odpowiadają tym, których oczekuje ta wersja — założenie rozsądne, skoro manifest podaje te same trzy adresy co oficjalny firmware, ale wciąż założenie. Pełna instalacja wszystkich trzech plików wymaga jednej z ręcznych dróg z poradnika Wgrywanie firmware.
Zanim to wgrasz
- Najpierw kopia zapasowa, całkiem poważnie. Nie ma żadnego wydania Monstera, do którego można się wycofać, więc kopia, którą zrobisz teraz, jest jedyną drogą powrotu do firmware’u, który masz — Kopia zapasowa i odzyskiwanie firmware.
- Potwierdź typ pamięci PSRAM. Ten plik binarny na płytce, dla której nie powstał, daje radio, które się uruchamia, ale nic nie potrafi — wygląda to alarmująco i da się tego uniknąć w całości.
- Przeczytaj manifest, żeby wiedzieć, z której oficjalnej wersji zbudowano ten firmware i czego przez to nie dostaniesz.
Jedno uczciwe zastrzeżenie co do tego, co będzie dalej: aplikacja ma pełny profil Monstera, ale powstał on z dokumentacji forka, a nie z działającego radia, i nic z niego nie zostało sprawdzone na takim radiu. Alternatywny firmware rozpisuje dokładnie, co jest zadeklarowane, a co sprawdzone.
Najczęściej zadawane pytania
- Skąd pobrać firmware ATS Mini Monster?
- Nie ma żadnych wydań, więc na stronie wydań nic nie ma. Trzy gotowe obrazy są wrzucone wprost do repozytorium, do katalogu flash/ w gałęzi domyślnej, razem z manifestem podającym adresy zapisu i nazwę wersji. README nie wspomina o tym katalogu.
- Czy fork Monster działa na ATS Mini z pamięcią quad PSRAM?
- Opublikowany plik binarny jest zbudowany dla pamięci octal. Na jedynym radiu, na którym ten projekt go widział, 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. Konfiguracja budowania forka zawiera profil quad, więc działającą wersję da się skompilować ze źródeł, ale nikt jej nie opublikował.
- Czy mogę wgrać forka Monster instalatorem na tej stronie?
- Tylko częściowo. Nie ma archiwum wydania, więc instalator nie ma czego porównać z twoim sprzętem, a jego droga surowego obrazu przyjmuje po jednym pliku naraz. Obraz aplikacji wczytuje się i jest proponowany pod 0x10000; bootloader i tablica partycji zostają odrzucone, bo nie da się z nich odczytać adresu zapisu. Pełna instalacja wszystkich trzech plików wymaga desktopowego narzędzia do wgrywania.