81 lines
2.5 KiB
Python
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)
|