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>
This commit is contained in:
60
README.md
Normal file
60
README.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# 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
|
||||
- ELRS Backpack Telemetry: https://www.expresslrs.org/software/backpack-telemetry/
|
||||
- Limiti uplink (maintainer): https://github.com/ExpressLRS/ExpressLRS/discussions/3510
|
||||
- Esempio ESP-NOW: https://github.com/druckgott/ELRS-Backpack-Example-ESPNOW
|
||||
- Parser CRSF: https://github.com/zs6buj/terseCRSF
|
||||
- LTM (INAV): https://github.com/iNavFlight/inav/blob/master/src/main/telemetry/ltm.c
|
||||
- mwptools: https://codeberg.org/stronnag/mwptools
|
||||
Reference in New Issue
Block a user