Software di Terra
Cronologia completa del software di terra — dalla py-v0.0 (primo test radio) alla py-v1.0 (pacchetto modulare completo). Ogni release documenta novità, bug e scelte architetturali.
Script minimalista per verificare che la radio NRF24L01 riceva correttamente i dati trasmessi dall'Arduino del razzo. Nessuna interfaccia grafica.
struct.unpack('<i', ...))while not radio.available()) — blocca il processoPrimo tentativo di interfaccia grafica completa: dashboard web Dash con grafico altitudine in tempo reale, cronometro di volo e controllo tramite pulsanti fisici GPIO su Raspberry Pi.
Aggiunto visualizzatore 3D interattivo del modello STL del razzo che ruota in tempo reale con i dati di assetto. Cambio sorgente dati da radio a seriale USB.
Alt = X ; X = Y ; Y = ZCOM6 — non portabile su altri PCser creato a livello di modulo — errore immediato se COM6 non esisteAbbandono di Dash a favore di un'interfaccia nativa Tkinter. Quattro grafici matplotlib separati per altitudine, X, Y, Z. Input via seriale.
Alt =, X =, Y =, Z =Ritorno alla radio con una nuova libreria (pigpio/nrf24). Interfaccia Tkinter fullscreen con grandi display numerici, affiancata da grafici Plotly aperti nel browser.
nrf24 + pigpio — libreria alternativa a pyrf24nrf.data_ready() con sleep 50 ms<ii f ? (13 byte) non compatibile con struct Arduino packed a 20 bytepigpiod avviato manualmente prima dell'esecuzioneRiscrittura completa dell'intera applicazione in un pacchetto Python strutturato. Architettura modulare con separazione netta tra UI, stato, configurazione e sorgente dati. Supporto nativo sia radio che seriale.
FlightState thread-safe con lock per cronometro e dati vololeggi_coordinate()MODALITA_INPUT: "radio" o "serial"