sends tree structure of frames and tools to clients
This commit is contained in:
@@ -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=
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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())
|
||||
return "Current value of {} at: ".format(self.name) + str(self.get_current_value())
|
||||
|
||||
Reference in New Issue
Block a user