From 4bbf58bf84d0c617ba05ee75eacb982767d4e887 Mon Sep 17 00:00:00 2001
From: Generic Bliss account for Control Software <blissadm@lbm05ctrl.esrf.fr>
Date: Tue, 5 Nov 2024 14:50:28 +0100
Subject: [PATCH] Cache attr_RobotSpeed_read

---
 .../sample_changer_ds/TomoSampleChanger.py           | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/samplechanger/sample_changer_ds/TomoSampleChanger.py b/src/samplechanger/sample_changer_ds/TomoSampleChanger.py
index 29c993b..5399eca 100644
--- a/src/samplechanger/sample_changer_ds/TomoSampleChanger.py
+++ b/src/samplechanger/sample_changer_ds/TomoSampleChanger.py
@@ -258,7 +258,7 @@ class TomoSampleChanger(Device):
 
                     self.robot_status_time = now
                     self.info_stream ("robot_status() at %d" % int(now))
-                self.status_lock = False
+            self.status_lock = False
 
         # catch all exceptions, convert to Tango exception and rethrow
         except:
@@ -412,7 +412,7 @@ class TomoSampleChanger(Device):
         self.attr_RemoteMode_read       = False
         self.attr_ParkingPosition_read  = False
         self.attr_SafetyChainOK_read    = False
-
+        self.attr_RobotSpeed_read    = "None"
         # init flags for state and status
         self.init_done      = False
         self.init_error     = None
@@ -593,8 +593,9 @@ class TomoSampleChanger(Device):
 
     def get_speed(self):
         # PROTECTED REGION ID(TomoSampleChanger.get_speed) ENABLED START #
-        speed = self.robot.accelForLargeMovesMultiplicator
-        return speed
+        if self.is_moving == False:
+            self.attr_RobotSpeed_read = self.robot.accelForLargeMovesMultiplicator
+        return self.attr_RobotSpeed_read
         # PROTECTED REGION END #    //  TomoSampleChanger.get_speed
 
     def set_speed(self, speed):
@@ -819,6 +820,9 @@ class TomoSampleChanger(Device):
         self.robot.emmergencyStopBlockingPrograms()
         self.robot.powerOFF()
 
+        self.is_moving = False
+        self.is_error = True
+
         # PROTECTED REGION END #    //  TomoSampleChanger.Abort
 
     @command(
-- 
GitLab