Skip to content

Firmware valideringsverktøy

Denne guiden beskriver de interne verktøyene som brukes til å validere ELRS Mobile-applikasjonens logikk for fastvaremontering mot offisielle “Golden” binærfiler.

Ground Truth vs. Konfigurator-binærfiler

Når du utfører valideringsrevisjoner, kan du legge merke til at binærfiler generert av ELRS Mobile stemmer perfekt overens med den offisielle ExpressLRS Web Flasher, men avviker litt fra binærfiler bygget ved hjelp av den lokale ExpressLRS Configurator (Python).

Dette er forventet oppførsel. ESP32s interne C++ JSON-parser ignorerer mellomrom, noe som betyr at begge binærfilene utføres identisk på maskinvare, til tross for at de feiler en streng byte-for-byte SHA256-sammenligning på grunn av minifieringsforskjeller.


Sted: firmware_testing/scripts/dart/logic_validator.dart

Logic Validator er et høyytelses bitnivå-sammenligningsverktøy. Det er designet for å verifisere at ELRS Mobiles interne patching- og monteringslogikk speiler den offisielle ExpressLRS-logikken.

  • Bitnivåanalyse: Finner nøyaktige bit-offset-feil innenfor avvikende bytes.
  • Interaktivt utvalg: Lister alle binærfiler funnet i firmware_testing/binaries/.
  • Zero-Copy minneadministrasjon: Optimalisert for høyhastighetsanalyse av store fastvarefiler.
  1. Klargjør binærfiler: Plasser de genererte .bin- eller .gz-filene i firmware_testing/binaries/.
  2. Oppsett og kjøring:
    Terminal window
    cd firmware_testing/scripts/dart/
    dart pub get
    dart run logic_validator.dart

Sted: firmware_testing/scripts/python/audit_tool.py

Auditoren er et frittstående skript uten avhengigheter, beregnet for “Ground Truth”-verifisering. Det parser den 2704-byte store konfigurasjonsblokken som er lagt til slutten av hvert ExpressLRS fastvarebilde.

Den verifiserer at metadataene som faktisk er flashet til enheten (Product Name, Lua Name, Hardware Layout og Options) er korrekte, uavhengig av eventuelle layoutforskjeller i den grunnleggende fastvarekoden.

  1. Kjør direkte:
    Terminal window
    python3 firmware_testing/scripts/python/audit_tool.py [file1] [file2]

For å sikre at ELRS Mobile monterer fastvare korrekt, bør utviklere periodisk utføre en kryssvalideringsrevisjon mot en “Ground Truth”-binærfil kompilert på en PC.

1

Eksporter binærfil fra ELRS Mobile

Aktiver Expert Mode i Innstillinger, og bruk deretter DOWNLOAD BINARY-knappen i Flasher-fanen etter å ha konfigurert ditt mål og alternativer.

2

Generer PC Ground Truth

Bygg det nøyaktig samme målet og versjonen med identiske alternativer ved hjelp av den offisielle ExpressLRS Configurator på din PC.

3

Kjør revisjonen

Plasser begge binærfilene i firmware_testing/binaries/ og kjør skriptet `audit_tool.py` for å verifisere perfekt maskinvare- og alternativer-likhet.