This commit is contained in:
@@ -4,15 +4,17 @@ import json
|
||||
|
||||
class Hexiposi(DiscretePositionerBase):
|
||||
def __init__(self, name, url):
|
||||
DiscretePositionerBase.__init__(self, name, ["1","2","3","4","5","6"])
|
||||
DiscretePositionerBase.__init__(self, name, ["A","B","C","D","E","F"])
|
||||
if not url.startswith("http://"):
|
||||
url = "http://" + url
|
||||
if not url.endswith("/"):
|
||||
url = url + "/"
|
||||
self.url = url
|
||||
self.setState(State.Ready)
|
||||
self.val = self.doReadReadback()
|
||||
self.url = url
|
||||
|
||||
def doInitialize(self):
|
||||
super(Hexiposi, self).doInitialize()
|
||||
self.val = self.doReadReadback()
|
||||
|
||||
def get_response(self, response):
|
||||
if (response.status_code!=200):
|
||||
raise Exception (response.text)
|
||||
@@ -28,16 +30,15 @@ class Hexiposi(DiscretePositionerBase):
|
||||
self.pos = self.status["position"]
|
||||
self.moving = self.status["moving"]
|
||||
self.offset = self.status["offset"]
|
||||
self.dpos = self.status["discretePosition"]
|
||||
if self.dpos == 1: self.rback = 1
|
||||
elif self.dpos == 2: self.rback = 2
|
||||
elif self.dpos == 4: self.rback = 3
|
||||
elif self.dpos == 8: self.rback = 4
|
||||
elif self.dpos == 16: self.rback = 5
|
||||
elif self.dpos == 32: self.rback = 6
|
||||
else: self.rback = None
|
||||
self.rbackstr = self.UNKNOWN_POSITION if ((self.rback is None) or (self.homed==False)) else str(self.rback)
|
||||
|
||||
self.dpos = self.status["discretePosition"]
|
||||
if (self.homed==False): self.rback = self.UNKNOWN_POSITION
|
||||
elif self.dpos == 1: self.rback = "A"
|
||||
elif self.dpos == 2: self.rback = "B"
|
||||
elif self.dpos == 4: self.rback = "C"
|
||||
elif self.dpos == 8: self.rback = "D"
|
||||
elif self.dpos == 16: self.rback = "E"
|
||||
elif self.dpos == 32: self.rback = "F"
|
||||
else: self.rback = self.UNKNOWN_POSITION
|
||||
return self.status
|
||||
|
||||
def move_pos(self, pos):
|
||||
@@ -65,10 +66,12 @@ class Hexiposi(DiscretePositionerBase):
|
||||
|
||||
def doReadReadback(self):
|
||||
self.get_status()
|
||||
return self.rbackstr
|
||||
return self.rback
|
||||
|
||||
def doWrite(self, val):
|
||||
val = int(val)
|
||||
val = ord(val) - ord('A') +1
|
||||
if val<1 or val>6:
|
||||
raise Exception("Invalid value: " + str(val))
|
||||
moving = val != self.val
|
||||
self.val = val
|
||||
self.move_pos(self.val)
|
||||
|
||||
@@ -21,7 +21,7 @@ class RobotCartesianMotor (PositionerBase):
|
||||
|
||||
def doWrite(self, value):
|
||||
if self.robot.cartesian_destination is not None:
|
||||
print "Move " + ROBOT_MOTORS[self.index] + " to " + str(value)
|
||||
#print "Move " + ROBOT_MOTORS[self.index] + " to " + str(value)
|
||||
self.robot.cartesian_destination[self.index] = float(value)
|
||||
self.robot.set_pnt(robot.cartesian_destination , "tcp_p")
|
||||
self.robot.movel("tcp_p", self.robot.tool , DESC_SCAN)
|
||||
@@ -49,7 +49,7 @@ class RobotJointMotor (PositionerBase):
|
||||
return self.setpoint
|
||||
|
||||
def doWrite(self, value):
|
||||
print "Move " + ROBOT_JOINT_MOTORS[self.index] + " to " + str(value)
|
||||
#print "Move " + ROBOT_JOINT_MOTORS[self.index] + " to " + str(value)
|
||||
self.setpoint = value
|
||||
joint = self.robot.herej()
|
||||
joint[self.index] = value
|
||||
|
||||
@@ -8,16 +8,21 @@ DESC_SCAN = "mScan"
|
||||
DESC_DEFAULT = DESC_FAST
|
||||
|
||||
|
||||
DEFAULT_ROBOT_POLLING = 500
|
||||
|
||||
|
||||
run("devices/RobotTCP")
|
||||
|
||||
|
||||
simulation = True
|
||||
simulation = False
|
||||
|
||||
joint_forces = False
|
||||
|
||||
|
||||
class RobotSC(RobotTCP):
|
||||
def __init__(self, name, server, timeout = 1000, retries = 1):
|
||||
RobotTCP.__init__(self, name, server, timeout, retries)
|
||||
RobotTCP.__init__(self, name, server, timeout, retries)
|
||||
self.setPolling(DEFAULT_ROBOT_POLLING)
|
||||
|
||||
def mount(self, puck, sample):
|
||||
return self.execute('mount',segment, puck, sample)
|
||||
@@ -66,13 +71,6 @@ if simulation:
|
||||
else:
|
||||
add_device(RobotSC("robot", "129.129.110.100:1000"), force = True)
|
||||
|
||||
robot.high_level_tasks = ["mount", "firstmount"]
|
||||
robot.set_tool(TOOL_CALIBRATION)
|
||||
robot.setPolling(500)
|
||||
|
||||
robot.set_motors_enabled(True)
|
||||
robot.set_joint_motors_enabled(True)
|
||||
|
||||
#robot.set_monitor_speed(20)
|
||||
|
||||
|
||||
|
||||
@@ -368,7 +368,7 @@ class RobotTCP(TcpDevice, Stoppable):
|
||||
def distance_p(self, pnt1, pnt2):
|
||||
return self.eval_float("distance(" + pnt1 + ", " + pnt2 + ")")
|
||||
|
||||
def compose(self, pnt, frame, trsf):
|
||||
def compose(self, pnt, frame = FRAME_DEFAULT, trsf = "tcp_t"):
|
||||
return self.eval_pnt("compose(" + pnt + ", " + frame + ", " + trsf + ")")
|
||||
|
||||
def here(self, tool, frame):
|
||||
|
||||
Reference in New Issue
Block a user