44 lines
885 B
Python
44 lines
885 B
Python
def unmount(segment, puck, sample, force=False):
|
|
"""
|
|
"""
|
|
print "unmount: ", segment, puck, sample, force
|
|
|
|
#Initial checks
|
|
assertValidAddress(segment, puck, sample)
|
|
robot.assert_no_task()
|
|
robot.state.assertReady()
|
|
robot.assert_cleared()
|
|
|
|
if hexiposi.homed == False:
|
|
raise Exception ("Hexiposi is not homed")
|
|
|
|
#Enabling
|
|
enable_motion()
|
|
|
|
set_hexiposi(segment)
|
|
|
|
if not force:
|
|
#Clearing for image processing
|
|
robot.move_park()
|
|
assert_img_in_cover_pos(segment)
|
|
|
|
location = get_current_point()
|
|
|
|
|
|
try:
|
|
robot.get_gonio()
|
|
except:
|
|
#TODO: recover
|
|
raise
|
|
|
|
try:
|
|
robot.move_dewar_wait()
|
|
except:
|
|
#TODO: recover
|
|
raise
|
|
|
|
try:
|
|
robot.put_dewar(segment, puck, sample)
|
|
except:
|
|
#robot.move_dewar()
|
|
raise |