Files
x06da/script/motion/dry.py
alexgobbo 75400ca453
2024-09-11 16:17:17 +02:00

57 lines
1.4 KiB
Python

DEFAULT_DRY_HEAT_TIME = 40.0
DEFAULT_DRY_SPEED = 0.3
DEFAULT_DRY_WAIT_COLD = 40.0
def dry(heat_time=None, speed=None, wait_cold = None):
"""
heat_time (float): in seconds
speed (float): % of nominal speed
wait_cold(float): if negative, move to dewar after drying
Else move to cold and wait (in seconds) before returning.
"""
print "dry()"
if heat_time is None:
heat_time = DEFAULT_DRY_HEAT_TIME
if speed is None:
speed = DEFAULT_DRY_SPEED
if wait_cold is None:
wait_cold = DEFAULT_DRY_WAIT_COLD
if robot.simulated:
time.sleep(10.0)
return
#Initial chec
robot.assert_no_task()
robot.reset_motion()
robot.wait_ready()
robot.assert_cleared()
#robot.assert_in_known_point()
set_status("Drying")
#Enabling
enable_motion()
try:
set_heater(True)
robot.move_heater(speed, False)
time.sleep(heat_time)
robot.move_heater(speed, True)
set_air_stream(True)
robot.move_heater(speed, False)
finally:
set_heater(False)
set_air_stream(False)
set_setting("dry_mount_counter", 0)
set_setting("dry_timestamp",time.time())
if wait_cold >=0 :
robot.move_cold()
time.sleep(wait_cold)
else:
robot.move_park()