Script execution

This commit is contained in:
gac-S_Changer
2017-02-24 11:18:25 +01:00
parent 3e0d4bb5eb
commit af837ad0a6

View File

@@ -1,4 +1,4 @@
import threading
class RobotTCP(TcpDevice, Stoppable):
def __init__(self, name, server, timeout = 500, retries = 1):
@@ -17,26 +17,31 @@ class RobotTCP(TcpDevice, Stoppable):
self.empty = None
self.working_mode = None
self.status = None
self.lock = threading.Lock()
def _sendReceive(self, msg_id, msg = ""):
self.lock.acquire()
try:
tx = self.header if (self.header != None) else ""
tx = tx + msg_id + " " + msg
if (len(tx)>127):
raise Exception("Exceeded maximum message size")
self.getLogger().finer("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) + "'")
if rx[:3] != msg_id:
print rx
raise Exception("Received invalid message id: " + str(rx[:3]) + " - expecting:" + msg_id )
if len(rx)<4:
raise Exception("Invalid message size: " + str(len(rx)) )
if rx[3] == "*":
raise Exception(rx[4:])
return rx[4:]
finally:
self.lock.release()
def _sendReceive(self, msg_id, msg = ""):
tx = self.header if (self.header != None) else ""
tx = tx + msg_id + " " + msg
if (len(tx)>127):
raise Exception("Exceeded maximum message size")
self.getLogger().finer("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) + "'")
if rx[:3] != msg_id:
print rx
raise Exception("Received invalid message id: " + str(rx[:3]) + " - expecting:" + msg_id )
if len(rx)<4:
raise Exception("Invalid message size: " + str(len(rx)) )
if rx[3] == "*":
raise Exception(rx[4:])
return rx[4:]
def call(self, msg):
id = "%03d" % self.msg_id
self.msg_id = (self.msg_id+1)%1000