diff --git a/config/config.properties b/config/config.properties index c833049..ab936ff 100644 --- a/config/config.properties +++ b/config/config.properties @@ -1,58 +1,59 @@ -#Tue Oct 31 16:26:56 CET 2023 -autoSaveScanData=true -dataLayout=default -dataPath={data}/{year}_{month}/{date}/{date}_{time}_{name} -dataProvider=h5 -dataScanFlushRecords=false -dataScanLazyTableCreation=false -dataScanPreserveTypes=false -dataScanReleaseRecords=false -dataScanSaveOutput=false -dataScanSaveScript=false -dataScanSaveSetpoints=false -dataServerPort=-1 -dataTransferMode=Off -dataTransferPath= -dataTransferUser= -depthDimension=0 -disableDataFileLogs=false -disableEmbeddedAttributes=false -fdaSerialization=false -filePermissionsConfig=Public -filePermissionsData=Default -filePermissionsLogs=Public -filePermissionsScripts=Public -hideServerMessages=false -hostName= -instanceName= -logDaysToLive=-1 -logLevel=Info -logLevelConsole=Off -logPath={logs}/{date}_{time} -noBytecodeFiles=false -notificationLevel=Off -notifiedTasks= -parallelInitialization=false -saveCommandStatistics=false -saveConsoleSessionFiles=false -scanStreamerPort=-1 -serverEnabled=true -serverPort=8080 -sessionHandling=Off -simulation=false -terminalEnabled=true -terminalPort=3579 -userAuthenticator= -userManagement=false -versionTrackingEnabled=true -versionTrackingLogin={context}/svcusr-hlapp_robot -versionTrackingManual=true -versionTrackingRemote=git@git.psi.ch\:pshell_config/bernina_robot.git -xscanAppendSuffix=true -xscanContinuousUpdate=false -xscanCrlogicAbortable=true -xscanCrlogicChannel=null -xscanCrlogicIoc=null -xscanCrlogicPrefix=null -xscanCrlogicSimulated=false -xscanMoveTimeout=600 +#Tue Aug 27 08:44:59 CEST 2024 +xscanMoveTimeout=600 +autoSaveScanData=true +simulation=false +logDaysToLive=-1 +xscanCrlogicChannel=null +dataScanSaveOutput=false +xscanCrlogicSimulated=false +userAuthenticator= +logLevelConsole=Off +filePermissionsConfig=Public +scanStreamerPort=-1 +dataScanSaveScript=false +dataScanSaveSetpoints=false +notifiedTasks= +parallelInitialization=false +fdaSerialization=false +dataTransferPath= +saveConsoleSessionFiles=false +xscanAppendSuffix=true +versionTrackingManual=true +dataTransferMode=Off +hostName= +userManagement=false +disableEmbeddedAttributes=false +instanceName= +dataServerPort=-1 +hideServerMessages=false +serverPort=8080 +versionTrackingEnabled=true +dataPath={data}/{year}_{month}/{date}/{date}_{time}_{name} +serverEnabled=true +dataScanReleaseRecords=false +depthDimension=0 +dataScanPreserveTypes=false +logLevel=Info +dataScanFlushRecords=false +filePermissionsLogs=Public +logPath={logs}/{date}_{time} +dataLayout=default +disableDataFileLogs=false +sessionHandling=Off +terminalEnabled=true +filePermissionsScripts=Public +notificationLevel=Off +terminalPort=3579 +xscanCrlogicPrefix=null +dataTransferUser= +filePermissionsData=Default +xscanContinuousUpdate=false +xscanCrlogicAbortable=true +versionTrackingLogin={context}/svcusr-hlapp_robot +noBytecodeFiles=false +versionTrackingRemote=git@git.psi.ch\:pshell_config/bernina_robot.git +dataProvider=h5 +xscanCrlogicIoc=null +dataScanLazyTableCreation=false +saveCommandStatistics=false +pythonHome= diff --git a/script/devices/RobotBernina.py b/script/devices/RobotBernina.py index ca34ee5..750bbdb 100644 --- a/script/devices/RobotBernina.py +++ b/script/devices/RobotBernina.py @@ -17,6 +17,9 @@ ROBOT_JOINT_MOTORS = ["j1" , "j2", "j3", "j4", "j5", "j6"] ROBOT_CARTESIAN_MOTORS = ["x" , "y", "z", "rx", "ry", "rz"] ROBOT_SPHERICAL_MOTORS = ["r" , "gamma", "delta"] +FRAME_HIRARCHY = ["world.f_SwissFELCoord.f_ESBWorld.f_linearAxis." + k for k in ["f_direct.", "f_2mRad.", "f_4mRad.", "f_6mRad.", "f_8mRad.",]] +FRAME_HIRARCHY += ["t_flange.t_Adapter." + k for k in ["t_JF01T03det.t_JF01T03.", "t_JF07T32det.t_JF07T32."]] + run("devices/RobotTCP") override_remote_safety = False @@ -40,7 +43,15 @@ class RobotBernina(RobotTCP): } self.remote_allowed_recorded = AdjustableFS(name="remote_allowed", default_value = default_remote_allowed_recorded) self.remote_allowed_deltas = AdjustableFS(name="remote_allowed_deltas", default_value = default_remote_allowed_deltas) - + + + def get_frame_tree(self, frame): + """frame can be a string of a tool or a frame""" + for f in FRAME_HIRARCHY: + if frame in f: + return f.split("." + frame + ".")[0]+"." + frame + return frame + def set_override_remote_safety(self, value): self.override_remote_safety = bool(value) diff --git a/script/devices/RobotTCP.py b/script/devices/RobotTCP.py index 626eb65..388ea30 100644 --- a/script/devices/RobotTCP.py +++ b/script/devices/RobotTCP.py @@ -777,9 +777,9 @@ class RobotTCP(TcpDevice, Stoppable): "task": self.current_task, "mode": self.working_mode, "status": self.status, - "frame": self.frame(), + "frame": self.get_frame_tree(self.frame()), "frame_coordinates": self.frame_trsf, - "tool": self.tool(), + "tool": self.get_frame_tree(self.tool()), "tool_coordinates": self.tool_trsf, "cartesian_motors_enabled": self.cartesian_motors_enabled, "spherical_motors_enabled": self.spherical_motors_enabled, @@ -814,9 +814,9 @@ class RobotTCP(TcpDevice, Stoppable): self.getLogger().info(ev) self.on_event(ev) - self.setCache({ - "pos": self.get_current_point_cached() if self.state==State.Ready else None #TODO: make it calculated in robot by polling funtion - }, None) + #self.setCache({ + # "pos": self.get_current_point_cached() if self.state==State.Ready else None #TODO: make it calculated in robot by polling funtion + # }, None) pos = self.cartesian_pos.copy() pos.update(self.spherical_pos) pos.update(self.joint_pos) diff --git a/script/elements/adjustables.py b/script/elements/adjustables.py index 157ed12..026710a 100644 --- a/script/elements/adjustables.py +++ b/script/elements/adjustables.py @@ -2,7 +2,8 @@ from json import load, dump from os import path import os -BASEPATH = "C:/dev/pshell/config/bernina_robot/adjustables_fs/" +#BASEPATH = "C:/dev/pshell/config/bernina_robot/adjustables_fs/" +BASEPATH = "/sf/bernina/config/src/python/bernina_robot/adjustables_fs/" class AdjustableFS: def __init__(self, name=None, default_value=None, file_path=None): @@ -31,4 +32,4 @@ class AdjustableFS: return self.get_current_value() def __repr__(self): - return "Current value of {} at: ".format(self.name) + str(self.get_current_value()) \ No newline at end of file + return "Current value of {} at: ".format(self.name) + str(self.get_current_value())