55
66from yaqd_core import HasTurret , IsHomeable , HasLimits , HasPosition , IsDaemon
77
8+ from ._taskset import TaskSet
9+
810
911__all__ = ["HoribaMono" ]
1012
@@ -58,6 +60,7 @@ def __init__(self, name, config, config_filepath):
5860 self .serial = self ._dev .serial_number
5961 self ._gratings = config ["gratings" ]
6062 self ._units = "nm"
63+ self .tasks = TaskSet ()
6164
6265 if self ._state ["turret" ] is None :
6366 self ._state ["turret" ] = list (self ._gratings .keys ())[0 ]
@@ -87,7 +90,7 @@ async def _reset_position(self):
8790 def home (self ):
8891 # Send "Initialize command, which homes the motor"
8992 self ._dev .ctrl_transfer (0x40 , 0xB3 , wValue = 0 , wIndex = 0 )
90- self ._loop . create_task (self ._reset_position ())
93+ self .tasks . from_coro (self ._reset_position ())
9194
9295 def set_turret (self , identifier ):
9396 if identifier not in self ._gratings :
@@ -96,7 +99,7 @@ def set_turret(self, identifier):
9699 self .logger .debug (self ._state ["turret" ], identifier )
97100 if identifier != self ._state ["turret" ]:
98101 self ._state ["turret" ] = identifier
99- self ._loop . create_task (self ._reset_position ())
102+ self .tasks . from_coro (self ._reset_position ())
100103
101104 def get_turret (self ):
102105 return self ._state ["turret" ]
0 commit comments