Files
x06da/script/motion/dry.py
alexgobbo 7ab43e1840 08 2025
2025-08-07 10:04:13 +02:00

61 lines
1.5 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 :
cover_info = get_cover_location_mm()
robot.move_dewar(*cover_info)
robot.move_cold()
time.sleep(wait_cold)
else:
robot.move_park()
return True