diff --git a/lewis_emulators/dh2000/__init__.py b/lewis_emulators/dh2000/__init__.py deleted file mode 100644 index 38ed431b..00000000 --- a/lewis_emulators/dh2000/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -from .device import SimulatedDh2000 -from ..lewis_versions import LEWIS_LATEST - -framework_version = LEWIS_LATEST -__all__ = ['SimulatedDh2000'] diff --git a/lewis_emulators/dh2000/device.py b/lewis_emulators/dh2000/device.py deleted file mode 100644 index fc587811..00000000 --- a/lewis_emulators/dh2000/device.py +++ /dev/null @@ -1,72 +0,0 @@ -from collections import OrderedDict -from .states import DefaultState -from lewis.devices import StateMachineDevice - - -class SimulatedDh2000(StateMachineDevice): - - def _initialize_data(self): - """ - Initialize all of the device's attributes. - """ - - self._shutter_is_open = False - self._interlock_triggered = False - self.is_connected = True - - def _get_state_handlers(self): - return { - 'default': DefaultState(), - } - - def _get_initial_state(self): - return 'default' - - def _get_transition_handlers(self): - return OrderedDict([ - ]) - - @property - def shutter_is_open(self): - """ - Returns whether the shutter is open or closed - - Returns: - shutter_is_open: Bool, True if the shutter is open - - """ - return self._shutter_is_open - - @shutter_is_open.setter - def shutter_is_open(self, value): - """ - Sets whether the shutter is open or closed - Args: - value: Boolean, set to True to open the shutter - - Returns: - None - """ - self._shutter_is_open = value - - @property - def interlock_is_triggered(self): - """ - Returns whether the interlock has been triggered - - Returns: - interlock_is_triggered: Bool, True if the interlock has been triggered (forcing shutter closed) - - """ - return self._interlock_triggered - - @interlock_is_triggered.setter - def interlock_is_triggered(self, value): - """ - Sets the interlock triggered status - - Returns: - None - - """ - self._interlock_triggered = value diff --git a/lewis_emulators/dh2000/interfaces/__init__.py b/lewis_emulators/dh2000/interfaces/__init__.py deleted file mode 100644 index 8e235013..00000000 --- a/lewis_emulators/dh2000/interfaces/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from .stream_interface import Dh2000StreamInterface - -__all__ = ['Dh2000StreamInterface'] diff --git a/lewis_emulators/dh2000/interfaces/stream_interface.py b/lewis_emulators/dh2000/interfaces/stream_interface.py deleted file mode 100644 index 5de43080..00000000 --- a/lewis_emulators/dh2000/interfaces/stream_interface.py +++ /dev/null @@ -1,60 +0,0 @@ -from lewis.adapters.stream import StreamInterface -from lewis.utils.command_builder import CmdBuilder -from lewis.core.logging import has_log -from lewis.utils.replies import conditional_reply - - -@has_log -class Dh2000StreamInterface(StreamInterface): - - # Commands that we expect via serial during normal operation - commands = { - CmdBuilder("get_status").escape("&STS!").eos().build(), - CmdBuilder("close_shutter").escape("&CLOSEA!").eos().build(), - CmdBuilder("open_shutter").escape("&OPENA!").eos().build(), - CmdBuilder("invalid_command").eos().build(), - } - - in_terminator = "\r" - out_terminator = "\r" - - ACK = "&ACK!" + out_terminator - - @staticmethod - def handle_error(request, error): - """ - Prints an error message if a command is not recognised. - - Args: - request : Request. - error: The error that has occurred. - Returns: - None. - """ - - print("An error occurred at request {}: {}".format(request, error)) - - @conditional_reply("is_connected") - def invalid_command(self): - return "&NAC!{}&TYPERR!".format(self.out_terminator) - - @conditional_reply("is_connected") - def close_shutter(self): - self._device.shutter_is_open = False - - return self.ACK - - @conditional_reply("is_connected") - def open_shutter(self): - self._device.shutter_is_open = True - - return self.ACK - - @conditional_reply("is_connected") - def get_status(self): - shutter = self._device.shutter_is_open - interlock = self._device.interlock_is_triggered - - status_string = "{ACK}\n&A{shutter},B0,I{intlock}!".format(ACK=self.ACK, shutter=int(shutter), intlock=int(interlock)) - - return status_string diff --git a/lewis_emulators/dh2000/states.py b/lewis_emulators/dh2000/states.py deleted file mode 100644 index 0730907c..00000000 --- a/lewis_emulators/dh2000/states.py +++ /dev/null @@ -1,12 +0,0 @@ -from lewis.core.statemachine import State -from lewis.core.logging import has_log - - -@has_log -class DefaultState(State): - def in_state(self, dt): - device = self._context - - if device.interlock_is_triggered and device.shutter_is_open: - self.log.info("INTERLOCK close shutter") - device.shutter_is_open = False