Francesco Zanin 89d087a68a MAVLINK: inverti pitch e roll, corrente x10 per mwp
- ATTITUDE: nego pitch e roll (mwp mostrava l'assetto al contrario su
  entrambi gli assi con telemetria reale). Yaw invariato.
- SYS_STATUS/BATTERY_STATUS: corrente ora A*1000 invece di cA (A*100).
  Workaround del bug mwp (mostra current_battery /10): cosi' 1.2A -> 1.2A
  in mwp. Non spec-compliant di proposito; overflow int16 oltre ~32A.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 18:43:18 +02:00

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 via comando seriale (! poi 0..3, oppure ! poi m per il successivo; scelta salvata in NVS, la board si riavvia nel nuovo modo):

  • HUMAN — dashboard leggibile
  • CRSF_DUMP — dump esadecimale dei frame
  • LTM — traduzione CRSF→LTM v2 per mwptools (monitoraggio volo)
  • MAVLINK — traduzione CRSF→MAVLink v2 per mwptools (come LTM, più la corrente istantanea in Ampere)

Codice condiviso in lib/EspNowCrsf (ESP-NOW/ricezione) e lib/Ltm (encoder LTM). terseCRSF e la libreria MAVLink ufficiale (c_library_v2) sono vendorizzate in lib/. 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

Description
Convertitore di telemetria ricevuta tramite EPS-NOW, indirizzato principalmente per INAV ma compatibile con altri protocolli
Readme GPL-3.0 732 KiB
Languages
C 98.1%
C++ 1.9%