Source code for ElliptecMultiPositionSlider.ELL6

from __future__ import annotations

from ElliptecBus.elliptec_models import DeviceInfo, MotorInfo
from ElliptecBus.elliptec_bus import Packet
from ElliptecMultiPositionSlider.slider_base import ElliptecSliderBase

__all__ = ["DeviceInfo", "Ell6", "MotorInfo"]


[docs] class Ell6(ElliptecSliderBase): """ Shared-bus wrapper for a Thorlabs Elliptec ELL6 multi-position slider. This wrapper does not own the COM port. It uses an ElliptecBus instance and communicates only through addressed transactions on that shared bus. ELL6 is a single-motor slider, so only motor-1-specific commands are exposed. """ MODEL_CODE = 0x06 MODEL_FAMILY_NAME = "ELL6" MOTORS = (1,)
[docs] def get_motor_info(self) -> MotorInfo: """Get motor info. Returns: MotorInfo: Result produced by this function. Example: >>> # Example >>> # get_motor_info(...) """ return super().get_motor_info(1)
[docs] def set_forward_period(self, period: int) -> None: """Set forward period. Args: period (int): Input value for this operation. Returns: None: This function does not return a value. Example: >>> # Example >>> # set_forward_period(...) """ super().set_forward_period(1, period)
[docs] def set_backward_period(self, period: int) -> None: """Set backward period. Args: period (int): Input value for this operation. Returns: None: This function does not return a value. Example: >>> # Example >>> # set_backward_period(...) """ super().set_backward_period(1, period)
[docs] def search_frequency(self, *, timeout: float = 20.0) -> None: """Search frequency. Args: timeout (float): Input value for this operation. Returns: None: This function does not return a value. Example: >>> # Example >>> # search_frequency(...) """ super().search_frequency(1, timeout=timeout)
[docs] def scan_current_curve(self, *, timeout: float = 20.0) -> Packet: """Scan current curve. Args: timeout (float): Input value for this operation. Returns: Packet: Result produced by this function. Example: >>> # Example >>> # scan_current_curve(...) """ return super().scan_current_curve(1, timeout=timeout)