Skip to content
Snippets Groups Projects
Select Git revision
  • abb88d3df63092098a3caeabf7aac2947912fe97
  • main default protected
  • develop
  • 1.0.0
  • 0.2.3
  • 0.2.2
  • 0.2.1
  • 0.2.0
8 results

HWConnectedDeviceInformation.py

Blame
  • user avatar
    Christoph Schmidt authored
    abb88d3d
    History
    HWConnectedDeviceInformation.py 1.67 KiB
    # -*- coding: utf-8 -*-
    """
    Author(s): Christoph Schmidt <christoph.schmidt@tugraz.at>
    Created: 2023-10-19 12:35
    Package Version: 
    """
    from ctypes import CDLL
    
    from controller.DeviceInformation.AnalogOutChannel import AnalogOutChannels
    from controller.DeviceInformation.dataclasses.AnalogInChannelInfo import AnalogInChannels
    
    
    class HWConnectedDeviceInformation:
        """ Class for storing information about the connected device."""
    
        def __init__(self, dwf: CDLL, device_idx, type="USB"):
            self.dwf = dwf
            self._type: str = type
    
            self._device_id: int = device_idx
            self._device_name: str = ""
            self._serial_number: str = ""
    
            self.analog_in_channels = list[AnalogInChannels]
            self.analog_out_channels = list[AnalogOutChannels]
    
        @property
        def type(self) -> str:
            """
            Returns the type of the device (USB or Simulator)
            :return: Type of the device
            """
            return self._type
    
        @property
        def device_id(self) -> int:
            """
            The device id of the enumerated device.
            :return: The device id of the enumerated device.
            """
            return self._device_id
    
        @property
        def device_name(self) -> str:
            """
            The device name of the enumerated device.
            :return: The device name of the enumerated device.
            """
            return self._device_name
    
        @property
        def serial_number(self) -> str:
            """
            The serial number of the enumerated device.
            :return: The serial number of the enumerated device.
            """
            return self._serial_number
    
        def __repr__(self):
            return f"HW({self._device_name}, {self._serial_number}, {self._type})"