Francesco Zanin 67933bcfc1 Fix RSSI bloccato al 39% nel modo MAVLINK
RADIO_STATUS.rssi/remrssi vanno su scala 0..254 (i GCS riscalano a %:
mwp fa raw*1023/255). Si mandava link_quality grezzo 0..100, quindi con
LQ=100 mwp mostrava 100/2.55 = 39% fisso. Riscalato a 0..254 (come gia'
fa il modo LTM). Root cause confermata dal sorgente mwp (mwp-mavlink_msg.vala).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 19:35:00 +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 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

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%