diff --git a/evolver/device.py b/evolver/device.py index 01f3fad4..e08ce02d 100644 --- a/evolver/device.py +++ b/evolver/device.py @@ -97,7 +97,7 @@ def abort(self): self.enable_control = False self.enable_commit = False for device in self.effectors.values(): - device.abort() + device.off() def __enter__(self): return self diff --git a/evolver/hardware/demo.py b/evolver/hardware/demo.py index aefaebeb..aa2d4e45 100644 --- a/evolver/hardware/demo.py +++ b/evolver/hardware/demo.py @@ -37,5 +37,5 @@ def __init__(self, *args, **kwargs): def commit(self): self.comitted = copy(self.proposal) - def abort(self): + def off(self): pass diff --git a/evolver/hardware/interface.py b/evolver/hardware/interface.py index 291938ef..9a4470b9 100644 --- a/evolver/hardware/interface.py +++ b/evolver/hardware/interface.py @@ -83,5 +83,11 @@ def commit(self): pass @abstractmethod - def abort(self): + def off(self): + """Immediately turn device into off state. + + Used by framework in aborting an experiment. Implementations should + define off condition and implement in such a way that a commit call is + not necessary (i.e. the device turns off upon calling this method). + """ pass diff --git a/evolver/hardware/standard/led.py b/evolver/hardware/standard/led.py index f8e3ca2f..0b762a83 100644 --- a/evolver/hardware/standard/led.py +++ b/evolver/hardware/standard/led.py @@ -35,7 +35,7 @@ def from_brightness(brightness): comm.communicate(SerialData(addr=self.addr, data=cmd)) self.committed = inputs - def abort(self): + def off(self): cmd = [b"0"] * self.slots with self.serial as comm: comm.communicate(SerialData(addr=self.addr, data=cmd)) diff --git a/evolver/hardware/standard/pump.py b/evolver/hardware/standard/pump.py index 102a97e2..694387b3 100644 --- a/evolver/hardware/standard/pump.py +++ b/evolver/hardware/standard/pump.py @@ -95,7 +95,7 @@ def commit(self): comm.communicate(SerialData(addr=self.addr, data=cmd)) self.committed = inputs - def abort(self): + def off(self): cmd = [b"0"] * self.slots for pump in self.ipp_pumps: for solenoid in range(3): @@ -164,5 +164,5 @@ def commit(self): self._generic_pump.commit() self.committed = copy(self.proposal) - def abort(self): - self._generic_pump.abort() + def off(self): + self._generic_pump.off() diff --git a/evolver/hardware/standard/stir.py b/evolver/hardware/standard/stir.py index 732dcf11..ef82d580 100644 --- a/evolver/hardware/standard/stir.py +++ b/evolver/hardware/standard/stir.py @@ -35,7 +35,7 @@ def commit(self): comm.communicate(SerialData(addr=self.addr, data=cmd)) self.committed = inputs - def abort(self): + def off(self): cmd = [b"0"] * self.slots with self.serial as comm: comm.communicate(SerialData(addr=self.addr, data=cmd)) diff --git a/evolver/hardware/standard/temperature.py b/evolver/hardware/standard/temperature.py index 33173bc4..c8f97325 100644 --- a/evolver/hardware/standard/temperature.py +++ b/evolver/hardware/standard/temperature.py @@ -71,7 +71,7 @@ def read(self): def commit(self): self._do_serial(from_proposal=True) - def abort(self): + def off(self): cmd = [self.HEAT_OFF] * self.slots with self.serial as comm: comm.communicate(SerialData(addr=self.addr, data=cmd)) diff --git a/evolver/hardware/test_utils.py b/evolver/hardware/test_utils.py index de5c8e05..a07b9f47 100644 --- a/evolver/hardware/test_utils.py +++ b/evolver/hardware/test_utils.py @@ -125,5 +125,5 @@ def test_abort(self, config_params, values, serial_out): return config, command = self.abort_command hw = _from_config_desc(self.driver, config, {}) - hw.abort() + hw.off() assert hw.evolver.serial.backend.hits_map[command] == 1 diff --git a/evolver/tests/test_device.py b/evolver/tests/test_device.py index 71198a14..1dc6a7de 100644 --- a/evolver/tests/test_device.py +++ b/evolver/tests/test_device.py @@ -151,8 +151,8 @@ def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.aborted = False - def abort(self): - super().abort() + def off(self): + super().off() self.aborted = True demo_evolver.hardware["testeffector"] = AbortEffector()