Script execution
This commit is contained in:
@@ -196,6 +196,8 @@ class RobotTCP(TcpDevice, Stoppable):
|
||||
self._update_working_mode(mode, status)
|
||||
except:
|
||||
self.working_mode = "invalid"
|
||||
self.status = "invalid"
|
||||
self._update_state()
|
||||
return self.working_mode
|
||||
|
||||
def get_emergency_stop_sts(self):
|
||||
@@ -222,10 +224,12 @@ class RobotTCP(TcpDevice, Stoppable):
|
||||
|
||||
def is_empty(self):
|
||||
self.empty = self.eval_bool("isEmpty()")
|
||||
self._update_state()
|
||||
return self.empty
|
||||
|
||||
def is_settled(self):
|
||||
self.settled = self.eval_bool("isSettled()")
|
||||
self._update_state()
|
||||
return self.powered
|
||||
|
||||
def get_move_id(self):
|
||||
@@ -287,9 +291,13 @@ class RobotTCP(TcpDevice, Stoppable):
|
||||
|
||||
#Task control
|
||||
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"]
|
||||
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)
|
||||
cmd = 'taskCreate "' + name + '", ' + str(priority) + ', ' + program + '('
|
||||
for i in range(len(args)):
|
||||
@@ -318,6 +326,12 @@ class RobotTCP(TcpDevice, Stoppable):
|
||||
else: status = self.execute('get_help', code)
|
||||
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):
|
||||
try:
|
||||
start = time.time()
|
||||
@@ -331,7 +345,8 @@ class RobotTCP(TcpDevice, Stoppable):
|
||||
ev = sts[6] if len(sts)>6 else ""
|
||||
if len(ev.strip()) >0:
|
||||
self.getLogger().info(ev)
|
||||
self.on_event(ev)
|
||||
self.on_event(ev)
|
||||
self._update_state()
|
||||
#print time.time() - start
|
||||
except:
|
||||
print >> sys.stderr, "Update error: " + str(sys.exc_info()[1])
|
||||
|
||||
Reference in New Issue
Block a user