SXXXXXXX_PyMsc/doc/RADAR_INITIALIZATION.md
2025-12-10 11:47:46 +01:00

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:

  1. A1 - Settings and Parameters

    • history_level = TARGET_HISTORY_LEVEL_04
    • rdr_symbology_intensity = 127
  2. A2 - Operation Command

    • master_mode = RWS (Range While Search)
    • gm_submode = 0
    • spare_0_4 = 0
  3. A3 - Graphic Setting

    • Valori di default
  4. A4 - Nav Data and Cursor

    • validity_and_slew.raw = 0
  5. 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

  1. Avvia l'applicazione: python -m pymsc
  2. Premi "Initialize Radar" nel Control Panel
  3. Attendi il messaggio di conferma (verde)
  4. 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

  1. Verifica che il server radar sia in esecuzione
  2. Controlla l'IP destinazione (default: 127.0.0.1)
  3. Verifica che la porta 51553 sia libera
  4. Controlla i log del radar per errori

Inizializzazione fallita

  1. Controlla la console per messaggi di errore dettagliati
  2. Verifica la configurazione di rete con tools\check_radar_status.py
  3. 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.