Add RFG UDP source to rph_radar
This commit is contained in:
@@ -183,6 +183,38 @@ class AcquisitionValidationTest(unittest.TestCase):
|
||||
with self.assertRaisesRegex(ValueError, "native"):
|
||||
validate_acquisition_config(self.config("rph_radar"))
|
||||
|
||||
def test_rfg_source_needs_a_known_laser_sweep_one_pair_and_a_bind_address(self) -> None:
|
||||
config = self.config("rph_radar")
|
||||
config.radar.driver_mode = "native"
|
||||
config.radar.rph_radar.source = "rfg_udp"
|
||||
config.radar.laser_control.mode = "variation"
|
||||
config.input_switch.positions = config.output_switch.positions = 1
|
||||
config.combos = config.combos[:1]
|
||||
validate_acquisition_config(config)
|
||||
restored = RunConfigModel.from_dict(config.to_dict())
|
||||
self.assertEqual((restored.radar.rph_radar.source, restored.radar.rph_radar.udp_bind),
|
||||
("rfg_udp", "0.0.0.0:5000"))
|
||||
e502 = RunConfigModel.from_dict(config.to_dict())
|
||||
e502.radar.rph_radar.source = "e502"
|
||||
self.assertNotEqual(config.radar_key(), e502.radar_key())
|
||||
for field, value, message in (("source", "pcie", "source"), ("udp_bind", "5000", "udp_bind"),
|
||||
("udp_bind", "192.168.2.1:70000", "udp_bind"),
|
||||
("udp_bind", "192.168.2.l:5000", "udp_bind")):
|
||||
broken = RunConfigModel.from_dict(config.to_dict())
|
||||
setattr(broken.radar.rph_radar, field, value)
|
||||
with self.subTest(field=field, value=value), self.assertRaisesRegex(ValueError, message):
|
||||
validate_acquisition_config(broken)
|
||||
for change, message in (
|
||||
(lambda c: setattr(c.radar.laser_control, "mode", "manual"), "variation"),
|
||||
(lambda c: setattr(c.input_switch, "positions", 2), "one antenna pair"),
|
||||
(lambda c: setattr(c.radar.laser_control.variation, "time_step", 0), "time_step"),
|
||||
(lambda c: setattr(c.radar.laser_control.variation, "max_value", 97.32), "two steps"),
|
||||
):
|
||||
broken = RunConfigModel.from_dict(config.to_dict())
|
||||
change(broken)
|
||||
with self.subTest(message=message), self.assertRaisesRegex(ValueError, message):
|
||||
validate_acquisition_config(broken)
|
||||
|
||||
def test_adc_phase_band_and_timeouts_fail_preflight(self) -> None:
|
||||
for section, field, value in (
|
||||
("phase_calibration", "phase1_rad", 0.0),
|
||||
|
||||
Reference in New Issue
Block a user