From 7b682df2a74d045a2ce022802fb008eab76e886a Mon Sep 17 00:00:00 2001 From: Sven Augustin Date: Thu, 4 Nov 2021 14:15:33 +0100 Subject: [PATCH] use limit-check mix-in --- slic/core/adjustable/adjustable.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/slic/core/adjustable/adjustable.py b/slic/core/adjustable/adjustable.py index b7e9c0f74..bb99f7241 100644 --- a/slic/core/adjustable/adjustable.py +++ b/slic/core/adjustable/adjustable.py @@ -3,13 +3,14 @@ from slic.core.task import TaskProducer from .baseadjustable import BaseAdjustable from .error import AdjustableError from .convenience import SpecConvenience +from .limited import Limited -class Adjustable(BaseAdjustable, TaskProducer, SpecConvenience): +class Adjustable(BaseAdjustable, TaskProducer, SpecConvenience, Limited): stop = None #TODO: might be better to make this callable - def __init__(self, ID, name=None, units=None, internal=False): + def __init__(self, ID, name=None, units=None, internal=False, limit_low=None, limit_high=None): self.ID = ID self.name = name or ID self.units = units @@ -18,6 +19,9 @@ class Adjustable(BaseAdjustable, TaskProducer, SpecConvenience): self.set_target_value, _start, self.stop, self.wait =\ self._task_producer(self.set_target_value, stopper=self.stop) + self.set_limits(limit_low, limit_high) + self.set_target_value = self._with_check_limits(self.set_target_value) + def tweak(self, delta, *args, **kwargs): value = self.get_current_value()