Script execution

This commit is contained in:
gac-S_Changer
2017-02-23 15:53:28 +01:00
parent c7be7a538f
commit d7ab819958

View File

@@ -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: