# Capitolo 5: Configurazione della Comunicazione Una volta definito uno scenario, il passo successivo è configurare la comunicazione per trasmettere i dati dei target simulati al sistema radar (device under test). L'applicazione supporta diversi protocolli, gestiti tramite un'unica finestra di configurazione. ## 5.1. La Finestra `ConnectionSettingsWindow` Questa finestra di dialogo, accessibile dal menu `Settings -> Connection...` o dal pulsante `Settings...` nel Pannello di Connessione, centralizza la configurazione per le due interfacce logiche principali: **Target Connection** e **LRU Connection**. *(Placeholder per l'immagine)* **Descrizione dell'Immagine:** `finestra_connessioni.png` *Qui ti aspetti uno screenshot della finestra `ConnectionSettingsWindow`. Evidenzia le seguenti aree:* 1. *Un riquadro attorno alla sezione "Target Connection".* 2. *Un riquadro attorno alla sezione "LRU Connection" (anche se non ancora utilizzata, va mostrata).* 3. *Una freccia che punta al menu a tendina "Type" per selezionare il protocollo (SFP, TFTP, Seriale).* 4. *Una freccia che punta alle schede sottostanti, che cambiano in base al tipo selezionato.* 5. *Una freccia che punta al pulsante "Test Connection".* --- La finestra permette di configurare in modo indipendente la comunicazione per l'invio dei dati dei target (`Target Connection`) e per un'eventuale comunicazione secondaria con un'altra LRU (`LRU Connection`). Per ogni connessione, è possibile scegliere il tipo di protocollo e impostarne i parametri specifici. ## 5.2. Dettaglio dei Protocolli ### 5.2.1. Configurazione SFP (Simple Fragmentation Protocol) SFP è un protocollo basato su UDP progettato per la trasmissione affidabile di dati. È il metodo di comunicazione più avanzato e raccomandato per l'applicazione. * **Server IP:** L'indirizzo IP del sistema radar che riceverà i dati. * **Server Port:** La porta UDP su cui il sistema radar è in ascolto per i pacchetti SFP. * **Local Port:** La porta UDP su cui l'applicazione si metterà in ascolto per ricevere i pacchetti di ritorno (es. ACK SFP o dati reali dal radar). **È fondamentale che questa porta non sia in uso da altre applicazioni sulla macchina.** * **Use JSON Protocol:** Se selezionato, il simulatore invierà gli aggiornamenti dei target utilizzando un payload JSON compatto, invece del formato testuale legacy. Questo è il metodo preferito per i sistemi radar che lo supportano, in quanto più efficiente e strutturato. * **Prediction Offset (ms):** Un valore in millisecondi che introduce una compensazione manuale per la latenza. Il motore di simulazione anticiperà il calcolo della posizione del target di questo intervallo di tempo prima di inviare i dati, per compensare la latenza di rete e di elaborazione del server. ### 5.2.2. Configurazione TFTP (Trivial File Transfer Protocol) In questa modalità, l'applicazione genera uno script di comandi testuali e lo carica su un server TFTP in esecuzione sul sistema radar. * **Server IP:** L'indirizzo IP del server TFTP. * **Server Port:** La porta del servizio TFTP (di solito la 69). ### 5.2.3. Configurazione Seriale Questa modalità utilizza una connessione seriale (es. RS-232/RS-422) per inviare i comandi testuali. * **COM Port:** Il nome della porta seriale da utilizzare (es. `COM1` su Windows, `/dev/ttyS0` su Linux). Il menu a tendina viene popolato automaticamente con le porte rilevate sul sistema. * **Baud Rate:** La velocità di trasmissione. Deve corrispondere a quella impostata sul dispositivo ricevente. * **Altri Parametri (Parity, etc.):** Sebbene non esposti nell'interfaccia principale `ConnectionSettingsWindow`, possono essere configurati nel file `settings.json` se necessario. ## 5.3. Testare la Connessione Il pulsante `Test Connection` esegue un rapido controllo per verificare la raggiungibilità e la configurazione di base del servizio selezionato, senza stabilire una connessione permanente. * **SFP:** Tenta di aprire e associare un socket sulla porta locale specificata. Un successo indica che la porta è libera e utilizzabile. * **TFTP:** Invia una richiesta di lettura (RRQ) per un file inesistente. Un successo si ha se il server risponde (anche con un errore "file not found"), confermando che il server TFTP è in esecuzione e raggiungibile. Un fallimento indica un timeout o un problema di rete. * **Seriale:** Tenta di aprire la porta COM con i parametri specificati e la richiude immediatamente. Un successo indica che la porta esiste e non è bloccata da un'altra applicazione. L'uso di questa funzione è fortemente raccomandato dopo aver modificato i parametri di connessione per diagnosticare rapidamente eventuali problemi di configurazione.