3.2 KiB
3.2 KiB
Sì, ho tenuto traccia. Ottima domanda, facciamo il punto della situazione per capire cosa abbiamo coperto e cosa resta da esplorare.
Blocchi Attualmente Gestiti (con Parsing Dettagliato)
DSPHDRIN: Completamente mappato tramite lastruct GeHeader. È la nostra fonte principale per i metadati di alto livello comebatch_counter,ttag,nrbin,npri, e le modalità operative.CDPSTS: Mappato in dettaglio tramite lastruct CdpStsPayload. Estraiamo lo stato, i timetag e le informazioni sull'antenna da qui.TIMER: Mappato (anche se parzialmente, ma in modo robusto) tramite lastruct GrifoTimerBlob. Estraiamo i registri di temporizzazione di base.- Blocchi di Segnale (
SUM,GUARD,DAZ,DEL): Gestiti. Il parser estrae correttamente i dati I/Q in un array numpy quando è presente unDSPHDRINper fornire le dimensioni (nrbin,npri).
Blocchi Identificati ma NON Analizzati in Dettaglio
Dal log che mi hai fornito, identifichiamo correttamente i seguenti tipi di blocco, ma attualmente li trattiamo come GenericBlock, ovvero non ne estraiamo il contenuto specifico. Sono i candidati perfetti per la nostra prossima espansione.
AESA(ID: 1095976257): Molto importante. Contiene i dati di comando e di stato dell'antenna AESA (Active Electronically Scanned Array). Dal codice C++ che mi hai passato (postprocess.cpp), vedo che esistono blocchiAESATX(trasmissione) eAESARX(ricezione) che vengono parsati per estrarre informazioni cruciali come gli errori di comunicazione e la posizione del fascio.D1553(ID: 892678468): Questo blocco contiene i dati provenienti dal bus avionico MIL-STD-1553. È una fonte ricchissima di informazioni di navigazione e di stato del velivolo. Ilpostprocess.cppha una funzioned1553_extractche estrae dati come posizione GPS (lat/lon), altitudine, heading, etc. Poter parsare questo blocco sarebbe un enorme valore aggiunto.- Blocchi Firmware (
EXP,PC,DET): Li identifichiamo correttamente, ma non ne estraiamo il contenuto. Contengono le impostazioni di basso livello per l'expander, il pulse compressor e il detector. Potrebbe essere utile estrarli per un'analisi molto dettagliata del funzionamento del DSP. EXTLINK,CTRLINK,SOFT,SOFTDFE: Questi sono probabilmente contenitori più generici per vari tipi di dati software, di controllo o di debug. Analizzarli richiederebbe un'indagine più approfondita per capire cosa contengono di utile.DSPS: Probabilmente "DSP Status", potrebbe contenere informazioni di stato aggiuntive dal Digital Signal Processor.
Prossimo Passo Consigliato
Considerando l'importanza dei dati, ti suggerirei di procedere in questo ordine:
D1553: È probabilmente il più prezioso. Estrarre dati di navigazione precisi (latitudine, longitudine, altitudine, velocità) arricchirebbe enormemente l'output. Abbiamo già lestructdi riferimento nelpostprocess.cpp(GhostEifIpc::avionics_adaptor_message_store_t).AESA: Il secondo per importanza. Poter estrarre i comandi inviati all'antenna e il suo stato di salute sarebbe fondamentale per un'analisi completa delle performance del radar.
Che ne dici di iniziare con il blocco D1553? Sei d'accordo?