# Capitolo 4: Eseguire una Simulazione Una volta che hai configurato la connessione e preparato il tuo scenario, sei pronto per avviare il test. ## 4.1. Guida Passo-Passo Il processo per eseguire una simulazione è semplice e si svolge principalmente nella scheda **"Simulation"**. 1. **Connettiti al Radar:** * Assicurati che il sistema radar sia acceso e pronto a ricevere dati. * Nella finestra principale, clicca sul pulsante `Connect` nel Pannello di Connessione. * L'indicatore "Target" nella barra di stato in basso dovrebbe diventare **verde**. Se rimane rosso, controlla le impostazioni di connessione (vedi Capitolo 2) e i log. 2. **Carica lo Scenario:** * Se non è già caricato, seleziona lo scenario che vuoi eseguire dal menu a tendina nel "Pannello di Controllo Scenari". 3. **Vai alla Scheda "Simulation":** * Clicca sulla scheda `Simulation` nel pannello di lavoro a destra. 4. **Avvia la Simulazione:** * Clicca sul pulsante `Start Live`. * L'applicazione eseguirà automaticamente un reset del radar per garantire una partenza pulita, invierà le posizioni iniziali dei target e poi avvierà la simulazione. Il reset viene inviato tramite il comando JSON atomico quando possibile, con fallback a comandi legacy per compatibilità. * Prima di avviare una sessione di prova, è consigliabile eseguire lo `Sync Tool` (menu `Debug -> Sync Tool`) per misurare la latenza di rete e verificare che i tempi riscontrati siano compatibili con il tuo scenario di test. * Il pulsante `Start Live` diventerà grigio e il pulsante `Stop Live` diventerà attivo. Il messaggio nella barra di stato cambierà in "Simulation running". Nota sui Profili Target: prima dell'invio lo `SimulationController` espande i profili associati ai singoli target e integra i valori (es. `rcs`, `amplitude`) nei payload `tgtinit`/`tgtset` inviati al server. Eventuali sovrascritture definite a livello target o waypoint vengono applicate al momento della generazione del payload. 5. **Termina la Simulazione:** * La simulazione si fermerà da sola quando tutti i target avranno completato la loro traiettoria. * Per fermarla manualmente in qualsiasi momento, clicca sul pulsante `Stop Live`. ## 4.2. Monitorare la Simulazione in Tempo Reale Mentre la simulazione è in corso, hai diversi strumenti per monitorarne l'andamento. ![Pannello di Simulazione in Esecuzione]() *(Nota: Usa lo stesso screenshot `pannello_simulazione.png` definito nel manuale tecnico)* * **PPI Display:** È il tuo strumento di monitoraggio principale. * Osserva i **target simulati (verdi)** muoversi lungo i loro percorsi. * Verifica che appaiano i **target reali (rossi)**, che rappresentano ciò che il tuo sistema radar sta effettivamente tracciando. Idealmente, i punti rossi dovrebbero sovrapporsi o seguire da vicino quelli verdi. * Se hai attivato l'opzione, vedrai la linea dell'**antenna (gialla o grigia)** spazzare all'interno del suo settore di scansione. * **Slider di Progresso:** La barra di scorrimento sotto i controlli principali mostra a che punto è la simulazione. I tempi `elapsed / total` sono indicati a destra. * **Pannello "Ownship State":** Mostra i dati di volo in tempo reale del tuo aereo (posizione, heading, velocità) come ricevuti dal sistema esterno. * **Tabella "Active Targets":** Mostra i dati calcolati per i target simulati, convertiti in coordinate geografiche (Latitudine/Longitudine). * **Barra di Stato:** Tieni d'occhio: * **Rate (pkt/s, ev/s):** Indica quanti dati stai ricevendo dal radar. Se questo valore è a zero, significa che il radar non sta inviando dati di traccia. * **Latency (ms):** Stima il ritardo di comunicazione tra il radar e il simulatore. Per misure più accurate, usare lo `Sync Tool` e/o l'`External Profiler` (vedi `Debug -> External Profiler`). **Output di archivio:** Al termine della simulazione, i file di tracing vengono prodotti nella cartella temporanea (`Temp/`) e poi spostati in `archive_simulations/` con i seguenti suffissi: - `_.trail.csv` — trail delle posizioni. - `_.latency.csv` — campioni di latenza raccolti. - `_.perf.csv` — dati di performance (presente solo se `enable_performance_profiling` era attivo). Queste impostazioni possono essere controllate da `settings.json` (chiavi di debug `enable_io_trace`, `enable_performance_profiling`, `temp_folder_name`). * **Pannello dei Log:** Controlla quest'area per eventuali messaggi di errore (in rosso) che potrebbero indicare problemi durante la simulazione.