PlatSim_Genova/tests/quick_test_b9.py
2026-02-04 10:04:05 +01:00

81 lines
2.5 KiB
Python

"""
Quick B9 Test - Verifica accesso messaggio B9 in modalità simulazione
"""
import __init__
import sys
import logging
logging.basicConfig(level=logging.INFO, format='%(levelname)s: %(message)s')
def quick_test_b9():
"""Test rapido B9 in modalità mock."""
logging.info("=== B9 Quick Test (Mock Mode) ===\n")
# Import mock
import GRIFO_M_PBIT_mock as mock
# Create mock interface
logging.info("1. Creating mock interface...")
interface = mock.MockGrifo1553Interface()
logging.info(" ✓ Mock interface created\n")
# Test B9 message counter
logging.info("2. Testing B9 message counter...")
try:
count = interface.getSingleMessageReceivedSz("B9")
logging.info(f" ✓ B9 message counter: {count}\n")
except Exception as e:
logging.error(f" ✗ Error getting B9 counter: {e}\n")
return False
# Test B9 field access
logging.info("3. Testing B9 field values...")
test_fields = [
('b9_t_num', 'Number of targets'),
('b9_t1_rng', 'Target 1 range'),
('b9_w12', 'Word 12'),
('b9_t1_az', 'Target 1 azimuth'),
]
for field, desc in test_fields:
try:
value = interface.getMessageFieldValue("B9", field)
logging.info(f"{field:12s} = {value:>6} ({desc})")
except Exception as e:
logging.error(f"{field:12s} - Error: {e}")
return False
logging.info("\n4. Simulating target detection...")
# Initialize field values (simula un run)
interface._initialize_field_values()
# Read again
t_num = interface.getMessageFieldValue("B9", "b9_t_num")
t_rng = interface.getMessageFieldValue("B9", "b9_t1_rng")
logging.info(f" After initialization:")
logging.info(f" - Targets detected: {t_num}")
logging.info(f" - Target 1 range: {t_rng}")
if t_num > 0:
logging.info(f" ✓ Target simulated successfully!\n")
else:
logging.info(f" ⚠ No target simulated (depends on run pattern)\n")
logging.info("=== TEST PASSED ===")
logging.info("B9 message is fully accessible in mock mode!")
logging.info("\nNext step: Integrate tgt_gen() function with real hardware test")
return True
if __name__ == '__main__':
try:
success = quick_test_b9()
sys.exit(0 if success else 1)
except Exception as e:
logging.error(f"\n=== TEST FAILED ===")
logging.error(f"Exception: {e}")
import traceback
traceback.print_exc()
sys.exit(1)