Script execution
This commit is contained in:
+17
-2
@@ -196,6 +196,8 @@ class RobotTCP(TcpDevice, Stoppable):
|
|||||||
self._update_working_mode(mode, status)
|
self._update_working_mode(mode, status)
|
||||||
except:
|
except:
|
||||||
self.working_mode = "invalid"
|
self.working_mode = "invalid"
|
||||||
|
self.status = "invalid"
|
||||||
|
self._update_state()
|
||||||
return self.working_mode
|
return self.working_mode
|
||||||
|
|
||||||
def get_emergency_stop_sts(self):
|
def get_emergency_stop_sts(self):
|
||||||
@@ -222,10 +224,12 @@ class RobotTCP(TcpDevice, Stoppable):
|
|||||||
|
|
||||||
def is_empty(self):
|
def is_empty(self):
|
||||||
self.empty = self.eval_bool("isEmpty()")
|
self.empty = self.eval_bool("isEmpty()")
|
||||||
|
self._update_state()
|
||||||
return self.empty
|
return self.empty
|
||||||
|
|
||||||
def is_settled(self):
|
def is_settled(self):
|
||||||
self.settled = self.eval_bool("isSettled()")
|
self.settled = self.eval_bool("isSettled()")
|
||||||
|
self._update_state()
|
||||||
return self.powered
|
return self.powered
|
||||||
|
|
||||||
def get_move_id(self):
|
def get_move_id(self):
|
||||||
@@ -287,9 +291,13 @@ class RobotTCP(TcpDevice, Stoppable):
|
|||||||
|
|
||||||
#Task control
|
#Task control
|
||||||
def task_create(self, program, *args, **kwargs):
|
def task_create(self, program, *args, **kwargs):
|
||||||
|
program = str(program)
|
||||||
priority = 10 if (kwargs is None) or (not kwargs.has_key("priority")) else kwargs["priority"]
|
priority = 10 if (kwargs is None) or (not kwargs.has_key("priority")) else kwargs["priority"]
|
||||||
name = program if (kwargs is None) or (not kwargs.has_key("name")) else kwargs["name"]
|
name = str(program if (kwargs is None) or (not kwargs.has_key("name")) else kwargs["name"])
|
||||||
|
|
||||||
|
if self.get_task_status(name)[0] != -1:
|
||||||
|
raise Exception("Task already exists: " + name)
|
||||||
|
|
||||||
#taskCreate "t1", 10, read(sMessage)
|
#taskCreate "t1", 10, read(sMessage)
|
||||||
cmd = 'taskCreate "' + name + '", ' + str(priority) + ', ' + program + '('
|
cmd = 'taskCreate "' + name + '", ' + str(priority) + ', ' + program + '('
|
||||||
for i in range(len(args)):
|
for i in range(len(args)):
|
||||||
@@ -318,6 +326,12 @@ class RobotTCP(TcpDevice, Stoppable):
|
|||||||
else: status = self.execute('get_help', code)
|
else: status = self.execute('get_help', code)
|
||||||
return (code,status)
|
return (code,status)
|
||||||
|
|
||||||
|
def _update_state(self):
|
||||||
|
#self.setState(State.Busy if self.status=="move" else State.Ready)
|
||||||
|
if not self.settled: self.setState(State.Busy)
|
||||||
|
if not self.empty: self.setState(State.Paused)
|
||||||
|
else self.setState(State.Ready)
|
||||||
|
|
||||||
def doUpdate(self):
|
def doUpdate(self):
|
||||||
try:
|
try:
|
||||||
start = time.time()
|
start = time.time()
|
||||||
@@ -331,7 +345,8 @@ class RobotTCP(TcpDevice, Stoppable):
|
|||||||
ev = sts[6] if len(sts)>6 else ""
|
ev = sts[6] if len(sts)>6 else ""
|
||||||
if len(ev.strip()) >0:
|
if len(ev.strip()) >0:
|
||||||
self.getLogger().info(ev)
|
self.getLogger().info(ev)
|
||||||
self.on_event(ev)
|
self.on_event(ev)
|
||||||
|
self._update_state()
|
||||||
#print time.time() - start
|
#print time.time() - start
|
||||||
except:
|
except:
|
||||||
print >> sys.stderr, "Update error: " + str(sys.exc_info()[1])
|
print >> sys.stderr, "Update error: " + str(sys.exc_info()[1])
|
||||||
|
|||||||
Reference in New Issue
Block a user