5.1 KiB
Capitolo 7: Strumenti di Debug
Il Radar Target Simulator include strumenti avanzati progettati specificamente per il debug e la diagnostica a basso livello. Questi strumenti sono accessibili dal menu Debug della finestra principale.
7.1. SFP Packet Inspector (SfpDebugWindow)
Questa è la finestra di debug più potente dell'applicazione, dedicata all'ispezione e all'interazione con il protocollo SFP (Simple Fragmentation Protocol). Permette di monitorare il traffico di rete, inviare comandi manuali e ispezionare il contenuto dei payload ricevuti.
(Placeholder per l'immagine)
Descrizione dell'Immagine: finestra_debug_sfp_ris.png
Qui ti aspetti uno screenshot della finestra SfpDebugWindow. Deve avere la scheda "RIS" selezionata per mostrare le tabelle più importanti.
Evidenzia:
- La sezione superiore con i controlli di connessione e il "Simple Target Sender".
- La scheda "Raw" con un dump esadecimale di un pacchetto.
- La scheda "RIS" con le due tabelle: "Scenario" a sinistra e "Targets" a destra.
- La scheda "History" con l'elenco dei pacchetti ricevuti.
7.1.1. Panoramica della Finestra
La finestra è suddivisa in tre aree principali:
-
Controlli Superiori:
- Connessione: Permette di stabilire o interrompere una connessione SFP indipendente da quella della finestra principale, utile per il debug isolato.
- Simple Target Sender: Un'interfaccia rapida per inviare un singolo comando
tgtseto un payload JSON per un target con parametri definiti al volo. È estremamente utile per testare la risposta del radar a uno stimolo specifico senza caricare un intero scenario. I pulsanti nelle schede "CMD" e "JSON" permettono di inviare comandi rapidi come il reset. - Script to send: Un campo per inviare comandi testuali arbitrari.
-
Pannello a Schede (Notebook): Il cuore della finestra, permette di ispezionare i dati ricevuti sotto diverse forme.
-
Barra di Stato (non mostrata): Fornisce informazioni aggiuntive.
7.1.2. Interpretazione delle Schede
-
Scheda
Raw: Mostra un dump esadecimale completo dell'ultimo pacchetto SFP ricevuto. Visualizza l'header SFP decodificato campo per campo (inclusi flag, flow ID, TID) e il corpo del payload in formato esadecimale e ASCII. È lo strumento fondamentale per il debug a livello di protocollo. -
Scheda
Log: Un'area di log dedicata agli eventi specifici della finestra di debug. -
Scheda
RIS: La scheda più importante per l'analisi dei dati reali. Quando l'applicazione riceve un payload di stato dal sistema radar (tipicamente con Flow ID 'R'), questa scheda lo decodifica e lo visualizza in due tabelle:- Tabella
Scenario: Mostra i dati globali della piattaforma/ownship inviati dal radar (posizione, velocità, heading, altitudine, modalità operativa, etc.). - Tabella
Targets: Elenca tutti i target (tipicamente fino a 32) e il loro stato come riportato dal radar. Per ogni target, visualizza flag, heading e posizione(x, y, z)in coordinate assolute.
- Tabella
-
Scheda
History: Tiene traccia degli ultimi pacchetti SFP ricevuti, mostrando timestamp, Flow ID, TID e dimensione. Selezionando una riga, il contenuto completo di quel pacchetto viene visualizzato nella schedaRaw, permettendo di analizzare pacchetti passati. -
Schede
MFD/SAR/BIN/JSON: Queste schede sono "payload-aware". Quando viene ricevuto un payload con il Flow ID corrispondente, il suo contenuto viene visualizzato in un formato appropriato:MFD/SAR: Tentano di renderizzare il payload come un'immagine.BIN: Mostrano un dump esadecimale.JSON: Formattano e visualizzano il payload come un albero JSON.
7.2. Pannello Livelli di Log (LoggerPanel)
Accessibile da Debug -> Logger Levels..., questa finestra permette di controllare dinamicamente, a runtime, il livello di verbosità dei log per ogni singolo modulo dell'applicazione.
(Placeholder per l'immagine)
Descrizione dell'Immagine: pannello_logger.png
Qui ti aspetti uno screenshot della finestra LoggerPanel.
Evidenzia:
- La lista dei logger disponibili a sinistra.
- Il campo "Filter" in alto a sinistra.
- Il menu a tendina "Level" a destra per selezionare il livello (DEBUG, INFO, etc.).
- Il pulsante "Apply".
- Scopo: È uno strumento indispensabile per il debug. Se si sospetta un problema in un modulo specifico (es.
sfp_transport), si può aumentare il suo livello di log aDEBUGper ottenere informazioni estremamente dettagliate, senza essere sommersi dai log degli altri moduli. - Funzionamento:
- La lista a sinistra mostra tutti i logger registrati nell'applicazione.
- Si seleziona il logger di interesse.
- Si sceglie il livello di log desiderato dal menu a tendina (
DEBUGper la massima verbosità,INFOper il normale funzionamento,WARNINGoERRORper visualizzare solo i problemi). - Si preme
Apply. La modifica ha effetto immediato.
- Persistenza: Le modifiche ai livelli di log vengono salvate in un file
logger_prefs.json, in modo da essere mantenute tra un'esecuzione e l'altra dell'applicazione.