Technická architektura
ELRS Mobile není jen webový obal; je to nativní implementace Dartu pro kompilační a konfigurační pipeline ExpressLRS.
Jednotné sestavení firmwaru
Namísto spoléhání se na vzdálený cloudový kompilátor, aplikace dynamicky vytváří binární soubory lokálně na vašem zařízení. Při flashování cílů ESP32/ESP8285, FirmwareAssembler provádí přesnou sekvenci modifikace na bitové úrovni:
Extrahování základního generického firmwaru z archivované archivu firmware.zip.
Oříznutí základní výplně vyhledáním signatury magického bajtu 0xE9 ESP.
Extrahování specifických pinoutů cíle a konfigurace za běhu z hardware.json.
Zabalení názvu produktu (128b), názvu Lua (16b), options.json (512b) a hardware.json (2048b) přímo do binárního proudu.
Komprese finálního payloadu do proudu .gz, pokud to vyžaduje cílová platforma (např. ESP8285 legacy).
Periferní logika
Section titled “Periferní logika”Injektor regulační domény
Section titled “Injektor regulační domény”Aplikace přesně zpracovává složité rozdíly mezi frekvenčními pásmy. U zařízení 900MHz/Dual-Band aktivně injektuje zvolenou doménu (např. FCC, EU868) do kompilovaného JSON payloadu. Pro standardní 2.4GHz cíle využívá booleovskou vlajku, aby během sestavování tiše směrovala proces extrakce buď do standardních složek základního firmwaru FCC/ nebo evropských LBT/.
Ukládání a synchronizace firmwaru do mezipaměti
Section titled “Ukládání a synchronizace firmwaru do mezipaměti”Offline flashování je umožněno robustním lokálním systémem ukládání do mezipaměti. Když uživatel stáhne vydání přes Firmware Manager, FirmwareCacheService stahuje generický firmware.zip a soubor hardware.zip specifický pro zařízení přímo z ExpressLRS Artifactory. Tyto archivy jsou spravovány a ukládány lokálně na zařízení, což zajišťuje, že sestavování a flashování může proběhnout okamžitě v terénu bez aktivního připojení k internetu.
Nativní síťová vazba
Mobilní operační systémy (zejména Android a iOS) budou snižovat prioritu Wi-Fi připojení, která postrádají přístup k internetu, a tiše směrovat provoz přes mobilní síť. To brání standardním aplikacím v přístupu k hardwaru ELRS na 10.0.0.1.
ELRS Mobile to řeší prostřednictvím NativeNetworkService. Když je detekováno hardwarové připojení, aplikace vyvolá MethodChannel specifický pro platformu, aby svázala celý proces Flutteru s Wi-Fi rozhraním na úrovni jádra OS. To zajišťuje, že veškerý HTTP a mDNS provoz se správně směruje k hardwaru, bez ohledu na stav mobilní sítě.