From 0df50bb0f9f8259467a6c9f7329d09f3bf94e993 Mon Sep 17 00:00:00 2001 From: Enrico Faulhaber Date: Tue, 2 Aug 2022 11:54:53 +0200 Subject: [PATCH] secop_mlz: minor rework entangle client Change-Id: Ie406b4220c22cdbf302a1fd36f2d7407d81a47fa Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28951 Tested-by: Jenkins Automated Tests Reviewed-by: Markus Zolliker Reviewed-by: Enrico Faulhaber --- secop_mlz/entangle.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/secop_mlz/entangle.py b/secop_mlz/entangle.py index ba97125..df20938 100644 --- a/secop_mlz/entangle.py +++ b/secop_mlz/entangle.py @@ -28,6 +28,9 @@ Here we support devices which fulfill the official MLZ TANGO interface for the respective device classes. """ +# pylint: disable=too-many-lines + + import re import threading from time import sleep @@ -173,7 +176,7 @@ class PyTangoDevice(Module): tango_status_mapping = { PyTango.DevState.ON: Drivable.Status.IDLE, PyTango.DevState.ALARM: Drivable.Status.WARN, - PyTango.DevState.OFF: Drivable.Status.ERROR, + PyTango.DevState.OFF: Drivable.Status.DISABLED, PyTango.DevState.FAULT: Drivable.Status.ERROR, PyTango.DevState.MOVING: Drivable.Status.BUSY, } @@ -504,6 +507,9 @@ class AnalogOutput(PyTangoDevice, Drivable): return stable and at_target def read_status(self): + _st, _sts = super().read_status() + if _st == Readable.Status.DISABLED: + return _st, _sts if self._isAtTarget(): self._timeout = None self._moving = False