3 Commits

Author SHA1 Message Date
Francesco Zanin
5d6f646a5e Pulizia: rimosso codice morto RC/SBUS/PWM e uplink ESP-NOW inutilizzato
terseCRSF vendorizzata: rimosse initialise/sbus_initialise/readCrsfFrame/
decodeRC/printPWM/prepSBUS/bytesToPWM/pwmToBytes/sendSBUS e i membri/buffer
SBUS-PWM (sb_bytes, pwm_val, crsf_port, sbus_port, RC_BUILD/SBUS machinery).
Usiamo solo decodeTelemetry: mantenuti i decoder + helper (bytes2*, wrap360,
crc8_dvb_s2[_sbuf_accum] usata dalla patch CRC, printByte/printBytes). ~283
righe in meno, nessun riferimento pendente (verificato con grep su 01/02/03).

EspNowCrsf: rimosso sendRaw() e il peer broadcast in begin() (uplink
sperimentale morto, il backpack e' downlink-only). Ora RX-only pulito.

main.cpp: commento "MAVLink v1" -> "v2" (la lib emette v2).

DA VERIFICARE A BANCO con un build (qui non compilabile).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 16:55:41 +02:00
Francesco Zanin
bb378f16d0 terseCRSF: valida lunghezza + CRC8 in decodeTelemetry; suite di test riallineata
- decodeTelemetry() ora scarta frame incompleti o con CRC8 errata (prima non
  validava nulla: frame corti/corrotti da ESP-NOW venivano decodificati
  leggendo oltre il frame -> telemetria spazzatura, e OOB read su FLIGHT_MODE).
- test_decode.cpp: vettori ricostruiti come frame reali con CRC valida
  (calcolata offline), battery ri-quadrato a lth=10, assert bat_fuel_drawn
  corretto a 350 (era 89678, pre-patch uint24), test "non valida CRC" invertito
  in "rigetta CRC errata", aggiunto test su frame troncato.
- Emulatore (03) e backpack reale usano lo stesso framing/CRC -> passano.

DA RI-ESEGUIRE A BANCO: 'pio test -e esp32dev_test' e test RF reale. Se la
telemetria reale sparisce, il backpack potrebbe non rilasciare una CRC valida
nel frame ESP-NOW -> in tal caso ripiegare su validazione solo-lunghezza.

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