Script execution

This commit is contained in:
gac-S_Changer
2017-02-21 15:23:18 +01:00
parent 74640b3980
commit d0dddda848

View File

@@ -14,7 +14,9 @@ class RobotTCP(TcpDevice):
self.retries = retries
self.header = None
self.trailer = "\n"
self.array_separator = ','
self.msg_id = 0
self.setPolling(1000)
def _sendReceive(self, msg_id, msg = ""):
tx = self.header if (self.header != None) else ""
@@ -22,11 +24,10 @@ class RobotTCP(TcpDevice):
if (len(tx)>127):
raise Exception("Exceeded maximum message size")
self.getLogger().finer("TX = '" + str(tx)+ "'")
print "TX = '" + str(tx)+ "'"
if (self.trailer != None): tx = tx + self.trailer
rx = self.sendReceive(tx, None, self.trailer , 0, self.timeout, self.retries)
rx=rx[:-1] #Remove 0A
self.getLogger().finer("RX = '" + str(rx) + "'")
print "RX = '" + str(rx) + "'"
if rx[:3] != msg_id:
print rx
raise Exception("Received invalid message id: " + str(rx[:3]) + " - expecting:" + msg_id )
@@ -34,7 +35,7 @@ class RobotTCP(TcpDevice):
raise Exception("Invalid message size: " + str(len(rx)) )
if rx[3] == "*":
raise Exception(rx[4:])
return rx[4:-1]
return rx[4:]
def call(self, msg):
id = "%03d" % self.msg_id
@@ -47,13 +48,26 @@ class RobotTCP(TcpDevice):
raise Exception("Exceeded maximum number of parameters")
for arg in argv:
msg = msg + "," + str(arg)
return self.call(msg)
rx = self.call(msg)
if rx.count(self.array_separator)>0:
return rx.split(self.array_separator)
return rx
def get_event(self):
return self._sendReceive("EVT")
def read_event(self):
ev = self._sendReceive("EVT")
if ev.strip() == "": return None
return ev
def eval(self, cmd):
return self.execute('eval', cmd)
def mount(self, puck, sample):
return self.execute('Mount', puck, sample)
return self.execute('mount', puck, sample)
def doUpdate(self):
ev = self.read_event()
if ev is not None:
self.getLogger().info(ev)
add_device(RobotTCP("robot_tcp", "129.129.126.100:1000"), force = True)