4.0 KiB
Inizializzazione Radar - Guida
Panoramica
È stata aggiunta la funzionalità di inizializzazione del radar all'applicazione PyMsc. Questa funzione replica il comportamento del vecchio script test_1553.py che inviava messaggi di configurazione al server radar per prepararlo alla comunicazione.
Come Funziona
1. Interfaccia Utente
Nel tab Control Panel troverai:
- Pulsante "🔧 Initialize Radar": Avvia la sequenza di inizializzazione
- Indicatore di stato: Mostra lo stato corrente del radar
- ⚠ Arancione: Radar non inizializzato
- ⏳ Blu: Inizializzazione in corso
- ✓ Verde: Radar pronto
- ✗ Rosso: Inizializzazione fallita
2. Sequenza di Inizializzazione
Quando premi il pulsante, l'applicazione invia al radar (sulla porta 51553) i seguenti messaggi con valori di default:
-
A1 - Settings and Parameters
history_level = TARGET_HISTORY_LEVEL_04rdr_symbology_intensity = 127
-
A2 - Operation Command
master_mode = RWS(Range While Search)gm_submode = 0spare_0_4 = 0
-
A3 - Graphic Setting
- Valori di default
-
A4 - Nav Data and Cursor
validity_and_slew.raw = 0
-
A5 - INU High Speed
timetag.raw = 0
Ogni messaggio viene inviato con un intervallo di 50ms per garantire la corretta ricezione.
3. Log del Server Radar
Dopo l'inizializzazione corretta, dovresti vedere nel log del server radar messaggi simili a:
%%[435]S:UDP1553 : connected (UDP1553)
%%[518]W:CMP : PPS GO: ON
%%[666]I:CMP : DFE Radiate: OFF (0/0)
%%[766]W:CMP : DFE Radiate: ON (0/1)
Questo conferma che il radar ha ricevuto ed eseguito i comandi.
Utilizzo
Avvio Normale
- Avvia l'applicazione:
python -m pymsc - Premi "Initialize Radar" nel Control Panel
- Attendi il messaggio di conferma (verde)
- Il Bus Monitor inizierà a mostrare i messaggi dal radar
Test con Fake Radar
Se il radar reale non è disponibile, puoi testare con il simulatore:
# Terminale 1: Fake Radar
python tools\fake_radar.py --sa 1 --period 0.5
# Terminale 2: Applicazione
python -m pymsc
Risoluzione Problemi
Il radar non risponde
- Verifica che il server radar sia in esecuzione
- Controlla l'IP destinazione (default: 127.0.0.1)
- Verifica che la porta 51553 sia libera
- Controlla i log del radar per errori
Inizializzazione fallita
- Controlla la console per messaggi di errore dettagliati
- Verifica la configurazione di rete con
tools\check_radar_status.py - Controlla che tutti i messaggi siano registrati nel controller
Porta già in uso
Se vedi errori sulla porta 61553:
- Chiudi altre istanze dell'applicazione
- Verifica con
netstat -an | Select-String "61553"
Modifiche Tecniche
AppController
- Nuovo flag:
radar_initialized- traccia lo stato di inizializzazione - Nuovo metodo:
initialize_radar()- invia la sequenza di init - Nuovo metodo:
_send_single_message()- helper per invio singolo messaggio - Nuova proprietà:
radar_dest_ip- IP destinazione radar (configurabile)
MainWindow
- Nuovo pulsante: "Initialize Radar" nel Control Panel
- Nuovo indicatore: Stato inizializzazione radar
- Nuovo metodo:
_on_init_radar()- handler pulsante - Nuovo metodo:
_update_radar_status()- aggiorna UI dopo init
Configurazione Avanzata
Cambiare l'IP del Radar
Nel codice, modifica:
self.radar_dest_ip = "192.168.100.10" # IP del tuo radar
Oppure aggiungi un campo nella GUI Settings tab per configurarlo dinamicamente.
Personalizzare i Valori di Inizializzazione
Modifica il metodo initialize_radar() in app_controller.py per cambiare i valori inviati al radar.
Compatibilità
Questa implementazione è 100% compatibile con il vecchio script test_1553.py:
- Stesse porte (51553 per invio, 61553 per ricezione)
- Stessi messaggi
- Stessi valori di default
- Stesso ordine di invio
Il radar riceverà esattamente gli stessi dati che riceveva con il vecchio sistema.