# Capitolo 2: Primo Avvio e Configurazione

Prima di poter eseguire una simulazione, è fondamentale configurare correttamente la comunicazione tra il simulatore e il sistema radar. Questa operazione va eseguita solo la prima volta o quando i parametri di rete cambiano.

## 2.1. Configurare la Connessione al Radar

1.  **Aprire la Finestra di Configurazione:**
    *   Nella finestra principale, clicca sul pulsante `Settings...` situato nel **Pannello di Connessione** (sopra il display PPI).
    *   In alternativa, vai sul menu `Settings -> Connection...`.

    Si aprirà la finestra `Connection Settings`.

    ![Finestra di Configurazione Connessioni](<percorso/relativo/a/finestra_connessioni.png>)
    *(Nota: Usa lo stesso screenshot `finestra_connessioni.png` del manuale tecnico)*

2.  **Scegliere il Protocollo:**
    *   La finestra è divisa in due sezioni identiche: `Target Connection` (per i dati dei target) e `LRU Connection` (per uso futuro). Concentrati su **`Target Connection`**.
    *   Usa il menu a tendina **`Type`** per selezionare il protocollo di comunicazione richiesto dal tuo sistema radar. Le opzioni più comuni sono:
        *   **SFP:** Il protocollo standard per la maggior parte dei sistemi moderni.
        *   **TFTP:** Se il tuo sistema carica gli scenari tramite TFTP.
        *   **Serial:** Per connessioni tramite porta seriale.

3.  **Inserire i Parametri:**
    A seconda del protocollo scelto, verranno mostrati campi diversi. Inserisci i valori forniti dal responsabile del sistema radar.

    *   **Se hai scelto SFP:**
        *   `Server IP`: L'indirizzo IP del radar.
        *   `Server Port`: La porta su cui il radar ascolta.
        *   `Local Port`: La porta che il simulatore userà per ascoltare. **Assicurati che sia una porta libera sul tuo PC.**
        *   `Use JSON Protocol`: Seleziona questa casella se richiesto dalle specifiche del tuo sistema. È l'opzione raccomandata.
        *   `Prediction Offset (ms)`: Lascia a `0` a meno che non ti venga indicato diversamente. Serve per compensazioni avanzate della latenza.

    *   **Se hai scelto TFTP:**
        *   `Server IP`: L'indirizzo IP del server TFTP del radar.
        *   `Server Port`: La porta del servizio TFTP (solitamente 69).

    *   **Se hai scelto Serial:**
        *   `COM Port`: Seleziona la porta seriale a cui è connesso il sistema.
        *   `Baud Rate`: Seleziona la velocità di comunicazione corretta.

4.  **Salvare la Configurazione:**
    *   Una volta inseriti tutti i dati, premi il pulsante `Save`. La finestra si chiuderà e le impostazioni verranno salvate.

## 2.2. Testare la Connessione

Dopo aver salvato, è una buona pratica verificare che i parametri siano corretti.

1.  **Riapri la Finestra di Configurazione** (`Settings...`).
2.  Assicurati che il `Type` corretto sia selezionato.
3.  Premi il pulsante **`Test Connection`** in basso a destra.

Apparirà un messaggio che ti informerà sull'esito del test:
*   **Success:** La configurazione è probabilmente corretta e il sistema radar è raggiungibile.
*   **Failure:** C'è un problema. Le cause più comuni sono:
    *   Indirizzo IP o porta errati.
    *   Il sistema radar non è acceso o non è in ascolto.
    *   Problemi di rete (cavi, firewall).
    *   La porta locale (per SFP) è già usata da un altro programma.

Una volta che il test ha successo, sei pronto per connetterti e lanciare la tua prima simulazione. Per farlo, premi il pulsante `Connect` nel Pannello di Connessione della finestra principale. L'indicatore di stato "Target" dovrebbe diventare verde.

## 2.3. Opzioni di Debug e Cartelle di Output

Prima di eseguire test di carico o profiling, controlla il file `settings.json` per le opzioni di debug. Le chiavi principali sono:

- `enable_io_trace` (bool): abilita la scrittura dei CSV con le posizioni inviate e ricevute.
- `io_trace_sent_filename` / `io_trace_received_filename` (string): nomi di file di default per i CSV di I/O.
- `enable_performance_profiling` (bool): abilita la raccolta interna dei campioni di performance (parse_ms, hub_ms, ecc.).
- `temp_folder_name` (string): cartella temporanea usata per i file prima della finalizzazione (default `Temp`).

I file temporanei vengono creati nella cartella indicata da `temp_folder_name` e, al termine della simulazione, vengono spostati nella cartella `archive_simulations/` con nomi che includono timestamp e nome dello scenario.

Se prevedi di usare l'`External Profiler` o lo `Sync Tool`, assicurati di avere privilegi per aprire le porte di rete che userai e, quando necessario, di avere Wireshark/dumpcap installati per la correlazione dei pacchetti.