Files
Crossfire-to-Multi-telemetr…/README.md
Francesco Zanin e22a47fce1 Snapshot iniziale: bridge telemetria CRSF->LTM/MAVLink (ESP-NOW)
Stato di partenza prima dei fix. Il repo git era inizializzato a meta'
(config.lock + objects/ mancante, zero commit): riparato.
my_config.h (UID reale, tutti e 3 i sottoprogetti) escluso via .gitignore;
aggiunto my_config.h.example. .pio/ escluso.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 19:32:11 +02:00

2.7 KiB

Crossfire / INAV Telemetry Tracker

Leggere la telemetria di un aeromodello INAV, ritrasmessa dal modulo TX ExpressLRS via TX Backpack / ESP-NOW, con un ESP32 DevKit a terra. Obiettivo finale: antenna tracker.

Catena dati

  INAV FC (GPS) --CRSF--> RX ELRS --link RF--> TX ELRS
     --> TX Backpack --ESP-NOW (canale 1, MAC=UID)--> ESP32 a terra

Il backpack ritrasmette i frame di telemetria CRSF; l'ESP32 imposta il proprio MAC = UID (hash della bind phrase) per riceverli.

Sottoprogetti

01_telemetry_reader/

Sketch minimale RX-only: riceve, fa parsing CRSF (terseCRSF) e stampa una dashboard leggibile su seriale. Il punto di partenza più semplice per validare la catena. Vedi 01_telemetry_reader/README.md.

02_telemetry_bridge/

Firmware unico multi-modo (consigliato d'ora in poi). 4 modalità a runtime selezionabili col pulsante BOOT (salvate in NVS):

  • HUMAN — dashboard leggibile
  • CRSF_DUMP — dump esadecimale dei frame
  • LTM — traduzione CRSF→LTM v2 per mwptools (monitoraggio volo)
  • MSP — MSP-over-CRSF sperimentale + hook uplink

Codice condiviso in lib/EspNowCrsf (ESP-NOW/ricezione) e lib/Ltm (encoder LTM). Vedi 02_telemetry_bridge/README.md.

Cosa è fattibile e cosa no (verificato)

Funzione Stato Note
Lettura telemetria (GPS/batt/assetto/link) Fattibile downlink via backpack
Monitoraggio volo in mwptools (LTM) Fattibile LTM unidirezionale
MSP bidirezionale verso FC via backpack No backpack è downlink-only (ELRS maintainer, #3510)
MSP bidirezionale (missioni/config) ⚠️ Serve altro link SiK/3DR seriale o mLRS/MSPX

Setup comune

  1. VSCode + PlatformIO, apri la sottocartella del progetto che vuoi usare.
  2. Genera l'UID dalla bind phrase su https://expresslrs.github.io/web-flasher/ e mettilo in src/my_config.h.
  3. Sulla radio (RadioMaster): Lua ELRS → Backpack → Telemetry = ESPNOW.
  4. Verifica che i sensori GPS compaiano sulla radio (EdgeTX → Telemetry → Discover).
  5. Build → Upload → Monitor (115200).

Riferimenti