Script execution
This commit is contained in:
@@ -65,51 +65,47 @@ class RobotTCP(TcpDevice, Stoppable):
|
||||
def get_var(self, name):
|
||||
return self.execute('get_var', name)
|
||||
|
||||
def get_varb(self, name):
|
||||
return True if (self.execute('get_bool', name).strip() == '1') else False
|
||||
|
||||
def get_str(self, name):
|
||||
return self.execute('get_str', name)
|
||||
|
||||
def get_arr(self, name, size):
|
||||
return self.execute('get_arr', name, size)
|
||||
|
||||
def get_trf(self, name):
|
||||
return self.execute('get_trf', name)
|
||||
def get_bool(self, name = "b"):
|
||||
return True if (self.execute('get_bool', name).strip() == '1') else False
|
||||
|
||||
def get_jnt(self, name):
|
||||
return self.execute('get_jnt', name)
|
||||
def get_int(self, name ="n"):
|
||||
return int(self.get_var(name))
|
||||
|
||||
def get_pnt(self, name):
|
||||
return self.execute('get_pnt', name)
|
||||
def get_float(self, name ="n"):
|
||||
return float(self.get_var(name))
|
||||
|
||||
def get_int(self):
|
||||
return int(self.get_var("n"))
|
||||
|
||||
def get_float(self):
|
||||
return float(self.get_var("n"))
|
||||
|
||||
def get_bool(self, name):
|
||||
return self.get_varb("b")
|
||||
|
||||
def get_int_arr(self, size):
|
||||
def get_int_arr(self, size, name="arr"):
|
||||
# not working. A Jython bug in PyUnicaode?
|
||||
#return [int(x) for x in self.get_arr("arr", size)]
|
||||
ret = []
|
||||
a=self.get_arr("arr", size)
|
||||
a=self.get_arr(name, size)
|
||||
for i in range(size):
|
||||
ret.append(int(a[i]))
|
||||
return ret
|
||||
|
||||
def get_float_arr(self, size):
|
||||
def get_float_arr(self, size, name="arr"):
|
||||
#return [float(x) for x in self.get_arr("arr", size)]
|
||||
ret = []
|
||||
a=self.get_arr("arr", size)
|
||||
for i in range(size):
|
||||
ret.append(int(a[i]))
|
||||
return ret
|
||||
|
||||
|
||||
def get_trf(self, name="t"):
|
||||
return self.execute('get_trf', name)
|
||||
|
||||
def get_jnt(self, name="j"):
|
||||
return self.execute('get_jnt', name)
|
||||
|
||||
def get_pnt(self, name="p"):
|
||||
return self.execute('get_pnt', name)
|
||||
|
||||
def eval_int(self, cmd):
|
||||
self.evaluate("n=" + cmd)
|
||||
return self.get_int()
|
||||
@@ -120,7 +116,19 @@ class RobotTCP(TcpDevice, Stoppable):
|
||||
|
||||
def eval_bool(self, cmd):
|
||||
self.evaluate("b=" + cmd)
|
||||
return self.get_bool(self)
|
||||
return self.get_bool()
|
||||
|
||||
def eval_jnt(self, cmd):
|
||||
self.evaluate("j=" + cmd)
|
||||
return self.get_jnt()
|
||||
|
||||
def eval_trf(self, cmd):
|
||||
self.evaluate("t=" + cmd)
|
||||
return self.get_trf()
|
||||
|
||||
def eval_pnt(self, cmd):
|
||||
self.evaluate("p=" + cmd)
|
||||
return self.get_pnt()
|
||||
|
||||
|
||||
#Robot control
|
||||
@@ -218,6 +226,11 @@ class RobotTCP(TcpDevice, Stoppable):
|
||||
#This function can timeout since it synchronizes move. Better check state before
|
||||
def close(self, tool):
|
||||
return self.evaluate("close(" + tool + " )")
|
||||
|
||||
#Arm position
|
||||
def herej(self):
|
||||
return get_jnt("")
|
||||
|
||||
|
||||
#Updating
|
||||
def update_status(self):
|
||||
@@ -225,8 +238,8 @@ class RobotTCP(TcpDevice, Stoppable):
|
||||
self.read_working_mode()
|
||||
self.is_powered()
|
||||
self.get_monitor_speed()
|
||||
self.is_empty()
|
||||
self.is_settled()
|
||||
#self.is_empty()
|
||||
#self.is_settled()
|
||||
|
||||
def poll_events(self):
|
||||
ev = self.read_event()
|
||||
@@ -239,7 +252,7 @@ class RobotTCP(TcpDevice, Stoppable):
|
||||
start = time.time()
|
||||
self.update_status()
|
||||
self.poll_events()
|
||||
#self.setState(State.Busy if self.status=="move" else State.Ready)
|
||||
self.setState(State.Busy if self.status=="move" else State.Ready)
|
||||
self.setState(State.Ready if self.empty and self.settled else State.Busy)
|
||||
#print time.time() - start
|
||||
except Exception, e:
|
||||
|
||||
Reference in New Issue
Block a user