This commit is contained in:
gac-S_Changer
2018-11-09 11:58:05 +01:00
parent 0eb57c0238
commit 91f6ffbb35
10 changed files with 94 additions and 110 deletions

View File

@@ -38,7 +38,12 @@ class TellClient(PShellClient):
if self.state != "Ready":
raise Exception("Invalid state: " + str(self.state))
def set_in_mount_position(self, value):
self.eval("in_mount_position = " + str(value) +"&")
def is_in_mount_position(self):
return self.eval("in_mount_position&").lower()=="true"
def get_samples_info(self):
return json.loads(self.eval("get_samples_info()&"))
@@ -89,6 +94,11 @@ class TellClient(PShellClient):
self.abort()
self.eval("robot.stop_task()&")
def set_gonio_mount_position(homing = False):
if homing:
self.eval("home_fast_table()")
self.eval("set_mount_position()")
def get_mounted_sample(self):
ret = self.eval("get_setting('mounted_sample_position')&").strip()
return None if len(ret)==0 else ret
@@ -111,14 +121,21 @@ class TellClient(PShellClient):
def get_detected_pucks(self):
return self.eval("get_detected_pucks()&")
def set_pin_offset(self, value):
self.eval("set_pin_offset(" + str(value)+ ")&")
def get_pin_offset(self):
return self.eval("get_pin_offset()&")
def print_info(self):
print ("State: " + str(self.get_state()))
print ("Mounted Sample: " + str(self.get_mounted_sample()))
print ("System Check: " + str(self.get_system_check()))
print ("Mounted sample: " + str(self.get_mounted_sample()))
print ("System check: " + str(self.get_system_check()))
print ("Robot state: " + str(self.get_robot_state()))
print ("Robot status: " + str(self.get_robot_status()))
print ("Detected Pucks: " + str(self.get_detected_pucks()))
print ("Detected pucks: " + str(self.get_detected_pucks()))
print ("Pin offset: " + str(self.get_pin_offset()))
print ("Mount position: " + str(self.is_in_mount_position()))
print ("")
if __name__ == "__main__":

View File

@@ -14,18 +14,20 @@ def info():
def help():
print ("Commands: \n\thelp()\n\tinfo()\n\tmount(segment, puck, sample)\n\tunmount() \n\tdry() " \
"\n\tscan(segment, puck, sample=None) \n\tmove_cold() \n\ttrash() \n\tabort()\n")
"\n\tscan(segment, puck, sample=None) \n\tmove_cold() \n\ttrash() \n\tabort() " \
"\n\tset_pin_offset(value)")
def set_gonio():
pass
def assert_transfer_allowed():
if not tell.is_in_mount_position():
raise Exception("Gonio is not in mount position")
def mount(segment, puck, sample):
set_gonio()
assert_transfer_allowed()
cmd = tell.mount(segment, puck, sample, True, True, True)
print (tell.wait_cmd(cmd))
def unmount():
set_gonio()
assert_transfer_allowed()
cmd=tell.unmount(force=True)
print (tell.wait_cmd(cmd))
@@ -51,6 +53,9 @@ def scan(segment, puck, sample=None):
def abort():
tell.abort_cmd()
def set_pin_offset(value):
tell.set_pin_offset(value)
info()
help()

View File

@@ -23,10 +23,6 @@ def mount(segment, puck, sample, force=False, read_dm=False, auto_unmount=False)
assert_valid_address(segment, puck, sample)
assert_puck_detected(segment, puck)
if auto_unmount:
if get_setting("mounted_sample_position") is not None:
unmount()
if robot.simulated:
time.sleep(3.0)
mount_sample_detected = True
@@ -41,14 +37,17 @@ def mount(segment, puck, sample, force=False, read_dm=False, auto_unmount=False)
robot.assert_cleared()
#robot.assert_in_known_point()
hexiposi.assert_homed()
set_status("Mounting: " + str(segment) + str(puck) + str(sample))
try:
smart_magnet.enforce_sample_detection()
if smart_magnet.check_mounted(idle_time=0.25, timeout = 1.0) == True:
raise Exception("Pin detected on gonio")
if auto_unmount and (get_setting("mounted_sample_position") is not None):
unmount(force = True)
else:
raise Exception("Pin detected on gonio")
set_status("Mounting: " + str(segment) + str(puck) + str(sample))
#location = robot.get_current_point()
#Enabling

View File

@@ -7,7 +7,7 @@ def unmount(segment = None, puck = None, sample = None, force=False):
pos = get_setting("mounted_sample_position")
if pos is None:
raise Exception("Mounted sample position is not defined")
segment, puck , sample = pos[0:1], int(pos[1]), int(pos[2])
segment, puck , sample = pos[0:1], int(pos[1]), int(pos[2:])
print "Mounted sample position: ", segment, puck , sample
is_aux = (segment == AUX_SEGMENT)