dual channel

This commit is contained in:
Adrian 2026-04-08 12:06:30 +02:00
parent 78a5166a5c
commit 046b9fd712

View File

@ -47,43 +47,54 @@ class Test_Leak(Test_Test):
self.stop_b.setEnabled(False)
def start_test(self):
# 1. HANDLE FREEFALL SPECIFIC OUTPUTS
if self.step.step_type == "test_freefall_leak":
self.set_digital_out("first_output", 1) # Set high
# print extra labels
self.set_digital_out("first_output", 1)
# 2. PRINT LABELS IF NECESSARY
if self.step.step_type == "leak_1":
self.parent.print_extra_labels()
# SELECT TEST CHANNEL
# 3. CHANNEL SELECTION (Moved outside of the flush/blow check)
# This ensures channels are switched even if external_flush_blow is absent
if self.parent.config["hardware_config"].get("dual_channel", None) == "present":
chan_sel = self.step.spec.get("chan_sel", 0) # Default to CH1 (0) if not specified
self.set_digital_out("out_channel_select", chan_sel)
self.set_digital_out("in_channel_select", chan_sel)
# SET LED INDICATORS
if chan_sel == 0:
self.set_digital_out("ch1_led", True)
self.set_digital_out("ch2_led", False) # Ensure the other is off
else:
self.set_digital_out("ch2_led", True)
self.set_digital_out("ch1_led", False)
time.sleep(VALVE_TIME)
# 4. EXTERNAL FLUSH / BLOW LOGIC
if self.parent.config["hardware_config"].get("external_flush_blow", None) == "present":
if self.parent.config["hardware_config"].get("dual_channel", None) == "present":
chan_sel = self.step.spec["chan_sel"] # 0=CH1, 1=CH2
self.set_digital_out("out_channel_select", chan_sel)
self.set_digital_out("in_channel_select", chan_sel)
time.sleep(VALVE_TIME)
# SET LED INDICATORS
if chan_sel == 0:
self.set_digital_out("ch1_led", True)
else:
self.set_digital_out("ch2_led", True)
self.blow_on=True
self.blow_on = True
self.display_text("SOFFIAGGIO IN CORSO...")
self.set_digital_out("blow_led",True)
self.set_digital_out("blow_on",True)
self.set_digital_out("blow_led", True)
self.set_digital_out("blow_on", True)
time.sleep(VALVE_TIME)
self.set_digital_out("flush_on", True)
blow_time=int(self.step.spec.get('ext_blow_time',3))
self.set_digital_out("blow_led", True)
blow_time = int(self.step.spec.get('ext_blow_time', 3))
time.sleep(blow_time)
self.set_digital_out("blow_led", False)
self.set_digital_out("blow_on", False)
time.sleep(VALVE_TIME)
self.set_digital_out("flush_on", False)
if self.parent.config["hardware_config"].get("dual_channel", None) != "present":
self.set_digital_out("ch1_led", True)
# 5. FALLBACK LED FOR SINGLE CHANNEL MACHINES
elif self.parent.config["hardware_config"].get("dual_channel", None) != "present":
# Ensure CH1 LED is on for standard machines if no dual channel exists
self.set_digital_out("ch1_led", True)
# 6. TRIGGER PHYSICAL TESTER
self.blow_on = False
if not self.simulate:
self.components[self.tester_component].start_test()