parameters: (self, height: float)
docstring: Move the magnet to a specific height, in mm from home position.
docstring_summary: Move the magnet to a specific height, in mm from home position.
docstring_tokens: Move the magnet to a specific height in mm from home position .
function: async def engage(self, height: float):
          """Move the magnet to a specific height, in mm from home position."""
          await self.wait_for_is_running()
          if height > MAX_ENGAGE_HEIGHT[self.model()] or height < 0:
              raise ValueError(
                  f"Invalid engage height for {self.model()}: {height} mm. "
                  f"Must be 0 - {MAX_ENGAGE_HEIGHT[self.model()]} mm"
              )
          await self._driver.move(height)
          self._current_height = await self._driver.get_mag_position()
function_tokens: async def engage ( self , height : float ) : await self . wait_for_is_running ( ) if height > MAX_ENGAGE_HEIGHT [ self . model ( ) ] or height < 0 : raise ValueError ( f"Invalid engage height for {self.model()}: {height} mm. " f"Must be 0 - {MAX_ENGAGE_HEIGHT[self.model()]} mm" ) await self . _driver . move ( height ) self . _current_height = await self . _driver . get_mag_position ( )