From 4d414860cded133a04e2996bb4096f9b7b1ca5be Mon Sep 17 00:00:00 2001 From: "EPanepucci (x06sa-cons-703)" Date: Tue, 9 May 2023 10:23:10 +0200 Subject: [PATCH] override assertInPosition from base class - trying to avoid spurious "Hexiposi not in position" messages --- script/devices/Hexiposi.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/script/devices/Hexiposi.py b/script/devices/Hexiposi.py index 282733f..7003fbc 100644 --- a/script/devices/Hexiposi.py +++ b/script/devices/Hexiposi.py @@ -114,6 +114,21 @@ class Hexiposi(DiscretePositionerBase): print "Timeout waiting Hexiposi busy" break self.update() + + #Retrying after end of move -> once in a while move raises a not in position exception. + def assertInPosition(self, pos): + retries = 3 + for i in range(retries): + try: + super(Hexiposi, self).assertInPosition(pos) + return + except: + if i <(retries-1): + time.sleep(0.5) + else: + raise + + def is_in_position(self, pos): return self.take() == pos