devctrl.devices.switch.impl.cleware_switch.ClewareSwitch#
- class ClewareSwitch(serial_number=None, usbswitchcmd_exe_path: str | None = None)[source]#
Bases:
SwitchSupport for a Cleware USB Switch. The executable communicating with the device, USBSwitchCmd.exe by default, must be in the working directory or in sys.path, or the path can be provided using the usbswitchcmd_exe_path parameter.
- Parameters:
usbswitchcmd_exe_path – Path to the usbswitchcmd executable.
serial_number – Serial number of the correct switch as string. Not required if only one switch is connected.
Methods
Manually add a specific device.
allow_only_dummy_devicesConnect an instance of the device's dummy implementation
Return a flat dictionary of all base classes below this class :param recurse: If True, recursively search for base classes :return: dict of {class name: class}
Query the status of the device and return a string describing errors.
Query whether the device is (still) connected
is_onGet a list of all devices for this type.
offonrun_cmdAttributes
DEFAULT_EXE_NAMEEXE- classmethod add_device(connect_info)#
Manually add a specific device. The device will show up when list_devices() is called for the device type. Call this from the device class implementation, e.g. use ModelXYZ9000.add_device(‘GPIB:1234:5678’) to add a specific device with a fixed GPIB address. This is useful when automatic discovery is undesired/impossible, either because it is not implemented or it disturbs other devices which can’t handle a identification request. :param cls: The device implementation class :param connect_info: A string argument that is passed to the connect() method of the device implementation, when the device is being connected.
- classmethod connect(device_type_name: str, device_name: str | None, **kwargs) Device#
- Parameters:
device_type_name – The name of the device class
device_name – The name of the device class
- static connect_device(device_name: str, usbswitchcmd_exe_path: str | None = None)[source]#
- Parameters:
name – String with either “Device X” or “SerNum=X”. If both are present SerNum=X takes precedence.
- Returns:
Device instance
- classmethod connect_dummy(**kwargs) Device#
Connect an instance of the device’s dummy implementation
- classmethod get_base_classes(recurse=True) dict[str, type[Device]]#
Return a flat dictionary of all base classes below this class :param recurse: If True, recursively search for base classes :return: dict of {class name: class}
- classmethod get_device_name() str#
- Returns:
The specific type name of the device, e.g., SR830 or Keithly2600
- classmethod get_device_type_name() str#
- Returns:
The general type name of the device, e.g., Lock-In Amplifier or Voltmeter
- get_status() str#
Query the status of the device and return a string describing errors. If everything is ok, empty string must be returned :return: String of device status
- classmethod list_devices() list[tuple[str, str]]#
Get a list of all devices for this type. The list made up of: - Manually added devices - Available devices (those returned by _enumerate_devices) - A dummy device (if a dummy implementation exists) - List of all devices of child classes
- Returns:
list of available devices