diff --git a/UniTAP/common/audio_mode.py b/UniTAP/common/audio_mode.py index 3ecb91d..edbe6fa 100644 --- a/UniTAP/common/audio_mode.py +++ b/UniTAP/common/audio_mode.py @@ -19,6 +19,7 @@ class AudioFormat(IntEnum): - PCMAudio. """ Unknown = -1 + Compressed = 0x0 L_PCM = 0xFFFF @@ -218,7 +219,7 @@ class AudioFrameData: Args: sample_format (int) - must be more than 0 """ - if sample_format <= 0: + if sample_format < 0: raise ValueError(f"Sample format must be more than 0.") self.__sample_format = AudioFormat(sample_format) diff --git a/UniTAP/dev/dev_3xx_roles.py b/UniTAP/dev/dev_3xx_roles.py index d510aa7..e0be0d8 100644 --- a/UniTAP/dev/dev_3xx_roles.py +++ b/UniTAP/dev/dev_3xx_roles.py @@ -1,6 +1,7 @@ -from .ports import DPRX, DPTX, HDRX, HDTX, PDC340 +from .ports import DPRX, DPTX, HDRX, HDRX_eARC, HDTX, PDC340 from .modules import MemoryManager, Capturer, DUTTests -from UniTAP.libs.lib_tsi.tsi_io import DeviceIO, PortProtocol +from UniTAP.libs.lib_tsi.tsi_io import PortProtocol +from .dev_base_roles import DevBase, DeviceIO class UCD340: @@ -9,7 +10,8 @@ class UCD340: - 'USB-C, DP Alt Mode Reference Sink' `USBCSink` - 'USB-C, DP Alt Mode Reference Source' `USBCSource`. """ - class USBCSink: + + class USBCSink(DevBase): """ Class `USBCSink` contains information of available functionality modules for role USB-C Sink (RX - receiver) role: @@ -17,7 +19,9 @@ class UCD340: - `DUTTests`. - `PDC`. """ + def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): + super().__init__(dev_io) self.__port_io = dev_io.create_port_io(0, PortProtocol.DisplayPortThrowUSBC) self.__dprx = DPRX(self.__port_io, memory_manager, capturer) self.__dut_tests = DUTTests(dev_io) @@ -63,7 +67,7 @@ class UCD340: """ return list(UCD340.ROLE_DICT.keys())[list(UCD340.ROLE_DICT.values()).index(type(self))] - class USBCSource: + class USBCSource(DevBase): """ Class `USBCSource` contains information of available functionality modules for role USB-C Source (TX - transmitter) role: @@ -71,7 +75,9 @@ class UCD340: - `DUTTests`. - `PDC`. """ + def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): + super().__init__(dev_io) self.__port_io = dev_io.create_port_io(0, PortProtocol.DisplayPortThrowUSBC) self.__dptx = DPTX(self.__port_io, memory_manager, capturer) self.__dut_tests = DUTTests(dev_io) @@ -140,13 +146,16 @@ class UCD323: - 'HDMI Reference Sink (HDCP 2.3)' `HDMISink` - 'HDMI Reference Source (HDCP 2.3)' `HDMISource` """ - class DPSink: + + class DPSink(DevBase): """ Class `DPSink` contains information of available functionality modules for role DP Sink (RX - receiver) role: - `DPRX`. - `DUTTests`. """ + def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): + super().__init__(dev_io) self.__dprx = DPRX(dev_io.create_port_io(0, PortProtocol.DisplayPort), memory_manager, capturer) self.__dut_tests = DUTTests(dev_io) @@ -180,14 +189,16 @@ class UCD323: """ return list(UCD323.ROLE_DICT.keys())[list(UCD323.ROLE_DICT.values()).index(type(self))] - class DPSource: + class DPSource(DevBase): """ Class `DPSink` contains information of available functionality modules for role DP Source (TX - transmitter) role: - `DPTX`. - `DUTTests`. """ + def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): + super().__init__(dev_io) self.__dptx = DPTX(dev_io.create_port_io(0, PortProtocol.DisplayPort), memory_manager, capturer) self.__dut_tests = DUTTests(dev_io) @@ -221,19 +232,21 @@ class UCD323: """ return list(UCD323.ROLE_DICT.keys())[list(UCD323.ROLE_DICT.values()).index(type(self))] - class HDMISink: + class HDMISink(DevBase): """ Class `HDMISink` contains information of available functionality modules for role HDMI Sink (RX - receiver) role: - `HDRX`. - `DUTTests`. """ + def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): - self.__hdrx = HDRX(dev_io.create_port_io(0, PortProtocol.HDMI), memory_manager, capturer) + super().__init__(dev_io) + self.__hdrx = HDRX_eARC(dev_io.create_port_io(0, PortProtocol.HDMI), memory_manager, capturer) self.__dut_tests = DUTTests(dev_io) @property - def hdrx(self) -> HDRX: + def hdrx(self) -> HDRX_eARC: """ Returns HDMI Sink (RX - receiver) role. @@ -262,14 +275,16 @@ class UCD323: """ return list(UCD323.ROLE_DICT.keys())[list(UCD323.ROLE_DICT.values()).index(type(self))] - class HDMISource: + class HDMISource(DevBase): """ Class `HDMISource` contains information of available functionality modules for role HDMI Source (TX - transmitter) role: - `HDTX`. - `DUTTests`. """ + def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): + super().__init__(dev_io) self.__hdtx = HDTX(dev_io.create_port_io(0, PortProtocol.HDMI), memory_manager, capturer) self.__dut_tests = DUTTests(dev_io) @@ -302,12 +317,56 @@ class UCD323: object of str type. """ return list(UCD323.ROLE_DICT.keys())[list(UCD323.ROLE_DICT.values()).index(type(self))] + + class HDMISinkEARC(DevBase): + """ + Class `HDMISink` contains information of available functionality modules for role HDMI Sink (RX - receiver) + role: + - `HDRX`. + - `DUTTests`. + """ + + def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): + super().__init__(dev_io) + self.__hdrx = HDRX_eARC(dev_io.create_port_io(0, PortProtocol.HDMI), memory_manager, capturer) + self.__dut_tests = DUTTests(dev_io) + + @property + def hdrx(self) -> HDRX_eARC: + """ + Returns HDMI Sink (RX - receiver) role. + + Returns: + object of HDRX type. + """ + return self.__hdrx + + @property + def dut_tests(self) -> DUTTests: + """ + Returns DUT Test module. + + Returns: + object of DUTTests type. + """ + return self.__dut_tests + + @property + def name(self) -> str: + """ + Returns name of role. + + Returns: + object of str type. + """ + return list(UCD323.ROLE_DICT.keys())[list(UCD323.ROLE_DICT.values()).index(type(self))] ROLE_DICT = { "DisplayPort Reference Sink (SST, HDCP 2.3)": DPSink, "DisplayPort Reference Source (SST, HDCP 2.3)": DPSource, "HDMI Reference Sink (HDCP 2.3)": HDMISink, "HDMI Reference Source (HDCP 2.3)": HDMISource, + "HDMI Reference Sink (eARC)": HDMISinkEARC, } @@ -317,13 +376,16 @@ class UCD301: - 'DisplayPort Reference Sink (SST, HDCP 2.3)' `DPSink` - 'HDMI Reference Sink (HDCP 2.3)' `HDMISink` """ - class DPSink: + + class DPSink(DevBase): """ Class `DPSink` contains information of available functionality modules for role DP Sink (RX - receiver) role: - `DPRX`. - `DUTTests`. """ + def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): + super().__init__(dev_io) self.__dprx = DPRX(dev_io.create_port_io(0, PortProtocol.DisplayPort), memory_manager, capturer) self.__dut_tests = DUTTests(dev_io) @@ -357,14 +419,16 @@ class UCD301: """ return list(UCD301.ROLE_DICT.keys())[list(UCD301.ROLE_DICT.values()).index(type(self))] - class HDMISink: + class HDMISink(DevBase): """ Class `HDMISink` contains information of available functionality modules for role HDMI Sink (RX - receiver) role: - `HDRX`. - `DUTTests`. """ + def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): + super().__init__(dev_io) self.__hdrx = HDRX(dev_io.create_port_io(0, PortProtocol.HDMI), memory_manager, capturer) self.__dut_tests = DUTTests(dev_io) @@ -398,7 +462,7 @@ class UCD301: """ return list(UCD301.ROLE_DICT.keys())[list(UCD301.ROLE_DICT.values()).index(type(self))] - class DPSinkHDMISink: + class DPSinkHDMISink(DevBase): """ Class `DPSinkHDMISink` contains information of available functionality modules for role DP and HDMI Sink (RX - receiver) role: @@ -408,6 +472,7 @@ class UCD301: """ def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): + super().__init__(dev_io) self.__dprx = DPRX(dev_io.create_port_io(0, PortProtocol.DisplayPort), memory_manager, capturer) self.__hdrx = HDRX(dev_io.create_port_io(0, PortProtocol.HDMI), memory_manager, capturer) self.__dut_tests = DUTTests(dev_io) diff --git a/UniTAP/dev/dev_4xx_roles.py b/UniTAP/dev/dev_4xx_roles.py index 3a4b27a..a067286 100644 --- a/UniTAP/dev/dev_4xx_roles.py +++ b/UniTAP/dev/dev_4xx_roles.py @@ -1,6 +1,7 @@ from UniTAP.dev.ports import DPRX4xx, DPTX4xx, HDRX4xx, HDTX4xx, PDC424 from .modules import MemoryManager, Capturer, DUTTests -from UniTAP.libs.lib_tsi.tsi_io import DeviceIO, PortProtocol +from UniTAP.libs.lib_tsi.tsi_io import PortProtocol +from .dev_base_roles import DevBase, DeviceIO class UCD400: @@ -8,7 +9,7 @@ class UCD400: Class `UCD400` describes of device UCD-400. Device has one possible role: - 'DisplayPort Source and Sink' `DPSourceDPSink` """ - class DPSourceDPSink: + class DPSourceDPSink(DevBase): """ Class `DPSourceDPSink` contains information of available functionality modules for role DP Sink (RX - receiver) and DP Source (TX - transmitter) roles: @@ -17,7 +18,7 @@ class UCD400: - `DUTTests`. """ def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): - super().__init__() + super().__init__(dev_io) self.__dprx = DPRX4xx(dev_io.create_port_io(0, PortProtocol.DisplayPort), memory_manager, capturer) self.__dptx = DPTX4xx(dev_io.create_port_io(1, PortProtocol.DisplayPort), memory_manager, capturer) self.__dut_tests = DUTTests(dev_io) @@ -72,7 +73,7 @@ class UCD422: Class `UCD422` describes of device UCD-422. Device has one possible role: - 'HDMI Source and Sink' `HDMISourceHDMISink` """ - class HDMISourceHDMISink: + class HDMISourceHDMISink(DevBase): """ Class `DPSourceDPSink` contains information of available functionality modules for role HDMI Sink (RX - receiver) and HDMI Source (TX - transmitter) roles: @@ -81,7 +82,7 @@ class UCD422: - `DUTTests`. """ def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): - super().__init__() + super().__init__(dev_io) self.__hdrx = HDRX4xx(dev_io.create_port_io(0, PortProtocol.HDMI), memory_manager, capturer) self.__hdtx = HDTX4xx(dev_io.create_port_io(1, PortProtocol.HDMI), memory_manager, capturer) self.__dut_tests = DUTTests(dev_io) @@ -136,7 +137,7 @@ class UCD424: Class `UCD424` describes of device UCD-424. Device has one possible role: - 'USB-C Source and Sink' `USBCSourceUSBCSink`. """ - class USBCSourceUSBCSink: + class USBCSourceUSBCSink(DevBase): """ Class `DPSourceDPSink` contains information of available functionality modules for role HDMI Sink (RX - receiver) and HDMI Source (TX - transmitter) roles: @@ -146,7 +147,7 @@ class UCD424: - `PDC`. """ def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): - super().__init__() + super().__init__(dev_io) self.__port_rx = dev_io.create_port_io(0, PortProtocol.DisplayPortThrowUSBC) self.__port_tx = dev_io.create_port_io(1, PortProtocol.DisplayPortThrowUSBC) self.__dprx = DPRX4xx(self.__port_rx, memory_manager, capturer) @@ -218,3 +219,237 @@ class UCD424: ROLE_DICT = { "USB-C Source and Sink": USBCSourceUSBCSink } + + +class UCD451: + """ + Class `UCD451` describes of device UCD-451. Device has one possible role: + - 'DP Source' `DPSource` + """ + + class DPSource(DevBase): + """ + Class `DPSourceDPSink` contains information of available functionality modules for role + DP Source (TX - transmitter) roles: + - `DPTX4xx`. + - `DUTTests`. + """ + + def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): + super().__init__(dev_io) + self.__dptx = DPTX4xx(dev_io.create_port_io(0, PortProtocol.DisplayPort), memory_manager, capturer) + self.__dut_tests = DUTTests(dev_io) + + @property + def dptx(self) -> DPTX4xx: + """ + Returns DP Source (TX - transmitter) role. + + Returns: + object of DPTX4xx type. + """ + return self.__dptx + + @property + def dut_tests(self) -> DUTTests: + """ + Returns DUT Test module. + + Returns: + object of DUTTests type. + """ + return self.__dut_tests + + @property + def name(self) -> str: + """ + Returns name of role. + + Returns: + object of str type. + """ + return list(UCD451.ROLE_DICT.keys())[list(UCD451.ROLE_DICT.values()).index(type(self))] + + ROLE_DICT = { + "DisplayPort Source": DPSource + } + + +class UCD461: + """ + Class `UCD461` describes of device UCD-461. Device has one possible role: + - 'DisplayPort Source and Sink' `DPSourceDPSink` + """ + class DPSourceDPSink(DevBase): + """ + Class `DPSourceDPSink` contains information of available functionality modules for role DP Sink + (RX - receiver) and DP Source (TX - transmitter) roles: + - `DPRX4xx`. + - `DPTX4xx`. + - `DUTTests`. + """ + def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): + super().__init__(dev_io) + self.__dprx = DPRX4xx(dev_io.create_port_io(0, PortProtocol.DisplayPort), memory_manager, capturer) + self.__dptx = DPTX4xx(dev_io.create_port_io(1, PortProtocol.DisplayPort), memory_manager, capturer) + self.__dut_tests = DUTTests(dev_io) + + @property + def dprx(self) -> DPRX4xx: + """ + Returns DP Sink (RX - receiver) role. + + Returns: + object of DPRX4xx type. + """ + return self.__dprx + + @property + def dptx(self) -> DPTX4xx: + """ + Returns DP Source (TX - transmitter) role. + + Returns: + object of DPTX4xx type. + """ + return self.__dptx + + @property + def dut_tests(self) -> DUTTests: + """ + Returns DUT Test module. + + Returns: + object of DUTTests type. + """ + return self.__dut_tests + + @property + def name(self) -> str: + """ + Returns name of role. + + Returns: + object of str type. + """ + return list(UCD461.ROLE_DICT.keys())[list(UCD461.ROLE_DICT.values()).index(type(self))] + + ROLE_DICT = { + "DisplayPort Source and Sink": DPSourceDPSink + } + + +class UCD452: + """ + Class `UCD452` describes of device UCD-452. Device has one possible role: + - 'HDMI Source' `HDMISource` + """ + class HDMISource(DevBase): + """ + Class `DPSourceDPSink` contains information of available functionality modules for role + HDMI Source (TX - transmitter) roles: + - `HDTX4xx`. + - `DUTTests`. + """ + def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): + super().__init__(dev_io) + self.__hdtx = HDTX4xx(dev_io.create_port_io(0, PortProtocol.HDMI), memory_manager, capturer) + self.__dut_tests = DUTTests(dev_io) + + @property + def hdtx(self) -> HDTX4xx: + """ + Returns HDMI Source (TX - transmitter) role. + + Returns: + object of HDTX4xx type. + """ + return self.__hdtx + + @property + def dut_tests(self) -> DUTTests: + """ + Returns DUT Test module. + + Returns: + object of DUTTests type. + """ + return self.__dut_tests + + @property + def name(self) -> str: + """ + Returns name of role. + + Returns: + object of str type. + """ + return list(UCD452.ROLE_DICT.keys())[list(UCD452.ROLE_DICT.values()).index(type(self))] + + ROLE_DICT = { + "HDMI Source": HDMISource + } + + +class UCD462: + """ + Class `UCD462` describes of device UCD-462. Device has one possible role: + - 'HDMI Source and Sink' `HDMISourceHDMISink` + """ + class HDMISourceHDMISink(DevBase): + """ + Class `DPSourceDPSink` contains information of available functionality modules for role HDMI Sink + (RX - receiver) and HDMI Source (TX - transmitter) roles: + - `HDRX4xx`. + - `HDTX4xx`. + - `DUTTests`. + """ + def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): + super().__init__(dev_io) + self.__hdrx = HDRX4xx(dev_io.create_port_io(0, PortProtocol.HDMI), memory_manager, capturer) + self.__hdtx = HDTX4xx(dev_io.create_port_io(1, PortProtocol.HDMI), memory_manager, capturer) + self.__dut_tests = DUTTests(dev_io) + + @property + def hdtx(self) -> HDTX4xx: + """ + Returns HDMI Source (TX - transmitter) role. + + Returns: + object of HDTX4xx type. + """ + return self.__hdtx + + @property + def hdrx(self) -> HDRX4xx: + """ + Returns HDMI Sink (RX - receiver) role. + + Returns: + object of HDRX4xx type. + """ + return self.__hdrx + + @property + def dut_tests(self) -> DUTTests: + """ + Returns DUT Test module. + + Returns: + object of DUTTests type. + """ + return self.__dut_tests + + @property + def name(self) -> str: + """ + Returns name of role. + + Returns: + object of str type. + """ + return list(UCD462.ROLE_DICT.keys())[list(UCD462.ROLE_DICT.values()).index(type(self))] + + ROLE_DICT = { + "HDMI Source and Sink": HDMISourceHDMISink + } diff --git a/UniTAP/dev/dev_5xx_roles.py b/UniTAP/dev/dev_5xx_roles.py index fcde995..87fa3c7 100644 --- a/UniTAP/dev/dev_5xx_roles.py +++ b/UniTAP/dev/dev_5xx_roles.py @@ -1,6 +1,7 @@ from UniTAP.dev.ports import DPRX5xx, DPTX5xx, PDC500 from .modules import MemoryManager, Capturer, DUTTests -from UniTAP.libs.lib_tsi.tsi_io import DeviceIO, PortProtocol +from UniTAP.libs.lib_tsi.tsi_io import PortProtocol +from .dev_base_roles import DevBase, DeviceIO class UCD500: @@ -11,7 +12,8 @@ class UCD500: - 'DisplayPort Sink and USB-C, DP Alt Mode Source' `USBCSourceDPSink`. - 'USB-C, DP Alt Mode Source and Sink' `USBCSourceUSBCSink`. """ - class DPSourceDPSink: + + class DPSourceDPSink(DevBase): """ Class `DPSourceDPSink` contains information of available functionality modules for role DP Sink (RX - receiver) and DP Source (TX - transmitter) roles: @@ -19,7 +21,9 @@ class UCD500: - `DPTX5xx`. - `DUTTests`. """ + def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): + super().__init__(dev_io) self.__dprx = DPRX5xx(dev_io.create_port_io(0, PortProtocol.DisplayPort), memory_manager, capturer) self.__dptx = DPTX5xx(dev_io.create_port_io(1, PortProtocol.DisplayPort), memory_manager, capturer) self.__dut_tests = DUTTests(dev_io) @@ -64,8 +68,9 @@ class UCD500: """ return list(UCD500.ROLE_DICT.keys())[list(UCD500.ROLE_DICT.values()).index(type(self))] - class DPSourceUSBCSink: + class DPSourceUSBCSink(DevBase): def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): + super().__init__(dev_io) self.__port_rx = dev_io.create_port_io(0, PortProtocol.DisplayPortThrowUSBC) self.__dptx = DPTX5xx(dev_io.create_port_io(1, PortProtocol.DisplayPort), memory_manager, capturer) self.__dprx = DPRX5xx(self.__port_rx, memory_manager, capturer) @@ -122,8 +127,9 @@ class UCD500: """ return list(UCD500.ROLE_DICT.keys())[list(UCD500.ROLE_DICT.values()).index(type(self))] - class USBCSourceDPSink: + class USBCSourceDPSink(DevBase): def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): + super().__init__(dev_io) self.__port_tx = dev_io.create_port_io(1, PortProtocol.DisplayPortThrowUSBC) self.__dptx = DPTX5xx(self.__port_tx, memory_manager, capturer) self.__dprx = DPRX5xx(dev_io.create_port_io(0, PortProtocol.DisplayPort), memory_manager, capturer) @@ -180,8 +186,9 @@ class UCD500: """ return list(UCD500.ROLE_DICT.keys())[list(UCD500.ROLE_DICT.values()).index(type(self))] - class USBCSourceUSBCSink: + class USBCSourceUSBCSink(DevBase): def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer): + super().__init__(dev_io) self.__port_rx = dev_io.create_port_io(0, PortProtocol.DisplayPortThrowUSBC) self.__port_tx = dev_io.create_port_io(1, PortProtocol.DisplayPortThrowUSBC) self.__dprx = DPRX5xx(self.__port_rx, memory_manager, capturer) diff --git a/UniTAP/dev/dev_base_roles.py b/UniTAP/dev/dev_base_roles.py new file mode 100644 index 0000000..91be895 --- /dev/null +++ b/UniTAP/dev/dev_base_roles.py @@ -0,0 +1,28 @@ +from UniTAP.libs.lib_tsi.tsi_io import DeviceIO + + +class DevBase: + """ + Class `DevBase`. + """ + + def __init__(self, dev_io: DeviceIO): + self.__dev_io = dev_io + + def is_fw_update_available(self) -> bool: + """ + Checks if there is a firmware update available for the current device. + + Returns: + object of bool type. + """ + return self.__dev_io.is_fw_update_available() + + def get_fw_update_info(self) -> str: + """ + Returns a list of modules to update on the current device and also displays the current version. + + Returns: + object of str type. + """ + return self.__dev_io.get_fw_update_info() diff --git a/UniTAP/dev/device.py b/UniTAP/dev/device.py index feece27..086ae58 100644 --- a/UniTAP/dev/device.py +++ b/UniTAP/dev/device.py @@ -3,7 +3,7 @@ import weakref from typing import TypeVar, Type, List from .dev_5xx_roles import UCD500 -from .dev_4xx_roles import UCD400, UCD422, UCD424 +from .dev_4xx_roles import UCD400, UCD422, UCD424, UCD451, UCD452, UCD461, UCD462 from .dev_3xx_roles import UCD240, UCD340, UCD323, UCD301 from .modules import * @@ -16,6 +16,11 @@ RoleType = TypeVar("RoleType", UCD500.USBCSourceUSBCSink, UCD500.USBCSourceDPSink, + UCD462.HDMISourceHDMISink, + UCD461.DPSourceDPSink, + UCD452.HDMISource, + UCD451.DPSource, + UCD424.USBCSourceUSBCSink, UCD422.HDMISourceHDMISink, UCD400.DPSourceDPSink, @@ -26,6 +31,7 @@ RoleType = TypeVar("RoleType", UCD323.DPSink, UCD323.DPSource, UCD323.HDMISink, + UCD323.HDMISinkEARC, UCD323.HDMISource, UCD301.DPSink, @@ -36,6 +42,10 @@ RoleType = TypeVar("RoleType", MODEL_TO_CLASS = { "UCD-500": UCD500, + "UCD-462": UCD462, + "UCD-461": UCD461, + "UCD-452": UCD452, + "UCD-451": UCD451, "UCD-424": UCD424, "UCD-422": UCD422, "UCD-400": UCD400, @@ -90,9 +100,10 @@ class TSIDevice: def __define_internal_handler(self, role, role_type): if role_type in [UCD500.DPSourceUSBCSink, UCD500.DPSourceDPSink, UCD500.USBCSourceUSBCSink, - UCD500.USBCSourceDPSink, UCD424.USBCSourceUSBCSink, UCD400.DPSourceDPSink]: + UCD500.USBCSourceDPSink, UCD424.USBCSourceUSBCSink, UCD400.DPSourceDPSink, + UCD461.DPSourceDPSink]: self.opf_handler._set_roles(role.dptx, role.dprx) - elif role_type in [UCD422.HDMISourceHDMISink]: + elif role_type in [UCD422.HDMISourceHDMISink, UCD462.HDMISourceHDMISink]: self.opf_handler._set_roles(role.hdtx, role.hdrx) def select_role(self, role_type: Type[RoleType]) -> RoleType: @@ -152,3 +163,28 @@ class TSIDevice: @property def _terminal(self) -> Terminal: return self.__terminal + + def reset(self): + """ + Reset Device NIOS FPGA. + """ + role = self.__io.get_role_type() + + if role is None: + logging.error("[UniTAP] Cannot reset device without selected role") + return + + if role not in (UCD500.DPSourceUSBCSink, + UCD500.DPSourceDPSink, + UCD500.USBCSourceUSBCSink, + UCD500.USBCSourceDPSink): + logging.error(f"[UniTAP] Reset functionality is not supported for selected role {role}.") + return + + self.__io.reset() + + def close(self): + """ + Close Device (only with using TSI function `TSIX_DEV_CloseDevice`) + """ + self.__io.close() diff --git a/UniTAP/dev/modules/capturer/capture.py b/UniTAP/dev/modules/capturer/capture.py index 3a96b14..923d541 100644 --- a/UniTAP/dev/modules/capturer/capture.py +++ b/UniTAP/dev/modules/capturer/capture.py @@ -1,8 +1,10 @@ import time -from typing import Union +from ctypes import c_int, c_uint, c_int32 +from typing import Union, List from UniTAP.libs.lib_tsi.tsi_io import DeviceIO -from UniTAP.libs.lib_tsi.tsi import * +import UniTAP.libs.lib_tsi.tsi_types as ci +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci from UniTAP.dev.modules.capturer.statuses import CaptureStatus, AudioCaptureStatus, EventCaptureStatus, \ VideoCaptureStatus, BulkCaptureStatus from UniTAP.common import AudioFrameData, VideoFrameDSC, create_from_pps @@ -12,6 +14,8 @@ from UniTAP.utils import function_scheduler from UniTAP.dev.ports.modules.capturer.bulk.private_bulk_types import * from UniTAP.dev.ports.modules.capturer.bulk.bulk_types import * from .types import * +from UniTAP.utils import tsi_logging as logging + TIMEOUT = 10 @@ -84,27 +88,27 @@ class Capturer: @property def video_capturer_status(self) -> VideoCaptureStatus: - return VideoCaptureStatus(self.__io.get(TSI_VIDCAP_CAPTURE_STATUS_R, c_int)[1]) + return VideoCaptureStatus(self.__io.get(p_ci.TSI_VIDCAP_CAPTURE_STATUS_R, c_int)[1]) @property def audio_capturer_status(self) -> AudioCaptureStatus: - return AudioCaptureStatus(self.__io.get(TSI_R_AUDCAP_STATUS, c_int)[1]) + return AudioCaptureStatus(self.__io.get(ci.TSI_R_AUDCAP_STATUS, c_int)[1]) @property def event_capturer_status(self) -> EventCaptureStatus: - return EventCaptureStatus(self.__io.get(TSI_EVCAP_CTRL, c_uint32)[1] & 0xFF) + return EventCaptureStatus(self.__io.get(ci.TSI_EVCAP_CTRL, c_uint32)[1] & 0xFF) @property def bulk_capturer_status(self) -> BulkCaptureStatus: - return BulkCaptureStatus(self.__io.get(TSI_BULK_CAPTURE_STATUS_R, c_uint32)[1] & 0x3) + return BulkCaptureStatus(self.__io.get(ci.TSI_BULK_CAPTURE_STATUS_R, c_uint32)[1] & 0x3) def start_capture(self, config: CaptureConfig): self.__mutex.acquire() self.__config.from_int(self.__current_config().to_int() | config.to_int()) - self.__io.set(TSI_CAP_CONFIG, self.__config.to_int()) + self.__io.set(ci.TSI_CAP_CONFIG, self.__config.to_int()) - if self.__io.set(TSI_W_CAP_COMMAND, 1) == 0: + if self.__io.set(ci.TSI_W_CAP_COMMAND, 1) == 0: self.__status = CaptureStatus.Running else: self.__status = CaptureStatus.Unknown @@ -115,9 +119,9 @@ class Capturer: self.__mutex.acquire() self.__config.from_int(self.__current_config().to_int() & ~config.to_int()) - self.__io.set(TSI_CAP_CONFIG, self.__config.to_int()) + self.__io.set(ci.TSI_CAP_CONFIG, self.__config.to_int()) - if self.__io.set(TSI_W_CAP_COMMAND, 2) == 0: + if self.__io.set(ci.TSI_W_CAP_COMMAND, 2) == 0: self.__status = CaptureStatus.Stop else: self.__status = CaptureStatus.Unknown @@ -128,22 +132,22 @@ class Capturer: event = EventData() if event_count > 0: - event_size = self.__io.get(TSI_R_EVCAP_DATA, None, 0)[0] + event_size = self.__io.get(ci.TSI_R_EVCAP_DATA, None, 0)[0] if event_size > 0: - event.data = bytearray(self.__io.get(TSI_R_EVCAP_DATA, c_ubyte, event_size)[1]) + event.data = bytearray(self.__io.get(ci.TSI_R_EVCAP_DATA, c_ubyte, event_size)[1]) return event def get_buffer_capacity(self, stream_number: int = None): if stream_number is not None: - self.__io.set(TSI_DPRX_STREAM_SELECT, stream_number, c_uint32) - self.__io.set(TSI_DPRX_MSA_COMMAND_W, 2, c_uint32) + self.__io.set(ci.TSI_DPRX_STREAM_SELECT, stream_number, c_uint32) + self.__io.set(ci.TSI_DPRX_MSA_COMMAND_W, 2, c_uint32) - width = self.__io.get(TSI_R_INPUT_WIDTH , c_uint32)[1] - height = self.__io.get(TSI_R_INPUT_HEIGHT , c_uint32)[1] - total_memory_bytes = self.__io.get(TSI_MEMORY_SIZE_R, c_uint64)[1] - bpc = self.__io.get(TSI_INPUT_COLOR_DEPTH_R , c_uint32)[1] - color_format = self.__io.get(TSI_INPUT_COLOR_MODE_R , c_uint32)[1] + width = self.__io.get(ci.TSI_R_INPUT_WIDTH, c_uint32)[1] + height = self.__io.get(ci.TSI_R_INPUT_HEIGHT, c_uint32)[1] + total_memory_bytes = self.__io.get(ci.TSI_MEMORY_SIZE_R, c_uint64)[1] + bpc = self.__io.get(ci.TSI_INPUT_COLOR_DEPTH_R, c_uint32)[1] + color_format = self.__io.get(ci.TSI_INPUT_COLOR_MODE_R, c_uint32)[1] bpp = self._get_bits_per_pixel(bpc, color_format) line_alignment = 1023 @@ -186,7 +190,7 @@ class Capturer: return (value + alignment) & ~alignment def get_available_events_count(self) -> int: - return self.__io.get(TSI_R_EVCAP_COUNT, c_uint32)[1] + return self.__io.get(ci.TSI_R_EVCAP_COUNT, c_uint32)[1] def capture_n_events(self, events_count: int): if events_count <= 0: @@ -215,19 +219,21 @@ class Capturer: audio_frame = AudioFrameData() - audio_frame.channel_count = self.__io.get(TSI_R_AUDCAP_CHANNEL_COUNT, c_int)[1] - audio_frame.sample_size = self.__io.get(TSI_R_AUDCAP_SAMPLE_SIZE, c_int)[1] * 8 - audio_frame.sample_rate = self.__io.get(TSI_R_AUDCAP_SAMPLE_RATE, c_int)[1] - audio_frame.timestamp = self.__io.get(TSI_R_AUDCAP_TIMESTAMP, c_uint64)[1] - audio_frame.samples = self.__io.get(TSI_R_AUDCAP_SAMPLE_COUNT, c_int)[1] - audio_frame.frame_counter = self.__io.get(TSI_R_AUDCAP_FRAME_COUNTER, c_int)[1] - audio_frame.sample_format = self.__io.get(TSI_R_AUDCAP_SAMPLE_FORMAT, c_int)[1] + audio_frame.channel_count = self.__io.get(ci.TSI_AUDCAP_CHANNEL_COUNT_R, c_int)[1] + audio_frame.sample_size = self.__io.get(ci.TSI_AUDCAP_SAMPLE_BITS_SIZE_R, c_int)[1] + audio_frame.sample_rate = self.__io.get(ci.TSI_R_AUDCAP_SAMPLE_RATE, c_int)[1] + audio_frame.timestamp = self.__io.get(ci.TSI_R_AUDCAP_TIMESTAMP, c_uint64)[1] + audio_frame.samples = self.__io.get(ci.TSI_R_AUDCAP_SAMPLE_COUNT, c_int)[1] + audio_frame.frame_counter = self.__io.get(ci.TSI_R_AUDCAP_FRAME_COUNTER, c_int)[1] + audio_frame.sample_format = self.__io.get(ci.TSI_R_AUDCAP_SAMPLE_FORMAT, c_int)[1] - min_buff_size = self.__io.get(TSI_R_AUDCAP_MIN_BUFFER_SIZE, c_uint32)[1] - audio_frame.data = self.__io.get(TSI_R_AUDCAP_SAMPLE_DATA, c_uint8, min_buff_size)[1] + min_buff_size = self.__io.get(ci.TSI_R_AUDCAP_MIN_BUFFER_SIZE, c_uint32)[1] + audio_frame.data = self.__io.get(ci.TSI_R_AUDCAP_SAMPLE_DATA, c_uint8, min_buff_size)[1] - m_sec -= 1000 * len(audio_frame.data) / 2 / audio_frame.channel_count / audio_frame.sample_rate + captured_sample_count = len(audio_frame.data) / (audio_frame.sample_size / 8) / audio_frame.channel_count + captured_m_sec_count = int(captured_sample_count * 1000 / audio_frame.sample_rate) + m_sec -= captured_m_sec_count return audio_frame, m_sec def capture_audio_by_n_frames(self, frames_count: int, timeout: int = None): @@ -263,29 +269,32 @@ class Capturer: raise ValueError(f"Seconds count must be more than 0.") buffer = [] - time_break = False - - while m_sec > 0 and not time_break: - captured = 0 + last_data_time = time.time() + while m_sec > 0: start_time = time.time() - while captured < 10 and m_sec > 0: - status = self.audio_capturer_status - current_time = time.time() - if current_time - start_time > TIMEOUT: - time_break = True - break - if status == AudioCaptureStatus.Stop: - continue + while self.audio_capturer_status != AudioCaptureStatus.Running: + if time.time() - start_time > TIMEOUT: + logging.error(f"Audio capture device not running for {TIMEOUT} seconds. Aborting.") + return buffer + logging.debug(f"Audio capture device not running yet: {self.audio_capturer_status}") + time.sleep(0.5) - audio_frame, m_sec = self.__capture_audio(m_sec=m_sec) - if len(audio_frame.data) > 0: - captured += 1 - buffer.append(audio_frame) + audio_frame, m_sec = self.__capture_audio(m_sec=m_sec) + if len(audio_frame.data) > 0: + buffer.append(audio_frame) + last_data_time = time.time() + else: + if time.time() - last_data_time > TIMEOUT: + logging.error( + f"No audio data captured within {TIMEOUT} seconds. " + f"Interrupting capture process." + ) + break return buffer def get_available_video_frame_count(self): - return self.__io.get(TSI_VIDCAP_AVAILABLE_FRAME_COUNT, c_int)[1] + return self.__io.get(p_ci.TSI_VIDCAP_AVAILABLE_FRAME_COUNT, c_int)[1] def __check_available_video(self, timeout) -> bool: def is_video_available(capturer): @@ -322,27 +331,27 @@ class Capturer: f"Cannot start to capture video. Current video capture status {self.video_capturer_status.name}") try: - result = self.__io.set(TSI_VIDCAP_CAPTURE_NEXT_W, 0) - if result == TSI_ERROR_DATA_PROTECTION_ENABLED: + result = self.__io.set(ci.TSI_VIDCAP_CAPTURE_NEXT_W, 0) + if result == ci.TSI_ERROR_DATA_PROTECTION_ENABLED: raise CaptureError("Video data is HDCP protected. Capturing is not available.") except AssertionError as e: raise CaptureError(f"Error: {e}") try: - min_buffer_size = self.__io.get(TSI_R_VIDCAP_MIN_BUFFER_SIZE, c_int)[1] + min_buffer_size = self.__io.get(ci.TSI_R_VIDCAP_MIN_BUFFER_SIZE, c_int)[1] if min_buffer_size <= 0: raise ValueError("Minimum buffer size must be more than 0") except AssertionError as e: raise CaptureError(f"Error: {e}") try: - frame_data = bytearray(self.__io.get(TSI_R_VIDCAP_FRAME_DATA, c_uint8, min_buffer_size)[1]) + frame_data = bytearray(self.__io.get(ci.TSI_R_VIDCAP_FRAME_DATA, c_uint8, min_buffer_size)[1]) if len(frame_data) <= 0: raise ValueError("Minimum length of captured data must be more than 0") except AssertionError as e: raise CaptureError(f"Error: {e}") - frame_attributes = self.__io.get(TSI_VIDCAP_FRAME_HEADER_R, VideoFrameHeader)[1] + frame_attributes = self.__io.get(ci.TSI_VIDCAP_FRAME_HEADER_R, VideoFrameHeader)[1] if frame_attributes.is_dsc() and len(frame_data) > 128: vf = VideoFrameDSC() @@ -397,12 +406,12 @@ class Capturer: def set_video_stream_number(self, number: int): self.__mutex.acquire() - self.__io.set(TSI_DPRX_STREAM_SELECT, number, c_uint32) + self.__io.set(ci.TSI_DPRX_STREAM_SELECT, number, c_uint32) self.__mutex.release() def __current_config(self) -> CaptureConfig: config = CaptureConfig() - config.from_int(self.__io.get(TSI_CAP_CONFIG, c_uint)[1]) + config.from_int(self.__io.get(ci.TSI_CAP_CONFIG, c_uint)[1]) return config # Capture CRC @@ -410,7 +419,7 @@ class Capturer: if crc_frame_count <= 0: raise ValueError(f"Incorrect crc frame count: {crc_frame_count}") - crc_values = self.__io.get(TSI_VIDCAP_SIGNAL_CRC_R, CrcStruct, crc_frame_count)[1] + crc_values = self.__io.get(ci.TSI_VIDCAP_SIGNAL_CRC_R, CrcStruct, crc_frame_count)[1] crc_list = [] if crc_frame_count == 1: crc_list = [(crc_values.r, crc_values.g, crc_values.b)] @@ -420,15 +429,15 @@ class Capturer: # Bulk Capturer def read_bulk_capture_caps(self) -> CaptureCaps: - return self.__io.get(TSI_BULK_CAPTURE_CAPS_R, CaptureCaps)[1] + return self.__io.get(ci.TSI_BULK_CAPTURE_CAPS_R, CaptureCaps)[1] def read_bulk_trigger_caps(self) -> int: - return self.__io.get(TSI_BULK_TRIGGER_CAPS_R, c_uint32)[1] + return self.__io.get(ci.TSI_BULK_TRIGGER_CAPS_R, c_uint32)[1] def write_bulk_trigger_settings(self, trigger_mask: int, trigger_config: list, trigger_config_ext: list): - self.__io.set(TSI_BULK_TRIGGER_MASK_W, trigger_mask, c_uint32) - self.__io.set(TSI_BULK_TRIGGER_CONFIGURATION_W, trigger_config, c_uint32, data_count=len(trigger_config)) - self.__io.set(TSI_BULK_TRIGGER_CONFIGURATION_EXT_W, trigger_config_ext, c_uint32, + self.__io.set(ci.TSI_BULK_TRIGGER_MASK_W, trigger_mask, c_uint32) + self.__io.set(ci.TSI_BULK_TRIGGER_CONFIGURATION_W, trigger_config, c_uint32, data_count=len(trigger_config)) + self.__io.set(ci.TSI_BULK_TRIGGER_CONFIGURATION_EXT_W, trigger_config_ext, c_uint32, data_count=len(trigger_config_ext)) def write_bulk_size(self, size: int): @@ -436,56 +445,56 @@ class Capturer: data.BLOCK = 0 data.OFFSET = 0 data.SIZE = size - self.__io.set(TSI_BULK_CAPTURE_BLOCK, data, SBlock) + self.__io.set(ci.TSI_BULK_CAPTURE_BLOCK, data, SBlock) def write_encoding_type(self, value: EncodingTypeEnum): - self.__io.set(TSI_BULK_CAPTURE_TYPE, value.value, c_uint32) + self.__io.set(ci.TSI_BULK_CAPTURE_TYPE, value.value, c_uint32) def read_encoding_type(self) -> EncodingTypeEnum: - return EncodingTypeEnum(self.__io.get(TSI_BULK_CAPTURE_TYPE, c_uint32)[1]) + return EncodingTypeEnum(self.__io.get(ci.TSI_BULK_CAPTURE_TYPE, c_uint32)[1]) def write_lane_count(self, value: LaneCountEnum): - self.__io.set(TSI_BULK_CAPTURE_LANE_COUNT, value.value, c_uint32) + self.__io.set(ci.TSI_BULK_CAPTURE_LANE_COUNT, value.value, c_uint32) def read_lane_count(self) -> LaneCountEnum: - return LaneCountEnum(self.__io.get(TSI_BULK_CAPTURE_LANE_COUNT, c_uint32)[1]) + return LaneCountEnum(self.__io.get(ci.TSI_BULK_CAPTURE_LANE_COUNT, c_uint32)[1]) def write_bulk_gpio(self, gpio: bool): - self.__io.set(TSI_BULK_CAPTURE_GPIO_W, TSI_BULK_CAPTURE_GPIO_5BIT if gpio else TSI_BULK_CAPTURE_GPIO_OFF, + self.__io.set(ci.TSI_BULK_CAPTURE_GPIO_W, ci.TSI_BULK_CAPTURE_GPIO_5BIT if gpio else ci.TSI_BULK_CAPTURE_GPIO_OFF, c_uint32) def write_bulk_trigger_position(self, position: int): - self.__io.set(TSI_BULK_TRIGGER_POS, position) + self.__io.set(ci.TSI_BULK_TRIGGER_POS, position) def start_bulk_capture(self): self.__mutex.acquire() - self.__io.set(TSI_EVCAP_CTRL, 1) - self.__io.set(TSI_BULK_CAPTURE_CONTROL_W, TSI_BULK_CAPTURE_START) + self.__io.set(ci.TSI_EVCAP_CTRL, 1) + self.__io.set(ci.TSI_BULK_CAPTURE_CONTROL_W, ci.TSI_BULK_CAPTURE_START) self.__mutex.release() def stop_bulk_capture(self): self.__mutex.acquire() - self.__io.set(TSI_EVCAP_CTRL, 0) - self.__io.set(TSI_BULK_CAPTURE_CONTROL_W, TSI_BULK_CAPTURE_STOP) + self.__io.set(ci.TSI_EVCAP_CTRL, 0) + self.__io.set(ci.TSI_BULK_CAPTURE_CONTROL_W, ci.TSI_BULK_CAPTURE_STOP) self.__mutex.release() def start_event_capture(self): self.__mutex.acquire() - self.__io.set(TSI_EVCAP_CTRL, 1) - self.__io.set(TSI_EVCAP_EVENT_SRC_EN, UCD_ALL_EVENTS) + self.__io.set(ci.TSI_EVCAP_CTRL, 1) + self.__io.set(ci.TSI_EVCAP_EVENT_SRC_EN, ci.UCD_ALL_EVENTS) self.__mutex.release() def stop_event_capture(self): self.__mutex.acquire() - self.__io.set(TSI_EVCAP_CTRL, 0) + self.__io.set(ci.TSI_EVCAP_CTRL, 0) self.__mutex.release() @@ -494,9 +503,9 @@ class Capturer: value = -1 time_waited = time.time() - while value != TSI_BULK_STATUS_IDLE and time.time() - time_waited < max_time_waiting: - self.__io.set(TSI_BULK_CAPTURE_CLEAR_W, 0) - value = self.__io.get(TSI_BULK_CAPTURE_STATUS_R)[1] + while value != ci.TSI_BULK_STATUS_IDLE and time.time() - time_waited < max_time_waiting: + self.__io.set(ci.TSI_BULK_CAPTURE_CLEAR_W, 0) + value = self.__io.get(ci.TSI_BULK_CAPTURE_STATUS_R)[1] def bulk_capture(self, all_size: int, trigger_enabled: Optional[TriggerVarType]) -> list: buffer = [] @@ -504,16 +513,16 @@ class Capturer: prev_status = 0 last_bulk_capture_time = time.time() for i in range(iterations): - event_count = self.__io.get(TSI_EVCAP_COUNT_R, c_uint32)[1] + event_count = self.__io.get(ci.TSI_EVCAP_COUNT_R, c_uint32)[1] if event_count > 0: event_number = 0 prev_timestamp = 0 events_captured = 0 while event_count > 0 and events_captured < 500: - event_size = self.__io.get(TSI_R_EVCAP_DATA, None, 0)[0] + event_size = self.__io.get(ci.TSI_R_EVCAP_DATA, None, 0)[0] if event_size > 0: cap_data = CapturedData() - cap_data.data = bytearray(self.__io.get(TSI_R_EVCAP_DATA, c_ubyte, event_size)[1]) + cap_data.data = bytearray(self.__io.get(ci.TSI_R_EVCAP_DATA, c_ubyte, event_size)[1]) cap_data.data = cap_data.data[3:] cap_data.type = CapturedDataType.Event cap_data.timestamp = int.from_bytes(bytes=cap_data.data[:8], byteorder='big') @@ -526,8 +535,8 @@ class Capturer: events_captured += 1 event_count -= 1 - bulk_status = self.__io.get(TSI_BULK_CAPTURE_STATUS_R, c_int32)[1] - if bulk_status == TSI_BULK_STATUS_IDLE and prev_status == TSI_BULK_STATUS_TRANSFERRING: + bulk_status = self.__io.get(ci.TSI_BULK_CAPTURE_STATUS_R, c_int32)[1] + if bulk_status == ci.TSI_BULK_STATUS_IDLE and prev_status == ci.TSI_BULK_STATUS_TRANSFERRING: return buffer prev_status = bulk_status @@ -538,12 +547,12 @@ class Capturer: if not self.__check_available_bulk_data(TIMEOUT): return buffer - self.__io.set(TSI_EVCAP_CTRL, 0) + self.__io.set(ci.TSI_EVCAP_CTRL, 0) cap_data = CapturedData() cap_data.type = CapturedDataType.Bulk - result, data, _ = self.__io.get(TSI_BULK_CAPTURE_DATA_R, c_ubyte, 1024 * 1024) + result, data, _ = self.__io.get(ci.TSI_BULK_CAPTURE_DATA_R, c_ubyte, 1024 * 1024) cap_data.data = bytearray(data) - if result >= TSI_SUCCESS and len(cap_data.data) > 0: + if result >= ci.TSI_SUCCESS and len(cap_data.data) > 0: buffer.append(cap_data) last_bulk_capture_time = time.time() diff --git a/UniTAP/dev/modules/dut_tests/cfg/[0x03]src_dut_dp_8b10b_ll_cts.json b/UniTAP/dev/modules/dut_tests/cfg/[0x03]src_dut_dp_8b10b_ll_cts.json index 6717eb2..9161601 100644 --- a/UniTAP/dev/modules/dut_tests/cfg/[0x03]src_dut_dp_8b10b_ll_cts.json +++ b/UniTAP/dev/modules/dut_tests/cfg/[0x03]src_dut_dp_8b10b_ll_cts.json @@ -1996,40 +1996,6 @@ "minValue": 0, "name": "Maximum refresh rate for supported Adaptive-Sync video timings, in Hz.", "type": 4 - }, - { - "configId": "0x10e000d", - "defaultValue": "0", - "description": "Reserved for extension.", - "bitList": - [ - {"description": "0x10e000d", "defaultValue": "0"}, - {"description": "0x10e000f", "defaultValue": "0"}, - {"description": "0x10e001c", "defaultValue": "0"}, - {"description": "0x10e001d", "defaultValue": "0"}, - {"description": "0x10e001e", "defaultValue": "0"}, - {"description": "0x10e001f", "defaultValue": "0"}, - {"description": "0x10e002f", "defaultValue": "0"}, - {"description": "0x10e0030", "defaultValue": "0"}, - {"description": "0x10e0031", "defaultValue": "0"}, - {"description": "0x10e0032", "defaultValue": "0"}, - {"description": "0x10e0033", "defaultValue": "0"}, - {"description": "0x10e0034", "defaultValue": "0"}, - {"description": "0x10e0035", "defaultValue": "0"}, - {"description": "0x10e0036", "defaultValue": "0"}, - {"description": "0x10e0037", "defaultValue": "0"}, - {"description": "0x10e00b7", "defaultValue": "0"}, - {"description": "0x10e00b8", "defaultValue": "0"}, - {"description": "0x10e00b9", "defaultValue": "0"}, - {"description": "0x10e00ba", "defaultValue": "0"}, - {"description": "0x10e00bb", "defaultValue": "0"}, - {"description": "0x10e00bc", "defaultValue": "0"}, - {"description": "0x10e00bd", "defaultValue": "0"}, - {"description": "0x10e00be", "defaultValue": "0"} - ], - "flag": 3, - "id": "RESERVED", - "type": 4 } ], "id": "0x03", diff --git a/UniTAP/dev/modules/dut_tests/cfg/[0x04]src_dut_link_config.json b/UniTAP/dev/modules/dut_tests/cfg/[0x04]src_dut_link_config.json index 6c5e90c..8e5a272 100644 --- a/UniTAP/dev/modules/dut_tests/cfg/[0x04]src_dut_link_config.json +++ b/UniTAP/dev/modules/dut_tests/cfg/[0x04]src_dut_link_config.json @@ -67,20 +67,6 @@ "minValue": 0, "name": "Delay between test cycles, in milliseconds", "type": 4 - }, - { - "configId": "0x10703", - "defaultValue": "0", - "description": "Reserved for DUT Capabilities flags and DUT Test automation capabilities flags.", - "bitList": - [ - {"description": "0x10703", "defaultValue": "0"}, - {"description": "0x10704", "defaultValue": "0"} - ], - "flag": 3, - "id": "RESERVED", - "name": "Reserved", - "type": 4 } ], "id": "0x04", diff --git a/UniTAP/dev/modules/dut_tests/cfg/[0x08]src_dut_dp_128b132b_ll_cts.json b/UniTAP/dev/modules/dut_tests/cfg/[0x08]src_dut_dp_128b132b_ll_cts.json index 9368997..853e035 100644 --- a/UniTAP/dev/modules/dut_tests/cfg/[0x08]src_dut_dp_128b132b_ll_cts.json +++ b/UniTAP/dev/modules/dut_tests/cfg/[0x08]src_dut_dp_128b132b_ll_cts.json @@ -65,7 +65,11 @@ {"mask": "0x01000000", "description": "2x1 tiled display and DisplayID Tiled Display Topology data block supported"}, {"mask": "0x02000000", "description": "Field sequential stereo and DisplayID Tiled Stereo Display Interface data block supported"}, {"mask": "0x04000000", "description": "Stacked frame stereo and DisplayID Tiled Stereo Display Interface data block supported"}, - {"mask": "0x08000000", "description": "Dynamic Refresh Rate with VBlank stretch with MSA_TIMING_PAR_IGNORED supported"} + {"mask": "0x08000000", "description": "Dynamic Refresh Rate with VBlank stretch with MSA_TIMING_PAR_IGNORED supported"}, + {"mask": "0x10000000", "description": "MST transmission supported"}, + {"mask": "0x20000000", "description": "MST UP_REQUEST supported"}, + {"mask": "0x40000000", "description": "MST RSN_REQUEST supported"}, + {"mask": "0x80000000", "description": "MST POWER_UP/DOWN_PHY supported"} ], "flag": 3, "id": "TSI_DP20_SRCCTS_DUT_CAPS", @@ -211,6 +215,17 @@ "name": "Debug mode configuration.", "type": 12 }, + { + "configId": "0x119000f", + "defaultValue": "1028", + "description": "Includes: Maximum stream count supported and Maximum daisy chain sink count supported.", + "flag": 3, + "id": "TSI_DP20_SRCCTS_DUT_MST_CAPS", + "maxValue": 2147483647, + "minValue": 0, + "name": "MST source DUT capabilities.", + "type": 4 + }, { "configId": "0x1190010", "defaultValue": "32000", @@ -2598,39 +2613,6 @@ "name": "Video mode supported by Source DUT (DP2.1 video & DSC tests)", "type": 4 }, - { - "configId": "0x119000f", - "defaultValue": "0", - "description": "Reserved for extension.", - "bitList": - [ - {"description": "0x119000f", "defaultValue": "0"}, - {"description": "0x119001c", "defaultValue": "0"}, - {"description": "0x119001d", "defaultValue": "0"}, - {"description": "0x119001e", "defaultValue": "0"}, - {"description": "0x119001f", "defaultValue": "0"}, - {"description": "0x119002f", "defaultValue": "0"}, - {"description": "0x1190030", "defaultValue": "0"}, - {"description": "0x1190031", "defaultValue": "0"}, - {"description": "0x1190032", "defaultValue": "0"}, - {"description": "0x1190033", "defaultValue": "0"}, - {"description": "0x1190034", "defaultValue": "0"}, - {"description": "0x1190035", "defaultValue": "0"}, - {"description": "0x1190036", "defaultValue": "0"}, - {"description": "0x1190037", "defaultValue": "0"}, - {"description": "0x11900b7", "defaultValue": "0"}, - {"description": "0x11900b8", "defaultValue": "0"}, - {"description": "0x11900b9", "defaultValue": "0"}, - {"description": "0x11900ba", "defaultValue": "0"}, - {"description": "0x11900bb", "defaultValue": "0"}, - {"description": "0x11900bc", "defaultValue": "0"}, - {"description": "0x11900bd", "defaultValue": "0"}, - {"description": "0x11900be", "defaultValue": "0"} - ], - "flag": 3, - "id": "RESERVED", - "type": 4 - }, { "configId": "0x11900f4", "defaultValue": "1920", diff --git a/UniTAP/dev/modules/dut_tests/cfg/[0x21]snk_dut_hdmi_dsc_cts.json b/UniTAP/dev/modules/dut_tests/cfg/[0x21]snk_dut_hdmi_dsc_cts.json index acf173c..df8488f 100644 --- a/UniTAP/dev/modules/dut_tests/cfg/[0x21]snk_dut_hdmi_dsc_cts.json +++ b/UniTAP/dev/modules/dut_tests/cfg/[0x21]snk_dut_hdmi_dsc_cts.json @@ -132,7 +132,7 @@ ], "flag": 1, "id": "TSI_HDMI_SNKCTS_DSC_VIDEO_FORMAT", - "name": "DSC Video formats 1.", + "name": "DSC Video formats 1", "type": 12 }, { @@ -174,7 +174,7 @@ ], "flag": 1, "id": "TSI_HDMI_SNKCTS_DSC_VIDEO_FORMAT_2", - "name": "DSC Video formats 2.", + "name": "DSC Video formats 2", "type": 12 }, { @@ -197,7 +197,7 @@ "id": "TSI_HDMI_SNKCTS_DSC_TOTAL_CHUNK_BYTES", "maxValue": 2147483647, "minValue": 0, - "name": "DSC Max Slices", + "name": "DSC TotalChunkKBytes", "type": 4 } ], diff --git a/UniTAP/dev/modules/dut_tests/cfg/[0x23]snk_dut_hdmi_gaming.json b/UniTAP/dev/modules/dut_tests/cfg/[0x23]snk_dut_hdmi_gaming.json index e7ce346..4cb6c7f 100644 --- a/UniTAP/dev/modules/dut_tests/cfg/[0x23]snk_dut_hdmi_gaming.json +++ b/UniTAP/dev/modules/dut_tests/cfg/[0x23]snk_dut_hdmi_gaming.json @@ -1,66 +1,8 @@ { "descriptions": [ - { - "configId": "0x2100", - "defaultValue": "0", - "description": "Does the Sink support Fast Vactive (FVA), also known as Quick Frame Transport (QFT)?", - "flag": 3, - "id": "TSI_HDMI_GAMING_FVA", - "maxValue": 1, - "minValue": 0, - "name": "Sink_Supports_FVA", - "type": 3, - "enumerationVariants": "0 # NO\n1 # YES" - }, - { - "configId": "0x2101", - "defaultValue": "1", - "description": "Does the Sink support Variable Refresh Rate (VRR)", - "flag": 3, - "id": "TSI_HDMI_GAMING_VRR", - "maxValue": 1, - "minValue": 0, - "name": "Sink_Supports_VRR", - "type": 3, - "enumerationVariants": "0 # NO\n1 # YES" - }, - { - "configId": "0x2102", - "defaultValue": "0", - "description": "Does the Sink support Negative Mvrr values?", - "flag": 3, - "id": "TSI_HDMI_GAMING_NMVRR", - "maxValue": 1, - "minValue": 0, - "name": "Sink_Supports_Negative_MVRR", - "type": 3, - "enumerationVariants": "0 # NO\n1 # YES" - }, - { - "configId": "0x2103", - "defaultValue": "40", - "description": "What is the Sink’s supported VRR Range? Minimum value.\n", - "flag": 3, - "id": "TSI_HDMI_GAMING_RANGE_MIN", - "maxValue": 480, - "minValue": 20, - "name": "Sink_Supported_VRR_Range VRRMIN", - "type": 4 - }, - { - "configId": "0x2104", - "defaultValue": "0", - "description": "What is the Sink’s supported VRR Range? Maximum value or BRR\n", - "flag": 3, - "id": "TSI_HDMI_GAMING_RANGE_MAX", - "maxValue": 480, - "minValue": 20, - "name": "Sink_Supported_VRR_Range VRRMAX or 0 for BRR", - "type": 4 - }, { "configId": "0x2105", - "defaultValue": "0", + "defaultValue": "1", "description": "Does the Sink implement Auto Low-Latency Mode (ALLM)?", "flag": 3, "id": "TSI_HDMI_GAMING_ALLM", @@ -72,32 +14,28 @@ }, { "configId": "0x2106", - "defaultValue": "0", + "defaultValue": "Cinema", "description": "Which display processing mode is the preferred mode with normal latency?", "flag": 3, "id": "TSI_HDMI_GAMING_NLM", - "maxValue": 2, - "minValue": 0, "name": "Sink_Preferred_NLM", - "type": 4, - "enumerationVariants": "0 # Cinema\n1 # Vivid\n2 # Normal" + "type": 2, + "maxLength": 256 }, { "configId": "0x2107", - "defaultValue": "0", + "defaultValue": "Gaming", "description": "Which display processing mode is the preferred mode to minimize latency?", "flag": 3, "id": "TSI_HDMI_GAMING_LLM", - "maxValue": 1, - "minValue": 0, "name": "Sink_Preferred_LLM", - "type": 4, - "enumerationVariants": "0 # Game\n1 # PC" + "type": 2, + "maxLength": 256 }, - { + { "configId": "0x2108", "defaultValue": "1", - "description": "Does the Sink DUT support QMS-VRR?", + "description": "Does the Sink supports QMS-VRR?", "flag": 3, "id": "TSI_HDMI_GAMING_QMS", "maxValue": 1, @@ -106,29 +44,59 @@ "type": 3, "enumerationVariants": "0 # NO\n1 # YES" }, - { - "configId": "0x2109", - "defaultValue": "97", - "description": "What is the highest resolution (i.e., width x height) and base refresh rate (BRR) for which all TFRs up to Sink_QMS_Max_TFR_TMDS are supported by the Sink using TMDS?", + { + "configId": "0x2101", + "defaultValue": "1", + "description": "Does the Sink supports VRR?", "flag": 3, - "id": "TSI_HDMI_GAMING_VIDEO_TMDS", - "maxValue": 255, - "minValue": 16, - "name": "Sink_QMS_Video_Format_TMDS", - "type": 4, - "enumerationVariants": "78 # VIC=78; 1920x1080@120\n97 # VIC=97; 3840x2160@60" + "id": "TSI_HDMI_GAMING_VRR", + "maxValue": 1, + "minValue": 0, + "name": "Sink_Supports_VRR", + "type": 3, + "enumerationVariants": "0 # NO\n1 # YES" + }, + { + "configId": "0x2103", + "defaultValue": "0", + "description": "What is the Sink's supported VRR Range?", + "bitList": [ + { + "mask": "0xFFFF", + "description": "VRR min" + }, + { + "mask": "0xFFFF0000", + "description": "VRR max (0 for BRR)" + } + ], + "flag": 12, + "id": "TSI_HDMI_GAMING_VRR_RANGE", + "name": "Sink_Supported_VRR_Range", + "type": 12 }, { "configId": "0x210A", - "defaultValue": "118", - "description": "What is the highest resolution (i.e., width x height) and base refresh rate (BRR) for which all TFRs up to Sink_QMS_Max_TFR_FRL are supported by the Sink using FRL?", - "flag": 3, + "defaultValue": "0x0003c0043800780", + "description": "What is the highest resolution (i.e., width x height) and base refresh rate (BRR) for which all TFRs up to Sink_QMS_Max_TFR_FRL are supported by the Sink using TMDS?", + "bitList": [ + { + "mask": "0xFFFFF", + "description": "Width" + }, + { + "mask": "0xFFFFF00000", + "description": "Height" + }, + { + "mask": "0xFFFFF0000000000", + "description": "BRR" + } + ], + "flag": 12, "id": "TSI_HDMI_GAMING_VIDEO_FRL", - "maxValue": 255, - "minValue": 16, "name": "Sink_QMS_Video_Format_FRL", - "type": 4, - "enumerationVariants": "0 # N/A\n78 # VIC=78; 1920x1080@120\n97 # VIC=97; 3840x2160@60\n118 # VIC=118; 3840x2160@120" + "type": 13 }, { "configId": "0x210B", @@ -140,11 +108,11 @@ "minValue": 0, "name": "Sink_QMS_Min_TFR", "type": 4, - "enumerationVariants": "0 # N/A\n1 # TFR=1; 24/1.001\n2 # TFR=2; 24\n3 # TFR=3; 25\n4 # TFR=4; 30/1.001\n5 # TFR=5; 30\n6 # TFR=6; 48/1.001\n7 # TFR=7; 48\n8 # TFR=8; 50\n9 # TFR=9; 60/1.001\n10 # TFR=10; 60\n11 # TFR=11; 100\n12 # TFR=12; 120/1.001\n13 # TFR=13; 120" + "enumerationVariants": "0 # N/A\n1 # 1 - 24/1.001\n2 # 2 - 24\n3 # 3 - 25\n4 # 4 - 30/1.001\n5 # 5 - 30\n6 # 6 - 48/1.001\n7 # 7 - 48\n8 # 8 - 50\n9 # 9 - 60/1.001\n10 # 10 - 60\n11 # 11 - 100\n12 # 12 - 120/1.001\n13 # 13 - 120" }, { "configId": "0x210C", - "defaultValue": "10", + "defaultValue": "6", "description": "If the Sink DUT supports QMS-VRR, what is the maximum Next_TFR value supported using TMDS? (Refer to the Next_TFR field definition in HDMI 2.1a Table 10-37.)", "flag": 3, "id": "TSI_HDMI_GAMING_MAX_TFR_TMDS", @@ -152,11 +120,11 @@ "minValue": 0, "name": "Sink_QMS_Max_TFR_TMDS", "type": 4, - "enumerationVariants": "0 # N/A\n1 # TFR=1; 24/1.001\n2 # TFR=2; 24\n3 # TFR=3; 25\n4 # TFR=4; 30/1.001\n5 # TFR=5; 30\n6 # TFR=6; 48/1.001\n7 # TFR=7; 48\n8 # TFR=8; 50\n9 # TFR=9; 60/1.001\n10 # TFR=10; 60\n11 # TFR=11; 100\n12 # TFR=12; 120/1.001\n13 # TFR=13; 120" + "enumerationVariants": "0 # N/A\n1 # 1 - 24/1.001\n2 # 2 - 24\n3 # 3 - 25\n4 # 4 - 30/1.001\n5 # 5 - 30\n6 # 6 - 48/1.001\n7 # 7 - 48\n8 # 8 - 50\n9 # 9 - 60/1.001\n10 # 10 - 60\n11 # 11 - 100\n12 # 12 - 120/1.001\n13 # 13 - 120" }, { "configId": "0x210D", - "defaultValue": "13", + "defaultValue": "8", "description": "If the Sink DUT supports QMS-VRR, what is the maximum Next_TFR value supported using FRL? (Refer to the Next_TFR field definition in HDMI 2.1a Table 10-37.)", "flag": 3, "id": "TSI_HDMI_GAMING_MAX_TFR_FRL", @@ -164,9 +132,44 @@ "minValue": 0, "name": "Sink_QMS_Max_TFR_FRL", "type": 4, - "enumerationVariants": "0 # N/A\n1 # TFR=1; 24/1.001\n2 # TFR=2; 24\n3 # TFR=3; 25\n4 # TFR=4; 30/1.001\n5 # TFR=5; 30\n6 # TFR=6; 48/1.001\n7 # TFR=7; 48\n8 # TFR=8; 50\n9 # TFR=9; 60/1.001\n10 # TFR=10; 60\n11 # TFR=11; 100\n12 # TFR=12; 120/1.001\n13 # TFR=13; 120" + "enumerationVariants": "0 # N/A\n1 # 1 - 24/1.001\n2 # 2 - 24\n3 # 3 - 25\n4 # 4 - 30/1.001\n5 # 5 - 30\n6 # 6 - 48/1.001\n7 # 7 - 48\n8 # 8 - 50\n9 # 9 - 60/1.001\n10 # 10 - 60\n11 # 11 - 100\n12 # 12 - 120/1.001\n13 # 13 - 120" + }, + { + "configId": "0x210E", + "defaultValue": "1", + "description": "What is the maximum FRL Rate that the product supports? (Set to 0 if the product does not support FRL reception.)", + "flag": 3, + "id": "TSI_HDMI_GAMING_MAX_FRL", + "maxValue": 6, + "minValue": 0, + "name": "Sink_Max_FRL_Rate", + "type": 4, + "enumerationVariants": "0 # N/A\n1 # 1\n2 # 2\n3 # 3\n4 # 4\n5 # 5\n6 # 6" + }, + { + "configId": "0x210F", + "defaultValue": "0x0003c0043800780", + "description": "What is the highest resolution (i.e., width x height) and base refresh rate (BRR) for which all TFRs up to Sink_QMS_Max_TFR_TMDS are supported by the Sink using TMDS?", + "bitList": [ + { + "mask": "0xFFFFF", + "description": "Width" + }, + { + "mask": "0xFFFFF00000", + "description": "Height" + }, + { + "mask": "0xFFFFF0000000000", + "description": "BRR" + } + ], + "flag": 12, + "id": "TSI_HDMI_GAMING_VIDEO_TMDS", + "name": "Sink_QMS_Video_Format_TMDS", + "type": 13 } ], "id": "0x23", - "name": "HDMI CTS MOI (VRR-QMS)" + "name": "HDMI CTS MOI Gaming Features" } diff --git a/UniTAP/dev/modules/dut_tests/cfg/[0x2D]src_dut_timings.json b/UniTAP/dev/modules/dut_tests/cfg/[0x2D]src_dut_timings.json new file mode 100644 index 0000000..61a5817 --- /dev/null +++ b/UniTAP/dev/modules/dut_tests/cfg/[0x2D]src_dut_timings.json @@ -0,0 +1,197 @@ +{ + "descriptions": [ + { + "configId": "0x01260000", + "defaultValue": "10000", + "description": "Defines timeout for all Timings video tests, in milliseconds. Default setting is 10000ms.\n", + "flag": 3, + "id": "TSI_TIMINGS_TIMEOUT", + "maxValue": 2147483647, + "minValue": 0, + "name": "Test timeout, in milliseconds", + "type": 4 + }, + { + "configId": "0x01260001", + "defaultValue": "200", + "description": "Total number of frames to be tested. After timings check for total number of frames test will be completed. If total number is equal to 0, then test will be executing up to test timeout. Default setting is 200.\n", + "flag": 3, + "id": "TSI_TIMINGS_FRAMES_TO_TEST", + "maxValue": 2147483647, + "minValue": 0, + "name": "Test duration, in frames", + "type": 4 + }, + { + "configId": "0x01260002", + "defaultValue": "2", + "description": "Number of bad frames allowed in test. Default setting is 2\n", + "flag": 3, + "id": "TSI_TIMINGS_LIM_FRAME_MISMATCHES", + "maxValue": 2147483647, + "minValue": 0, + "name": "Allowed mismatches, in frames", + "type": 4 + }, + { + "configId": "0x01260003", + "defaultValue": "24", + "description": "Defines the color depth as bits per pixel. If the input video color depth does not match this setting, the test will fail. Default setting is 24.\n", + "enumerationVariants": "12\n15\n16\n18\n20\n21\n24\n30\n32\n36\n48", + "flag": 3, + "id": "TSI_TIMINGS_REF_COLORDEPTH", + "maxValue": 2147480000, + "minValue": 0, + "name": "Expected color depth, as bits per pixel", + "type": 4 + }, + { + "configId": "0x01260004", + "defaultValue": "0", + "description": "Defines the required frame rate for timings test, in millihertz. Setting of zero (0) disables the frame-rate requirement. Default setting is 0.\n", + "flag": 3, + "id": "TSI_TIMINGS_REQUIRED_FRAME_RATE", + "maxValue": 2147483647, + "minValue": 0, + "name": "Expected frame rate, in millihertz (mHz)", + "type": 4 + }, + { + "configId": "0x01260005", + "defaultValue": "0", + "description": "Defines the maximum allowed deviation of input frame-rate from the required frame rate (TSI_TIMINGS_REQUIRED_FRAME_RATE), in millihertz. When this setting is non-zero, it defines the range of allowed frame rate as requirements ± tolerance. If the frame-rate requirement is set to zero, this setting has no effect. Default setting is 0 mHz.\n", + "flag": 3, + "id": "TSI_TIMINGS_FRAME_RATE_TOLERANCE", + "maxValue": 2147483647, + "minValue": 0, + "name": "Frame rate tolerance, in millihertz (mHz)", + "type": 4 + }, + { + "configId": "0x01260006", + "defaultValue": "2200", + "description": "Defined the expected video width, in pixels. If the video being received does not match this setting, the test will fail. Default setting is 1920.\n", + "flag": 3, + "id": "TSI_TIMINGS_REF_HTOTAL", + "maxValue": 2147483647, + "minValue": 0, + "name": "Expected video width, in pixels", + "type": 4 + }, + { + "configId": "0x01260007", + "defaultValue": "1125", + "description": "Defined the expected total video height, in pixels. If the video being received does not match this setting, the test will fail. Default setting is 1080.\n", + "flag": 3, + "id": "TSI_TIMINGS_REF_VTOTAL", + "maxValue": 2147483647, + "minValue": 0, + "name": "Expected total video height, in pixels", + "type": 4 + }, + { + "configId": "0x01260008", + "defaultValue": "1920", + "description": "Defined the expected active video width, in pixels. If the video being received does not match this setting, the test will fail. Default setting is 1920.\n", + "flag": 3, + "id": "TSI_TIMINGS_REF_HACTIVE", + "maxValue": 2147483647, + "minValue": 0, + "name": "Expected active video width, in pixels", + "type": 4 + }, + { + "configId": "0x01260009", + "defaultValue": "1080", + "description": "Defined the expected active video height, in pixels. If the video being received does not match this setting, the test will fail. Default setting is 1080.\n", + "flag": 3, + "id": "TSI_TIMINGS_REF_VACTIVE", + "maxValue": 2147483647, + "minValue": 0, + "name": "Expected active video height, in pixels", + "type": 4 + }, + { + "configId": "0x0126000a", + "defaultValue": "88", + "description": "Defined the expected horizontal front porch, in pixels. If the video being received does not match this setting, the test will fail. Default setting is 1920.\n", + "flag": 3, + "id": "TSI_TIMINGS_REF_HFRONT", + "maxValue": 2147483647, + "minValue": 0, + "name": "Expected horizontal front porch, in pixels", + "type": 4 + }, + { + "configId": "0x0126000b", + "defaultValue": "4", + "description": "Defined the expected vertical front porch, in pixels. If the video being received does not match this setting, the test will fail. Default setting is 1080.\n", + "flag": 3, + "id": "TSI_TIMINGS_REF_VFRONT", + "maxValue": 2147483647, + "minValue": 0, + "name": "Expected vertical front porch, in pixels", + "type": 4 + }, + { + "configId": "0x0126000c", + "defaultValue": "44", + "description": "Defined the expected horizontal sync interval, in pixels. If the video being received does not match this setting, the test will fail. Default setting is 1920.\n", + "flag": 3, + "id": "TSI_TIMINGS_REF_HSYNC", + "maxValue": 2147483647, + "minValue": 0, + "name": "Expected horizontal sync interval, in pixels", + "type": 4 + }, + { + "configId": "0x0126000d", + "defaultValue": "5", + "description": "Defined the expected vertical sync interval, in pixels. If the video being received does not match this setting, the test will fail. Default setting is 1080.\n", + "flag": 3, + "id": "TSI_TIMINGS_REF_VSYNC", + "maxValue": 2147483647, + "minValue": 0, + "name": "Expected vertical sync interval, in pixels", + "type": 4 + }, + { + "configId": "0x0126000e", + "defaultValue": "0", + "description": "Data transfer timeout in milliseconds. Default setting is 0.\n", + "flag": 3, + "id": "TSI_TIMINGS_DATA_TRANSFER_TIMEOUT", + "maxValue": 2147483647, + "minValue": 0, + "name": "Data transfer timeout.", + "type": 4 + }, + { + "configId": "0x01260021", + "defaultValue": "", + "description": "Contains the full path to the folder where failed frames are to be saved without trailing backslash (‘\\’). No default. Failed frame file-name will be “Failed_<#>.ppm”, where <#> is replaced with an auto-incremented number.", + "flag": 3, + "id": "TSI_FAILED_FRAME_TARGET_FOLDER", + "maxLength": 10000, + "name": "Location where the failed frames are to be saved", + "type": 11 + }, + { + "configId": "0x01260022", + "defaultValue": "0", + "description": "Defines the number of failed frames to be exported from the video test. Default setting is 0. If the setting is 0, no frames are exported.", + "flag": 3, + "id": "TSI_MAX_EXPORT_FAILED", + "maxValue": 2147483647, + "minValue": 0, + "name": "Maximum number of exported frames", + "type": 4 + } + ], + "id": "0x2d", + "name": "Timings Video Tests", + "shortName": "Timings Video Tests", + "old_names": [ + "Timings Video Test Set" + ] +} diff --git a/UniTAP/dev/modules/dut_tests/cfg/[0x2E]branch_dut_dp_128b_132b_mst_ll_cts.json b/UniTAP/dev/modules/dut_tests/cfg/[0x2E]branch_dut_dp_128b_132b_mst_ll_cts.json new file mode 100644 index 0000000..4fefe32 --- /dev/null +++ b/UniTAP/dev/modules/dut_tests/cfg/[0x2E]branch_dut_dp_128b_132b_mst_ll_cts.json @@ -0,0 +1,67 @@ +{ + "descriptions": [ + { + "configId": "0x1270000", + "defaultValue": "5000", + "description": "Defines test timeout in milliseconds, default value is 5000ms.", + "flag": 3, + "id": "TSI_DP20_MST_BRANCH_TIMEOUT", + "maxValue": 2147483647, + "minValue": 0, + "name": "Test timeout in milliseconds.", + "reportFormat": "Test timeout = %2ms
", + "type": 4 + }, + { + "configId": "0x1270001", + "defaultValue": "0x00000000", + "description": "Defines the DUT capabilities as flags.", + "bitList": + [ + {"mask": "0x00000001", "description": "DUT supports CSN DFP broadcast", "reportFormat": "- DUT is Type-C device
"} + ], + "flag": 3, + "id": "TSI_DP20_MST_BRANCH_DUT_CAPS", + "name": "DUT Capability flags.", + "reportFormat": "Test DUT capabilities flags:
", + "type": 12 + }, + { + "configId": "0x1270002", + "defaultValue": "0x00000010", + "description": "Defines the numbers of DUT UFP and DFP ports connected to TE.", + "bitList": + [ + {"mask": "0x0000000f", "description": "DUT UFP port connected to TE"}, + {"mask": "0x000000f0", "description": "DUT DFP port connected to TE"} + ], + "flag": 3, + "id": "TSI_DP20_MST_BRANCH_DUT_UFP_DFP_PORTS", + "name": "DUT UFP and DFP ports connected to TE", + "reportFormat": "DUT UFP and DFP ports connected to TE:
", + "type": 12 + }, + { + "configId": "0x1270003", + "defaultValue": "0x00005432", + "description": "Defines the numbers of DUT DFP ports connected to external sinks.", + "bitList": + [ + {"mask": "0x0000000f", "description": "DUT DFP port connected to Sink 1"}, + {"mask": "0x000000f0", "description": "DUT DFP port connected to Sink 2"}, + {"mask": "0x00000f00", "description": "DUT DFP port connected to Sink 3"}, + {"mask": "0x0000f000", "description": "DUT DFP port connected to Sink 4"} + ], + "flag": 3, + "id": "TSI_DP20_MST_BRANCH_DUT_SINK_PORTS", + "name": "DUT DFP ports connected to external sinks", + "reportFormat": "DUT DFP ports connected to external sinks:
", + "type": 12 + } + ], + "id": "0x2E", + "name": "DP 2.1 MST Branch CTS", + "old_names": [ + "DP 2.1 MST Branch CTS" + ] +} \ No newline at end of file diff --git a/UniTAP/dev/modules/dut_tests/dut_default_params/__init__.py b/UniTAP/dev/modules/dut_tests/dut_default_params/__init__.py index 6e3507e..6fff847 100644 --- a/UniTAP/dev/modules/dut_tests/dut_default_params/__init__.py +++ b/UniTAP/dev/modules/dut_tests/dut_default_params/__init__.py @@ -26,6 +26,13 @@ from .hdmi_sink_tests import HdmiSinkDUTTestParam, HdmiTestMode, HdmiFrlRate from .hdmi_source_tests import HdmiSourceDUTTestParam from .hdmi_sink_continuity_tests import HdmiSinkContinuityDUTTestParam from .hdmi_sink_cable_check_tests import HdmiSinkCableCheckTestParam +from .hdmi_hdcp_1a_tests import HdmiHdcp1ATestParam +from .hdmi_hdcp_1b_tests import HdmiHdcp1BTestParam +from .hdmi_hdcp_2c_tests import HdmiHdcp2CTestParam +from .hdmi_hdcp_3a_tests import HdmiHdcp3ATestParam +from .hdmi_hdcp_3b_tests import HdmiHdcp3BTestParam +from .hdmi_hdcp_3c_tests import HdmiHdcp3CTestParam +from .dp_2_1_branch_mst import Dp21BranchMSTSourceDUTTestParam from ..test_group_params_types import Param, get_param_list DUTTestParameters = TypeVar("DUTTestParameters", @@ -53,4 +60,12 @@ DUTTestParameters = TypeVar("DUTTestParameters", Hdr10TestParam, HdmiSinkDUTTestParam, HdmiSinkContinuityDUTTestParam, - HdmiSinkCableCheckTestParam) + HdmiSinkCableCheckTestParam, + HdmiHdcp1ATestParam, + HdmiHdcp1BTestParam, + HdmiHdcp2CTestParam, + HdmiHdcp3ATestParam, + HdmiHdcp3BTestParam, + HdmiHdcp3CTestParam, + Dp21BranchMSTSourceDUTTestParam + ) diff --git a/UniTAP/dev/modules/dut_tests/dut_default_params/dp2_1_source_tests.py b/UniTAP/dev/modules/dut_tests/dut_default_params/dp2_1_source_tests.py index e4e0e06..71843b0 100644 --- a/UniTAP/dev/modules/dut_tests/dut_default_params/dp2_1_source_tests.py +++ b/UniTAP/dev/modules/dut_tests/dut_default_params/dp2_1_source_tests.py @@ -4,6 +4,7 @@ from UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab from UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_video_modes import Dp21AvailableVideoModes from UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_dsc_video_modes import Dp21AvailableDscVideoModes from UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab import AudioSourceDp21SettingTab +from UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_mst import Dp21MstSettingsTab class Dp21SourceDUTTestParam: @@ -13,6 +14,7 @@ class Dp21SourceDUTTestParam: - Set and get `DisplayIdDp21ConfigTab`. Allows working with parameters from Display ID part `display_id`. - Set and get `AdaptiveSyncDp21ConfigTab`. Allows working with parameters from Adaptive-Sync part `adaptive_sync`. - Set and get `Dp21AvailableVideoModes`. Allows working with parameters from Video modes part `video_modes`. + - Set and get `Dp21MstSettingsTab`. Allows working with parameters from MST part `mst`. """ def __init__(self, json_obj): self.__general_tab = GeneralSourceDUTDp21SettingTab(json_obj) @@ -21,6 +23,7 @@ class Dp21SourceDUTTestParam: self.__adaptive_sync_tab = AdaptiveSyncDp21ConfigTab(json_obj) self.__video_modes = Dp21AvailableVideoModes(json_obj) self.__dsc_video_modes = Dp21AvailableDscVideoModes(json_obj) + self.__mst_tab = Dp21MstSettingsTab(json_obj) @property def general(self) -> GeneralSourceDUTDp21SettingTab: @@ -81,3 +84,13 @@ class Dp21SourceDUTTestParam: object of `Dp21AvailableVideoModes` type """ return self.__dsc_video_modes + + @property + def mst(self) -> Dp21MstSettingsTab: + """ + Get object of parameters from Video modes source part. + + Returns: + object of `Dp21MstSettingsTab` type + """ + return self.__mst_tab diff --git a/UniTAP/dev/modules/dut_tests/dut_default_params/dp_2_1_branch_mst.py b/UniTAP/dev/modules/dut_tests/dut_default_params/dp_2_1_branch_mst.py new file mode 100644 index 0000000..6b5a458 --- /dev/null +++ b/UniTAP/dev/modules/dut_tests/dut_default_params/dp_2_1_branch_mst.py @@ -0,0 +1,210 @@ +from UniTAP.dev.modules.dut_tests.test_group_params_types import Param + + +class DutCapsMSTBranchFlags: + """ + Class `DutCapsDp21Flags` defines the DUT capabilities as flags. + + Setting: + - DUT CSN DFP broadcast supported flag `support_csn_dfp_broadcast`. + """ + def __init__(self, json_obj): + self.__value = Param(json_obj) + + @property + def support_csn_dfp_broadcast(self) -> bool: + """ + Set and get DUT CSN DFP broadcast flag support. + + Returns: + object of bool type + """ + return self.__value._get_by_bitmask(0, bool) + + @support_csn_dfp_broadcast.setter + def support_csn_dfp_broadcast(self, support_csn_dfp_broadcast: bool): + self.__value._set_by_bitmask(support_csn_dfp_broadcast, 0) + + +class PortsConnectedToTE: + """ + Class `PortsConnectedToTE` which defines the numbers of DUT UFP and DFP ports connected to TE. + + Setting: + - Number of DUT UFP ports connected to TE `ufp_ports`. + - Number of DUT DFP ports connected to TE `dfp_ports`. + """ + def __init__(self, json_obj): + self.__value = Param(json_obj) + + @property + def ufp_ports(self) -> int: + """ + Set and get number of DUT UFP ports connected to TE. + + Returns: + object of int type + """ + return self.__value._get_by_bitmask(0, int) + + @ufp_ports.setter + def ufp_ports(self, ufp_ports: int): + self.__value._set_by_bitmask(ufp_ports, 0) + + @property + def dfp_ports(self) -> int: + """ + Set and get number of DUT DFP ports connected to TE. + + Returns: + object of int type + """ + return self.__value._get_by_bitmask(1, int) + + @dfp_ports.setter + def dfp_ports(self, dfp_ports: int): + self.__value._set_by_bitmask(dfp_ports, 1) + + +class PortsConnectedToExternalSink: + """ + Class `PortsConnectedToExternalSink` which defines the numbers of DUT DFP ports connected to external sinks. + + Setting: + - Number of DUT DFP ports connected to Sink 1 `sink_1`. + - Number of DUT DFP ports connected to Sink 2 `sink_2`. + - Number of DUT DFP ports connected to Sink 3 `sink_3`. + - Number of DUT DFP ports connected to Sink 4 `sink_4`. + """ + def __init__(self, json_obj): + self.__value = Param(json_obj) + + @property + def sink_1(self) -> int: + """ + Set and get number of DUT DFP ports connected to Sink 1. + + Returns: + object of int type + """ + return self.__value._get_by_bitmask(0, int) + + @sink_1.setter + def sink_1(self, ports_to_sink_1: int): + self.__value._set_by_bitmask(ports_to_sink_1, 0) + + @property + def sink_2(self) -> int: + """ + Set and get number of DUT DFP ports connected to Sink 2. + + Returns: + object of int type + """ + return self.__value._get_by_bitmask(0, int) + + @sink_2.setter + def sink_2(self, ports_to_sink_2: int): + self.__value._set_by_bitmask(ports_to_sink_2, 0) + + @property + def sink_3(self) -> int: + """ + Set and get number of DUT DFP ports connected to Sink 3. + + Returns: + object of int type + """ + return self.__value._get_by_bitmask(0, int) + + @sink_3.setter + def sink_3(self, ports_to_sink_3: int): + self.__value._set_by_bitmask(ports_to_sink_3, 0) + + @property + def sink_4(self) -> int: + """ + Set and get number of DUT DFP ports connected to Sink 4. + + Returns: + object of int type + """ + return self.__value._get_by_bitmask(0, int) + + @sink_4.setter + def sink_4(self, ports_to_sink_1: int): + self.__value._set_by_bitmask(ports_to_sink_1, 0) + + +class Dp21BranchMSTSourceDUTTestParam: + """ + Class `Dp21BranchMSTSourceDUTTestParam` describes requirement parameters for DP 2.1 branch MST tests: + - Set and get `timeout`. Describes test timeout, in milliseconds. + - DUT MST Branch capabilities flags `dut_caps_flags` type `DutCapsMSTBranchFlags`. + - DUT UFP and DFP ports connected to TE `ports_connect_to_te` type `PortsConnectedToTE`. + - DUT DFP ports connected to external sinks `ports_connect_to_external_sink` type `PortsConnectedToExternalSink` + """ + def __init__(self, json_obj): + self.__timeout = Param(json_obj["TSI_DP20_MST_BRANCH_TIMEOUT"]) + self.__dut_caps_flags = DutCapsMSTBranchFlags(json_obj["TSI_DP20_MST_BRANCH_DUT_CAPS"]) + self.__ports_connect_to_te = PortsConnectedToTE(json_obj["TSI_DP20_MST_BRANCH_DUT_UFP_DFP_PORTS"]) + self.__ports_connect_to_external_sink = PortsConnectedToExternalSink(json_obj["TSI_DP20_MST_BRANCH_DUT_SINK_PORTS"]) + + @property + def timeout(self) -> int: + """ + Set and get test timeout, in milliseconds. + + Returns: + object of int type + """ + return self.__timeout.default_value + + @timeout.setter + def timeout(self, timeout: int): + if not(self.__timeout.min_value < timeout < self.__timeout.max_value): + raise ValueError(f"Timeout cannot be less than {self.__timeout.min_value} and more than " + f"{self.__timeout.max_value}.") + self.__timeout.default_value = timeout + + @property + def dut_caps_flags(self) -> DutCapsMSTBranchFlags: + """ + Set and get DUT capabilities flags. + + Returns: + object of `DutCapsMSTBranchFlags` type + """ + return self.__dut_caps_flags + + @dut_caps_flags.setter + def dut_caps_flags(self, dut_caps_flags: DutCapsMSTBranchFlags): + self.__dut_caps_flags = dut_caps_flags + + @property + def ports_connect_to_te(self) -> PortsConnectedToTE: + """ + Set and get numbers DUT UFP and DFP ports connected to TE. + + Returns: + object of `PortsConnectedToTE` type + """ + return self.__ports_connect_to_te + + @ports_connect_to_te.setter + def ports_connect_to_te(self, ports_connect_to_te: PortsConnectedToTE): + self.__ports_connect_to_te = ports_connect_to_te + + @property + def ports_connect_to_external_sink(self) -> PortsConnectedToExternalSink: + """ + Set and get numbers DUT UFP and DFP ports connected to External Sinks. + + Returns: + object of `PortsConnectedToExternalSink` type + """ + return self.__ports_connect_to_external_sink + + @ports_connect_to_external_sink.setter + def ports_connect_to_external_sink(self, ports_connect_to_external_sink: PortsConnectedToExternalSink): + self.__ports_connect_to_external_sink = ports_connect_to_external_sink diff --git a/UniTAP/dev/modules/dut_tests/dut_default_params/dp_2_1_common_video_modes.py b/UniTAP/dev/modules/dut_tests/dut_default_params/dp_2_1_common_video_modes.py index d6e75fa..4fdb38c 100644 --- a/UniTAP/dev/modules/dut_tests/dut_default_params/dp_2_1_common_video_modes.py +++ b/UniTAP/dev/modules/dut_tests/dut_default_params/dp_2_1_common_video_modes.py @@ -276,13 +276,11 @@ class VideoModeInfo: def __init__(self, json_obj): self.__value = Param(json_obj) - self.__standard = VideoModeStandard(self.__value) - self.__colorimetry = ColorimetryModes(self.__value) @property def standard(self) -> VideoModeStandard: - return self.__standard + return VideoModeStandard(self.__value) @property def colorimetry(self) -> ColorimetryModes: - return self.__colorimetry + return ColorimetryModes(self.__value) diff --git a/UniTAP/dev/modules/dut_tests/dut_default_params/dp_2_1_dsc_video_modes.py b/UniTAP/dev/modules/dut_tests/dut_default_params/dp_2_1_dsc_video_modes.py index 85c4452..77a40e2 100644 --- a/UniTAP/dev/modules/dut_tests/dut_default_params/dp_2_1_dsc_video_modes.py +++ b/UniTAP/dev/modules/dut_tests/dut_default_params/dp_2_1_dsc_video_modes.py @@ -7,8 +7,6 @@ class Dp21AvailableDscVideoModes: - Set and get... """ def __init__(self, json_obj): - self.__is_config_changed = False - self.__1920x1080_30hz = VideoModeInfo(json_obj["TSI_DP20_SRCCTS_DSC_VMT_1920_1080_30"]) self.__1920x1080_60hz = VideoModeInfo(json_obj["TSI_DP20_SRCCTS_DSC_VMT_1920_1080_60"]) self.__1920x1080_120hz = VideoModeInfo(json_obj["TSI_DP20_SRCCTS_DSC_VMT_1920_1080_120"]) @@ -30,12 +28,6 @@ class Dp21AvailableDscVideoModes: self.__10240x4320_30hz = VideoModeInfo(json_obj["TSI_DP20_SRCCTS_DSC_VMT_10240_4320_30"]) self.__10240x4320_60hz = VideoModeInfo(json_obj["TSI_DP20_SRCCTS_DSC_VMT_10240_4320_60"]) - def __getattribute__(self, name): - attr = super().__getattribute__(name) - if "vm_" in name or "_all" in name: - self.__is_config_changed = True - return attr - @property def vm_1920x1080_30hz(self) -> VideoModeInfo: return self.__1920x1080_30hz diff --git a/UniTAP/dev/modules/dut_tests/dut_default_params/dp_2_1_mst.py b/UniTAP/dev/modules/dut_tests/dut_default_params/dp_2_1_mst.py new file mode 100644 index 0000000..45f1fb7 --- /dev/null +++ b/UniTAP/dev/modules/dut_tests/dut_default_params/dp_2_1_mst.py @@ -0,0 +1,46 @@ +from UniTAP.dev.modules.dut_tests.test_group_params_types import Param + + +class Dp21MstSettingsTab: + """ + Class `Dp21MstSettingsTab` allows working with MST source DUT capabilities. + - Set and get Maximum stream count + - Set and get Maximum daisy chain sink count + """ + def __init__(self, json_obj): + self.__max_stream_count = Param(json_obj["TSI_DP20_SRCCTS_DUT_MST_CAPS"]) + self.__max_daisy_chain_sink_count = Param(json_obj["TSI_DP20_SRCCTS_DUT_MST_CAPS"]) + + @property + def max_stream_count(self) -> int: + """ + Set and get max stream count (1-4). + + Returns: + object of int type + """ + return self.__max_stream_count.default_value & 0xFF + + @max_stream_count.setter + def max_stream_count(self, max_stream_count: int): + if not (self.__max_stream_count.min_value <= max_stream_count <= self.__max_stream_count.max_value): + raise ValueError(f"Timeout cannot be less than {self.__max_stream_count.min_value} and more than " + f"{self.__max_stream_count.max_value}.") + self.__max_stream_count.direct_set_bits_value(0xFF, max_stream_count, 0) + + @property + def max_daisy_chain_sink_count(self) -> int: + """ + Set and get max daisy chain sink count (1-4). + + Returns: + object of int type + """ + return (self.__max_daisy_chain_sink_count.default_value >> 8) & 0xFF + + @max_daisy_chain_sink_count.setter + def max_daisy_chain_sink_count(self, max_daisy_chain_sink_count: int): + if not (self.__max_stream_count.min_value <= max_daisy_chain_sink_count <= self.__max_stream_count.max_value): + raise ValueError(f"Timeout cannot be less than {self.__max_daisy_chain_sink_count.min_value} and more than " + f"{self.__max_daisy_chain_sink_count.max_value}.") + self.__max_daisy_chain_sink_count.direct_set_bits_value(0xFF00, max_daisy_chain_sink_count, 8) diff --git a/UniTAP/dev/modules/dut_tests/dut_default_params/dp_2_1_source_general_tab.py b/UniTAP/dev/modules/dut_tests/dut_default_params/dp_2_1_source_general_tab.py index 9ef398f..56a9a24 100644 --- a/UniTAP/dev/modules/dut_tests/dut_default_params/dp_2_1_source_general_tab.py +++ b/UniTAP/dev/modules/dut_tests/dut_default_params/dp_2_1_source_general_tab.py @@ -114,7 +114,7 @@ class LinkRateDp21(Param): self._set_by_bitmask(support_13_5Gbps, 2) -class DutCapsDp21Flags(Param): +class DutCapsDp21Flags: """ Class `DutCapsDp21Flags` inherited of class`DutCapsFlags` which defines the DUT capabilities as flags and allows setting: @@ -123,7 +123,7 @@ class DutCapsDp21Flags(Param): Also has all the `DutCapsFlags` functionality. """ def __init__(self, json_obj): - super().__init__(json_obj) + self.__value = Param(json_obj) @property def voltage_swing_supported(self) -> bool: @@ -133,11 +133,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(0, bool) + return self.__value._get_by_bitmask(0, bool) @voltage_swing_supported.setter def voltage_swing_supported(self, voltage_swing_supported: bool): - self._set_by_bitmask(voltage_swing_supported, 0) + self.__value._set_by_bitmask(voltage_swing_supported, 0) @property def pre_emphasis_supported(self) -> bool: @@ -147,11 +147,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(1, bool) + return self.__value._get_by_bitmask(1, bool) @pre_emphasis_supported.setter def pre_emphasis_supported(self, pre_emphasis_supported: bool): - self._set_by_bitmask(pre_emphasis_supported, 1) + self.__value._set_by_bitmask(pre_emphasis_supported, 1) @property def fixed_timing_dut_supported(self) -> bool: @@ -161,11 +161,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(2, bool) + return self.__value._get_by_bitmask(2, bool) @fixed_timing_dut_supported.setter def fixed_timing_dut_supported(self, fixed_timing_dut_supported: bool): - self._set_by_bitmask(fixed_timing_dut_supported, 2) + self.__value._set_by_bitmask(fixed_timing_dut_supported, 2) @property def spread_spectrum_supported(self) -> bool: @@ -175,11 +175,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(3, bool) + return self.__value._get_by_bitmask(3, bool) @spread_spectrum_supported.setter def spread_spectrum_supported(self, spread_spectrum_supported: bool): - self._set_by_bitmask(spread_spectrum_supported, 3) + self.__value._set_by_bitmask(spread_spectrum_supported, 3) @property def change_vf_without_lt_supported(self) -> bool: @@ -189,11 +189,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(4, bool) + return self.__value._get_by_bitmask(4, bool) @change_vf_without_lt_supported.setter def change_vf_without_lt_supported(self, change_vf_without_lt_supported: bool): - self._set_by_bitmask(change_vf_without_lt_supported, 4) + self.__value._set_by_bitmask(change_vf_without_lt_supported, 4) @property def e_ddc_protocol_supported(self) -> bool: @@ -203,11 +203,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(5, bool) + return self.__value._get_by_bitmask(5, bool) @e_ddc_protocol_supported.setter def e_ddc_protocol_supported(self, e_ddc_protocol_supported: bool): - self._set_by_bitmask(e_ddc_protocol_supported, 5) + self.__value._set_by_bitmask(e_ddc_protocol_supported, 5) @property def audio_transmission_supported(self) -> bool: @@ -217,11 +217,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(6, bool) + return self.__value._get_by_bitmask(6, bool) @audio_transmission_supported.setter def audio_transmission_supported(self, audio_transmission_supported: bool): - self._set_by_bitmask(audio_transmission_supported, 6) + self.__value._set_by_bitmask(audio_transmission_supported, 6) @property def dut_is_type_c_device(self) -> bool: @@ -231,11 +231,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(7, bool) + return self.__value._get_by_bitmask(7, bool) @dut_is_type_c_device.setter def dut_is_type_c_device(self, dut_is_type_c_device: bool): - self._set_by_bitmask(dut_is_type_c_device, 7) + self.__value._set_by_bitmask(dut_is_type_c_device, 7) @property def fec_supported(self) -> bool: @@ -245,11 +245,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(8, bool) + return self.__value._get_by_bitmask(8, bool) @fec_supported.setter def fec_supported(self, fec_supported: bool): - self._set_by_bitmask(fec_supported, 8) + self.__value._set_by_bitmask(fec_supported, 8) @property def fec_disable_sequence_supported(self) -> bool: @@ -259,11 +259,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(9, bool) + return self.__value._get_by_bitmask(9, bool) @fec_disable_sequence_supported.setter def fec_disable_sequence_supported(self, fec_disable_sequence_supported: bool): - self._set_by_bitmask(fec_disable_sequence_supported, 9) + self.__value._set_by_bitmask(fec_disable_sequence_supported, 9) @property def audio_without_video_supported(self) -> bool: @@ -273,11 +273,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(10, bool) + return self.__value._get_by_bitmask(10, bool) @audio_without_video_supported.setter def audio_without_video_supported(self, audio_without_video_supported: bool): - self._set_by_bitmask(audio_without_video_supported, 10) + self.__value._set_by_bitmask(audio_without_video_supported, 10) @property def dsc_supported(self) -> bool: @@ -287,11 +287,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(11, bool) + return self.__value._get_by_bitmask(11, bool) @dsc_supported.setter def dsc_supported(self, dsc_supported: bool): - self._set_by_bitmask(dsc_supported, 11) + self.__value._set_by_bitmask(dsc_supported, 11) @property def dsc_block_prediction_supported(self) -> bool: @@ -301,11 +301,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(12, bool) + return self.__value._get_by_bitmask(12, bool) @dsc_block_prediction_supported.setter def dsc_block_prediction_supported(self, dsc_block_prediction_supported: bool): - self._set_by_bitmask(dsc_block_prediction_supported, 12) + self.__value._set_by_bitmask(dsc_block_prediction_supported, 12) @property def max_link_bandwidth_policy_supported(self): @@ -315,11 +315,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(13, bool) + return self.__value._get_by_bitmask(13, bool) @max_link_bandwidth_policy_supported.setter def max_link_bandwidth_policy_supported(self, max_link_bandwidth_policy_supported: bool): - self._set_by_bitmask(max_link_bandwidth_policy_supported, 13) + self.__value._set_by_bitmask(max_link_bandwidth_policy_supported, 13) @property def use_3tap_conversion(self): @@ -329,11 +329,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(14, bool) + return self.__value._get_by_bitmask(14, bool) @use_3tap_conversion.setter def use_3tap_conversion(self, use_3tap_filter: bool): - self._set_by_bitmask(use_3tap_filter, 14) + self.__value._set_by_bitmask(use_3tap_filter, 14) @property def usb4_tunnel_presented(self): @@ -343,11 +343,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(15, bool) + return self.__value._get_by_bitmask(15, bool) @usb4_tunnel_presented.setter def usb4_tunnel_presented(self, usb4_tunnel_presented: bool): - self._set_by_bitmask(usb4_tunnel_presented, 15) + self.__value._set_by_bitmask(usb4_tunnel_presented, 15) @property def native_display_id_read(self) -> bool: @@ -357,11 +357,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(16, bool) + return self.__value._get_by_bitmask(16, bool) @native_display_id_read.setter def native_display_id_read(self, native_display_id_read: bool): - self._set_by_bitmask(native_display_id_read, 16) + self.__value._set_by_bitmask(native_display_id_read, 16) @property def display_id_vii_supported(self) -> bool: @@ -371,11 +371,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(17, bool) + return self.__value._get_by_bitmask(17, bool) @display_id_vii_supported.setter def display_id_vii_supported(self, display_id_vii_supported: bool): - self._set_by_bitmask(display_id_vii_supported, 17) + self.__value._set_by_bitmask(display_id_vii_supported, 17) @property def display_id_viii_supported(self) -> bool: @@ -385,12 +385,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(18, bool) + return self.__value._get_by_bitmask(18, bool) @display_id_viii_supported.setter def display_id_viii_supported(self, display_id_viii_supported: bool): - self._set_by_bitmask(display_id_viii_supported, 18) - + self.__value._set_by_bitmask(display_id_viii_supported, 18) @property def display_id_ix_supported(self) -> bool: @@ -400,11 +399,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(19, bool) + return self.__value._get_by_bitmask(19, bool) @display_id_ix_supported.setter def display_id_ix_supported(self, display_id_ix_supported: bool): - self._set_by_bitmask(display_id_ix_supported, 19) + self.__value._set_by_bitmask(display_id_ix_supported, 19) @property def display_id_x_supported(self) -> bool: @@ -414,11 +413,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(20, bool) + return self.__value._get_by_bitmask(20, bool) @display_id_x_supported.setter def display_id_x_supported(self, display_id_x_supported: bool): - self._set_by_bitmask(display_id_x_supported, 20) + self.__value._set_by_bitmask(display_id_x_supported, 20) @property def display_id_tiled_display_topology(self) -> bool: @@ -428,11 +427,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(21, bool) + return self.__value._get_by_bitmask(21, bool) @display_id_tiled_display_topology.setter def display_id_tiled_display_topology(self, display_id_tiled_display_topology: bool): - self._set_by_bitmask(display_id_tiled_display_topology, 21) + self.__value._set_by_bitmask(display_id_tiled_display_topology, 21) @property def display_id_tiled_stereo_display(self) -> bool: @@ -442,11 +441,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(22, bool) + return self.__value._get_by_bitmask(22, bool) @display_id_tiled_stereo_display.setter def display_id_tiled_stereo_display(self, display_id_tiled_stereo_display: bool): - self._set_by_bitmask(display_id_tiled_stereo_display, 22) + self.__value._set_by_bitmask(display_id_tiled_stereo_display, 22) @property def stacked_frame_stereo_supported(self) -> bool: @@ -456,11 +455,11 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(23, bool) + return self.__value._get_by_bitmask(23, bool) @stacked_frame_stereo_supported.setter def stacked_frame_stereo_supported(self, stacked_frame_stereo_supported: bool): - self._set_by_bitmask(stacked_frame_stereo_supported, 23) + self.__value._set_by_bitmask(stacked_frame_stereo_supported, 23) @property def dynamic_refresh_rate_support(self) -> bool: @@ -470,11 +469,67 @@ class DutCapsDp21Flags(Param): Returns: object of bool type """ - return self._get_by_bitmask(24, bool) + return self.__value._get_by_bitmask(24, bool) @dynamic_refresh_rate_support.setter def dynamic_refresh_rate_support(self, dynamic_refresh_rate_support: bool): - self._set_by_bitmask(dynamic_refresh_rate_support, 24) + self.__value._set_by_bitmask(dynamic_refresh_rate_support, 24) + + @property + def mst_transmission_supported(self) -> bool: + """ + Set and get MST transmission supported flag supported. + + Returns: + object of bool type + """ + return self.__value._get_by_bitmask(25, bool) + + @mst_transmission_supported.setter + def mst_transmission_supported(self, mst_transmission_supported: bool): + self.__value._set_by_bitmask(mst_transmission_supported, 25) + + @property + def mst_up_request_supported(self) -> bool: + """ + Set and get MST UP REQUEST supported flag supported. + + Returns: + object of bool type + """ + return self.__value._get_by_bitmask(26, bool) + + @mst_up_request_supported.setter + def mst_up_request_supported(self, mst_up_request_supported: bool): + self.__value._set_by_bitmask(mst_up_request_supported, 26) + + @property + def mst_rsn_request_supported(self) -> bool: + """ + Set and get MST RSN REQUEST supported flag supported. + + Returns: + object of bool type + """ + return self.__value._get_by_bitmask(27, bool) + + @mst_rsn_request_supported.setter + def mst_rsn_request_supported(self, mst_rsn_request_supported: bool): + self.__value._set_by_bitmask(mst_rsn_request_supported, 27) + + @property + def mst_power_up_request_supported(self) -> bool: + """ + Set and get MST POWER_UP DOWN_PHY supported flag supported. + + Returns: + object of bool type + """ + return self.__value._get_by_bitmask(28, bool) + + @mst_power_up_request_supported.setter + def mst_power_up_request_supported(self, mst_power_up_request_supported: bool): + self.__value._set_by_bitmask(mst_power_up_request_supported, 28) class DutCapsDp21: @@ -487,7 +542,7 @@ class DutCapsDp21: def __init__(self, json_obj): self.__max_lanes = Param(json_obj["TSI_DP20_SRCCTS_MAX_LANES"]) self.__max_link_rate = Param(json_obj["TSI_DP20_SRCCTS_MAX_LINK_RATE"]) - self.__dut_caps_flags = DutCapsDp21Flags(json_obj["TSI_DP20_SRCCTS_DUT_CAPS"]) + self.__dut_caps_flags_mst = DutCapsDp21Flags(json_obj["TSI_DP20_SRCCTS_DUT_CAPS"]) @property def max_lanes(self) -> int: @@ -529,11 +584,11 @@ class DutCapsDp21: Returns: object of `DutCapsFlags` type """ - return self.__dut_caps_flags + return self.__dut_caps_flags_mst @dut_caps_flags.setter def dut_caps_flags(self, dut_caps_flags: DutCapsDp21Flags): - self.__dut_caps_flags = dut_caps_flags + self.__dut_caps_flags_mst = dut_caps_flags class DebugOptions: @@ -755,4 +810,3 @@ class GeneralSourceDUTDp21SettingTab: @debug_options.setter def debug_options(self, debug_config: DebugOptions): self.__debug_options = debug_config - diff --git a/UniTAP/dev/modules/dut_tests/dut_default_params/hdmi_hdcp_1a_tests.py b/UniTAP/dev/modules/dut_tests/dut_default_params/hdmi_hdcp_1a_tests.py new file mode 100644 index 0000000..0d0fa15 --- /dev/null +++ b/UniTAP/dev/modules/dut_tests/dut_default_params/hdmi_hdcp_1a_tests.py @@ -0,0 +1,27 @@ +from UniTAP.dev.modules.dut_tests.test_group_params_types import Param + + +class HdmiHdcp1ATestParam: + """ + Class `HdmiHdcp1ATestParam` describes requirement parameters for HDMI HDCP 1A tests: + - Set and get `timeout`. Describes test timeout, in milliseconds. + """ + def __init__(self, json_obj): + self.__timeout = Param(json_obj["TSI_HDMI_HDCP_1A_TIMEOUT"]) + + @property + def timeout(self) -> int: + """ + Set and get test timeout, in milliseconds. + + Returns: + object of int type + """ + return self.__timeout.default_value + + @timeout.setter + def timeout(self, timeout: int): + if not(self.__timeout.min_value < timeout < self.__timeout.max_value): + raise ValueError(f"Timeout cannot be less than {self.__timeout.min_value} and more than " + f"{self.__timeout.max_value}.") + self.__timeout.default_value = timeout diff --git a/UniTAP/dev/modules/dut_tests/dut_default_params/hdmi_hdcp_1b_tests.py b/UniTAP/dev/modules/dut_tests/dut_default_params/hdmi_hdcp_1b_tests.py new file mode 100644 index 0000000..2ce2446 --- /dev/null +++ b/UniTAP/dev/modules/dut_tests/dut_default_params/hdmi_hdcp_1b_tests.py @@ -0,0 +1,27 @@ +from UniTAP.dev.modules.dut_tests.test_group_params_types import Param + + +class HdmiHdcp1BTestParam: + """ + Class `HdmiHdcp1BTestParam` describes requirement parameters for HDMI HDCP 1B tests: + - Set and get `timeout`. Describes test timeout, in milliseconds. + """ + def __init__(self, json_obj): + self.__timeout = Param(json_obj["TSI_HDMI_HDCP_1B_TIMEOUT"]) + + @property + def timeout(self) -> int: + """ + Set and get test timeout, in milliseconds. + + Returns: + object of int type + """ + return self.__timeout.default_value + + @timeout.setter + def timeout(self, timeout: int): + if not(self.__timeout.min_value < timeout < self.__timeout.max_value): + raise ValueError(f"Timeout cannot be less than {self.__timeout.min_value} and more than " + f"{self.__timeout.max_value}.") + self.__timeout.default_value = timeout diff --git a/UniTAP/dev/modules/dut_tests/dut_default_params/hdmi_hdcp_2c_tests.py b/UniTAP/dev/modules/dut_tests/dut_default_params/hdmi_hdcp_2c_tests.py new file mode 100644 index 0000000..c42b790 --- /dev/null +++ b/UniTAP/dev/modules/dut_tests/dut_default_params/hdmi_hdcp_2c_tests.py @@ -0,0 +1,60 @@ +from UniTAP.dev.modules.dut_tests.test_group_params_types import Param +from .hdmi_sink_tests import HdmiFrlRate + + +class HdmiHdcp2CTestParam: + """ + Class `HdmiHdcp2CTestParam` describes requirement parameters for HDMI HDCP 2C tests: + - Set and get `timeout`. Describes test timeout, in milliseconds. + - Set and get `lt_before_test`. + - Set and get `link_rate`. + """ + def __init__(self, json_obj): + self.__timeout = Param(json_obj["TSI_HDMI_HDCP_2C_TIMEOUT"]) + self.__lt_before_test = Param(json_obj["TSI_HDMI_HDCP_2C_LT_BEFORE_TEST"]) + self.__link_rate = Param(json_obj["TSI_HDMI_HDCP_2C_LINK_RATE"]) + + @property + def timeout(self) -> int: + """ + Set and get test timeout, in milliseconds. + + Returns: + object of int type + """ + return self.__timeout.default_value + + @timeout.setter + def timeout(self, timeout: int): + if not(self.__timeout.min_value < timeout < self.__timeout.max_value): + raise ValueError(f"Timeout cannot be less than {self.__timeout.min_value} and more than " + f"{self.__timeout.max_value}.") + self.__timeout.default_value = timeout + + @property + def lt_before_test(self) -> bool: + """ + Set and get flag to do or not link training before starting test + + Returns: + object of bool type + """ + return bool(self.__lt_before_test.default_value) + + @lt_before_test.setter + def lt_before_test(self, enable: bool): + self.__lt_before_test.default_value = int(enable) + + @property + def link_rate(self) -> HdmiFrlRate: + """ + Set and get the Link rate for link training. + + Returns: + object of `HdmiFrlRate` type + """ + return HdmiFrlRate(self.__link_rate.default_value) + + @link_rate.setter + def link_rate(self, link_rate: HdmiFrlRate): + self.__link_rate.default_value = link_rate.value diff --git a/UniTAP/dev/modules/dut_tests/dut_default_params/hdmi_hdcp_3a_tests.py b/UniTAP/dev/modules/dut_tests/dut_default_params/hdmi_hdcp_3a_tests.py new file mode 100644 index 0000000..1464637 --- /dev/null +++ b/UniTAP/dev/modules/dut_tests/dut_default_params/hdmi_hdcp_3a_tests.py @@ -0,0 +1,27 @@ +from UniTAP.dev.modules.dut_tests.test_group_params_types import Param + + +class HdmiHdcp3ATestParam: + """ + Class `HdmiHdcp3ATestParam` describes requirement parameters for HDMI HDCP 3A tests: + - Set and get `timeout`. Describes test timeout, in milliseconds. + """ + def __init__(self, json_obj): + self.__timeout = Param(json_obj["TSI_HDMI_HDCP_3A_TIMEOUT"]) + + @property + def timeout(self) -> int: + """ + Set and get test timeout, in milliseconds. + + Returns: + object of int type + """ + return self.__timeout.default_value + + @timeout.setter + def timeout(self, timeout: int): + if not(self.__timeout.min_value < timeout < self.__timeout.max_value): + raise ValueError(f"Timeout cannot be less than {self.__timeout.min_value} and more than " + f"{self.__timeout.max_value}.") + self.__timeout.default_value = timeout diff --git a/UniTAP/dev/modules/dut_tests/dut_default_params/hdmi_hdcp_3b_tests.py b/UniTAP/dev/modules/dut_tests/dut_default_params/hdmi_hdcp_3b_tests.py new file mode 100644 index 0000000..4de51bc --- /dev/null +++ b/UniTAP/dev/modules/dut_tests/dut_default_params/hdmi_hdcp_3b_tests.py @@ -0,0 +1,27 @@ +from UniTAP.dev.modules.dut_tests.test_group_params_types import Param + + +class HdmiHdcp3BTestParam: + """ + Class `HdmiHdcp3BTestParam` describes requirement parameters for HDMI HDCP 3B tests: + - Set and get `timeout`. Describes test timeout, in milliseconds. + """ + def __init__(self, json_obj): + self.__timeout = Param(json_obj["TSI_HDMI_HDCP_3B_TIMEOUT"]) + + @property + def timeout(self) -> int: + """ + Set and get test timeout, in milliseconds. + + Returns: + object of int type + """ + return self.__timeout.default_value + + @timeout.setter + def timeout(self, timeout: int): + if not(self.__timeout.min_value < timeout < self.__timeout.max_value): + raise ValueError(f"Timeout cannot be less than {self.__timeout.min_value} and more than " + f"{self.__timeout.max_value}.") + self.__timeout.default_value = timeout diff --git a/UniTAP/dev/modules/dut_tests/dut_default_params/hdmi_hdcp_3c_tests.py b/UniTAP/dev/modules/dut_tests/dut_default_params/hdmi_hdcp_3c_tests.py new file mode 100644 index 0000000..b39d66d --- /dev/null +++ b/UniTAP/dev/modules/dut_tests/dut_default_params/hdmi_hdcp_3c_tests.py @@ -0,0 +1,27 @@ +from UniTAP.dev.modules.dut_tests.test_group_params_types import Param + + +class HdmiHdcp3CTestParam: + """ + Class `HdmiHdcp3CTestParam` describes requirement parameters for HDMI HDCP 3C tests: + - Set and get `timeout`. Describes test timeout, in milliseconds. + """ + def __init__(self, json_obj): + self.__timeout = Param(json_obj["TSI_HDMI_HDCP_3C_TIMEOUT"]) + + @property + def timeout(self) -> int: + """ + Set and get test timeout, in milliseconds. + + Returns: + object of int type + """ + return self.__timeout.default_value + + @timeout.setter + def timeout(self, timeout: int): + if not(self.__timeout.min_value < timeout < self.__timeout.max_value): + raise ValueError(f"Timeout cannot be less than {self.__timeout.min_value} and more than " + f"{self.__timeout.max_value}.") + self.__timeout.default_value = timeout diff --git a/UniTAP/dev/modules/dut_tests/dut_tests.py b/UniTAP/dev/modules/dut_tests/dut_tests.py index 5ddd551..5c1ca7d 100644 --- a/UniTAP/dev/modules/dut_tests/dut_tests.py +++ b/UniTAP/dev/modules/dut_tests/dut_tests.py @@ -142,45 +142,25 @@ class DUTTests: - Make report after testing `make_report`. - Run test from file `run_from_file` - Not implemented. Will be added later. """ + __DEFAULT_TEST_PARAMETERS = None def __init__(self, dev_io: DeviceIO): self.__io = dev_io self.__opf_device = None self.__results = [] - self.__default_parameters = {} self.__test_groups = {} - self.__parser = Parser() self.__io.set_test_config(0) - cfp_path = os.path.join(os.path.dirname(__file__), 'cfg') - files = os.listdir(cfp_path) - for file in files: - try: - if not os.path.isfile(os.path.join(cfp_path, file)): - continue - - with open(os.path.join(cfp_path, file), encoding='UTF-8') as cfg_json: - json_obj = json.load(cfg_json) - item_group = MergedTestGroups(int(json_obj.get('id'), 16)) - group_type = MERGED_GROUP_PARAMS_TYPE.get(item_group, None) - - if group_type is None: - continue - - group_parameters_dict = {} - for parameter in json_obj.get('descriptions'): - group_parameters_dict[parameter["id"]] = parameter - - self.__default_parameters[group_type] = group_type(group_parameters_dict) - except ValueError: - logging.info( - f"[UniTAP] Failed to load {os.path.join(cfp_path, file)}.\n Value {int(json_obj.get('id'), 16)} is missing in MergedTestGroups.") test_list = self.__io.get_test_list() for test in test_list: test_id = test[0] & 0xFFFF - group_id = TestGroupId(test[0] >> 16) + try: + group_id = TestGroupId(test[0] >> 16) + except BaseException as e: + logging.info(e) + continue name = test[2] if test[2].find(' / ') != -1: @@ -201,6 +181,49 @@ class DUTTests: self.__test_groups[group_id]._add_new_test(Test(name=test_name, test_id=test_id)) + @staticmethod + def __enumerate_and_get_default_test_parameters(): + if DUTTests.__DEFAULT_TEST_PARAMETERS is None: + DUTTests.__DEFAULT_TEST_PARAMETERS = {} + + cfp_path = os.path.join(os.path.dirname(__file__), 'cfg') + files = os.listdir(cfp_path) + for file in files: + try: + if not os.path.isfile(os.path.join(cfp_path, file)): + continue + + with open(os.path.join(cfp_path, file), encoding='UTF-8') as cfg_json: + json_obj = json.load(cfg_json) + item_group = MergedTestGroups(int(json_obj.get('id'), 16)) + group_type = MERGED_GROUP_PARAMS_TYPE.get(item_group, None) + + if group_type is None: + continue + + group_parameters_dict = {} + for parameter in json_obj.get('descriptions'): + group_parameters_dict[parameter["id"]] = parameter + + DUTTests.__DEFAULT_TEST_PARAMETERS[group_type] = group_type(group_parameters_dict) + except ValueError: + logging.info( + f"[UniTAP] Failed to load {os.path.join(cfp_path, file)}.\n Value {int(json_obj.get('id'), 16)} is missing in MergedTestGroups.") + + return DUTTests.__DEFAULT_TEST_PARAMETERS + + @staticmethod + def __is_dsc_parameters_changed(param: Dp21SourceDUTTestParam): + assert isinstance(param, Dp21SourceDUTTestParam) + + result = [] + dsc_vm_params = vars(param.dsc_video_modes) + for key in dsc_vm_params: + vm_param_dict = vars(dsc_vm_params[key]) + result.append(any(vm_param_dict[param_key].is_modified for param_key in vm_param_dict)) + + return any(result) + def run(self, group_id: TestGroupId, test_id: int, params: Optional[DUTTestParameters] = None, print_fw_logs: bool = True, test_delay: int = 0) -> SubTestResultObject: """ @@ -234,8 +257,11 @@ class DUTTests: if params is not None: params_list = get_param_list(params) - if isinstance(params, Dp21SourceDUTTestParam) and not params.dsc_video_modes._Dp21AvailableDscVideoModes__is_config_changed: - logging.warning("Detected that used didn't change new DSC config. Copy setting from video config.") + + # + # Backward compatibility with old config + # + if isinstance(params, Dp21SourceDUTTestParam): dsc_dp2_ci_remapper = { "TSI_DP20_SRCCTS_DSC_VMT_1920_1080_30": "TSI_DP20_SRCCTS_VMT_1920_1080_30", "TSI_DP20_SRCCTS_DSC_VMT_1920_1080_60": "TSI_DP20_SRCCTS_VMT_1920_1080_60", @@ -259,27 +285,33 @@ class DUTTests: "TSI_DP20_SRCCTS_DSC_VMT_10240_4320_60": "TSI_DP20_SRCCTS_VMT_10240_4320_60" } - for key in dsc_dp2_ci_remapper.keys(): - dst = next((obj for obj in params_list if obj.config_id_name == key), None) - src = next((obj for obj in params_list if obj.config_id_name == dsc_dp2_ci_remapper[key]), None) + if not DUTTests.__is_dsc_parameters_changed(params): + logging.warn("Detected that user didn't change new DSC config. Copy setting from video config.") - if dst.default_value != src.default_value: - logging.warn(f"DSC Config missmatch detected. Apply workaround: {key}:{hex(dst.default_value)}; {dsc_dp2_ci_remapper[key]}:{hex(src.default_value)}") - dst.default_value = src.default_value + for key in dsc_dp2_ci_remapper.keys(): + dst = next((obj for obj in params_list if obj.config_id_name == key), None) + src = next((obj for obj in params_list if obj.config_id_name == dsc_dp2_ci_remapper[key]), None) + + if dst.default_value != src.default_value: + logging.warn( + f"DSC Config missmatch detected. Apply workaround: {key}:{hex(dst.default_value)}; {dsc_dp2_ci_remapper[key]}:{hex(src.default_value)}") + dst.default_value = src.default_value else: logging.warn(f"DSC Config modification detected. Skip workaround.") else: - params_list = self.__default_parameters[merged_group_id] + params_list = DUTTests.__enumerate_and_get_default_test_parameters()[merged_group_id] for item in params_list: if group_id == TestGroupId.AUDIO_TEST and item.config_id_name == "TSI_REF1_FRAME_DATA": if isinstance(item.default_value, str) and os.path.exists(item.default_value): - image_data = read_image_file(item.default_value) + image_data, file_extension = read_image_file(item.default_value) if len(image_data) > 0: - item.default_value = uicl_image_preparation(image_data, params) + # It is assumed that the bin file already contains prepared data, + # otherwise there is no way to determine whether additional conversion is required. + item.default_value = uicl_image_preparation(image_data, params, file_extension == ".bin") elif isinstance(item, bytearray): # TODO: add 'bytearray' support - item.default_value = uicl_image_preparation(item.default_value, params) + item.default_value = uicl_image_preparation(item.default_value, params, False) self.__io.set(item.config_id, item.default_value, dict_types.get(item.value_type), item.data_length) @@ -315,41 +347,51 @@ class DUTTests: result_obj.test_delay = test_delay self.__results.append(result_obj) - + time.sleep(test_delay) return copy.deepcopy(self.__results[-1]) - def get_params_from_file(self, path: str) -> Tuple[TestGroupId, int, DUTTestParameters]: + @staticmethod + def get_params_from_file(path: str) -> Tuple[TestGroupId, int, DUTTestParameters]: """ Get test parameters from transferred file: td or json (not cdf). Args: path ('str') - full path to config file """ - self.__parser.set_file_name(path) - group_id = self.__parser.detect_group() - test_id = self.__parser.detect_test() + parser = Parser() + + parser.set_file_name(path) + group_id = parser.detect_group() + test_id = parser.detect_test() group_type = group_params_dict.get(group_id) - params = self.__parser.parse(self.get_default_parameters(group_type)) + params = parser.parse(DUTTests.get_default_parameters(group_type)) + return group_id, test_id, params # TODO - add support parsing '.td' (other test groups) file extension - def get_params_from_cdf_file(self, path: str) -> DUTTestParameters: + @staticmethod + def get_params_from_cdf_file(path: str) -> DUTTestParameters: """ Get test parameters from transferred file: json (cdf). Args: path ('str') - full path to config file """ - self.__parser.set_file_name(path) - group_id = self.__parser.detect_merged_group() + + parser = Parser() + + parser.set_file_name(path) + group_id = parser.detect_merged_group() group_type = MERGED_GROUP_PARAMS_TYPE.get(group_id) - params = self.__parser.parse(self.get_default_parameters(group_type)) + params = parser.parse(DUTTests.get_default_parameters(group_type)) + return params - def get_default_parameters(self, group_type: Type[DUTTestParameters]) -> DUTTestParameters: + @staticmethod + def get_default_parameters(group_type: Type[DUTTestParameters]) -> DUTTestParameters: """ Get predefined (default) parameters of test group. @@ -359,9 +401,9 @@ class DUTTests: Returns: object of `DUTTestParameters` type """ - for group_id in self.__default_parameters.keys(): - if isinstance(self.__default_parameters.get(group_id), group_type): - return copy.deepcopy(self.__default_parameters.get(group_id)) + for group_id in DUTTests.__enumerate_and_get_default_test_parameters().keys(): + if isinstance(DUTTests.__enumerate_and_get_default_test_parameters().get(group_id), group_type): + return copy.deepcopy(DUTTests.__enumerate_and_get_default_test_parameters().get(group_id)) raise ValueError(f"Group {group_type} is not available.") def number_tests_in_group(self, group_id: TestGroupId) -> int: diff --git a/UniTAP/dev/modules/dut_tests/parser/parser.py b/UniTAP/dev/modules/dut_tests/parser/parser.py index 9ed096e..2a66524 100644 --- a/UniTAP/dev/modules/dut_tests/parser/parser.py +++ b/UniTAP/dev/modules/dut_tests/parser/parser.py @@ -120,16 +120,16 @@ class ParserJson(ParserFileBase): CDF = 1 __DSC_VMT_CI_LIST = [ "TSI_DP20_SRCCTS_DSC_VMT_1920_1080_30", - "TSI_DP20_SRCCTS_DSC_VMT_1920_1080_60", - "TSI_DP20_SRCCTS_DSC_VMT_1920_1080_120", - "TSI_DP20_SRCCTS_DSC_VMT_1920_1080_144", - "TSI_DP20_SRCCTS_DSC_VMT_1920_1080_240", - "TSI_DP20_SRCCTS_DSC_VMT_3840_2160_30", - "TSI_DP20_SRCCTS_DSC_VMT_3840_2160_60", - "TSI_DP20_SRCCTS_DSC_VMT_3840_2160_120", - "TSI_DP20_SRCCTS_DSC_VMT_3840_2160_144", - "TSI_DP20_SRCCTS_DSC_VMT_3840_2160_240", - "TSI_DP20_SRCCTS_DSC_VMT_5120_2160_30", + "TSI_DP20_SRCCTS_DSC_VMT_1920_1080_60", + "TSI_DP20_SRCCTS_DSC_VMT_1920_1080_120", + "TSI_DP20_SRCCTS_DSC_VMT_1920_1080_144", + "TSI_DP20_SRCCTS_DSC_VMT_1920_1080_240", + "TSI_DP20_SRCCTS_DSC_VMT_3840_2160_30", + "TSI_DP20_SRCCTS_DSC_VMT_3840_2160_60", + "TSI_DP20_SRCCTS_DSC_VMT_3840_2160_120", + "TSI_DP20_SRCCTS_DSC_VMT_3840_2160_144", + "TSI_DP20_SRCCTS_DSC_VMT_3840_2160_240", + "TSI_DP20_SRCCTS_DSC_VMT_5120_2160_30", "TSI_DP20_SRCCTS_DSC_VMT_5120_2160_60", "TSI_DP20_SRCCTS_DSC_VMT_5120_2160_120", "TSI_DP20_SRCCTS_DSC_VMT_5120_2160_144", diff --git a/UniTAP/dev/modules/dut_tests/private_info.py b/UniTAP/dev/modules/dut_tests/private_info.py index b85a673..0440342 100644 --- a/UniTAP/dev/modules/dut_tests/private_info.py +++ b/UniTAP/dev/modules/dut_tests/private_info.py @@ -31,7 +31,17 @@ class MergedTestGroups(IntEnum): HDRX_DSC_CTS = 0x20, HDTX_DSC_CTS = 0x21, HDTX_CONTINUITY = 0x22, - HDTX_CABLE_CHECK = 0x24 + HDTX_CABLE_CHECK = 0x24, + HDMI_HDCP_CTS_1A = 0x25, + HDMI_HDCP_CTS_1B = 0x26, + HDMI_HDCP_CTS_2C = 0x27, + HDMI_HDCP_CTS_3A = 0x28, + HDMI_HDCP_CTS_3B = 0x29, + HDMI_HDCP_CTS_3C = 0x2A, + DPRX_128b132b_LL_CTS_DEMO = 0x2B, + DPTX_128b132b_LL_CTS_DEMO = 0x2C, + TIMINGS_VIDEO_TEST = 0x2D, + BRANCH_128b132b_MST_CTS = 0x2E MERGED_GROUP_PARAMS_TYPE = { @@ -60,7 +70,14 @@ MERGED_GROUP_PARAMS_TYPE = { MergedTestGroups.HDRX_DSC_CTS: HdmiSourceDUTTestParam, MergedTestGroups.HDTX_DSC_CTS: HdmiSinkDUTTestParam, MergedTestGroups.HDTX_CONTINUITY: HdmiSinkContinuityDUTTestParam, - MergedTestGroups.HDTX_CABLE_CHECK: HdmiSinkCableCheckTestParam + MergedTestGroups.HDTX_CABLE_CHECK: HdmiSinkCableCheckTestParam, + MergedTestGroups.HDMI_HDCP_CTS_1A: HdmiHdcp1ATestParam, + MergedTestGroups.HDMI_HDCP_CTS_1B: HdmiHdcp1BTestParam, + MergedTestGroups.HDMI_HDCP_CTS_3A: HdmiHdcp3ATestParam, + MergedTestGroups.HDMI_HDCP_CTS_3B: HdmiHdcp3BTestParam, + MergedTestGroups.HDMI_HDCP_CTS_2C: HdmiHdcp2CTestParam, + MergedTestGroups.HDMI_HDCP_CTS_3C: HdmiHdcp3CTestParam, + MergedTestGroups.BRANCH_128b132b_MST_CTS: Dp21BranchMSTSourceDUTTestParam } group_params_dict = { @@ -104,7 +121,25 @@ group_params_dict = { TestGroupId.HD_RX_DSC_CTS: HdmiSourceDUTTestParam, TestGroupId.HD_TX_DSC_CTS: HdmiSinkDUTTestParam, TestGroupId.HD_TX_CONTINUITY: HdmiSinkContinuityDUTTestParam, - TestGroupId.HD_TX_CABLE_CHECK: HdmiSinkCableCheckTestParam + TestGroupId.HD_TX_CABLE_CHECK: HdmiSinkCableCheckTestParam, + TestGroupId.HDMI_HDCP_CTS_1A: HdmiHdcp1ATestParam, + TestGroupId.HDMI_HDCP_CTS_1B: HdmiHdcp1BTestParam, + TestGroupId.HDMI_HDCP_CTS_2C: HdmiHdcp2CTestParam, + TestGroupId.HDMI_HDCP_CTS_3A: HdmiHdcp3ATestParam, + TestGroupId.HDMI_HDCP_CTS_3B: HdmiHdcp3BTestParam, + TestGroupId.HDMI_HDCP_CTS_3C: HdmiHdcp3CTestParam, + TestGroupId.DEMO_DP_2_1_TX_DISPAYID: Dp21SinkTestParam, + TestGroupId.DEMO_DP_2_1_RX_DISPAYID: Dp21SourceDUTTestParam, + TestGroupId.DEMO_DP_2_1_TX_ADAPTIVESYNC: Dp21SinkTestParam, + TestGroupId.DEMO_DP_2_1_RX_ADAPTIVESYNC: Dp21SourceDUTTestParam, + TestGroupId.DEMO_DP_2_1_RX_LL_CTS: Dp21SourceDUTTestParam, + TestGroupId.DEMO_DP_2_1_TX_LL_CTS: Dp21SinkTestParam, + TestGroupId.DEMO_DP_2_1_RX_LTTPR_CTS: Dp21SourceDUTTestParam, + TestGroupId.DEMO_DP_2_1_TX_LTTPR_CTS: Dp21SinkTestParam, + TestGroupId.DEMO_DP_2_1_RX_DSC_CTS: Dp21SourceDUTTestParam, + TestGroupId.DEMO_DP_2_1_TX_DSC_CTS: Dp21SinkTestParam, + TestGroupId.DP_2_1_RX_MST_CTS: Dp21SourceDUTTestParam, + TestGroupId.DP_2_1_BRANCH_MST_CTS: Dp21BranchMSTSourceDUTTestParam } @@ -127,11 +162,17 @@ def test_group_to_merged_group(fw_group: TestGroupId, test_id: int) -> MergedTes merged_group_id = MergedTestGroups.CRCVideoTest elif fw_group in [TestGroupId.DP_2_1_RX_LL_CTS, TestGroupId.DP_2_1_RX_DSC_CTS, TestGroupId.DP_2_1_RX_LTTPR_CTS, TestGroupId.DP_2_1_RX_DISPAYID, - TestGroupId.DP_2_1_RX_ADAPTIVESYNC]: + TestGroupId.DP_2_1_RX_ADAPTIVESYNC, + TestGroupId.DEMO_DP_2_1_RX_LL_CTS, TestGroupId.DEMO_DP_2_1_RX_DSC_CTS, + TestGroupId.DEMO_DP_2_1_RX_LTTPR_CTS, TestGroupId.DEMO_DP_2_1_RX_DISPAYID, + TestGroupId.DEMO_DP_2_1_RX_ADAPTIVESYNC, TestGroupId.DP_2_1_RX_MST_CTS]: merged_group_id = MergedTestGroups.DPRX_128b132b_LL_CTS elif fw_group in [TestGroupId.DP_2_1_TX_LL_CTS, TestGroupId.DP_2_1_TX_DSC_CTS, TestGroupId.DP_2_1_TX_LTTPR_CTS, TestGroupId.DP_2_1_TX_DISPAYID, - TestGroupId.DP_2_1_TX_ADAPTIVESYNC]: + TestGroupId.DP_2_1_TX_ADAPTIVESYNC, + TestGroupId.DEMO_DP_2_1_TX_LL_CTS, TestGroupId.DEMO_DP_2_1_TX_DSC_CTS, + TestGroupId.DEMO_DP_2_1_TX_LTTPR_CTS, TestGroupId.DEMO_DP_2_1_TX_DISPAYID, + TestGroupId.DEMO_DP_2_1_TX_ADAPTIVESYNC]: merged_group_id = MergedTestGroups.DPTX_128b132b_LL_CTS elif fw_group == TestGroupId.DP_2_1_LTTPR_CTS: merged_group_id = MergedTestGroups.LTTPR_128b132b_LL_CTS @@ -169,6 +210,20 @@ def test_group_to_merged_group(fw_group: TestGroupId, test_id: int) -> MergedTes merged_group_id = MergedTestGroups.HDTX_CONTINUITY elif fw_group == TestGroupId.HD_TX_CABLE_CHECK: merged_group_id = MergedTestGroups.HDTX_CABLE_CHECK + elif fw_group == TestGroupId.HDMI_HDCP_CTS_1A: + merged_group_id = MergedTestGroups.HDMI_HDCP_CTS_1A + elif fw_group == TestGroupId.HDMI_HDCP_CTS_1B: + merged_group_id = MergedTestGroups.HDMI_HDCP_CTS_1B + elif fw_group == TestGroupId.HDMI_HDCP_CTS_2C: + merged_group_id = MergedTestGroups.HDMI_HDCP_CTS_2C + elif fw_group == TestGroupId.HDMI_HDCP_CTS_3A: + merged_group_id = MergedTestGroups.HDMI_HDCP_CTS_3A + elif fw_group == TestGroupId.HDMI_HDCP_CTS_3B: + merged_group_id = MergedTestGroups.HDMI_HDCP_CTS_3B + elif fw_group == TestGroupId.HDMI_HDCP_CTS_3C: + merged_group_id = MergedTestGroups.HDMI_HDCP_CTS_3C + elif fw_group == TestGroupId.DP_2_1_BRANCH_MST_CTS: + merged_group_id = MergedTestGroups.BRANCH_128b132b_MST_CTS else: merged_group_id = MergedTestGroups.Unknown return merged_group_id diff --git a/UniTAP/dev/modules/dut_tests/report/report_edid_extractor.py b/UniTAP/dev/modules/dut_tests/report/report_edid_extractor.py new file mode 100644 index 0000000..3f0f5a2 --- /dev/null +++ b/UniTAP/dev/modules/dut_tests/report/report_edid_extractor.py @@ -0,0 +1,102 @@ +import re + +class ReportContentExtractor: + """ + Class `ReportContentExtractor` allows to extract content from test report. + - Extracted EDIDs, DisplayIDs from test report. + """ + __EDID_LINE_PATTERN = re.compile(r"\d{4}.\d{3}.\d{3}:\s+[0-9a-f]{4}:\s+([0-9a-f]{2}\s+)+") + + def __init__(self) -> None: + self.__extracting = False + self.__edid_addr = 0 + self.__edid_size = 0 + self.__edid_ready = False + self.__data = bytearray() + + def __start_new_edid(self): + self.__extracting = True + self.__edid_addr = 0 + self.__edid_size = 0 + self.__edid_ready = False + self.__data = bytearray() + + def extract_content_from_report(self, report): + edids = [] + for log_line in report.fw_logs.splitlines(): + self.__parse_line(log_line) + if self.__edid_ready and self.__edid_size > 0: + edids.append(self.__pop_edid()) + return edids + + def __parse_line(self, line: str): + if not self.__extracting: + if ("Reference Source reads Sink DUT EDID" in line + or "EDID contents:" in line): + self.__start_new_edid() + return + + if len(line) < 18: + return + + view = line[18:] + + if "I2C AUX WR" in line: + sub_strs = view.split() + + if len(sub_strs) <= 3: + return + + el = sub_strs[-3] + + if "30h" in el: + val = int(sub_strs[-1], 16) + self.__edid_addr = val * 0x100 + elif "50h" in el: + val = int(sub_strs[-1], 16) + self.__edid_addr = val + + return + + if "I2C AUX RD" in line: + sub_strs = view.split() + + if len(sub_strs) <= 3: + return + + count = int(sub_strs[4]) + + for i in range(count): + byte_hex = sub_strs[5 + i] + self.__data.append(int(byte_hex, 16)) + self.__edid_addr += 1 + + self.__edid_size = max(self.__edid_size, self.__edid_addr) + return + + if self.__EDID_LINE_PATTERN.search(line): + if len(line) < 20: + return + + view = line[line.rfind(':') + 1:] + sub_strs = view.split() + + for byte_hex in sub_strs: + self.__data.append(int(byte_hex, 16)) + self.__edid_addr += 1 + + self.__edid_size = max(self.__edid_size, self.__edid_addr) + return + + self.__edid_ready = True + self.__extracting = False + + def __pop_edid(self): + if self.__edid_ready and self.__edid_size > 0: + edid = self.__data[:self.__edid_size].hex() + self.__edid_ready = False + self.__edid_size = 0 + self.__data = bytearray() + self.__edid_addr = 0 + return edid + return bytearray() \ No newline at end of file diff --git a/UniTAP/dev/modules/dut_tests/report/report_maker.py b/UniTAP/dev/modules/dut_tests/report/report_maker.py index 7c818af..5de5e05 100644 --- a/UniTAP/dev/modules/dut_tests/report/report_maker.py +++ b/UniTAP/dev/modules/dut_tests/report/report_maker.py @@ -1,8 +1,10 @@ +import os import platform from datetime import datetime from enum import IntEnum from .report_template import * +from .report_edid_extractor import ReportContentExtractor class TestResult(IntEnum): @@ -59,12 +61,48 @@ def replace_additional_info(test_additional_info: TestAdditionalInfo): return result +def to_intel_hex(edid_hex: str) -> str: + data = bytes.fromhex(edid_hex) + lines = [] + for offset in range(0, len(data), 16): + chunk = data[offset:offset + 16] + byte_count = len(chunk) + addr_hi = (offset >> 8) & 0xFF + addr_lo = offset & 0xFF + record = [byte_count, addr_hi, addr_lo, 0x00] + list(chunk) + checksum = (~sum(record) + 1) & 0xFF + hex_str = ''.join(f'{b:02X}' for b in record) + f'{checksum:02X}' + lines.append(f':{hex_str}') + lines.append(':00000001FF') + return ('\r\n'.join(lines) + '\r\n').encode('utf-8').hex().upper() + + def generate_html_report(path: str, test_additional_info: TestAdditionalInfo, reports: list): result = str() head = ReportHead head = head.replace("#count#", str((len(reports) + 2))) + for index, report in enumerate(reports): + extractor = ReportContentExtractor() + edid_displaid_content = extractor.extract_content_from_report(report) + + if edid_displaid_content is None or len(edid_displaid_content) <= 0: + continue + + formatted_edids = '["' + '",\n "'.join(edid_displaid_content).upper() + '"]' + formatted_edids_intel_hex = '["' + '",\n "'.join(to_intel_hex(edid) for edid in edid_displaid_content) + '"]' + test_name_formatted = report.test_name.split(' ')[0].replace('.', '_') + + if len(edid_displaid_content) > 0: + head = head.replace("#edid_fill#", f"testsEdidData.set({index}, {{name: \"{test_name_formatted}\", data: {formatted_edids}, dataIntelHex: {formatted_edids_intel_hex}}}); \n#edid_fill#") + break + + head = head.replace("#edid_fill#", "") + head = head.replace("#jsCode#", report_js) + head = head.replace("#count#", str(len(reports) + 2)) + head = head.replace("#fileNamePrefix#", os.path.splitext(os.path.basename(path))[0]) + body = ReportBody body = body.replace("#device_description#", replace_additional_info(test_additional_info)) @@ -105,7 +143,7 @@ def generate_html_report(path: str, test_additional_info: TestAdditionalInfo, re line = OptionListLine line = line.replace("#number#", str(i + 2)) line = line.replace("#test_name#", f"{reports[i].group_name} / {reports[i].test_name}") - line = line.replace("#test_result#", dict_result_2.get(reports[i].test_result)) + line = line.replace("#test_result#", dict_result_2.get(reports[i].test_result, "UNKNOWN")) options_list += line + "\n" body = body.replace("#optionList#", options_list) @@ -117,7 +155,7 @@ def generate_html_report(path: str, test_additional_info: TestAdditionalInfo, re line = line.replace("#handler_number#", str(i + 2)) line = line.replace("#test_name#", reports[i].test_name) line = line.replace("#test_group#", reports[i].group_name) - line = line.replace("#test_result#", dict_result_2.get(reports[i].test_result)) + line = line.replace("#test_result#", dict_result_2.get(reports[i].test_result, "UNKNOWN")) line = line.replace("#error#", f"{reports[i].error_code}" if reports[i].error_code != 0 else "-") line = line.replace("#ending#", "2" if i % 2 else "") test_result = dict_result_2.get(reports[i].test_result) @@ -153,14 +191,17 @@ def generate_html_report(path: str, test_additional_info: TestAdditionalInfo, re line = line.replace("#test_number#", f"{i + 1}") line = line.replace("#test_group#", reports[i].group_name) line = line.replace("#test_name#", reports[i].test_name) - line = line.replace("#result#", dict_result_2.get(reports[i].test_result)) + line = line.replace("#result#", dict_result_2.get(reports[i].test_result, "UNKNOWN")) line = line.replace("#test_delay#", f"{reports[i].test_delay * 1000}") line = line.replace("#test_parameters#", reports[i].config_info) - line = line.replace("#warning#", "Debug options enabled!

" if reports[i].debug else "") - if reports[i].debug: + if "demo" in reports[i].group_name.lower(): + warnings = "Demo Report Only - Not valid for DP Logo Certification.

" + elif reports[i].debug: warnings = "Debug options enabled!

" + line = line.replace("#warning#", warnings) + line = line.replace("#test_log#", escape_html(reports[i].fw_logs)) tables_list += line + "\n" diff --git a/UniTAP/dev/modules/dut_tests/report/report_template.py b/UniTAP/dev/modules/dut_tests/report/report_template.py index 866b351..fe25807 100644 --- a/UniTAP/dev/modules/dut_tests/report/report_template.py +++ b/UniTAP/dev/modules/dut_tests/report/report_template.py @@ -14,23 +14,29 @@ ReportHead = "\ " PRE.TESTBODY{margin-top: 0;margin-bottom: 0;margin-left: 1.0cm;font-weight: medium;font-family: \"Courier New\";font-size: 11pt;color: #000000;}\n" \ " P.BODYDETAILTEXT{margin-top: 0;margin-bottom: 0;margin-left: 1.4cm;font-weight: medium;font-family: \"Arial\";font-size: 9pt;color: #000000;}\n" \ " P.CONTENTS SELECT{font-weight: normal;font-family: \"Arial\";font-size: 11pt;width: 98%;margin-top: 0;text-align: left;}\n" \ - "P.TABLE_HEADERS{background-color: #DCFABC;margin-top: 0;margin-bottom: 0;margin-left: 1.0cm;font-weight: " \ - "medium;font-family: \"Arial\";font-size: 12pt;color: #000000;}\n" \ + " P.TABLE_HEADERS{background-color: #DCFABC;margin-top: 0;margin-bottom: 0;margin-left: 1.0cm;font-weight: medium;font-family: \"Arial\";font-size: 12pt;color: #000000;}\n" \ " P.TABLE_LINKS{margin-top: 0;margin-bottom: 0;margin-left: 1.0cm;font-weight: medium;font-family: \"Arial\";font-size: 11pt;}\n" \ " P.TABLE_LINKS2{margin-top: 0;margin-bottom: 0;margin-left: 1.0cm;font-weight: medium;font-family: \"Arial\";font-size: 11pt; background-color: #DDDDDD;}\n" \ " P.FAILED{margin-top: 0;margin-bottom: 0;background-color: #FFBCBC; font-weight: bold;font-family: \"Arial\";font-size: 11pt;color: #000000;}\n" \ " P.PASSED{margin-top: 0;margin-bottom: 0;background-color: #BCFFBC; font-weight: bold;font-family: \"Arial\";font-size: 11pt;color: #000000;}\n" \ " P.SKIPPED{margin-top: 0;margin-bottom: 0;background-color: #BCBCBC; font-weight: bold;font-family: \"Arial\";font-size: 11pt;color: #000000;}\n" \ " P.ERROR_CODE{margin-top: 0;margin-bottom: 0;background-color: #FFFFFF; font-weight: bold;font-family: \"Arial\";font-size: 11pt;color: #000000;}\n" \ - " P.ABORTED{margin-top: 0;margin-bottom: 0;background-color: #FFFFFF; font-weight: bold;font-family: \"Arial\";font-size: 11pt;color: #000000;}\n" \ " .TOPBUTTON{display: none; position: fixed; bottom: 20px; right: 30px; z-index: 99; font-size: 18px; border: solid black 1px; outline: none; background-color: #DCFABC; cursor: pointer; padding: 15px; border-radius: 5px;}\n" \ + " .DBG_HIGHLIGHT { color: #ff0000;}\n" \ + " .flex-container {\n" \ + " display: flex;\n" \ + " gap: 5px;\n" \ + " }\n" \ "\n" \ + "" \ "\n" \ "\n" @@ -102,7 +119,7 @@ TestTable = "

\n" \ "\n" ReportBody = "\n" \ - " \n" \ + "\n" \ "

  Unigraf Test Report

\n" \ "
\n" \ " \n" \ @@ -115,16 +132,22 @@ ReportBody = "\n" \ " \n" \ " \n" \ "#optionList#\n" \ - " \n" \ + " \n" \ " \n" \ " \n" \ "
\n" \ - "
\n" \ - "\n" \ - "\n" \ - "\n" \ - "\n" \ - "
\n" \ + "
" \ + "
\n" \ + " \n" \ + " \n" \ + " \n" \ + " \n" \ + "
\n" \ + "
\n" \ + " \n" \ + " \n" \ + "
\n" \ + "
\n" \ "
\n" \ "
\n" \ "
\n" \ @@ -151,3 +174,134 @@ ReportFooter = "

\n" \ "

\n" \ "\n" \ "\n" + +report_js = """ +function hexToUint8Array(hex) { + const clean = hex.replace(/\s+/g, ''); + const bytes = new Uint8Array(clean.length / 2); + + for (let i = 0; i < clean.length; i += 2) { + bytes[i / 2] = parseInt(clean.substr(i, 2), 16); + } + + return bytes; +} + +function saveBlob(blob, fileName) { + const a = document.createElement('a'); + const url = URL.createObjectURL(blob); + + a.href = url; + a.download = fileName; + a.style.display = 'none'; + + document.body.appendChild(a); + a.click(); + + setTimeout(() => { + URL.revokeObjectURL(url); + a.remove(); + }, 2000); +} + +async function saveZip(files, zipName) { + const zip = new JSZip(); + + for (const file of files) { + zip.file(file.name, file.data, { + binary: true + }); + } + + const uint8 = await zip.generateAsync({ + type: 'uint8array', + compression: 'STORE' + }); + + const blob = new Blob([uint8], { type: 'application/zip' }); + saveBlob(blob, zipName); +} + +async function saveFiles(getFileList, zipName, mimeType) { + const files = getFileList(); + + if (files.length === 1) { + saveBlob( + new Blob([files[0].data], { type: mimeType }), + files[0].name + ); + } else if (files.length > 1) { + await saveZip(files, zipName); + } +} + +function getEdidBinFiles() { + let index = GetIndex(); + const files = []; + + if (index < window.min_value || index > window.max_value) { + for (const [key, value] of testsEdidData) { + for (let i = 0; i < value.data.length; ++i) { + files.push({ + name: `#fileNamePrefix#_Test${key}_${value.name}_EDID_${i}.bin`, + data: hexToUint8Array(value.data[i]) + }); + } + } + } else if (testsEdidData.has(index)) { + const testData = testsEdidData.get(index); + + for (let i = 0; i < testData.data.length; ++i) { + files.push({ + name: `#fileNamePrefix#_Test_${testData.name}_EDID_${i}.bin`, + data: hexToUint8Array(testData.data[i]) + }); + } + } + + return files; +} + +function getEdidIntelHexFiles() { + let index = GetIndex(); + const files = []; + + if (index < window.min_value || index > window.max_value) { + for (const [key, value] of testsEdidData) { + for (let i = 0; i < value.dataIntelHex.length; ++i) { + files.push({ + name: `#fileNamePrefix#_Test${key}_${value.name}_EDID_${i}.hex`, + data: hexToUint8Array(value.dataIntelHex[i]) + }); + } + } + } else if (testsEdidData.has(index)) { + const testData = testsEdidData.get(index); + + for (let i = 0; i < testData.dataIntelHex.length; ++i) { + files.push({ + name: `#fileNamePrefix#_Test_${testData.name}_EDID_${i}.hex`, + data: hexToUint8Array(testData.dataIntelHex[i]) + }); + } + } + + return files; +} + +async function SaveEdid() { + await saveFiles( + getEdidBinFiles, + '#fileNamePrefix#_EDID_BIN.zip', + 'application/octet-stream' + ); +} + +async function SaveEdidIntelHex() { + await saveFiles( + getEdidIntelHexFiles, + '#fileNamePrefix#_EDID_HEX.zip', + 'application/octet-stream' + ); +} +""" diff --git a/UniTAP/dev/modules/dut_tests/test_group_params_types.py b/UniTAP/dev/modules/dut_tests/test_group_params_types.py index 51a77e8..9f605d1 100644 --- a/UniTAP/dev/modules/dut_tests/test_group_params_types.py +++ b/UniTAP/dev/modules/dut_tests/test_group_params_types.py @@ -121,6 +121,8 @@ class Param: self.__process_value(json_obj) + self.__modified = False + def _set_by_bitmask(self, value, bitmask_index): if len(self.__bit_field_list) > bitmask_index: mask = self.__bit_field_list[bitmask_index].mask @@ -149,12 +151,17 @@ class Param: def direct_set_def_value(self, default_value): self.__default_value = default_value + def direct_set_bits_value(self, mask: int, value: int, shift: int = 0): + cleared = self.__default_value & ~mask + self.__default_value = cleared | (value << shift) + @property def default_value(self): return self.__default_value @default_value.setter def default_value(self, default_value): + self.__modified = True if self.__enumeration_variants is not None: if str(default_value) in self.__enumeration_variants.available_values: self.__default_value = default_value @@ -203,6 +210,10 @@ class Param: else: return 1 + @property + def is_modified(self): + return self.__modified + def __str__(self): return f"{self.default_value if self.data_length <= 50 else self.default_value[:50]}" @@ -274,25 +285,28 @@ def param_by_ci_name(json_obj, name: str) -> Param: return Param({}) -def read_image_file(full_filename: str) -> bytearray: +def read_image_file(full_filename: str) -> [bytearray, str]: file_name, file_extension = os.path.splitext(full_filename) if file_extension.lower() == '.bin': with open(full_filename, 'rb') as file: image_data = bytearray(file.read()) - return image_data + return image_data, file_extension elif file_extension.lower() in [".png", '.jpg', ".ppm", '.bmp', '.tif', '.tiff']: image = Image.open(full_filename) image = image.convert('RGB') image_data = bytearray(image.tobytes()) - return image_data + return image_data, file_extension else: - return bytearray() + return bytearray(), file_extension -def uicl_image_preparation(data: bytearray, params): +def uicl_image_preparation(data: bytearray, params, is_prepared): ref_image = UICL_Image() ref_param = UICL_ImageParameters() + if is_prepared: + return list(data) + ref_param.Width = params.image_width ref_param.Height = params.image_height # VideoPixelTestElementFormat: RGB_16BPC = 20 diff --git a/UniTAP/dev/modules/dut_tests/test_info.py b/UniTAP/dev/modules/dut_tests/test_info.py index a47e6e9..927b615 100644 --- a/UniTAP/dev/modules/dut_tests/test_info.py +++ b/UniTAP/dev/modules/dut_tests/test_info.py @@ -58,6 +58,26 @@ class TestGroupId(IntEnum): HD_TX_DSC_CTS = 0x41 HD_TX_CONTINUITY = 0x42 HD_TX_CABLE_CHECK = 0x43 + HDMI_HDCP_CTS_1A = 0x44 + HDMI_HDCP_CTS_1B = 0x45 + HDMI_HDCP_CTS_2C = 0x46 + HDMI_HDCP_CTS_3A = 0x47 + HDMI_HDCP_CTS_3B = 0x48 + HDMI_HDCP_CTS_3C = 0x49 + DP_2_1_RX_MST_CTS = 0x4A, + DEMO_DP_2_1_TX_DISPAYID = 0x4B, + DEMO_DP_2_1_RX_DISPAYID = 0x4C, + DEMO_DP_2_1_TX_ADAPTIVESYNC = 0x4D, + DEMO_DP_2_1_RX_ADAPTIVESYNC = 0x4E, + DEMO_DP_2_1_RX_LL_CTS = 0x4F, + DEMO_DP_2_1_TX_LL_CTS = 0x50, + DEMO_DP_2_1_RX_LTTPR_CTS = 0x51, + DEMO_DP_2_1_TX_LTTPR_CTS = 0x52, + DEMO_DP_2_1_RX_DSC_CTS = 0x53, + DEMO_DP_2_1_TX_DSC_CTS = 0x54, + DP_2_1_BRANCH_MST_CTS = 0x55, + HDMI_TIMINGS_TEST_SUIT = 0x59, + DP_TIMINGS_TEST_SUIT = 0x5A, PIXEL_VIDEO_TEST = 0x3E8 HDR10_TEST = -2 diff --git a/UniTAP/dev/modules/memory_manager/memory_manager.py b/UniTAP/dev/modules/memory_manager/memory_manager.py index 7f6a196..368005e 100644 --- a/UniTAP/dev/modules/memory_manager/memory_manager.py +++ b/UniTAP/dev/modules/memory_manager/memory_manager.py @@ -2,9 +2,7 @@ from typing import List from ctypes import c_uint64, c_uint32, c_uint8 from enum import IntEnum -from UniTAP.libs.lib_tsi.tsi_types import TSI_R_MEMORY_SIZE, TSI_MEMORY_LAYOUT,\ - TSI_MEMORY_BLOCK_INDEX, TSI_MEMORY_RESET_W, TSI_MEMORY_WRITE_W -from UniTAP.libs.lib_tsi.tsi import TSIX_TS_GetConfigItem, TSIX_TS_SetConfigItem +import UniTAP.libs.lib_tsi.tsi_types as ci from UniTAP.libs.lib_tsi.tsi_io import DeviceIO @@ -16,31 +14,31 @@ class MemoryManager: MAX_BLOCK_COUNT = 4 - DEFAULT_MEMOTY_ALLOCATION = [534600704, 534600704, 534600704] + DEFAULT_MEMOTY_ALLOCATION = [534600704, 534600704, 2048] RESERVED_MEMORY_BYTES = 8192 * (5120 + 1) * 4 + 0x80000 def __init__(self, io: DeviceIO): self.__io = io def get_total_memory(self) -> int: - result = self.__io.get(TSI_R_MEMORY_SIZE, c_uint64)[1] + result = self.__io.get(ci.TSI_R_MEMORY_SIZE, c_uint64)[1] return result def set_memory_layout(self, layout: List[int]): - self.__io.set(TSI_MEMORY_LAYOUT, layout, c_uint64, data_count=len(layout)) + self.__io.set(ci.TSI_MEMORY_LAYOUT, layout, c_uint64, data_count=len(layout)) def get_memory_layout(self) -> List[int]: - return self.__io.get(TSI_MEMORY_LAYOUT, c_uint64, self.MAX_BLOCK_COUNT) + return list(self.__io.get(ci.TSI_MEMORY_LAYOUT, c_uint64, self.MAX_BLOCK_COUNT)[1]) def set_memory_block_index(self, index: MemoryOwner): - self.__io.set(TSI_MEMORY_BLOCK_INDEX, index.value) + self.__io.set(ci.TSI_MEMORY_BLOCK_INDEX, index.value) def make_default(self): - self.__io.set(TSI_MEMORY_LAYOUT, self.DEFAULT_MEMOTY_ALLOCATION, c_uint64, + self.__io.set(ci.TSI_MEMORY_LAYOUT, self.DEFAULT_MEMOTY_ALLOCATION, c_uint64, data_count=len(self.DEFAULT_MEMOTY_ALLOCATION)) def reset(self): - self.__io.set(TSI_MEMORY_RESET_W, 0) + self.__io.set(ci.TSI_MEMORY_RESET_W, 0) def memory_write(self, data, size): - self.__io.set(TSI_MEMORY_WRITE_W, bytearray(data), data_type=c_uint8, data_count=size) + self.__io.set(ci.TSI_MEMORY_WRITE_W, bytearray(data), data_type=c_uint8, data_count=size) diff --git a/UniTAP/dev/modules/opf/handler.py b/UniTAP/dev/modules/opf/handler.py index ac658bd..416889a 100644 --- a/UniTAP/dev/modules/opf/handler.py +++ b/UniTAP/dev/modules/opf/handler.py @@ -1,7 +1,7 @@ import platform import warnings -from UniTAP.libs.lib_tsi.tsi_types import TSI_OPF_CALLBACK_STRUCT, TSI_OPF_RETURN_CODE_ABORT +import UniTAP.libs.lib_tsi.tsi_types as ci from UniTAP.libs.lib_tsi.tsi_io import DeviceIO from UniTAP.utils import tsi_logging as logging from .handlers import OpfHandlerBase, OpfHandlerDefault @@ -9,11 +9,11 @@ from .handlers import OpfHandlerBase, OpfHandlerDefault if platform.system() == 'Windows': from ctypes import c_int, POINTER, c_void_p, WINFUNCTYPE - OPF_CALLBACK_TYPE = WINFUNCTYPE(c_int, POINTER(TSI_OPF_CALLBACK_STRUCT), c_void_p) + OPF_CALLBACK_TYPE = WINFUNCTYPE(c_int, POINTER(ci.TSI_OPF_CALLBACK_STRUCT), c_void_p) else: from ctypes import c_int, POINTER, c_void_p, CFUNCTYPE - OPF_CALLBACK_TYPE = CFUNCTYPE(c_int, POINTER(TSI_OPF_CALLBACK_STRUCT), c_void_p) + OPF_CALLBACK_TYPE = CFUNCTYPE(c_int, POINTER(ci.TSI_OPF_CALLBACK_STRUCT), c_void_p) class OperatorFeedbackHandler: @@ -33,8 +33,8 @@ class OperatorFeedbackHandler: self.__handler = OpfHandlerDefault() def __get_callback(self): - def ofp_impl(_struct: POINTER(TSI_OPF_CALLBACK_STRUCT), context_ptr: c_void_p): - opf_struct: TSI_OPF_CALLBACK_STRUCT = _struct.contents + def ofp_impl(_struct: POINTER(ci.TSI_OPF_CALLBACK_STRUCT), context_ptr: c_void_p): + opf_struct: ci.TSI_OPF_CALLBACK_STRUCT = _struct.contents logging.debug(f"Received OPF dialog with ID: {opf_struct.id()}, Session: {opf_struct.session_id()}.") try: @@ -46,7 +46,7 @@ class OperatorFeedbackHandler: opf_struct.parameters()) except BaseException as e: warnings.warn(f"OPF Dialog {opf_struct.id()} was aborted due an exception. Exception: {e}") - return opf_struct.write_opf_result(TSI_OPF_RETURN_CODE_ABORT) + return opf_struct.write_opf_result(ci.TSI_OPF_RETURN_CODE_ABORT) return ofp_impl diff --git a/UniTAP/dev/modules/opf/handlers/internal.py b/UniTAP/dev/modules/opf/handlers/internal.py index aae2804..e4866e7 100644 --- a/UniTAP/dev/modules/opf/handlers/internal.py +++ b/UniTAP/dev/modules/opf/handlers/internal.py @@ -30,6 +30,9 @@ class OpfHandlerInternal(OpfHandlerBase): 19: OPFFunctions.opf_19_handler, 20: OPFFunctions.opf_20_handler, 21: OPFFunctions.opf_21_handler, + 22: OPFFunctions.opf_22_handler, + 23: OPFFunctions.opf_23_handler, + 24: OPFFunctions.opf_24_handler, 101: OPFFunctions.opf_101_handler, 102: OPFFunctions.opf_102_handler, 103: OPFFunctions.opf_103_handler, @@ -37,6 +40,7 @@ class OpfHandlerInternal(OpfHandlerBase): 105: OPFFunctions.opf_105_handler, 106: OPFFunctions.opf_106_handler, 107: OPFFunctions.opf_107_handler, + 108: OPFFunctions.opf_108_handler, 120: OPFFunctions.opf_120_handler, 121: OPFFunctions.opf_121_handler, 122: OPFFunctions.opf_122_handler, @@ -47,6 +51,8 @@ class OpfHandlerInternal(OpfHandlerBase): 143: OPFFunctions.opf_143_handler, 144: OPFFunctions.opf_144_handler, 145: OPFFunctions.opf_145_handler, + 146: OPFFunctions.opf_146_handler, + 147: OPFFunctions.opf_147_handler, 150: OPFFunctions.opf_150_handler, 161: OPFFunctions.opf_161_handler } diff --git a/UniTAP/dev/modules/opf/handlers/opf_functions.py b/UniTAP/dev/modules/opf/handlers/opf_functions.py index c713319..f1d5896 100644 --- a/UniTAP/dev/modules/opf/handlers/opf_functions.py +++ b/UniTAP/dev/modules/opf/handlers/opf_functions.py @@ -1,4 +1,5 @@ import copy +import math import re import threading import time @@ -17,22 +18,19 @@ from UniTAP.utils.function_wrapper import function_scheduler from UniTAP.libs.lib_dscl.dscl import DSC_TOOLS_FOLDER, DSCL_ExtractPPSFromData, DSCL_Encode, DSCL_Decode from UniTAP.libs.lib_dscl.dscl_utils import calculate_slice_size, dscl_image_to_dsc_vf from UniTAP.libs.lib_pdl.pdl import generate_pattern_as_vf, PatternType -from UniTAP.libs.lib_tsi.tsi_types import TSI_MEMORY_WRITE_W, TSI_MEMORY_BLOCK_INDEX, TSI_MEMORY_LAYOUT, \ - TSI_DP20_SINKCTS_SUPPORT_444CRC, TSI_DP14_SINKCTS_SUPPORT_444CRC -from UniTAP.libs.lib_tsi.tsi_private_types import TSI_DSC_MEMORY_BLOCK, TSI_DSC_DATA_SIZE, \ - TSI_DSC_TX_CRC, TSI_DPRX_DSC_TEST_CRC, TSI_SELECT_SUITE -from UniTAP.libs.lib_tsi.tsi import TSIX_TS_SetConfigItem, TSIX_TS_GetConfigItem +import UniTAP.libs.lib_tsi.tsi as tsi from ctypes import c_uint64, c_uint32 -from UniTAP.libs.lib_tsi import TSI_OPF_RETURN_CODE_ABORT, TSI_OPF_RETURN_CODE_PASS, \ - TSI_OPF_RETURN_CODE_PROCEED, TSI_OPF_RETURN_CODE_FAIL, TSI_OPF_RETURN_CODE_AUTO_CLOSED + +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci +import UniTAP.libs.lib_tsi.tsi_types as ci class OPFDialogAnswer(IntEnum): - ABORT = TSI_OPF_RETURN_CODE_ABORT - PASS = TSI_OPF_RETURN_CODE_PASS - PROCEED = TSI_OPF_RETURN_CODE_PROCEED - FAIL = TSI_OPF_RETURN_CODE_FAIL - NOTHING = TSI_OPF_RETURN_CODE_AUTO_CLOSED + ABORT = ci.TSI_OPF_RETURN_CODE_ABORT + PASS = ci.TSI_OPF_RETURN_CODE_PASS + PROCEED = ci.TSI_OPF_RETURN_CODE_PROCEED + FAIL = ci.TSI_OPF_RETURN_CODE_FAIL + NOTHING = ci.TSI_OPF_RETURN_CODE_AUTO_CLOSED class OPFFunctions: @@ -113,7 +111,7 @@ class OPFFunctions: def check_video(dev_rx) -> bool: def is_video_available(_dev_rx): return _dev_rx.link.status.stream(0).crc != [0, 0, 0] and \ - _dev_rx.link.status.stream(0).video_mode.timing.hactive != 0 + _dev_rx.link.status.stream(0).video_mode.timing.hactive != 0 return function_scheduler(is_video_available, dev_rx, interval=2, timeout=10) @@ -380,7 +378,16 @@ class OPFFunctions: for i in range(iterations): vf = capture_frame(dprx) - vf = video_frame_to_ci(vf, vf.color_info, OPFFunctions.g_vf.data_info) + + if OPFFunctions.g_vf is None: + data_info = DataInfo() + data_info.packing = DataInfo.Packing.P_PACKED + data_info.component_order = DataInfo.ComponentOrder.CO_RGB + data_info.alignment = DataInfo.Alignment.A_LSB + else: + data_info = OPFFunctions.g_vf.data_info + + vf = video_frame_to_ci(vf, vf.color_info, data_info) if vf is not None and len(vf.data) > 0: if OPFFunctions.g_vf is not None: @@ -390,11 +397,88 @@ class OPFFunctions: else: if OPFFunctions.g_vf.data in vf.data: return OPFDialogAnswer.PASS + else: + return OPFDialogAnswer.PASS + return OPFDialogAnswer.FAIL @staticmethod def opf_13_handler(dptx, dprx, message: str) -> OPFDialogAnswer: - return OPFFunctions.opf_pass_handler(dptx, dprx, message) + audio_mode = dptx.ag.audio_mode + + dptx.ag.setup(audio_mode, UniTAP.AudioPattern.SignalPing, 2000, 100) + + if not dptx.ag.apply(): + return OPFDialogAnswer.FAIL + + dprx.audio_capturer.start(m_sec=10000) + dprx.audio_capturer.stop() + + result = dprx.audio_capturer.capture_result + + sample_size_bytes = int(math.ceil(result.audio_mode.bits / 8)) + + samples = {} + for channel in range(result.audio_mode.channel_count): + samples[channel] = [] + + for frame in result.buffer: + frame: UniTAP.AudioFrameData + sample_per_channel = int(len(frame.data) / sample_size_bytes / result.audio_mode.channel_count) + + for sample_index in range(sample_per_channel): + for channel in range(result.audio_mode.channel_count): + sample_offset = (sample_index * sample_size_bytes * result.audio_mode.channel_count) + ( + channel * sample_size_bytes) + sample_value = int.from_bytes(frame.data[sample_offset:sample_offset + sample_size_bytes], "little", + signed=True) + samples[channel].append(sample_value) + + logging.info(f"Total samples per channel 0: {len(samples[0])}") + + def find_next_transition(start_pos: int, sample_list: list): + for pos in range(start_pos + 1, len(sample_list) - 1): + previous_value = sample_list[pos - 1] + current_value = sample_list[pos] + next_value = sample_list[pos + 1] + + if previous_value == 0 and current_value == 0 and next_value != 0: + return "burst", pos + 1 + elif previous_value != 0 and current_value == 0 and next_value == 0: + return "silence", pos + 1 + + return None, -1 + + transition_type, transition_pos = find_next_transition(0, samples[0]) + if transition_type is None: + logging.warn("OPF 13: No transitions were found. Audio may be invalid.") + return OPFDialogAnswer.FAIL + + # + # Cut beginning of captured data to start exactly with transition. + # + samples[0] = samples[0][transition_pos:] + chunk_info_list = [] + transition_pos = 0 + while (t_info := find_next_transition(transition_pos, samples[0])) != (None, -1): + chuck_size = t_info[1] - transition_pos + 1 + chunk_length_ms = int(chuck_size / result.audio_mode.sample_rate * 1000) + logging.info(f"Chuck size: {chuck_size}") + logging.info(f"Chuck length: {chunk_length_ms}ms") + + chunk_info_list.append((t_info[0], chuck_size, chunk_length_ms)) + + transition_pos = t_info[1] + + valid = True + for chunk in chunk_info_list: + if chunk[2] not in range(245, 255): + valid = False + break + logging.info(f"Chunk validation: {'PASS' if valid else 'FAIL'}") + logging.info(f"Chunks: {chunk_info_list}") + + return OPFDialogAnswer.PASS if valid else OPFDialogAnswer.FAIL @staticmethod def opf_14_handler(dptx, dprx, message: str) -> OPFDialogAnswer: @@ -553,10 +637,10 @@ class OPFFunctions: try: if not OPFFunctions.check_video(dprx): - print('Video is not available.') + logging.error('Video is not available.') return OPFDialogAnswer.ABORT except BaseException as e: - print(e) + logging.error(e) return OPFDialogAnswer.ABORT return OPFDialogAnswer.PROCEED @@ -582,16 +666,10 @@ class OPFFunctions: def opf_19_handler(dptx, dprx, use_3tap) -> OPFDialogAnswer: if not OPFFunctions.check_dprx(dprx): - return OPFDialogAnswer.ABORT + return OPFDialogAnswer.FAIL # check DSC state if not dprx.link.capabilities.link_caps_status().dsc: - return OPFDialogAnswer.ABORT - - incorrect_crc = [0xFFFF, 0xFFFF, 0xFFFF, 0x1111, 0x1111, 0x1111] - - def load_dsc(handle: int, values: list) -> OPFDialogAnswer: - TSIX_TS_SetConfigItem(handle, TSI_DPRX_DSC_TEST_CRC, values, data_count=6) return OPFDialogAnswer.FAIL # TODO: Need to change on public interface. Temporary solution. @@ -599,140 +677,153 @@ class OPFFunctions: __getattribute__('_MemoryManager__io'). \ __getattribute__('device_handle') - iterations = 5 - - for i in range(iterations): - # capture frame - try: - dprx.video_capturer.start(frames_count=1) - vf = dprx.video_capturer.capture_result.buffer[-1] - dprx.video_capturer.stop() - except BaseException: - dprx.video_capturer.stop() - return load_dsc(device_handle, incorrect_crc) - - def create_reference_image(video_frame, crc_values: list): - try: - pps_info = DSCL_ExtractPPSFromData(video_frame.data) - except BaseException: - return - - sampling = UICL_Sampling.Sampling_444 - if pps_info.is_yuv(): - if pps_info.is_420(): - sampling = UICL_Sampling.Sampling_420 - elif pps_info.is_422(): - sampling = UICL_Sampling.Sampling_422 - elif pps_info.is_simple_422(): - sampling = UICL_Sampling.Sampling_422 - - image = UICL_Image() - parameters = UICL_ImageParameters() - parameters.Width = pps_info.width() - parameters.Height = pps_info.height() - parameters.BitsPerColor = pps_info.bpc() - parameters.Alignment = UICL_Alignment.Alignment_LSB - parameters.IsFullRange = False - - if pps_info.is_yuv(): - parameters.Colorspace = UICL_Colorspace.Colorspace_YCbCr - parameters.Colorimetry = UICL_Colorimetry.Colorimetry_ITU_R_BT709 - parameters.Sampling = sampling - parameters.ComponentOrder = UICL_ComponentOrder.Order_YCbCr - parameters.Packing = UICL_Packing.Packing_Planar - image.Parameters = parameters - - try: - image.DataSize = UICL_GetRequiredBufferSize(image) - image.DataPtr = (c_uint8 * image.DataSize)() - if use_3tap: - res = UICL_GeneratePattern_3Tap(image, 1) - else: - res = UICL_GeneratePattern(image, 1) - - if res < UICL_SUCCESS: - return - - except BaseException: - return - else: - parameters.Colorspace = UICL_Colorspace.Colorspace_RGB - parameters.Colorimetry = UICL_Colorimetry.Colorimetry_Unknown - parameters.Sampling = sampling - parameters.ComponentOrder = UICL_ComponentOrder.Order_RGB - parameters.Packing = UICL_Packing.Packing_Packed - image.Parameters = parameters - - try: - image.DataSize = UICL_GetRequiredBufferSize(image) - image.DataPtr = (c_uint8 * image.DataSize)() - if use_3tap: - res = UICL_GeneratePattern_3Tap(image, 0) - else: - res = UICL_GeneratePattern(image, 0) - - if res < UICL_SUCCESS: - return - - except BaseException: - return - - dsc_encoded_image = DSCL_Encode(image, pps_info) - OPFFunctions.g_vf = dscl_image_to_dsc_vf(dsc_encoded_image) - dsc_decoded_uicl_image = DSCL_Decode(dsc_encoded_image) - - reference_image_crc = UICL_CRC16() - try: - res = UICL_CalculateCRC16(dsc_decoded_uicl_image, reference_image_crc) - if res < UICL_SUCCESS: - crc_values.extend([0xFFFF, 0xFFFF, 0xFFFF]) - else: - crc_values.extend([reference_image_crc.R, reference_image_crc.G, reference_image_crc.B]) - except BaseException: - return - - def decompress_dsc(video_frame, crc_values: list): - decoded_captured_vf = decode_video_frame(video_frame) - uicl_decoded_image_2 = image_from_vf(decoded_captured_vf) - decompressed_image_crc = UICL_CRC16() - try: - res = UICL_CalculateCRC16(uicl_decoded_image_2, decompressed_image_crc) - if res < UICL_SUCCESS: - crc_values.extend([0x1111, 0x1111, 0x1111]) - else: - crc_values.extend([decompressed_image_crc.R, decompressed_image_crc.G, - decompressed_image_crc.B]) - except BaseException: - return - - reference_image_crc_values = [] - decompressed_image_crc_values = [] - - thread_create_reference_image = threading.Thread(target=create_reference_image, - args=(vf, reference_image_crc_values)) - thread_decompressed_image = threading.Thread(target=decompress_dsc, - args=(vf, decompressed_image_crc_values)) - - thread_create_reference_image.start() - thread_decompressed_image.start() - - thread_create_reference_image.join() - thread_decompressed_image.join() - - if len(reference_image_crc_values) > 0 and len(decompressed_image_crc_values) > 0 and \ - ((reference_image_crc_values == decompressed_image_crc_values) or - (reference_image_crc_values != decompressed_image_crc_values and (i == iterations - 1))): - # Write crc to register - load_dsc(device_handle, [decompressed_image_crc_values[0], - decompressed_image_crc_values[1], - decompressed_image_crc_values[2], - reference_image_crc_values[0], - reference_image_crc_values[1], - reference_image_crc_values[2]]) - + def upload_dut_and_te_crc(handle: int, values: list) -> OPFDialogAnswer: + if tsi.TSIX_TS_SetConfigItem(handle, p_ci.TSI_DPRX_DSC_TEST_CRC, values, data_count=6) > ci.TSI_SUCCESS: return OPFDialogAnswer.PROCEED + else: + return OPFDialogAnswer.FAIL - return load_dsc(device_handle, incorrect_crc) + def create_reference_image(video_frame, crc_value: list): + try: + pps_info = DSCL_ExtractPPSFromData(video_frame.data) + except BaseException: + return + + sampling = UICL_Sampling.Sampling_444 + if pps_info.is_yuv(): + if pps_info.is_420(): + sampling = UICL_Sampling.Sampling_420 + elif pps_info.is_422(): + sampling = UICL_Sampling.Sampling_422 + elif pps_info.is_simple_422(): + sampling = UICL_Sampling.Sampling_422 + + image = UICL_Image() + parameters = UICL_ImageParameters() + parameters.Width = pps_info.width() + parameters.Height = pps_info.height() + parameters.BitsPerColor = pps_info.bpc() + parameters.Alignment = UICL_Alignment.Alignment_LSB + parameters.IsFullRange = False + + if pps_info.is_yuv(): + parameters.Colorspace = UICL_Colorspace.Colorspace_YCbCr + parameters.Colorimetry = UICL_Colorimetry.Colorimetry_ITU_R_BT709 + parameters.Sampling = sampling + parameters.ComponentOrder = UICL_ComponentOrder.Order_YCbCr + parameters.Packing = UICL_Packing.Packing_Planar + image.Parameters = parameters + + try: + image.DataSize = UICL_GetRequiredBufferSize(image) + image.DataPtr = (c_uint8 * image.DataSize)() + if use_3tap: + res = UICL_GeneratePattern_3Tap(image, 1) + else: + res = UICL_GeneratePattern(image, 1) + + if res < UICL_SUCCESS: + return + + except BaseException: + return + else: + parameters.Colorspace = UICL_Colorspace.Colorspace_RGB + parameters.Colorimetry = UICL_Colorimetry.Colorimetry_Unknown + parameters.Sampling = sampling + parameters.ComponentOrder = UICL_ComponentOrder.Order_RGB + parameters.Packing = UICL_Packing.Packing_Packed + image.Parameters = parameters + + try: + image.DataSize = UICL_GetRequiredBufferSize(image) + image.DataPtr = (c_uint8 * image.DataSize)() + if use_3tap: + res = UICL_GeneratePattern_3Tap(image, 0) + else: + res = UICL_GeneratePattern(image, 0) + + if res < UICL_SUCCESS: + return + + except BaseException: + return + + dsc_encoded_image = DSCL_Encode(image, pps_info) + OPFFunctions.g_vf = dscl_image_to_dsc_vf(dsc_encoded_image) + dsc_decoded_uicl_image = DSCL_Decode(dsc_encoded_image) + + reference_image_crc = UICL_CRC16() + try: + res = UICL_CalculateCRC16(dsc_decoded_uicl_image, reference_image_crc) + if res >= UICL_SUCCESS: + crc = [reference_image_crc.R, reference_image_crc.G, reference_image_crc.B] + logging.info(f"TE successfully generated image from DUT's PPS and calculated CRC: {crc}") + crc_value[:] = crc + else: + logging.error(f"TE failed to generate image from DUT's PPS without exception with error: {res}") + except BaseException as exc: + logging.error(f"TE failed to generated image fro DUT's PPS due an exception: {exc}") + + def decompress_dsc(video_frame, crc_value: list): + decoded_captured_vf = decode_video_frame(video_frame) + uicl_decoded_image_2 = image_from_vf(decoded_captured_vf) + decompressed_image_crc = UICL_CRC16() + try: + res = UICL_CalculateCRC16(uicl_decoded_image_2, decompressed_image_crc) + if res >= UICL_SUCCESS: + crc = [decompressed_image_crc.R, decompressed_image_crc.G, decompressed_image_crc.B] + logging.info(f"DUT's DSC CRC successfully calculated: {crc}") + crc_value[:] = crc + else: + logging.error(f"DUT's DSC CRC calculation failed, without exception: {res}") + except BaseException as exc: + logging.error(f"Failed to decompress DUT's DSC image due an exception: {exc}") + + reference_image_crc_values = [0x0BAD, 0x0BAD, 0x0BAD] + decompressed_image_crc_values = [0xBAD0, 0xBAD0, 0xBAD0] + max_frames_to_validate = 5 + + try: + dprx.video_capturer.start() + + for frame_idx in range(1, max_frames_to_validate + 1): + try: + logging.info(f"Iteration {frame_idx}. Start frame capturing.") + frame = dprx.video_capturer.pop_element() + + thread_create_reference_image = threading.Thread(target=create_reference_image, + args=(frame, reference_image_crc_values)) + thread_decompressed_image = threading.Thread(target=decompress_dsc, + args=(frame, decompressed_image_crc_values)) + + thread_create_reference_image.start() + thread_decompressed_image.start() + + thread_create_reference_image.join() + thread_decompressed_image.join() + + if reference_image_crc_values == decompressed_image_crc_values: + logging.info(f"Frame {frame_idx} is OK.") + break + else: + te_crc_str = [f"0x{value:04X}" for value in reference_image_crc_values] + dut_crc_str = [f"0x{value:04X}" for value in decompressed_image_crc_values] + logging.info(f"Frame {frame_idx} is NOT OK. " + f"TE CRC: {te_crc_str}. " + f"DUT CRC: {dut_crc_str}.") + + except BaseException as exception: + logging.error(f"Frame {frame_idx} is NOT OK. Exception: {exception}") + + except BaseException as exc: + logging.error(f"Failed to process OPF 19 due an exception: {exc}") + finally: + dprx.video_capturer.stop() + logging.info(f"Capturing has been stopped.") + combined_crc_list = decompressed_image_crc_values + reference_image_crc_values + logging.info("OPF 19 finished.") + return upload_dut_and_te_crc(device_handle, combined_crc_list) @staticmethod def opf_20_handler(dptx, dprx, res_x, res_y, res_frate, res_bpc, col_format, col_range, col_yc, tim_std, @@ -742,6 +833,14 @@ class OPFFunctions: logging.info((res_x, res_y, res_frate, res_bpc, col_format, col_range, col_yc, tim_std, pattern_name)) + if res_x == 0 and res_y == 0: + logging.info("Received request to disable PG.") + dptx.pg.set_pattern(pattern=UniTAP.VideoPattern.Disabled) + res = dptx.pg.apply() + logging.info(f"PG perform apply. Success: {res}.") + + return UniTAP.OPFDialogAnswer.PASS if res else UniTAP.OPFDialogAnswer.FAIL + if pattern_name is not None: if pattern_name == 'No Video': pattern_name = VideoPattern.Disabled @@ -812,7 +911,7 @@ class OPFFunctions: audio_mode.bits = sample_size audio_mode.sample_rate = sample_freq audio_pattern_value = UniTAP.AudioPattern.SignalSawtooth if audio_pattern.find("Sawtooth") != -1 else ( - UniTAP.AudioPattern.SignalSine) + UniTAP.AudioPattern.SignalSine) dptx.ag.setup(audio_mode=audio_mode, audio_pattern=audio_pattern_value, @@ -823,6 +922,18 @@ class OPFFunctions: return OPFDialogAnswer.ABORT return OPFDialogAnswer.PROCEED + @staticmethod + def opf_22_handler(dptx, dprx, message: str) -> OPFDialogAnswer: + return OPFDialogAnswer.PROCEED + + @staticmethod + def opf_23_handler(dptx, dprx, message: str) -> OPFDialogAnswer: + return OPFDialogAnswer.PROCEED + + @staticmethod + def opf_24_handler(dptx, dprx, message: str) -> OPFDialogAnswer: + return OPFDialogAnswer.PROCEED + @staticmethod def opf_101_handler(dptx, dprx, message: str) -> OPFDialogAnswer: if not OPFFunctions.check_dprx(dprx): @@ -834,7 +945,7 @@ class OPFFunctions: return UniTAP.OPFDialogAnswer.PASS if len( dprx.audio_capturer.capture_result.buffer) > 0 else UniTAP.OPFDialogAnswer.FAIL except BaseException as e: - print(f"Cannot capture audio. Error: {e}") + logging.error(f"Cannot capture audio. Error: {e}") return UniTAP.OPFDialogAnswer.FAIL @staticmethod @@ -894,7 +1005,7 @@ class OPFFunctions: if len(vf.data) > 0: return OPFDialogAnswer.PASS - return OPFDialogAnswer.FAIL + return OPFDialogAnswer.FAIL @staticmethod def opf_103_handler(dptx, dprx, width, height, rate, color_format, is_block_prediction_enabled, bpc, @@ -926,7 +1037,7 @@ class OPFFunctions: OPFFunctions.g_h_slice_size = h_slice_size OPFFunctions.g_v_slice_size = v_slice_size - res, suite_id = TSIX_TS_GetConfigItem(device_handle, TSI_SELECT_SUITE, c_uint32) + res, suite_id = tsi.TSIX_TS_GetConfigItem(device_handle, p_ci.TSI_SELECT_SUITE, c_uint32) if res > 0: suite_id = TestGroupId(suite_id) else: @@ -936,10 +1047,12 @@ class OPFFunctions: try: if suite_id in [TestGroupId.DP_TX_LL_CTS, TestGroupId.DP_TX_LL_CTS_DSC, TestGroupId.DP_TX_DISPLAYID, TestGroupId.DP_TX_ADAPTIVESYNC]: - res, is_simple_as_444 = TSIX_TS_GetConfigItem(device_handle, TSI_DP14_SINKCTS_SUPPORT_444CRC, c_uint32) + res, is_simple_as_444 = tsi.TSIX_TS_GetConfigItem(device_handle, ci.TSI_DP14_SINKCTS_SUPPORT_444CRC, + c_uint32) elif suite_id in [TestGroupId.DP_2_1_TX_LL_CTS, TestGroupId.DP_2_1_TX_DSC_CTS, TestGroupId.DP_2_1_TX_DISPAYID, TestGroupId.DP_2_1_TX_ADAPTIVESYNC]: - res, is_simple_as_444 = TSIX_TS_GetConfigItem(device_handle, TSI_DP20_SINKCTS_SUPPORT_444CRC, c_uint32) + res, is_simple_as_444 = tsi.TSIX_TS_GetConfigItem(device_handle, ci.TSI_DP20_SINKCTS_SUPPORT_444CRC, + c_uint32) except BaseException as e: pass @@ -964,18 +1077,18 @@ class OPFFunctions: OPFFunctions.g_vm = copy.deepcopy(encoded_video_frame) - TSIX_TS_SetConfigItem(device_handle, TSI_MEMORY_LAYOUT, len(encoded_video_frame.data), c_uint64) - TSIX_TS_SetConfigItem(device_handle, TSI_MEMORY_BLOCK_INDEX, 0, data_size=4) - TSIX_TS_SetConfigItem(device_handle, TSI_MEMORY_WRITE_W, bytearray(encoded_video_frame.data), - data_type=c_uint8, - data_count=len(encoded_video_frame.data)) - TSIX_TS_SetConfigItem(device_handle, TSI_DSC_MEMORY_BLOCK, 0) - TSIX_TS_SetConfigItem(device_handle, TSI_DSC_DATA_SIZE, len(encoded_video_frame.data)) + tsi.TSIX_TS_SetConfigItem(device_handle, ci.TSI_MEMORY_LAYOUT, len(encoded_video_frame.data), c_uint64) + tsi.TSIX_TS_SetConfigItem(device_handle, ci.TSI_MEMORY_BLOCK_INDEX, 0, data_size=4) + tsi.TSIX_TS_SetConfigItem(device_handle, ci.TSI_MEMORY_WRITE_W, bytearray(encoded_video_frame.data), + data_type=c_uint8, + data_count=len(encoded_video_frame.data)) + tsi.TSIX_TS_SetConfigItem(device_handle, p_ci.TSI_DSC_MEMORY_BLOCK, 0) + tsi.TSIX_TS_SetConfigItem(device_handle, p_ci.TSI_DSC_DATA_SIZE, len(encoded_video_frame.data)) decoded_vf = decode_video_frame(encoded_video_frame) crc0, crc1, crc2 = calculate_crc(decoded_vf) - TSIX_TS_SetConfigItem(device_handle, TSI_DSC_TX_CRC, [crc0, crc1, crc2], data_count=3) + tsi.TSIX_TS_SetConfigItem(device_handle, p_ci.TSI_DSC_TX_CRC, [crc0, crc1, crc2], data_count=3) return OPFDialogAnswer.PROCEED @@ -1020,14 +1133,17 @@ class OPFFunctions: vf.data[pps_size + slice_size:slice_size * 2]: return OPFDialogAnswer.PASS else: - print(f"Frame {i + 1}: Image looks good and distortion free for slice #2. It is wrong.") + logging.info( + f"Frame {i + 1}: Image looks good and distortion free for slice #2. It is wrong.") else: - print( + logging.info( f"Frame {i + 1}: Image does not look good and distortion free for slice #4. It is wrong.") else: - print(f"Frame {i + 1}: Image does not look good and distortion free for slice #3. It is wrong.") + logging.info( + f"Frame {i + 1}: Image does not look good and distortion free for slice #3. It is wrong.") else: - print(f"Frame {i + 1}: Image does not look good and distortion free for slice #1. It is wrong.") + logging.info( + f"Frame {i + 1}: Image does not look good and distortion free for slice #1. It is wrong.") return OPFDialogAnswer.FAIL @@ -1043,6 +1159,66 @@ class OPFFunctions: def opf_107_handler(dptx, dprx, message: str) -> OPFDialogAnswer: return OPFFunctions.opf_pass_handler(dptx, dprx, message) + @staticmethod + def opf_108_handler(dptx, dprx, *args) -> OPFDialogAnswer: + if not OPFFunctions.check_dprx(dprx): + return OPFDialogAnswer.ABORT + + if len(args) == 4: + audio_pattern, sample_rate, sample_size, ch_count = args + else: + audio_pattern, sample_rate, sample_size, ch_count = None, None, None, None + + logging.info(audio_pattern, sample_rate, sample_size, ch_count) + + try: + dprx.audio_capturer.start(10) + dprx.audio_capturer.stop() + + if len(dprx.audio_capturer.capture_result.buffer) <= 0: + logging.info("Audio buffer is empty") + return UniTAP.OPFDialogAnswer.FAIL + + if audio_pattern is None: + logging.info("Default 108 OPF, check audio availability") + return UniTAP.OPFDialogAnswer.PASS if len(dprx.audio_capturer.capture_result.buffer) > 0 else \ + UniTAP.OPFDialogAnswer.FAIL + + def check_audio_frame(index, ch_count, sample_freq, sample_size) -> bool: + + frame = dprx.audio_capturer.capture_result.buffer[index] + _data = list(frame.data) + length = len(_data) + zero_count = _data.count(0) + + is_only_zero = zero_count == length + active_channel_count = OPFFunctions.get_active_channel_count(raw_data=frame.data, + bit_depths=[frame.sample_size], + channel_range=[frame.channel_count], + expected_channels=ch_count + ) + + logging.info(f"Frame index[{index}]: Len - {length}, Zero count - {zero_count}, " + f"Reference channel count - {ch_count}, Captured active channel count - {active_channel_count}, " + f"Reference sample rate - {sample_freq}, Captured sample rate - {frame.sample_rate}\n") + return not is_only_zero and \ + active_channel_count == ch_count and \ + frame.sample_rate == sample_freq and \ + frame.sample_size == sample_size + + buffer_len = len(dprx.audio_capturer.capture_result.buffer) + + state = buffer_len > 0 and \ + (check_audio_frame(0, ch_count, sample_rate, sample_size) or + check_audio_frame(int(buffer_len / 2), ch_count, sample_rate, sample_size) or + check_audio_frame(buffer_len - 1, ch_count, sample_rate, sample_size)) + + return UniTAP.OPFDialogAnswer.PASS if state else UniTAP.OPFDialogAnswer.FAIL + + except BaseException as e: + logging.error(f"Cannot capture audio. Error: {e}") + return UniTAP.OPFDialogAnswer.FAIL + @staticmethod def opf_120_handler(dptx, dprx, res_x, res_y, res_frate, res_bpc, color_format) -> OPFDialogAnswer: if not OPFFunctions.check_dprx(dprx): @@ -1256,6 +1432,38 @@ class OPFFunctions: else: return OPFDialogAnswer.ABORT + @staticmethod + def opf_146_handler(dptx, dprx, res_x, res_y, rate): + if not OPFFunctions.check_dptx(dptx): + logging.error("DPTX is not initialized") + return OPFDialogAnswer.ABORT + + logging.info(res_x, res_y, rate) + + return OPFDialogAnswer.PROCEED + + @staticmethod + def opf_147_handler(dptx, dprx, rate): + if not OPFFunctions.check_dptx(dptx): + logging.error("DPTX is not initialized") + return OPFDialogAnswer.ABORT + + logging.info(f"Refresh rate passed from OPF: {rate}") + + dptx.pg.set_as_config(as_config=FixedASParams(refresh_rate=rate, + divide_by_1_001=False, + increase_lines=100, + decrease_lines=100)) + res_pg = dptx.pg.apply() + + if not res_pg: + logging.info("DPTX pattern is not applied") + return OPFDialogAnswer.ABORT + + time.sleep(1) + + return OPFDialogAnswer.PROCEED + @staticmethod def opf_150_handler(dptx, dprx, message: str) -> OPFDialogAnswer: return OPFFunctions.opf_pass_handler(dptx, dprx, message) @@ -1342,7 +1550,7 @@ class OPFFunctions: @staticmethod def check_dsc_content_library(*args): width, height, color_mode, is_block_prediction_enabled, bpc, bpp, h_slice_number, v_slice_number, \ - compression_info, dsc_v_major, dsc_v_minor, data_info = args + compression_info, dsc_v_major, dsc_v_minor, data_info = args if OPFFunctions.dsc_content_library_path != "": if not os.path.exists(OPFFunctions.dsc_content_library_path): os.makedirs(OPFFunctions.dsc_content_library_path) @@ -1375,7 +1583,7 @@ class OPFFunctions: @staticmethod def get_compression_info(*args): v_slice_size, h_slice_size, bpp, color_mode, buffer_bit_depth, is_block_prediction_enabled, dsc_v_major, \ - dsc_v_minor, is_simple_as_444 = args + dsc_v_minor, is_simple_as_444 = args compression_info = CompressionInfo() compression_info.v_slice_size = v_slice_size @@ -1388,3 +1596,94 @@ class OPFFunctions: compression_info.is_simple_as_444 = is_simple_as_444 return compression_info + + @staticmethod + def read_pcm(raw_data, sample_size): + """ + Read raw PCM data from file into a list of int32 values. + Handles 16, 20, and 24-bit samples (little-endian). + """ + if sample_size == 16: + if len(raw_data) % 2 != 0: + raise ValueError("File length not divisible by 2 for 16-bit audio") + result = [] + for i in range(0, len(raw_data), 2): + sample = int.from_bytes(raw_data[i:i + 2], byteorder='little', signed=True) + result.append(sample) + return result, 32767 + elif sample_size == 20 or sample_size == 24: + if len(raw_data) % 3 != 0: + raise ValueError("File length not divisible by 3 for 24/20-bit audio") + result = [] + for i in range(0, len(raw_data), 3): + val = (raw_data[i] | + (raw_data[i + 1] << 8) | + (raw_data[i + 2] << 16)) + sign_mask = 1 << 23 + val = (val & (sign_mask - 1)) - (val & sign_mask) + result.append(val) + return result, (1 << 23) - 1 + else: + raise ValueError(f"Unsupported bit depth: {sample_size}") + + @staticmethod + def get_active_channel_count(raw_data, bit_depths: list, channel_range: list, expected_channels: int, + rms_threshold=1e-3, nonzero_frac_threshold=1e-4): + """ + Try multiple bit depths and channel counts, report active channels. + """ + active_count = 0 + for bd in bit_depths: + try: + data, dtype_max = OPFFunctions.read_pcm(raw_data, bd) + except Exception as e: + logging.info(f"[{bd}-bit] Error: {e}") + continue + + logging.info(f"\n=== Testing bit depth {bd} ===") + + for nch in [expected_channels] + [ch for ch in channel_range if ch != expected_channels]: + if len(data) % nch != 0: + logging.info(f"Skipping {nch} channels: data length {len(data)} not divisible by {nch}") + continue + frames = len(data) // nch + + arr = [] + for f in range(frames): + frame = data[f * nch:(f + 1) * nch] + arr.append(frame) + + rms = [] + peak = [] + nonzero_frac = [] + for ch in range(nch): + channel_data = [arr[f][ch] for f in range(frames)] + + mean_square = sum(x * x for x in channel_data) / frames + rms.append(mean_square ** 0.5) + + peak.append(max(abs(x) for x in channel_data)) + + nonzero_count = sum(1 for x in channel_data if x != 0) + nonzero_frac.append(nonzero_count / frames) + + norm_rms = [r / dtype_max for r in rms] + norm_peak = [p / dtype_max for p in peak] + + logging.info(f"\nAssuming {nch} channel(s):") + channel_active_count = 0 + for ch in range(nch): + active = (norm_rms[ch] > rms_threshold or + nonzero_frac[ch] > nonzero_frac_threshold) + if active: + channel_active_count += 1 + logging.info(f" Ch{ch}: normRMS={norm_rms[ch]:.6f}, " + f"normPeak={norm_peak[ch]:.6f}, " + f"nonzero={nonzero_frac[ch]:.6f}, ACTIVE={active}") + logging.info(f" => Detected {channel_active_count}/{nch} active channels") + + if channel_active_count == expected_channels: + active_count = channel_active_count + break + + return active_count diff --git a/UniTAP/dev/modules/opf/parsers/main_handle.py b/UniTAP/dev/modules/opf/parsers/main_handle.py index 5d4f6f4..7394c01 100644 --- a/UniTAP/dev/modules/opf/parsers/main_handle.py +++ b/UniTAP/dev/modules/opf/parsers/main_handle.py @@ -8,7 +8,7 @@ class OPFParametersParser: return parse_link_training(args[3]) if opf_id in [2]: return parse_video_mode_2(args[3]) - if opf_id in [3, 4, 5, 7, 8, 11, 12, 13, 14, 15, 16, 17, 101, 102, 104, 105, 106, 121, 122, 123, 145, 150, 152, 161]: + if opf_id in [3, 4, 5, 7, 8, 11, 12, 13, 14, 15, 16, 17, 22, 23, 24, 101, 102, 104, 105, 106, 121, 122, 123, 145, 150, 152, 161]: return parse_message(args[1]) if opf_id in [6]: return parse_video_mode_6(args[1], args[3]) @@ -26,6 +26,11 @@ class OPFParametersParser: return parse_opf_21(args[3]) if opf_id in [103]: return parse_video_mode_103(args[3]) + if opf_id in [108]: + if len(args) > 3: + return parse_audio_mode_108(args[3]) + else: + return parse_message(args[1]) if opf_id in [120]: return parse_video_mode_120(args[3]) if opf_id in [140]: @@ -38,6 +43,10 @@ class OPFParametersParser: return parse_video_mode_143(args[3]) if opf_id in [144]: return parse_video_mode_144(args[3]) + if opf_id in [146]: + return parse_video_mode_146(args[3]) + if opf_id in [147]: + return parse_video_mode_147(args[3]) if opf_id in [151]: return parse_video_mode_103(args[3]) else: diff --git a/UniTAP/dev/modules/opf/parsers/opf_utils.py b/UniTAP/dev/modules/opf/parsers/opf_utils.py index 7989b17..71273cf 100644 --- a/UniTAP/dev/modules/opf/parsers/opf_utils.py +++ b/UniTAP/dev/modules/opf/parsers/opf_utils.py @@ -1,10 +1,10 @@ import re from typing import List, Optional -from UniTAP.libs.lib_tsi.tsi_types import TSI_OPF_PARAMETER +import UniTAP.libs.lib_tsi.tsi_types as ci -def parse_link_training(parameters_list: List[TSI_OPF_PARAMETER]): +def parse_link_training(parameters_list: List[ci.TSI_OPF_PARAMETER]): dp_lanes = 0 dp_link_rate = 0 encoding = None @@ -29,7 +29,7 @@ def parse_link_training(parameters_list: List[TSI_OPF_PARAMETER]): return int(dp_lanes), float(dp_link_rate), encoding -def parse_video_mode_2(parameters_list: List[TSI_OPF_PARAMETER]): +def parse_video_mode_2(parameters_list: List[ci.TSI_OPF_PARAMETER]): res_x = 0 res_y = 0 res_frate = 0 @@ -48,7 +48,7 @@ def parse_video_mode_2(parameters_list: List[TSI_OPF_PARAMETER]): return int(res_x), int(res_y), int(float(res_frate) * 1000), int(res_bpc), tim_std, tim_rb -def parse_video_mode_6(pattern_request: str, parameters_list: List[TSI_OPF_PARAMETER]): +def parse_video_mode_6(pattern_request: str, parameters_list: List[ci.TSI_OPF_PARAMETER]): res_x = 0 res_y = 0 res_frate = 0 @@ -79,7 +79,7 @@ def parse_video_mode_6(pattern_request: str, parameters_list: List[TSI_OPF_PARAM res_bpc), timing_standard, col_format, col_range, col_yc, pattern_name -def parse_video_mode_9(parameters_list: List[TSI_OPF_PARAMETER], pattern_request: Optional[str] = None): +def parse_video_mode_9(parameters_list: List[ci.TSI_OPF_PARAMETER], pattern_request: Optional[str] = None): res_x = 0 res_y = 0 res_frate = 0 @@ -101,7 +101,7 @@ def parse_video_mode_9(parameters_list: List[TSI_OPF_PARAMETER], pattern_request return int(res_x), int(res_y), int(float(res_frate) * 1000), int(res_bpc), tim_std, pattern_name -def parse_opf_10(parameters_list: List[TSI_OPF_PARAMETER]): +def parse_opf_10(parameters_list: List[ci.TSI_OPF_PARAMETER]): res_x, res_y, res_frate, res_bpc, timing_standard = [0] * 5 audio_pattern = '' @@ -136,7 +136,7 @@ def parse_message(message: str): return [str(message)] -def parse_video_mode_19(parameters_list: List[TSI_OPF_PARAMETER]): +def parse_video_mode_19(parameters_list: List[ci.TSI_OPF_PARAMETER]): use_3tap = False for param in parameters_list: if param.name == 'Conversion type filter': @@ -144,7 +144,7 @@ def parse_video_mode_19(parameters_list: List[TSI_OPF_PARAMETER]): return [use_3tap] -def parse_video_mode_18(parameters_list: List[TSI_OPF_PARAMETER]): +def parse_video_mode_18(parameters_list: List[ci.TSI_OPF_PARAMETER]): res_x = 0 res_y = 0 res_frate = 0 @@ -166,7 +166,7 @@ def parse_video_mode_18(parameters_list: List[TSI_OPF_PARAMETER]): return int(res_x), int(res_y), int(float(res_frate) * 1000), int(res_bpc), col_format, col_range, col_yc, tim_std -def parse_video_mode_20(parameters_list: List[TSI_OPF_PARAMETER], pattern_request: Optional[str] = None): +def parse_video_mode_20(parameters_list: List[ci.TSI_OPF_PARAMETER], pattern_request: Optional[str] = None): pattern_name = None res_x = 0 res_y = 0 @@ -186,10 +186,10 @@ def parse_video_mode_20(parameters_list: List[TSI_OPF_PARAMETER], pattern_reques enable_dsc = False for param in parameters_list: - if param.name == 'Video Mode': - line = param.description.split("Hz") - res_x, res_y, res_frate = re.findall(r'\d+', line[0]) - tim_std = re.findall(r'VIC \d+|DMT \w+|UFG \d+|CVT RB\d+|CVT|OVT', line[1]) + if param.name == 'Video Mode' and param.description != "Disable Video": + line = param.description.split("Hz") + res_x, res_y, res_frate = re.findall(r'\d+', line[0]) + tim_std = re.findall(r'VIC \d+|DMT \w+|UFG \d+|CVT RB\d+|CVT|OVT', line[1]) elif param.name == 'Color Format': color_format_str = param.description result = re.findall(r'RGB|YCbCr 4:2:2|YCbCr 4:4:4|YCbCr 4:2:0|Simple 4:2:2|ITU-601|ITU-709|\d+|VESA|CTA', @@ -203,7 +203,7 @@ def parse_video_mode_20(parameters_list: List[TSI_OPF_PARAMETER], pattern_reques pattern_name, enable_dsc -def parse_opf_21(parameters_list: List[TSI_OPF_PARAMETER]): +def parse_opf_21(parameters_list: List[ci.TSI_OPF_PARAMETER]): audio_pattern = '' ch_count = 0 sample_freq = 0 @@ -230,7 +230,7 @@ def parse_opf_21(parameters_list: List[TSI_OPF_PARAMETER]): ch_info if len(ch_info) > 0 else None) -def parse_video_mode_103(parameters_list: List[TSI_OPF_PARAMETER]): +def parse_video_mode_103(parameters_list: List[ci.TSI_OPF_PARAMETER]): width = 0 height = 0 res_frate = 60000 @@ -268,7 +268,26 @@ def parse_video_mode_103(parameters_list: List[TSI_OPF_PARAMETER]): int(h_slice_number), int(buffer_bit_depth), int(v_slice_number), int(dsc_v_major), int(dsc_v_minor) -def parse_video_mode_120(parameters_list: List[TSI_OPF_PARAMETER]): +def parse_audio_mode_108(parameters_list: List[ci.TSI_OPF_PARAMETER]): + audio_pattern = '' + ch_count = 0 + sample_rate = 0 + sample_size = 0 + + for ind, param in enumerate(parameters_list): + if param.name == 'Audio test pattern': + audio_pattern = param.description + elif param.name == 'Sample rate': + sample_rate, = re.findall(r'\d+', param.description) + elif param.name == 'Sample size': + sample_size, = re.findall(r'\d+', param.description) + elif param.name == 'Channels count': + ch_count, = re.findall(r'\d+', param.description) + + return audio_pattern, int(sample_rate), int(sample_size), int(ch_count) + + +def parse_video_mode_120(parameters_list: List[ci.TSI_OPF_PARAMETER]): res_x = 0 res_y = 0 res_frate = 0 @@ -282,7 +301,7 @@ def parse_video_mode_120(parameters_list: List[TSI_OPF_PARAMETER]): return int(res_x), int(res_y), int(float(res_frate) * 1000), int(res_bpc), color_format -def parse_video_mode_140(parameters_list: List[TSI_OPF_PARAMETER]): +def parse_video_mode_140(parameters_list: List[ci.TSI_OPF_PARAMETER]): res_x = 0 res_y = 0 res_frate = 0 @@ -300,7 +319,7 @@ def parse_video_mode_140(parameters_list: List[TSI_OPF_PARAMETER]): return int(res_x), int(res_y), int(float(res_frate) * 1000), tim_std, tim_std_num -def parse_video_mode_141(parameters_list: List[TSI_OPF_PARAMETER]): +def parse_video_mode_141(parameters_list: List[ci.TSI_OPF_PARAMETER]): audio_format = '' channels = 0 size = 0 @@ -313,7 +332,7 @@ def parse_video_mode_141(parameters_list: List[TSI_OPF_PARAMETER]): return audio_format, int(channels), int(size), int(float(rate) * 1000) -def parse_video_mode_143(parameters_list: List[TSI_OPF_PARAMETER]): +def parse_video_mode_143(parameters_list: List[ci.TSI_OPF_PARAMETER]): res_frate = 0 for param in parameters_list: @@ -323,5 +342,23 @@ def parse_video_mode_143(parameters_list: List[TSI_OPF_PARAMETER]): return [int(float(res_frate))] -def parse_video_mode_144(parameters_list: List[TSI_OPF_PARAMETER]): +def parse_video_mode_144(parameters_list: List[ci.TSI_OPF_PARAMETER]): return [parameters_list[0].description] + +def parse_video_mode_146(parameters_list: List[ci.TSI_OPF_PARAMETER]): + res_x = 0 + res_y = 0 + rate = 0 + for param in parameters_list: + if param.name == "Resolution": + res_x, res_y = re.findall(r'\d+', param.description) + if param.name == 'Refresh rate': + rate = re.findall(r'\d+', param.description)[0] + return int(res_x), int(res_y), int(float(rate) * 1000) + +def parse_video_mode_147(parameters_list: List[ci.TSI_OPF_PARAMETER]): + refresh_rate = 0 + for param in parameters_list: + if param.name == 'Refresh rate': + refresh_rate = re.findall(r'\d+', param.description)[0] + return int(refresh_rate) \ No newline at end of file diff --git a/UniTAP/dev/modules/terminal/dev_terminal.py b/UniTAP/dev/modules/terminal/dev_terminal.py index ae414ea..386b668 100644 --- a/UniTAP/dev/modules/terminal/dev_terminal.py +++ b/UniTAP/dev/modules/terminal/dev_terminal.py @@ -1,7 +1,7 @@ import time from UniTAP.libs.lib_tsi.tsi_io import DeviceIO -from UniTAP.libs.lib_tsi.tsi import TSI_TERMINAL_RW from ctypes import c_char +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci class Terminal: @@ -30,7 +30,7 @@ class Terminal: def __execute(self, command): command += '\r' str_len = (len(command) / 4 + (1 if len(command) % 4 else 0)) * 4 - self.__io.set(config_id=TSI_TERMINAL_RW, + self.__io.set(config_id=p_ci.TSI_TERMINAL_RW, data=command, data_type=c_char, data_count=len(command), @@ -41,7 +41,7 @@ class Terminal: start = time.time() result = [] while time.time() - start < timeout: - result = self.__io.get(TSI_TERMINAL_RW, c_char, 1024)[1] + result = self.__io.get(p_ci.TSI_TERMINAL_RW, c_char, 1024)[1] if result[0] != b'\x00': break diff --git a/UniTAP/dev/ports/__init__.py b/UniTAP/dev/ports/__init__.py index 9b16249..28d5252 100644 --- a/UniTAP/dev/ports/__init__.py +++ b/UniTAP/dev/ports/__init__.py @@ -2,6 +2,7 @@ from .dptx5xx import DPTX, DPTX4xx, DPTX5xx from .dprx5xx import DPRX, DPRX4xx, DPRX5xx from .hdrx4xx import HDRX, HDRX4xx from .hdtx4xx import HDTX, HDTX4xx +from .hdrx_earc import HDRX_eARC from .pdc_port import PDC340, PDC424, PDC500 from .modules import * import UniTAP.dev.ports.modules.capturer.bulk as bulk diff --git a/UniTAP/dev/ports/dprx.py b/UniTAP/dev/ports/dprx.py index f2fb187..5b104a5 100644 --- a/UniTAP/dev/ports/dprx.py +++ b/UniTAP/dev/ports/dprx.py @@ -5,9 +5,7 @@ from .modules.edid.edid import EdidSink from .modules.hdcp import HdcpSink from .modules.capturer.event.event_capturer import EventCapturer, EventFilterDpRx, EventFilterUsbc from .modules.link.dp.private_link_rx_types import DPRXHWCaps -from UniTAP.libs.lib_tsi.tsi_types import TSI_DPRX_HDCP_CAPS_R, TSI_DPRX_HDCP_STATUS_R -from UniTAP.libs.lib_tsi.tsi_types import TSI_DPRX_DPCD_BASE_W, TSI_DPRX_DPCD_DATA -from UniTAP.libs.lib_tsi.tsi_types import TSI_PDC_LOG_CONTROL, TSI_DPRX_HW_CAPS_R +import UniTAP.libs.lib_tsi.tsi_types as ci from UniTAP.libs.lib_tsi.tsi_io import PortProtocol @@ -34,11 +32,11 @@ class DPRX(RX): def __init__(self, port_io: PortIO, memory_manager: MemoryManager, capturer: Capturer): super().__init__(port_io, memory_manager, capturer) - hw_caps = port_io.get(TSI_DPRX_HW_CAPS_R, DPRXHWCaps)[1] - self.__dpcd = DPCDRegisters(port_io, TSI_DPRX_DPCD_BASE_W, TSI_DPRX_DPCD_DATA) + hw_caps = port_io.get(ci.TSI_DPRX_HW_CAPS_R, DPRXHWCaps)[1] + self.__dpcd = DPCDRegisters(port_io, ci.TSI_DPRX_DPCD_BASE_W, ci.TSI_DPRX_DPCD_DATA) self.__link = LinkDisplayPortRx(port_io, hw_caps, self.__dpcd) self.__edid = EdidSink(port_io, self.__link.status.mst_stream_count) - self.__hdcp = HdcpSink(port_io, TSI_DPRX_HDCP_CAPS_R, TSI_DPRX_HDCP_STATUS_R) + self.__hdcp = HdcpSink(port_io, ci.TSI_DPRX_HDCP_CAPS_R, ci.TSI_DPRX_HDCP_STATUS_R) self.__video_capturer = VideoCapturerDP(capturer, hw_caps.mst_stream_count) event_filters = [] diff --git a/UniTAP/dev/ports/dprx4xx.py b/UniTAP/dev/ports/dprx4xx.py index 251850b..99020e1 100644 --- a/UniTAP/dev/ports/dprx4xx.py +++ b/UniTAP/dev/ports/dprx4xx.py @@ -4,6 +4,7 @@ from .modules.capturer.bulk.bulk_capturer import BulkCapturer from .modules.edid.edid import DisplayIdSink from .modules.panel_replay import SinkPanelReplay, SinkPanelSelfRefresh from typing import Optional +import UniTAP.libs.lib_tsi.tsi_types as ci class DPRX4xx(DPRX): @@ -26,7 +27,7 @@ class DPRX4xx(DPRX): def __init__(self, port_io: PortIO, memory_manager: MemoryManager, capturer: Capturer): super().__init__(port_io, memory_manager, capturer) - hw_caps = port_io.get(TSI_DPRX_HW_CAPS_R, DPRXHWCaps)[1] + hw_caps = port_io.get(ci.TSI_DPRX_HW_CAPS_R, DPRXHWCaps)[1] self.__fec = FecRx(port_io, self.dpcd) self.__bulk_capturer = BulkCapturer(capturer, memory_manager) self.__display_id = DisplayIdSink(port_io, hw_caps.mst_stream_count) diff --git a/UniTAP/dev/ports/dptx.py b/UniTAP/dev/ports/dptx.py index 7436f59..045f260 100644 --- a/UniTAP/dev/ports/dptx.py +++ b/UniTAP/dev/ports/dptx.py @@ -5,9 +5,7 @@ from .modules.vtg.pg import DpPatternGenerator from .modules.hdcp import HdcpSource from .modules.capturer.event.event_capturer import EventCapturer, EventFilterDpTx, EventFilterUsbc from .modules.link.dp.private_link_tx_types import DPTXHWCaps -from UniTAP.libs.lib_tsi.tsi_types import TSI_DPTX_DPCD_BASE_W, TSI_DPTX_DPCD_DATA -from UniTAP.libs.lib_tsi.tsi_types import TSI_DPTX_HDCP_CAPS_R, TSI_DPTX_HDCP_STATUS_R -from UniTAP.libs.lib_tsi.tsi_types import TSI_DPTX_HW_CAPS_R +import UniTAP.libs.lib_tsi.tsi_types as ci from UniTAP.libs.lib_tsi.tsi_io import PortProtocol @@ -34,12 +32,12 @@ class DPTX(TX): def __init__(self, port_io: PortIO, memory_manager: MemoryManager, capturer: Capturer): super().__init__(port_io, memory_manager, capturer) - hw_caps = port_io.get(TSI_DPTX_HW_CAPS_R, DPTXHWCaps)[1] - self.__dpcd = DPCDRegisters(port_io, TSI_DPTX_DPCD_BASE_W, TSI_DPTX_DPCD_DATA) + hw_caps = port_io.get(ci.TSI_DPTX_HW_CAPS_R, DPTXHWCaps)[1] + self.__dpcd = DPCDRegisters(port_io, ci.TSI_DPTX_DPCD_BASE_W, ci.TSI_DPTX_DPCD_DATA) self.__link = LinkDisplayPortTx(port_io, self.__dpcd, hw_caps) self.__pg = DpPatternGenerator(port_io, memory_manager, 0) self.__edid = EdidSource(port_io, self.__link.max_stream_count) - self.__hdcp = HdcpSource(port_io, TSI_DPTX_HDCP_CAPS_R, TSI_DPTX_HDCP_STATUS_R) + self.__hdcp = HdcpSource(port_io, ci.TSI_DPTX_HDCP_CAPS_R, ci.TSI_DPTX_HDCP_STATUS_R) # event_filters = [e(hw_caps) for e in self.__CHECK_EVENT_FILTER.get(port_io.protocol())] event_filters = [] diff --git a/UniTAP/dev/ports/dptx4xx.py b/UniTAP/dev/ports/dptx4xx.py index fba65ba..240f922 100644 --- a/UniTAP/dev/ports/dptx4xx.py +++ b/UniTAP/dev/ports/dptx4xx.py @@ -2,6 +2,8 @@ from .dptx import * from .modules.fec import FecTx, FECCounters, FECErrorType8b10b from .modules.vtg.pg import DpMstPatternGenerator from .modules.edid.edid import DisplayIdSource +import UniTAP.libs.lib_tsi.tsi_types as ci + class DPTX4xx(DPTX): @@ -21,7 +23,7 @@ class DPTX4xx(DPTX): def __init__(self, port_io: PortIO, memory_manager: MemoryManager, capturer: Capturer): super().__init__(port_io, memory_manager, capturer) - hw_caps = port_io.get(TSI_DPTX_HW_CAPS_R, DPTXHWCaps)[1] + hw_caps = port_io.get(ci.TSI_DPTX_HW_CAPS_R, DPTXHWCaps)[1] self.__fec = FecTx(port_io, self.dpcd) self.__pg = DpMstPatternGenerator(port_io, memory_manager, hw_caps.mst_stream_count) self.__display_id = DisplayIdSource(port_io, hw_caps.mst_stream_count) diff --git a/UniTAP/dev/ports/hdrx.py b/UniTAP/dev/ports/hdrx.py index 72add26..0e63454 100644 --- a/UniTAP/dev/ports/hdrx.py +++ b/UniTAP/dev/ports/hdrx.py @@ -4,8 +4,7 @@ from .modules.link.hdmi.link import HdmiLinkRx from .modules.hdcp import HdcpSink from .modules.cec.cec_rx import CecRx from .modules.capturer.event.event_capturer import EventCapturer, EventFilterHdRx -from UniTAP.libs.lib_tsi.tsi_types import TSI_HDRX_HDCP_CAPS_R, TSI_HDRX_HDCP_STATUS_R -from UniTAP.libs.lib_tsi.tsi_types import TSI_HDRX_LOG_CONTROL +import UniTAP.libs.lib_tsi.tsi_types as ci class HDRX(RX): @@ -30,7 +29,7 @@ class HDRX(RX): self.__link = HdmiLinkRx(port_io) self.__edid = EdidSink(port_io, 1) - self.__hdcp = HdcpSink(port_io, TSI_HDRX_HDCP_CAPS_R, TSI_HDRX_HDCP_STATUS_R) + self.__hdcp = HdcpSink(port_io, ci.TSI_HDRX_HDCP_CAPS_R, ci.TSI_HDRX_HDCP_STATUS_R) self.__event_capturer = EventCapturer(capturer, port_io.index(), [EventFilterHdRx(0)]) self.__video_capturer = VideoCapturerHDMI(capturer, 1) self.__cec = CecRx(port_io) diff --git a/UniTAP/dev/ports/hdrx_earc.py b/UniTAP/dev/ports/hdrx_earc.py new file mode 100644 index 0000000..5321a7d --- /dev/null +++ b/UniTAP/dev/ports/hdrx_earc.py @@ -0,0 +1,30 @@ +from UniTAP.dev.ports.modules.earc.earc_tx import EarcTx +from .hdrx import HDRX, PortIO, MemoryManager, Capturer + + +class HDRX_eARC(HDRX): + + """ + + Main class of `HDRX` object. + Inherited from class `RX`. + Class describes capabilities of 300th (3XX) series of HDMI devices in Sink (RX - receiver) role with eARC support. + + Attributes: + __earc (EarcTx): object of `EarcTx`. + """ + + def __init__(self, port_io: PortIO, memory_manager: MemoryManager, capturer: Capturer): + super().__init__(port_io, memory_manager, capturer) + self.__earc = EarcTx(port_io, memory_manager) + + @property + def earc(self) -> EarcTx: + """ + + Should be used to control link capabilities on Sink (RX - receiver) role. + + Returns: + object of `EarcTx` type. + """ + return self.__earc diff --git a/UniTAP/dev/ports/hdtx.py b/UniTAP/dev/ports/hdtx.py index 461b846..c92fa44 100644 --- a/UniTAP/dev/ports/hdtx.py +++ b/UniTAP/dev/ports/hdtx.py @@ -5,8 +5,8 @@ from .modules.vtg.pg import HdmiPatternGenerator from .modules.hdcp import HdcpSource from .modules.capturer.event.event_capturer import EventCapturer, EventFilterHdTx from .modules.cec.cec_tx import CecTx -from UniTAP.libs.lib_tsi.tsi_types import TSI_HDTX_HDCP_CAPS_R, TSI_HDTX_HDCP_STATUS_R -from UniTAP.libs.lib_tsi.tsi_types import TSI_HDTX_LOG_CONTROL +import UniTAP.libs.lib_tsi.tsi_types as ci + class HDTX(TX): @@ -32,7 +32,7 @@ class HDTX(TX): self.__link = HdmiLinkTx(port_io) self.__edid = EdidSource(port_io, 1) self.__pg = HdmiPatternGenerator(port_io, memory_manager) - self.__hdcp = HdcpSource(port_io, TSI_HDTX_HDCP_CAPS_R, TSI_HDTX_HDCP_STATUS_R) + self.__hdcp = HdcpSource(port_io, ci.TSI_HDTX_HDCP_CAPS_R, ci.TSI_HDTX_HDCP_STATUS_R) self.__event_capturer = EventCapturer(capturer, port_io.index(), [EventFilterHdTx(0)]) self.__cec = CecTx(port_io) diff --git a/UniTAP/dev/ports/modules/__init__.py b/UniTAP/dev/ports/modules/__init__.py index f218638..a2857e1 100644 --- a/UniTAP/dev/ports/modules/__init__.py +++ b/UniTAP/dev/ports/modules/__init__.py @@ -7,5 +7,7 @@ from .hdcp import * from .capturer import * from .edid import * from .panel_replay import * +from .earc import * +from .packet_generator import * import UniTAP.dev.ports.modules.cec as cec import UniTAP.dev.ports.modules.pdc as pdc diff --git a/UniTAP/dev/ports/modules/ag/ag.py b/UniTAP/dev/ports/modules/ag/ag.py index e3ed288..69d6c30 100644 --- a/UniTAP/dev/ports/modules/ag/ag.py +++ b/UniTAP/dev/ports/modules/ag/ag.py @@ -1,4 +1,6 @@ -from UniTAP.libs.lib_tsi.tsi_types import * +from ctypes import c_uint8, c_int, c_int32 + +import UniTAP.libs.lib_tsi.tsi_types as ci from UniTAP.utils import function_scheduler from .ag_utils import * from UniTAP.libs.lib_tsi.tsi_io import PortIO, PortProtocol @@ -43,16 +45,16 @@ class AudioGenerator: self.__memory_manager.make_default() self.__memory_manager.set_memory_block_index(MemoryManager.MemoryOwner.MO_AudioGenerator) - self.__io.set(TSI_AUDGEN_SIGNAL_BLOCK, MemoryManager.MemoryOwner.MO_AudioGenerator.value) + self.__io.set(ci.TSI_AUDGEN_SIGNAL_BLOCK, MemoryManager.MemoryOwner.MO_AudioGenerator.value) self.__memory_manager.memory_write(data, size) - self.__io.set(TSI_AUDGEN_AUDIO_SIZE, size) + self.__io.set(ci.TSI_AUDGEN_AUDIO_SIZE, size) - ag_struct = self.__io.get(TSI_AUDGEN_CONFIG, AudioConfigStructure)[1] + ag_struct = self.__io.get(ci.TSI_AUDGEN_CONFIG, AudioConfigStructure)[1] ag_struct.non_lpcm = 0 ag_struct.loop = 1 audio_sts = create_audio_sts(audio_mode=audio_mode) - self.__io.set(TSI_AUDGEN_CHANNELS_STS, audio_sts, data_type=c_uint8, data_count=len(audio_sts)) + self.__io.set(ci.TSI_AUDGEN_CHANNELS_STS, audio_sts, data_type=c_uint8, data_count=len(audio_sts)) if self.__io.protocol() == PortProtocol.HDMI: tp = 0 @@ -63,16 +65,16 @@ class AudioGenerator: ag_struct.n_selector = 1 ag_struct.cts_selector = 1 - self.__io.set(TSI_AUDGEN_CONFIG, ag_struct.value()) + self.__io.set(ci.TSI_AUDGEN_CONFIG, ag_struct.value()) - self.__io.set(TSI_AUDGEN_PACKET_TYPE, tp) + self.__io.set(ci.TSI_AUDGEN_PACKET_TYPE, tp) else: - self.__io.set(TSI_AUDGEN_CONFIG, ag_struct.value()) + self.__io.set(ci.TSI_AUDGEN_CONFIG, ag_struct.value()) - self.__io.set(TSI_AUDGEN_SIGNAL_TYPE, AudioPattern.CustomAudio.value) - self.__io.set(TSI_AUDGEN_CHANNEL_COUNT, audio_mode.channel_count) - self.__io.set(TSI_AUDGEN_SAMPLE_RATE, audio_mode.sample_rate) - self.__io.set(TSI_AUDGEN_SAMPLE_SIZE, audio_mode.bits) + self.__io.set(ci.TSI_AUDGEN_SIGNAL_TYPE, AudioPattern.CustomAudio.value) + self.__io.set(ci.TSI_AUDGEN_CHANNEL_COUNT, audio_mode.channel_count) + self.__io.set(ci.TSI_AUDGEN_SAMPLE_RATE, audio_mode.sample_rate) + self.__io.set(ci.TSI_AUDGEN_SAMPLE_SIZE, audio_mode.bits) elif isinstance(audio_pattern, AudioPattern): list_sample_rate = [22050, 44100, 88200, 176400, 24000, 48000, 96000, 192000, 32000, 768000] list_bits = [16, 20, 24] @@ -93,16 +95,16 @@ class AudioGenerator: if amplitude not in [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]: raise ValueError(f"'Amplitude' must be more than 0") - memory_block_no = 2 + memory_block_no = 1 self.__memory_manager.make_default() - self.__io.set(TSI_AUDGEN_SIGNAL_BLOCK, memory_block_no) - self.__io.set(TSI_AUDGEN_SIGNAL_TYPE, audio_pattern.value) - self.__io.set(TSI_AUDGEN_CHANNEL_COUNT, audio_mode.channel_count) - self.__io.set(TSI_AUDGEN_SAMPLE_RATE, audio_mode.sample_rate) - self.__io.set(TSI_AUDGEN_SAMPLE_SIZE, audio_mode.bits) - self.__io.set(TSI_AUDGEN_SIGNAL_FREQ, signal_frequency) - self.__io.set(TSI_AUDGEN_SIGNAL_VOLUME, amplitude) + self.__io.set(ci.TSI_AUDGEN_SIGNAL_BLOCK, memory_block_no) + self.__io.set(ci.TSI_AUDGEN_SIGNAL_TYPE, audio_pattern.value) + self.__io.set(ci.TSI_AUDGEN_CHANNEL_COUNT, audio_mode.channel_count) + self.__io.set(ci.TSI_AUDGEN_SAMPLE_RATE, audio_mode.sample_rate) + self.__io.set(ci.TSI_AUDGEN_SAMPLE_SIZE, audio_mode.bits) + self.__io.set(ci.TSI_AUDGEN_SIGNAL_FREQ, signal_frequency) + self.__io.set(ci.TSI_AUDGEN_SIGNAL_VOLUME, amplitude) else: available_variants = '\n'.join([e.name for e in AudioPattern]) raise ValueError(f"Incorrect value of audio pattern - {audio_pattern}\n" @@ -115,7 +117,7 @@ class AudioGenerator: Returns: object of `bool` type - generation was enabled successfully or not. """ - self.__io.set(TSI_W_AUDGEN_CONTROL, 1) + self.__io.set(ci.TSI_W_AUDGEN_CONTROL, 1) def is_apply_ag_success(ag: AudioGenerator): return ag.status == AGStatus.Running @@ -129,7 +131,7 @@ class AudioGenerator: Returns: object of `bool` type - generation was disabled successfully or not. """ - return True if self.__io.set(TSI_W_AUDGEN_CONTROL, 0) >= TSI_SUCCESS else False + return True if self.__io.set(ci.TSI_W_AUDGEN_CONTROL, 0) >= ci.TSI_SUCCESS else False @property def status(self) -> AGStatus: @@ -139,7 +141,7 @@ class AudioGenerator: Returns: object of `AGStatus` type """ - self.__status = AGStatus(self.__io.get(TSI_AUDGEN_STATUS_R, c_int)[1] & 0x1) + self.__status = AGStatus(self.__io.get(ci.TSI_AUDGEN_STATUS_R, c_int)[1] & 0x1) return self.__status @property @@ -150,7 +152,7 @@ class AudioGenerator: Returns: object of `AudioMode` type """ - self.__audio_mode.sample_rate = self.__io.get(TSI_AUDGEN_SAMPLE_RATE, c_int32)[1] - self.__audio_mode.bits = self.__io.get(TSI_AUDGEN_SAMPLE_SIZE, c_int32)[1] - self.__audio_mode.channel_count = self.__io.get(TSI_AUDGEN_CHANNEL_COUNT, c_int32)[1] + self.__audio_mode.sample_rate = self.__io.get(ci.TSI_AUDGEN_SAMPLE_RATE, c_int32)[1] + self.__audio_mode.bits = self.__io.get(ci.TSI_AUDGEN_SAMPLE_SIZE, c_int32)[1] + self.__audio_mode.channel_count = self.__io.get(ci.TSI_AUDGEN_CHANNEL_COUNT, c_int32)[1] return self.__audio_mode diff --git a/UniTAP/dev/ports/modules/ag/ag_utils.py b/UniTAP/dev/ports/modules/ag/ag_utils.py index 453bc9f..5b7083d 100644 --- a/UniTAP/dev/ports/modules/ag/ag_utils.py +++ b/UniTAP/dev/ports/modules/ag/ag_utils.py @@ -1,10 +1,12 @@ import os.path -import warnings import wave import pickle from collections import deque +from ctypes import c_uint32 + +from _ctypes import sizeof + from UniTAP.common.audio_mode import AudioMode, AudioFileFormat -from UniTAP.libs.lib_tsi.tsi import sizeof, c_uint32 def save_to_wave_file(path: str, audio_mode: AudioMode, data: bytearray): diff --git a/UniTAP/dev/ports/modules/ag/earc.py b/UniTAP/dev/ports/modules/ag/earc.py new file mode 100644 index 0000000..7190481 --- /dev/null +++ b/UniTAP/dev/ports/modules/ag/earc.py @@ -0,0 +1,158 @@ +from ctypes import c_uint8, c_int, c_int32 + +import UniTAP.libs.lib_tsi.tsi_types as ci +from UniTAP.utils import function_scheduler +from .ag_utils import * +from UniTAP.libs.lib_tsi.tsi_io import PortIO, PortProtocol +from UniTAP.dev.modules import MemoryManager +from .types import * +from .private_types import * +from typing import Union + + +class AudioGeneratorEARC: + """ + Class `AudioGenerator` allows working with generating audio from Source (TX - transmitter). You can configure + audio generator `setup`, apply settings and start generate audio `apply`, stop generate audio `stop_generate`, + read audio generator `status` and get current `audio_mode`. + """ + def __init__(self, port_io: PortIO, memory_manager: MemoryManager): + self.__io = port_io + self.__memory_manager = memory_manager + self.__status = AGStatus.Unknown + self.__audio_mode = AudioMode() + + def setup(self, audio_mode: AudioMode = AudioMode(), + audio_pattern: Union[AudioPattern, str] = AudioPattern.SignalSine, + signal_frequency: int = 1000, amplitude: int = 60): + """ + Configure audio generator. Possible two variants of configuration: + - From 'wav' or 'bin' file. + - From `AudioPattern` parameters. + + Args: + audio_mode (AudioMode) - object of `AudioMode` + audio_pattern (Union[AudioPattern, str]) - object of `AudioPattern` or path to audio file ('bin' or 'wave') + signal_frequency (int) + amplitude (int) + """ + self.stop_generate() + if isinstance(audio_pattern, str) and check_file_format(audio_pattern) != AudioFileFormat.UNKNOWN: + if check_file_format(audio_pattern) == AudioFileFormat.BIN: + data, _, size = load_from_bin_file(path=audio_pattern) + else: + data, audio_mode, size = load_from_wave_file(path=audio_pattern) + + self.__memory_manager.make_default() + self.__memory_manager.set_memory_block_index(MemoryManager.MemoryOwner.MO_AudioGenerator) + self.__io.set(ci.TSI_EARC_AUDGEN_SIGNAL_BLOCK, MemoryManager.MemoryOwner.MO_AudioGenerator.value) + self.__memory_manager.memory_write(data, size) + self.__io.set(ci.TSI_EARC_AUDGEN_AUDIO_SIZE, size) + + ag_struct = self.__io.get(ci.TSI_EARC_AUDGEN_CONFIG, AudioConfigStructure)[1] + ag_struct.non_lpcm = 0 + ag_struct.loop = 1 + + audio_sts = create_audio_sts(audio_mode=audio_mode) + self.__io.set(ci.TSI_EARC_AUDGEN_CHANNELS_STS, audio_sts, data_type=c_uint8, data_count=len(audio_sts)) + + if self.__io.protocol() == PortProtocol.HDMI: + tp = 0 + + if audio_mode.channel_count == 8 and audio_mode.sample_rate >= 64000: + tp = 3 + + ag_struct.n_selector = 1 + ag_struct.cts_selector = 1 + + self.__io.set(ci.TSI_EARC_AUDGEN_CONFIG, ag_struct.value()) + + self.__io.set(ci.TSI_EARC_AUDGEN_PACKET_TYPE, tp) + else: + self.__io.set(ci.TSI_EARC_AUDGEN_CONFIG, ag_struct.value()) + + self.__io.set(ci.TSI_EARC_AUDGEN_SIGNAL_TYPE, AudioPattern.CustomAudio.value) + self.__io.set(ci.TSI_EARC_AUDGEN_CHANNEL_COUNT, audio_mode.channel_count) + self.__io.set(ci.TSI_EARC_AUDGEN_SAMPLE_RATE, audio_mode.sample_rate) + self.__io.set(ci.TSI_EARC_AUDGEN_SAMPLE_SIZE, audio_mode.bits) + elif isinstance(audio_pattern, AudioPattern): + list_sample_rate = [22050, 44100, 88200, 176400, 24000, 48000, 96000, 192000, 32000, 768000] + list_bits = [16, 20, 24] + audio_pattern = AudioPattern(audio_pattern.value) + + if not (1 <= audio_mode.channel_count <= 8): + raise ValueError(f"'Channel count' must be in range: 1 - 8") + + if audio_mode.sample_rate not in list_sample_rate: + raise ValueError(f"'Sample rate' must be in list {list_sample_rate}") + + if audio_mode.bits not in list_bits: + raise ValueError(f"'Bits' must be in list {list_bits}") + + if signal_frequency <= 0: + raise ValueError(f"'Signal frequency' must be more than 0") + + if amplitude not in [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]: + raise ValueError(f"'Amplitude' must be more than 0") + + memory_block_no = 1 + + self.__memory_manager.make_default() + self.__io.set(ci.TSI_EARC_AUDGEN_SIGNAL_BLOCK, memory_block_no) + self.__io.set(ci.TSI_EARC_AUDGEN_SIGNAL_TYPE, audio_pattern.value) + self.__io.set(ci.TSI_EARC_AUDGEN_CHANNEL_COUNT, audio_mode.channel_count) + self.__io.set(ci.TSI_EARC_AUDGEN_SAMPLE_RATE, audio_mode.sample_rate) + self.__io.set(ci.TSI_EARC_AUDGEN_SAMPLE_SIZE, audio_mode.bits) + self.__io.set(ci.TSI_EARC_AUDGEN_SIGNAL_FREQ, signal_frequency) + self.__io.set(ci.TSI_EARC_AUDGEN_SIGNAL_VOLUME, amplitude) + else: + available_variants = '\n'.join([e.name for e in AudioPattern]) + raise ValueError(f"Incorrect value of audio pattern - {audio_pattern}\n" + f"Available audio patterns: {available_variants}") + + def apply(self) -> bool: + """ + Apply settings and start generate audio. + + Returns: + object of `bool` type - generation was enabled successfully or not. + """ + self.__io.set(ci.TSI_EARC_AUDGEN_CONTROL_W, 1) + + def is_apply_ag_success(ag: AudioGeneratorEARC) -> bool: + return ag.status == AGStatus.Running + + return function_scheduler(is_apply_ag_success, self, interval=1, timeout=10) + + def stop_generate(self) -> bool: + """ + Stop generate audio. + + Returns: + object of `bool` type - generation was disabled successfully or not. + """ + return True if self.__io.set(ci.TSI_EARC_AUDGEN_CONTROL_W, 0) >= ci.TSI_SUCCESS else False + + @property + def status(self) -> AGStatus: + """ + Return audio generator status. + + Returns: + object of `AGStatus` type + """ + self.__status = AGStatus(self.__io.get(ci.TSI_EARC_AUDGEN_STATUS_R, c_int)[1] & 0x1) + return self.__status + + @property + def audio_mode(self) -> AudioMode: + """ + Return current audio mode. + + Returns: + object of `AudioMode` type + """ + self.__audio_mode.sample_rate = self.__io.get(ci.TSI_EARC_AUDGEN_SAMPLE_RATE, c_int32)[1] + self.__audio_mode.bits = self.__io.get(ci.TSI_EARC_AUDGEN_SAMPLE_SIZE, c_int32)[1] + self.__audio_mode.channel_count = self.__io.get(ci.TSI_EARC_AUDGEN_CHANNEL_COUNT, c_int32)[1] + return self.__audio_mode diff --git a/UniTAP/dev/ports/modules/ag/private_types.py b/UniTAP/dev/ports/modules/ag/private_types.py index 3dac6ba..2acaeab 100644 --- a/UniTAP/dev/ports/modules/ag/private_types.py +++ b/UniTAP/dev/ports/modules/ag/private_types.py @@ -17,3 +17,12 @@ class AudioConfigStructure(Structure): def value(self) -> int: return self.auto_ch_sts | self.use_raw_data << 1 | self.non_lpcm << 2 | self.loop << 3 | \ self.auto_info_frame << 4 | self.n_selector << 8 | self.cts_selector << 12 + + +class AudioSignalStruct(Structure): + _fields_ = [ + ('freq', c_uint32, 32), + ('volume', c_uint32, 32), + ('shift', c_uint32, 32), + ('type', c_uint32, 32), + ] diff --git a/UniTAP/dev/ports/modules/ag/types.py b/UniTAP/dev/ports/modules/ag/types.py index 252e348..fb7825d 100644 --- a/UniTAP/dev/ports/modules/ag/types.py +++ b/UniTAP/dev/ports/modules/ag/types.py @@ -10,7 +10,8 @@ class AudioPattern(IntEnum): SignalSquare = 2 CustomAudio = 3 SignalIncremental = 4 - Unknown = 5 + SignalPing = 5 + Unknown = 6 class AGStatus(IntEnum): diff --git a/UniTAP/dev/ports/modules/capturer/event/event_capturer.py b/UniTAP/dev/ports/modules/capturer/event/event_capturer.py index dfbf2a7..24d0bb3 100644 --- a/UniTAP/dev/ports/modules/capturer/event/event_capturer.py +++ b/UniTAP/dev/ports/modules/capturer/event/event_capturer.py @@ -4,7 +4,7 @@ import copy from typing import Union, TypeVar, Type, List -from UniTAP.libs.lib_tsi.tsi import TSIX_TS_SetPortConfigItem +import UniTAP.libs.lib_tsi.tsi as tsi from UniTAP.dev.modules.capturer.capture import Capturer, CaptureConfig from UniTAP.dev.modules.capturer.statuses import EventCaptureStatus from .result_event import ResultEventObject @@ -98,11 +98,11 @@ class EventCapturer: self.__event_filter[i] = event_filter for item in event_filter.additional_filter: - TSIX_TS_SetPortConfigItem(self.__device.device_handle, self.__port_id, item.ci_control, item.value, - data_count=len(item.value) if isinstance(item.value, list) else 1) + tsi.TSIX_TS_SetPortConfigItem(self.__device.device_handle, self.__port_id, item.ci_control, item.value, + data_count=len(item.value) if isinstance(item.value, list) else 1) - TSIX_TS_SetPortConfigItem(self.__device.device_handle, self.__port_id, event_filter._control_ci, - event_filter.config) + tsi.TSIX_TS_SetPortConfigItem(self.__device.device_handle, self.__port_id, event_filter._control_ci, + event_filter.config) def clear_capturer_config(self): """ @@ -110,7 +110,7 @@ class EventCapturer: """ for item in self.__event_filter: item.clear() - TSIX_TS_SetPortConfigItem(self.__device.device_handle, self.__port_id, item._control_ci, 0) + tsi.TSIX_TS_SetPortConfigItem(self.__device.device_handle, self.__port_id, item._control_ci, 0) def start(self, sec=0, n_elements=0): """ diff --git a/UniTAP/dev/ports/modules/capturer/event/event_types.py b/UniTAP/dev/ports/modules/capturer/event/event_types.py index 6ac7024..7b1bdb2 100644 --- a/UniTAP/dev/ports/modules/capturer/event/event_types.py +++ b/UniTAP/dev/ports/modules/capturer/event/event_types.py @@ -1,7 +1,9 @@ +from enum import IntEnum + from .event_utils import set_bit_in_vector, search_in_list from .private_event_types import AdditionalSDPEventFilter, AdditionalLinkPatternEventFilter, \ AdditionalInfoFrameEventFilter, AdditionalVBIDEventFilter, AdditionalMSAEventFilter, AdditionalLSEEventFilter -from UniTAP.libs.lib_tsi.tsi_types import * +import UniTAP.libs.lib_tsi.tsi_types as ci import warnings @@ -405,7 +407,7 @@ class EventFilterDpRx(EventFilter): def __init__(self, hw_caps): super().__init__(hw_caps) - self._control_ci = TSI_DPRX_LOG_CONTROL + self._control_ci = ci.TSI_DPRX_LOG_CONTROL self.additional_filter = [AdditionalSDPEventFilter()] if hw_caps.link_pat_log: self.additional_filter.append(AdditionalLinkPatternEventFilter()) @@ -422,9 +424,9 @@ class EventFilterDpRx(EventFilter): enable (bool) - enable/disable HDP events """ if enable: - self.config |= TSI_DPRX_LOG_CTRL_VALUE_HPD + self.config |= ci.TSI_DPRX_LOG_CTRL_VALUE_HPD else: - self.config &= ~TSI_DPRX_LOG_CTRL_VALUE_HPD + self.config &= ~ci.TSI_DPRX_LOG_CTRL_VALUE_HPD def config_aux_events(self, enable: bool): """ @@ -434,9 +436,9 @@ class EventFilterDpRx(EventFilter): enable (bool) - enable/disable AUX events """ if enable: - self.config |= TSI_DPRX_LOG_CTRL_VALUE_AUX + self.config |= ci.TSI_DPRX_LOG_CTRL_VALUE_AUX else: - self.config &= ~TSI_DPRX_LOG_CTRL_VALUE_AUX + self.config &= ~ci.TSI_DPRX_LOG_CTRL_VALUE_AUX def config_sdp_events(self, enable: bool, *args: EventSDP): """ @@ -447,9 +449,9 @@ class EventFilterDpRx(EventFilter): *args (`EventSDP`) - SDP packet types """ if enable: - self.config |= TSI_DPRX_LOG_CTRL_VALUE_SDP + self.config |= ci.TSI_DPRX_LOG_CTRL_VALUE_SDP else: - self.config &= ~TSI_DPRX_LOG_CTRL_VALUE_SDP + self.config &= ~ci.TSI_DPRX_LOG_CTRL_VALUE_SDP if len(args) > 0: for item in args: @@ -466,9 +468,9 @@ class EventFilterDpRx(EventFilter): """ if self._hw_caps is not None and self._hw_caps.link_pat_log: if enable: - self.config |= TSI_DPRX_LOG_CTRL_VALUE_LINK_PAT + self.config |= ci.TSI_DPRX_LOG_CTRL_VALUE_LINK_PAT else: - self.config &= ~TSI_DPRX_LOG_CTRL_VALUE_LINK_PAT + self.config &= ~ci.TSI_DPRX_LOG_CTRL_VALUE_LINK_PAT if len(args) > 0: for item in args: @@ -490,9 +492,9 @@ class EventFilterDpRx(EventFilter): """ if self._hw_caps is not None and self._hw_caps.vbid_hw_log: if enable: - self.config |= TSI_DPRX_LOG_CTRL_VALUE_VBID_HW + self.config |= ci.TSI_DPRX_LOG_CTRL_VALUE_VBID_HW else: - self.config &= ~TSI_DPRX_LOG_CTRL_VALUE_VBID_HW + self.config &= ~ci.TSI_DPRX_LOG_CTRL_VALUE_VBID_HW if len(args) > 0: for item in args: @@ -516,9 +518,9 @@ class EventFilterDpRx(EventFilter): """ if self._hw_caps is not None and self._hw_caps.msa_hw_log: if enable: - self.config |= TSI_DPRX_LOG_CTRL_VALUE_MSA_HW + self.config |= ci.TSI_DPRX_LOG_CTRL_VALUE_MSA_HW else: - self.config &= ~TSI_DPRX_LOG_CTRL_VALUE_MSA_HW + self.config &= ~ci.TSI_DPRX_LOG_CTRL_VALUE_MSA_HW if len(args) > 0: for item in args: @@ -541,9 +543,9 @@ class EventFilterDpRx(EventFilter): """ if self._hw_caps is not None and self._hw_caps.aux_bw_log: if enable: - self.config |= TSI_DPRX_LOG_CTRL_VALUE_AUX_BW + self.config |= ci.TSI_DPRX_LOG_CTRL_VALUE_AUX_BW else: - self.config &= ~TSI_DPRX_LOG_CTRL_VALUE_AUX_BW + self.config &= ~ci.TSI_DPRX_LOG_CTRL_VALUE_AUX_BW else: warnings.warn("HW does not support Aux Bw Logger") @@ -556,7 +558,7 @@ class EventFilterDpTx(EventFilter): def __init__(self, hw_caps): super().__init__(hw_caps) - self._control_ci = TSI_DPTX_LOG_CONTROL + self._control_ci = ci.TSI_DPTX_LOG_CONTROL def config_hpd_events(self, enable: bool): """ @@ -566,9 +568,9 @@ class EventFilterDpTx(EventFilter): enable (bool) - enable/disable HDP events """ if enable: - self.config |= TSI_DPTX_LOG_CONTROL_VALUE_HPD + self.config |= ci.TSI_DPTX_LOG_CONTROL_VALUE_HPD else: - self.config &= ~TSI_DPTX_LOG_CONTROL_VALUE_HPD + self.config &= ~ci.TSI_DPTX_LOG_CONTROL_VALUE_HPD def config_aux_events(self, enable: bool): """ @@ -578,9 +580,9 @@ class EventFilterDpTx(EventFilter): enable (bool) - enable/disable AUX events """ if enable: - self.config |= TSI_DPTX_LOG_CONTROL_VALUE_AUX + self.config |= ci.TSI_DPTX_LOG_CONTROL_VALUE_AUX else: - self.config &= ~TSI_DPTX_LOG_CONTROL_VALUE_AUX + self.config &= ~ci.TSI_DPTX_LOG_CONTROL_VALUE_AUX class EventFilterHdRx(EventFilter): @@ -593,7 +595,7 @@ class EventFilterHdRx(EventFilter): def __init__(self, hw_caps): super().__init__(hw_caps) self.additional_filter = [AdditionalInfoFrameEventFilter()] - self._control_ci = TSI_HDRX_LOG_CONTROL + self._control_ci = ci.TSI_HDRX_LOG_CONTROL def config_hpd_events(self, enable: bool): """ @@ -603,9 +605,9 @@ class EventFilterHdRx(EventFilter): enable (bool) - enable/disable HPD events """ if enable: - self.config |= TSI_HDRX_LOG_CTRL_VALUE_HPD + self.config |= ci.TSI_HDRX_LOG_CTRL_VALUE_HPD else: - self.config &= ~TSI_HDRX_LOG_CTRL_VALUE_HPD + self.config &= ~ci.TSI_HDRX_LOG_CTRL_VALUE_HPD def config_packets_events(self, enable: bool, *args: EventInfoFrame): """ @@ -616,9 +618,9 @@ class EventFilterHdRx(EventFilter): *args (`EventInfoFrame`) - InfoFrame packet types """ if enable: - self.config |= TSI_HDRX_LOG_CTRL_VALUE_INFO + self.config |= ci.TSI_HDRX_LOG_CTRL_VALUE_INFO else: - self.config &= ~TSI_HDRX_LOG_CTRL_VALUE_INFO + self.config &= ~ci.TSI_HDRX_LOG_CTRL_VALUE_INFO if len(args) > 0: for item in args: @@ -633,9 +635,9 @@ class EventFilterHdRx(EventFilter): enable (bool) - enable/disable I2C events """ if enable: - self.config |= TSI_HDRX_LOG_CTRL_VALUE_I2C + self.config |= ci.TSI_HDRX_LOG_CTRL_VALUE_I2C else: - self.config &= ~TSI_HDRX_LOG_CTRL_VALUE_I2C + self.config &= ~ci.TSI_HDRX_LOG_CTRL_VALUE_I2C def config_cec_events(self, enable: bool): """ @@ -645,9 +647,9 @@ class EventFilterHdRx(EventFilter): enable (bool) - enable/disable CEC events """ if enable: - self.config |= TSI_HDRX_LOG_CTRL_VALUE_CEC + self.config |= ci.TSI_HDRX_LOG_CTRL_VALUE_CEC else: - self.config &= ~TSI_HDRX_LOG_CTRL_VALUE_CEC + self.config &= ~ci.TSI_HDRX_LOG_CTRL_VALUE_CEC class EventFilterHdTx(EventFilter): @@ -659,7 +661,7 @@ class EventFilterHdTx(EventFilter): def __init__(self, hw_caps): super().__init__(hw_caps) - self._control_ci = TSI_HDTX_LOG_CONTROL + self._control_ci = ci.TSI_HDTX_LOG_CONTROL def config_hpd_events(self, enable: bool): """ @@ -669,9 +671,9 @@ class EventFilterHdTx(EventFilter): enable (bool) - enable/disable HPD events """ if enable: - self.config |= TSI_HDTX_LOG_CTRL_VALUE_HPD + self.config |= ci.TSI_HDTX_LOG_CTRL_VALUE_HPD else: - self.config &= ~TSI_HDTX_LOG_CTRL_VALUE_HPD + self.config &= ~ci.TSI_HDTX_LOG_CTRL_VALUE_HPD def config_i2c_events(self, enable: bool): """ @@ -681,9 +683,9 @@ class EventFilterHdTx(EventFilter): enable (bool) - enable/disable I2C events """ if enable: - self.config |= TSI_HDTX_LOG_CTRL_VALUE_I2C + self.config |= ci.TSI_HDTX_LOG_CTRL_VALUE_I2C else: - self.config &= ~TSI_HDTX_LOG_CTRL_VALUE_I2C + self.config &= ~ci.TSI_HDTX_LOG_CTRL_VALUE_I2C def config_cec_events(self, enable: bool): """ @@ -693,9 +695,9 @@ class EventFilterHdTx(EventFilter): enable (bool) - enable/disable CEC events """ if enable: - self.config |= TSI_HDTX_LOG_CTRL_VALUE_CEC + self.config |= ci.TSI_HDTX_LOG_CTRL_VALUE_CEC else: - self.config &= ~TSI_HDTX_LOG_CTRL_VALUE_CEC + self.config &= ~ci.TSI_HDTX_LOG_CTRL_VALUE_CEC class EventFilterUsbc(EventFilter): @@ -707,7 +709,7 @@ class EventFilterUsbc(EventFilter): def __init__(self, hw_caps): super().__init__(hw_caps) - self._control_ci = TSI_PDC_LOG_CONTROL + self._control_ci = ci.TSI_PDC_LOG_CONTROL if hw_caps is not None and hw_caps.voltage: self.additional_filter.append(AdditionalLSEEventFilter()) @@ -719,9 +721,9 @@ class EventFilterUsbc(EventFilter): enable (bool) - enable/disable PD events """ if enable: - self.config |= TSI_PDC_LOG_CTRL_VALUE_PD + self.config |= ci.TSI_PDC_LOG_CTRL_VALUE_PD else: - self.config &= ~TSI_PDC_LOG_CTRL_VALUE_PD + self.config &= ~ci.TSI_PDC_LOG_CTRL_VALUE_PD def config_voltage_events(self, enable: bool, value: EventLCE): """ @@ -733,9 +735,9 @@ class EventFilterUsbc(EventFilter): """ if self._hw_caps is not None and self._hw_caps.voltage: if enable: - self.config |= TSI_PDC_LOG_CTRL_VALUE_USBC_VOLTAGE + self.config |= ci.TSI_PDC_LOG_CTRL_VALUE_USBC_VOLTAGE else: - self.config &= ~TSI_PDC_LOG_CTRL_VALUE_USBC_VOLTAGE + self.config &= ~ci.TSI_PDC_LOG_CTRL_VALUE_USBC_VOLTAGE for i in enumerate(value.values()): self.additional_filter[search_in_list(AdditionalLSEEventFilter, @@ -752,9 +754,9 @@ class EventFilterUsbc(EventFilter): """ if self._hw_caps is not None and self._hw_caps.events: if enable: - self.config |= TSI_PDC_LOG_CTRL_VALUE_USBC_EVENT + self.config |= ci.TSI_PDC_LOG_CTRL_VALUE_USBC_EVENT else: - self.config &= ~TSI_PDC_LOG_CTRL_VALUE_USBC_EVENT + self.config &= ~ci.TSI_PDC_LOG_CTRL_VALUE_USBC_EVENT else: warnings.warn("HW does not support 'USB-C' events") @@ -767,8 +769,8 @@ class EventFilterUsbc(EventFilter): """ if self._hw_caps is not None and self._hw_caps.states: if enable: - self.config |= TSI_PDC_LOG_CTRL_VALUE_USBC_STATE + self.config |= ci.TSI_PDC_LOG_CTRL_VALUE_USBC_STATE else: - self.config &= ~TSI_PDC_LOG_CTRL_VALUE_USBC_STATE + self.config &= ~ci.TSI_PDC_LOG_CTRL_VALUE_USBC_STATE else: warnings.warn("HW does not support 'USB-C Port State' events") diff --git a/UniTAP/dev/ports/modules/capturer/event/event_utils.py b/UniTAP/dev/ports/modules/capturer/event/event_utils.py index b7ef859..f5020fb 100644 --- a/UniTAP/dev/ports/modules/capturer/event/event_utils.py +++ b/UniTAP/dev/ports/modules/capturer/event/event_utils.py @@ -113,7 +113,7 @@ def save_to_bin_file(path: str, events: list, index=None): def save_to_csv_file(path: str, events: list): - with (open(path, 'w', newline='') as file): + with open(path, 'w', newline='') as file: writer = csv.writer(file, delimiter=';') writer.writerow(["Source", "Type", "Start", "Brief info", "Full info"]) for data in events: diff --git a/UniTAP/dev/ports/modules/capturer/event/private_event_types.py b/UniTAP/dev/ports/modules/capturer/event/private_event_types.py index a308d5c..83b04f4 100644 --- a/UniTAP/dev/ports/modules/capturer/event/private_event_types.py +++ b/UniTAP/dev/ports/modules/capturer/event/private_event_types.py @@ -1,5 +1,4 @@ -from UniTAP.libs.lib_tsi.tsi_types import TSI_DPRX_LOG_IF_SEL, TSI_HDRX_LOG_IF_SEL, TSI_DPRX_LOG_CTRL_VALUE_LINK_PAT, \ - TSI_DPRX_VBID_LOG_SEL, TSI_DPRX_MSA_LOG_SEL, TSI_PDC_USBC_LOG_THRESH +import UniTAP.libs.lib_tsi.tsi_types as ci class AdditionalEventFilter: @@ -31,7 +30,7 @@ class AdditionalSDPEventFilter(AdditionalEventFilter): def __init__(self): super().__init__() - self.ci_control = TSI_DPRX_LOG_IF_SEL + self.ci_control = ci.TSI_DPRX_LOG_IF_SEL self.value = [0] * 8 @@ -39,7 +38,7 @@ class AdditionalInfoFrameEventFilter(AdditionalEventFilter): def __init__(self): super().__init__() - self.ci_control = TSI_HDRX_LOG_IF_SEL + self.ci_control = ci.TSI_HDRX_LOG_IF_SEL self.value = [0] * 8 @@ -47,7 +46,7 @@ class AdditionalLinkPatternEventFilter(AdditionalEventFilter): def __init__(self): super().__init__() - self.ci_control = TSI_DPRX_LOG_CTRL_VALUE_LINK_PAT + self.ci_control = ci.TSI_DPRX_LOG_CTRL_VALUE_LINK_PAT self.value = [0] * 3 @@ -55,7 +54,7 @@ class AdditionalVBIDEventFilter(AdditionalEventFilter): def __init__(self): super().__init__() - self.ci_control = TSI_DPRX_VBID_LOG_SEL + self.ci_control = ci.TSI_DPRX_VBID_LOG_SEL self.value = 0 @@ -63,7 +62,7 @@ class AdditionalMSAEventFilter(AdditionalEventFilter): def __init__(self): super().__init__() - self.ci_control = TSI_DPRX_MSA_LOG_SEL + self.ci_control = ci.TSI_DPRX_MSA_LOG_SEL self.value = 0 @@ -71,5 +70,5 @@ class AdditionalLSEEventFilter(AdditionalEventFilter): def __init__(self): super().__init__() - self.ci_control = TSI_PDC_USBC_LOG_THRESH + self.ci_control = ci.TSI_PDC_USBC_LOG_THRESH self.value = [0] * 5 diff --git a/UniTAP/dev/ports/modules/capturer/event/result_event.py b/UniTAP/dev/ports/modules/capturer/event/result_event.py index 4ebecf1..a37e6c1 100644 --- a/UniTAP/dev/ports/modules/capturer/event/result_event.py +++ b/UniTAP/dev/ports/modules/capturer/event/result_event.py @@ -1,7 +1,7 @@ import warnings from UniTAP.dev.modules.capturer.result_object import ResultObject -from UniTAP.libs.lib_tsi.tsi import TSIEventParser +import UniTAP.libs.lib_tsi.tsi as tsi from .event_utils import save_to_bin_file, save_to_csv_file, save_to_txt_file, save_to_html_file from .event_types import EventFileFormat @@ -96,7 +96,7 @@ class ResultEventObject(ResultObject): warnings.warn("Buffer size is equal 0.") def __parse_buffer(self): - with TSIEventParser() as parser: + with tsi.TSIEventParser() as parser: for index, item in enumerate(self.buffer): if len(item.data) > 12: res = parser.parse(item.data, to_dict=True) diff --git a/UniTAP/dev/ports/modules/capturer/video/video_capturer.py b/UniTAP/dev/ports/modules/capturer/video/video_capturer.py index b4d3071..6a119d5 100644 --- a/UniTAP/dev/ports/modules/capturer/video/video_capturer.py +++ b/UniTAP/dev/ports/modules/capturer/video/video_capturer.py @@ -52,6 +52,36 @@ class VideoCapturer: """ return self.__max_stream_number + def start(self, frames_count: int = 0, sec: int = 0, capture_type: CaptureConfig.Type = CaptureConfig.Type.LIVE): + """ + Start capturing. Possible some variants of capturing: + - Capture with fixed frames count (will be captured fixed frames count and capturing will be stopped). + - Capture with fixed time (capturing will be continued fixed seconds and capturing will be stopped). + - Capture without parameters - Live capturing (for getting frames you need to use functions `pop_element` and + `pop_all_elements`) + + All results can be obtained using the function `capture_result`. + + Args: + frames_count (int) + sec (int) + type (CaptureConfig.Type) + """ + + config = CaptureConfig() + config.video = True + config.type = capture_type + + self.__capturer.start_capture(config) + + self.capture_result.clear() + self.capture_result.start_capture_time = time.time() + + if frames_count > 0: + self.capture_result.buffer.extend(self.__capturer.capture_video_by_n_frames(frames_count, capture_type)) + elif sec > 0: + self.capture_result.buffer.extend(self.__capturer.capture_video_by_n_sec(sec)) + def stop(self): """ Stop capture video. @@ -127,8 +157,8 @@ class VideoCapturerDP(VideoCapturer): super().__init__(capturer, max_stream_number) self.__capturer = capturer - def start(self, frames_count: int = 0, sec: int = 0, stream_number: int = 0, - capture_type: CaptureConfig.Type = CaptureConfig.Type.LIVE): + def start(self, frames_count: int = 0, sec: int = 0, capture_type: CaptureConfig.Type = CaptureConfig.Type.LIVE, + stream_number: int = 0): """ Start capturing. Possible some variants of capturing: - Capture with fixed frames count (will be captured fixed frames count and capturing will be stopped). @@ -150,21 +180,7 @@ class VideoCapturerDP(VideoCapturer): f"{', '.join([str(i) for i in range(self.max_stream_number)])}") self.__capturer.set_video_stream_number(stream_number) - - config = CaptureConfig() - config.video = True - config.type = capture_type - - self.__capturer.start_capture(config) - - self.capture_result.clear() - self.capture_result.start_capture_time = time.time() - - if frames_count > 0: - self.capture_result.buffer.extend(self.__capturer.capture_video_by_n_frames(frames_count, capture_type)) - elif sec > 0: - self.capture_result.buffer.extend(self.__capturer.capture_video_by_n_sec(sec)) - + super().start(frames_count, sec, capture_type) def get_buffer_capacity(self, stream_number: int = 0): return self.__capturer.get_buffer_capacity(stream_number) @@ -182,43 +198,5 @@ class VideoCapturerHDMI(VideoCapturer): super().__init__(capturer, max_stream_number) self.__capturer = capturer - def start(self, frames_count: int = 0, sec: int = 0, stream_number: int = 0): - """ - Start capturing. Possible some variants of capturing: - - Capture with fixed frames count (will be captured fixed frames count and capturing will be stopped). - - Capture with fixed time (capturing will be continued fixed seconds and capturing will be stopped). - - Capture without parameters - Live capturing (for getting frames you need to use functions `pop_element` and - `pop_all_elements`) - - All results can be obtained using the function `capture_result`. - - Args: - frames_count (int) - sec (int) - stream_number (int) - """ - - if stream_number >= self.max_stream_number: - assert ValueError(f"Incorrect index of stream. Value must be from available options: " - f"{', '.join([str(i) for i in range(self.max_stream_number)])}") - - config = CaptureConfig() - config.video = True - config.type = CaptureConfig.Type.LIVE - - self.__capturer.start_capture(config) - - self.capture_result.clear() - self.capture_result.start_capture_time = time.time() - - if frames_count > 0: - if frames_count > 1: - self.capture_result.buffer.extend(self.__capturer.capture_video_by_n_frames(frames_count)) - else: - self.capture_result.buffer.extend(self.__capturer.capture_video_by_n_frames(frames_count)) - elif sec > 0: - self.capture_result.buffer.extend(self.__capturer.capture_video_by_n_sec(sec)) - - def get_buffer_capacity(self): return self.__capturer.get_buffer_capacity() diff --git a/UniTAP/dev/ports/modules/cec/cec_rx.py b/UniTAP/dev/ports/modules/cec/cec_rx.py index 0ef45e4..b093144 100644 --- a/UniTAP/dev/ports/modules/cec/cec_rx.py +++ b/UniTAP/dev/ports/modules/cec/cec_rx.py @@ -1,5 +1,5 @@ from UniTAP.libs.lib_tsi.tsi_io import PortIO -from UniTAP.libs.lib_tsi.tsi import * +import UniTAP.libs.lib_tsi.tsi_types as ci from .cec_types import * from .cec_private_types import * from typing import Union @@ -29,7 +29,7 @@ class CecRx: Args: state (`bool`) """ - self.__io.set(TSI_HDRX_CEC_CONTROL, state, c_uint32) + self.__io.set(ci.TSI_HDRX_CEC_CONTROL, state, c_uint32) def is_enabled(self) -> bool: """ @@ -38,7 +38,7 @@ class CecRx: Returns: object of `bool` type """ - return self.__io.get(TSI_HDRX_CEC_CONTROL, c_uint32)[1] & 0x1 == 1 + return self.__io.get(ci.TSI_HDRX_CEC_CONTROL, c_uint32)[1] & 0x1 == 1 @property def logical_address(self) -> LogicalAddressEnum: @@ -48,11 +48,11 @@ class CecRx: Returns: object of `LogicalAddressEnum` type """ - return LogicalAddressEnum(self.__io.get(TSI_HDRX_CEC_LOGICAL_ADDRESS, c_uint32)[1]) + return LogicalAddressEnum(self.__io.get(ci.TSI_HDRX_CEC_LOGICAL_ADDRESS, c_uint32)[1]) @logical_address.setter def logical_address(self, address: LogicalAddressEnum): - self.__io.set(TSI_HDRX_CEC_LOGICAL_ADDRESS, address.value, c_uint32) + self.__io.set(ci.TSI_HDRX_CEC_LOGICAL_ADDRESS, address.value, c_uint32) @property def destination(self) -> LogicalAddressEnum: @@ -62,11 +62,11 @@ class CecRx: Returns: object of `LogicalAddressEnum` type """ - return LogicalAddressEnum(self.__io.get(TSI_HDRX_CEC_DESTINATION, c_uint32)[1]) + return LogicalAddressEnum(self.__io.get(ci.TSI_HDRX_CEC_DESTINATION, c_uint32)[1]) @destination.setter def destination(self, address: LogicalAddressEnum): - self.__io.set(TSI_HDRX_CEC_DESTINATION, address.value, c_uint32) + self.__io.set(ci.TSI_HDRX_CEC_DESTINATION, address.value, c_uint32) @property def phy_address(self) -> int: @@ -76,11 +76,11 @@ class CecRx: Returns: object of `int` type """ - return self.__io.get(TSI_HDRX_CEC_PHYSICAL_ADDRESS, c_uint32)[1] + return self.__io.get(ci.TSI_HDRX_CEC_PHYSICAL_ADDRESS, c_uint32)[1] @phy_address.setter def phy_address(self, address: int): - self.__io.set(TSI_HDRX_CEC_PHYSICAL_ADDRESS, address, c_uint32) + self.__io.set(ci.TSI_HDRX_CEC_PHYSICAL_ADDRESS, address, c_uint32) @property def op_code(self) -> int: @@ -90,11 +90,11 @@ class CecRx: Returns: object of `int` type """ - return self.__io.get(TSI_HDRX_CEC_OP_CODE, c_uint32)[1] + return self.__io.get(ci.TSI_HDRX_CEC_OP_CODE, c_uint32)[1] @op_code.setter def op_code(self, code: int): - self.__io.set(TSI_HDRX_CEC_OP_CODE, code, c_uint32) + self.__io.set(ci.TSI_HDRX_CEC_OP_CODE, code, c_uint32) @property def op_code_param(self) -> Union[int, list]: @@ -104,12 +104,12 @@ class CecRx: Returns: object of `int` type """ - return self.__io.get(TSI_HDRX_CEC_OP_CODE_PARAM, c_uint32)[1] + return self.__io.get(ci.TSI_HDRX_CEC_OP_CODE_PARAM, c_uint32)[1] @op_code_param.setter def op_code_param(self, code_param: Union[int, list]): data_count = len(code_param) if isinstance(code_param, list) else 1 - self.__io.set(TSI_HDRX_CEC_OP_CODE_PARAM, code_param, c_uint32, data_count=data_count) + self.__io.set(ci.TSI_HDRX_CEC_OP_CODE_PARAM, code_param, c_uint32, data_count=data_count) @property def device_type(self) -> DeviceType: @@ -119,7 +119,7 @@ class CecRx: Returns: object of `DeviceType` type """ - data = self.__io.get(TSI_HDRX_CEC_DEVICE_TYPE, DeviceTypePrivate)[1] + data = self.__io.get(ci.TSI_HDRX_CEC_DEVICE_TYPE, DeviceTypePrivate)[1] return DeviceType(data.cecSwitch, data.audioSystem, data.pbDevice, data.tuner, data.recDev, data.tv) @device_type.setter @@ -134,7 +134,7 @@ class CecRx: value = dev_type & 0xFF else: raise TypeError(f"Unsupported type: {type(dev_type)}") - self.__io.set(TSI_HDRX_CEC_DEVICE_TYPE, value, c_uint32) + self.__io.set(ci.TSI_HDRX_CEC_DEVICE_TYPE, value, c_uint32) @property def status(self) -> CECStatus: @@ -144,7 +144,7 @@ class CecRx: Returns: object of `CECStatus` type """ - data = self.__io.get(TSI_HDRX_CEC_STATUS_R, CECStatusPrivate)[1] + data = self.__io.get(ci.TSI_HDRX_CEC_STATUS_R, CECStatusPrivate)[1] return CECStatus(data.bufferOverflowed) @property @@ -155,7 +155,7 @@ class CecRx: Returns: object of `int` type """ - return self.__io.get(TSI_HDRX_CEC_RECEIVED_CNT_R, c_uint32)[1] + return self.__io.get(ci.TSI_HDRX_CEC_RECEIVED_CNT_R, c_uint32)[1] @property def data(self) -> list: @@ -165,8 +165,8 @@ class CecRx: Returns: object of `list` type """ - data_size = self.__io.get(TSI_HDRX_CEC_DATA_SIZE_R, c_uint32)[1] - return self.__io.get(TSI_HDRX_CEC_DATA_RECIEVED, c_uint32, data_size)[1] + data_size = self.__io.get(ci.TSI_HDRX_CEC_DATA_SIZE_R, c_uint32)[1] + return self.__io.get(ci.TSI_HDRX_CEC_DATA_RECIEVED, c_uint32, data_size)[1] def reset_data(self, command: CecResetDataCommand): """ @@ -175,10 +175,10 @@ class CecRx: Returns: object of `CecResetDataCommand` type """ - self.__io.set(TSI_HDRX_CEC_DATA_RESET_W, command.value, c_uint32) + self.__io.set(ci.TSI_HDRX_CEC_DATA_RESET_W, command.value, c_uint32) def __read_version(self) -> (int, int): - version = self.__io.get(TSI_HDRX_CEC_VERSION_R, CECVersion)[1] + version = self.__io.get(ci.TSI_HDRX_CEC_VERSION_R, CECVersion)[1] return version.minor, version.major def add_command(self, command: CECCommand = CECCommand()): @@ -250,7 +250,7 @@ class CecRx: self.__send_cec_command() def __send_cec_command(self): - self.__io.set(TSI_HDRX_CEC_COMMAND, 1, c_uint32) + self.__io.set(ci.TSI_HDRX_CEC_COMMAND, 1, c_uint32) @property def commands(self) -> list: diff --git a/UniTAP/dev/ports/modules/cec/cec_tx.py b/UniTAP/dev/ports/modules/cec/cec_tx.py index cdfefa3..2daa1bb 100644 --- a/UniTAP/dev/ports/modules/cec/cec_tx.py +++ b/UniTAP/dev/ports/modules/cec/cec_tx.py @@ -1,5 +1,5 @@ from UniTAP.libs.lib_tsi.tsi_io import PortIO -from UniTAP.libs.lib_tsi.tsi import * +import UniTAP.libs.lib_tsi.tsi_types as ci from .cec_types import * from .cec_private_types import * from typing import Union @@ -29,7 +29,7 @@ class CecTx: Args: state (`bool`) """ - self.__io.set(TSI_HDTX_CEC_CONTROL, state, c_uint32) + self.__io.set(ci.TSI_HDTX_CEC_CONTROL, state, c_uint32) def is_enabled(self) -> bool: """ @@ -38,7 +38,7 @@ class CecTx: Returns: object of `bool` type """ - return self.__io.get(TSI_HDTX_CEC_CONTROL, c_uint32)[1] & 0x1 == 1 + return self.__io.get(ci.TSI_HDTX_CEC_CONTROL, c_uint32)[1] & 0x1 == 1 @property def logical_address(self) -> LogicalAddressEnum: @@ -48,11 +48,11 @@ class CecTx: Returns: object of `LogicalAddressEnum` type """ - return LogicalAddressEnum(self.__io.get(TSI_HDTX_CEC_LOGICAL_ADDRESS, c_uint32)[1]) + return LogicalAddressEnum(self.__io.get(ci.TSI_HDTX_CEC_LOGICAL_ADDRESS, c_uint32)[1]) @logical_address.setter def logical_address(self, address: LogicalAddressEnum): - self.__io.set(TSI_HDTX_CEC_LOGICAL_ADDRESS, address.value, c_uint32) + self.__io.set(ci.TSI_HDTX_CEC_LOGICAL_ADDRESS, address.value, c_uint32) @property def destination(self) -> LogicalAddressEnum: @@ -62,11 +62,11 @@ class CecTx: Returns: object of `LogicalAddressEnum` type """ - return LogicalAddressEnum(self.__io.get(TSI_HDTX_CEC_DESTINATION, c_uint32)[1]) + return LogicalAddressEnum(self.__io.get(ci.TSI_HDTX_CEC_DESTINATION, c_uint32)[1]) @destination.setter def destination(self, address: LogicalAddressEnum): - self.__io.set(TSI_HDTX_CEC_DESTINATION, address.value, c_uint32) + self.__io.set(ci.TSI_HDTX_CEC_DESTINATION, address.value, c_uint32) @property def phy_address(self) -> int: @@ -76,11 +76,11 @@ class CecTx: Returns: object of `int` type """ - return self.__io.get(TSI_HDTX_CEC_PHYSICAL_ADDRESS, c_uint32)[1] + return self.__io.get(ci.TSI_HDTX_CEC_PHYSICAL_ADDRESS, c_uint32)[1] @phy_address.setter def phy_address(self, address: int): - self.__io.set(TSI_HDTX_CEC_PHYSICAL_ADDRESS, address, c_uint32) + self.__io.set(ci.TSI_HDTX_CEC_PHYSICAL_ADDRESS, address, c_uint32) @property def op_code(self) -> int: @@ -90,11 +90,11 @@ class CecTx: Returns: object of `int` type """ - return self.__io.get(TSI_HDTX_CEC_OP_CODE, c_uint32)[1] + return self.__io.get(ci.TSI_HDTX_CEC_OP_CODE, c_uint32)[1] @op_code.setter def op_code(self, code: int): - self.__io.set(TSI_HDTX_CEC_OP_CODE, code, c_uint32) + self.__io.set(ci.TSI_HDTX_CEC_OP_CODE, code, c_uint32) @property def op_code_param(self) -> Union[int, list]: @@ -104,12 +104,12 @@ class CecTx: Returns: object of `int` type """ - return self.__io.get(TSI_HDTX_CEC_OP_CODE_PARAM, c_uint32)[1] + return self.__io.get(ci.TSI_HDTX_CEC_OP_CODE_PARAM, c_uint32)[1] @op_code_param.setter def op_code_param(self, code_param: Union[int, list]): data_count = len(code_param) if isinstance(code_param, list) else 1 - self.__io.set(TSI_HDTX_CEC_OP_CODE_PARAM, code_param, c_uint32, data_count=data_count) + self.__io.set(ci.TSI_HDTX_CEC_OP_CODE_PARAM, code_param, c_uint32, data_count=data_count) @property def device_type(self) -> DeviceType: @@ -119,7 +119,7 @@ class CecTx: Returns: object of `DeviceType` type """ - data = self.__io.get(TSI_HDTX_CEC_DEVICE_TYPE, DeviceTypePrivate)[1] + data = self.__io.get(ci.TSI_HDTX_CEC_DEVICE_TYPE, DeviceTypePrivate)[1] return DeviceType(data.cecSwitch, data.audioSystem, data.pbDevice, data.tuner, data.recDev, data.tv) @device_type.setter @@ -134,7 +134,7 @@ class CecTx: value = dev_type & 0xFF else: raise TypeError(f"Unsupported type: {type(dev_type)}") - self.__io.set(TSI_HDTX_CEC_DEVICE_TYPE, value, c_uint32) + self.__io.set(ci.TSI_HDTX_CEC_DEVICE_TYPE, value, c_uint32) @property def status(self) -> CECStatus: @@ -144,7 +144,7 @@ class CecTx: Returns: object of `CECStatus` type """ - data = self.__io.get(TSI_HDTX_CEC_STATUS_R, CECStatusPrivate)[1] + data = self.__io.get(ci.TSI_HDTX_CEC_STATUS_R, CECStatusPrivate)[1] return CECStatus(data.bufferOverflowed) @property @@ -155,7 +155,7 @@ class CecTx: Returns: object of `int` type """ - return self.__io.get(TSI_HDTX_CEC_RECEIVED_CNT_R, c_uint32)[1] + return self.__io.get(ci.TSI_HDTX_CEC_RECEIVED_CNT_R, c_uint32)[1] @property def data(self) -> list: @@ -165,8 +165,8 @@ class CecTx: Returns: object of `list` type """ - data_size = self.__io.get(TSI_HDTX_CEC_DATA_SIZE_R, c_uint32)[1] - return self.__io.get(TSI_HDTX_CEC_DATA_RECEIVED_R, c_uint32, data_size)[1] + data_size = self.__io.get(ci.TSI_HDTX_CEC_DATA_SIZE_R, c_uint32)[1] + return self.__io.get(ci.TSI_HDTX_CEC_DATA_RECEIVED_R, c_uint32, data_size)[1] def reset_data(self, command: CecResetDataCommand): """ @@ -175,10 +175,10 @@ class CecTx: Returns: object of `CecResetDataCommand` type """ - self.__io.set(TSI_HDTX_CEC_DATA_RESET_W, command.value, c_uint32) + self.__io.set(ci.TSI_HDTX_CEC_DATA_RESET_W, command.value, c_uint32) def __read_version(self) -> (int, int): - version = self.__io.get(TSI_HDTX_CEC_VERSION_R, CECVersion)[1] + version = self.__io.get(ci.TSI_HDTX_CEC_VERSION_R, CECVersion)[1] return version.minor, version.major def add_command(self, command: CECCommand = CECCommand()): @@ -250,7 +250,7 @@ class CecTx: self.__send_cec_command() def __send_cec_command(self): - self.__io.set(TSI_HDTX_CEC_COMMAND, 1, c_uint32) + self.__io.set(ci.TSI_HDTX_CEC_COMMAND, 1, c_uint32) @property def commands(self) -> list: diff --git a/UniTAP/dev/ports/modules/dpcd/dpcd.py b/UniTAP/dev/ports/modules/dpcd/dpcd.py index 03aac7b..d132922 100644 --- a/UniTAP/dev/ports/modules/dpcd/dpcd.py +++ b/UniTAP/dev/ports/modules/dpcd/dpcd.py @@ -1,8 +1,9 @@ import os +from ctypes import c_ubyte from typing import Union, Tuple -from UniTAP.libs.lib_tsi.tsi import * from UniTAP.libs.lib_tsi.tsi_io import PortIO +import UniTAP.libs.lib_tsi.tsi_types as ci class DPCDRegion: @@ -129,7 +130,7 @@ class DPCDRegisters: data = bytearray(data) result = self.__io.set(self.__base_ci, base) - if result < TSI_SUCCESS: + if result < ci.TSI_SUCCESS: return result result = self.__io.set(self.__data_ci, data, c_ubyte, len(data)) return result diff --git a/UniTAP/dev/ports/modules/earc/__init__.py b/UniTAP/dev/ports/modules/earc/__init__.py new file mode 100644 index 0000000..456f5cf --- /dev/null +++ b/UniTAP/dev/ports/modules/earc/__init__.py @@ -0,0 +1,2 @@ +from .earc_types import EarcMode +from .earc_tx import EarcTx diff --git a/UniTAP/dev/ports/modules/earc/earc_tx.py b/UniTAP/dev/ports/modules/earc/earc_tx.py new file mode 100644 index 0000000..0cf742c --- /dev/null +++ b/UniTAP/dev/ports/modules/earc/earc_tx.py @@ -0,0 +1,83 @@ +from ctypes import c_ubyte + +from UniTAP.dev.ports.modules.ag.earc import AudioGeneratorEARC +from UniTAP.dev.modules.memory_manager import MemoryManager +from UniTAP.libs.lib_tsi.tsi_io import PortIO + +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci +import UniTAP.libs.lib_tsi.tsi_types as ci + +from .earc_types import EarcControl, EarcMode, EarcStatus, EarcState, EarcHearthbeatState, EarcRxStatus + +class EarcTx: + __MAX_EARC_EDID_SIZE = 128 + + def __init__(self, port_io: PortIO, memory_manager: MemoryManager) -> None: + self.__io = port_io + self.__earc_ag = AudioGeneratorEARC(port_io, memory_manager) + self.__control = self.__io.get(ci.TSI_HDRX_EARC_CTRL, EarcControl)[1] + + def configure(self, mode: EarcMode, latency: int, bypass: bool = False) -> None: + self.__control.mode = mode + self.__control.bypass = bypass + self.__apply_control() + self.__set_audio_latency(latency) + + def get_status(self) -> EarcStatus: + """ + Get eARC transmitter status. + + Returns: + object of `EarcStatus` type. + """ + return self.__io.get(ci.TSI_HDRX_EARC_STS_R, EarcStatus)[1] + + def get_latency(self) -> int: + """ + Get current audio latency for eARC transmitter. + + Returns: + object of `int` type. + """ + return self.__io.get(ci.TSI_HDRX_EARC_LATENCY, int)[1] + + def get_edid(self) -> bytearray: + """ + Get EDID data from eARC receiver. + + Returns: + object of `bytearray` type. + """ + result, edid_data, size = self.__io.get(ci.TSI_HDRX_EARC_EDID_DATA, c_ubyte, self.__MAX_EARC_EDID_SIZE) + if result > 0: + return bytearray(edid_data[:result]) + else: + return bytearray() + + @property + def ag(self) -> AudioGeneratorEARC: + """ + Get audio generator for eARC transmitter. + + Returns: + object of `AudioGeneratorEARC` type. + """ + return self.__earc_ag + + def __apply_control(self): + """ + Apply eARC control settings. + """ + self.__io.set(ci.TSI_HDRX_EARC_CTRL, self.__control) + + def __set_audio_latency(self, latency: int): + """ + Set audio latency request for eARC transmitter. + + Args: + latency (int) - latency value to set + """ + self.__io.set(ci.TSI_HDRX_EARC_LATENCY_REQ, latency) + + + \ No newline at end of file diff --git a/UniTAP/dev/ports/modules/earc/earc_types.py b/UniTAP/dev/ports/modules/earc/earc_types.py new file mode 100644 index 0000000..6308c4c --- /dev/null +++ b/UniTAP/dev/ports/modules/earc/earc_types.py @@ -0,0 +1,112 @@ +from enum import IntEnum +from ctypes import c_uint32, Structure + +from UniTAP.utils.bit_ops import get_bitfield, set_bitfield + +class EarcMode(IntEnum): + """ + Describes possible eArc modes. + """ + Disabled = 0 + eArc = 1 + Legacy = 2 + eArcNone = 3 + +class EarcState(IntEnum): + """ + Describes possible eArc states. + """ + H14bARC = 0 + IDLE1 = 1 + IDLE2 = 2 + DISC1 = 3 + DISC2 = 4 + EARC = 5 + + def __str__(self) -> str: + return self.name + +class EarcHearthbeatState(IntEnum): + """ + Describes possible eArc states. + """ + LOST = 0 + SUCCESS = 1 + FAIL = 2 + + def __str__(self) -> str: + return self.name + +class EarcRxStatus(IntEnum): + """ + Describes possible eArc RX statuses. + """ + INVALID = 0 + STAT_CHNG = 1 + CAP_CHNG = 2 + EARC_HPD = 4 + + def __str__(self) -> str: + return self.name + +class EarcStatus(Structure): + __EARC_STATE_OFFSET = 0 + __EARC_STATE_MASK = 0xF << __EARC_STATE_OFFSET + + __EARC_HEARTHBEAT_OFFSET = 4 + __EARC_HEARTHBEAT_MASK = 0xF << __EARC_HEARTHBEAT_OFFSET + + __EARC_RX_STATUS_OFFSET = 8 + __EARC_RX_STATUS_MASK = 0xF << __EARC_RX_STATUS_OFFSET + + _fields_ = [ + ('data', c_uint32, 32) + ] + + def __init__(self, value: int) -> None: + self.data = value + + @property + def earc_state(self) -> EarcState: + return EarcState(get_bitfield(self.data, self.__EARC_STATE_MASK, self.__EARC_STATE_OFFSET)) + + @property + def earc_hearthbeat(self) -> EarcHearthbeatState: + return EarcHearthbeatState(get_bitfield(self.data, self.__EARC_HEARTHBEAT_MASK, self.__EARC_HEARTHBEAT_OFFSET)) + + @property + def earc_rx_status(self) -> EarcRxStatus: + return EarcRxStatus(get_bitfield(self.data, self.__EARC_RX_STATUS_MASK, self.__EARC_RX_STATUS_OFFSET)) + + def __str__(self) -> str: + return f"EarcStatus(state={self.earc_state}, heartbeat={self.earc_hearthbeat}, rx_status={self.earc_rx_status})" + +class EarcControl(Structure): + __EARC_MODE_OFFSET = 0 + __EARC_MODE_MASK = 0x7 << __EARC_MODE_OFFSET + + __EARC_BYPASS_OFFSET = 3 + __EARC_BYPASS_MASK = 0x1 << __EARC_BYPASS_OFFSET + + _fields_ = [ + ('data', c_uint32, 32) + ] + + def __init__(self, value: int) -> None: + self.data = value + + @property + def mode(self) -> EarcMode: + return EarcMode(get_bitfield(self.data, self.__EARC_MODE_MASK, self.__EARC_MODE_OFFSET)) + + @mode.setter + def mode(self, value: EarcMode): + self.data = set_bitfield(self.data, self.__EARC_MODE_MASK, self.__EARC_MODE_OFFSET, value.value) + + @property + def bypass(self) -> bool: + return bool(get_bitfield(self.data, self.__EARC_BYPASS_MASK, self.__EARC_BYPASS_OFFSET)) + + @bypass.setter + def bypass(self, value: bool): + self.data = set_bitfield(self.data, self.__EARC_BYPASS_MASK, self.__EARC_BYPASS_OFFSET, int(value)) diff --git a/UniTAP/dev/ports/modules/edid/edid.py b/UniTAP/dev/ports/modules/edid/edid.py index 7d86d8d..b175cb6 100644 --- a/UniTAP/dev/ports/modules/edid/edid.py +++ b/UniTAP/dev/ports/modules/edid/edid.py @@ -3,10 +3,7 @@ from typing import List from UniTAP.common import Timing -from UniTAP.libs.lib_tsi.tsi_types import TSI_EDID_SELECT_STREAM, TSI_EDID_TE_INPUT, TSI_EDID_TE_OUTPUT, \ - TSI_EDID_TE_OUTPUT_REMOTE_R, TSI_DID_TE_OUTPUT, TSI_DID_TE_INPUT, TSI_DID_SELECT_STREAM, \ - TSI_DID_TE_OUTPUT_REMOTE_R, TSI_DPRX_DISPLAYID_CTRL, TSI_DPTX_DISPLAYID_CTRL, TSI_EDID_DUT_TIMINGS_COUNT, \ - TSI_EDID_DUT_TIMINGS_DATA +import UniTAP.libs.lib_tsi.tsi_types as ci from UniTAP.libs.lib_tsi.tsi_io import PortIO from UniTAP.dev.ports.modules.device_constants import MAX_EDID_SIZE from ctypes import c_ubyte, c_uint32 @@ -67,12 +64,12 @@ class Edid: """ """ - timings_count = self._io.get(TSI_EDID_DUT_TIMINGS_COUNT, c_uint32)[1] + timings_count = self._io.get(ci.TSI_EDID_DUT_TIMINGS_COUNT, c_uint32)[1] if timings_count == 0: return [] - timings = self._io.get(TSI_EDID_DUT_TIMINGS_DATA, ParsedTimingStruct, timings_count)[1] + timings = self._io.get(ci.TSI_EDID_DUT_TIMINGS_DATA, ParsedTimingStruct, timings_count)[1] parsed_timings = [] for i in range(timings_count): @@ -123,7 +120,7 @@ class EdidSource(Edid): """ def __init__(self, port_io: PortIO, max_stream_count: int): - super().__init__(port_io, TSI_EDID_TE_OUTPUT, max_stream_count, TSI_EDID_SELECT_STREAM) + super().__init__(port_io, ci.TSI_EDID_TE_OUTPUT, max_stream_count, ci.TSI_EDID_SELECT_STREAM) def read_sbm(self, stream: int): """ @@ -137,7 +134,7 @@ class EdidSource(Edid): """ self._select_stream(stream) - result, edid_data, size = self._io.get(TSI_EDID_TE_OUTPUT_REMOTE_R, c_ubyte, MAX_EDID_SIZE) + result, edid_data, size = self._io.get(ci.TSI_EDID_TE_OUTPUT_REMOTE_R, c_ubyte, MAX_EDID_SIZE) if result > 0: return bytearray(edid_data[:result]) else: @@ -153,7 +150,7 @@ class EdidSink(Edid): """ def __init__(self, port_io: PortIO, max_stream_count: int): - super().__init__(port_io, TSI_EDID_TE_INPUT, max_stream_count, TSI_EDID_SELECT_STREAM) + super().__init__(port_io, ci.TSI_EDID_TE_INPUT, max_stream_count, ci.TSI_EDID_SELECT_STREAM) def write_edid(self, data: bytearray, stream: int = 0): """ @@ -216,7 +213,7 @@ class DisplayIdSource(Edid): """ def __init__(self, port_io: PortIO, max_stream_count: int): - super().__init__(port_io, TSI_DID_TE_OUTPUT, max_stream_count, TSI_DID_SELECT_STREAM) + super().__init__(port_io, ci.TSI_DID_TE_OUTPUT, max_stream_count, ci.TSI_DID_SELECT_STREAM) def read_sbm(self, stream: int): """ @@ -230,7 +227,7 @@ class DisplayIdSource(Edid): """ self._select_stream(stream) - result, data, size = self._io.get(TSI_DID_TE_OUTPUT_REMOTE_R, c_ubyte, MAX_EDID_SIZE) + result, data, size = self._io.get(ci.TSI_DID_TE_OUTPUT_REMOTE_R, c_ubyte, MAX_EDID_SIZE) if result > 0: return bytearray(data[:result]) else: @@ -243,7 +240,7 @@ class DisplayIdSource(Edid): Args: mode (`DisplayIDReadMode`) """ - self._io.set(TSI_DPTX_DISPLAYID_CTRL, mode.value, c_uint32) + self._io.set(ci.TSI_DPTX_DISPLAYID_CTRL, mode.value, c_uint32) def get_display_id_mode(self) -> DisplayIDReadMode: """ @@ -252,7 +249,7 @@ class DisplayIdSource(Edid): Returns: object of `DisplayIDReadMode` type. """ - result = self._io.get(TSI_DPTX_DISPLAYID_CTRL, c_uint32)[1] + result = self._io.get(ci.TSI_DPTX_DISPLAYID_CTRL, c_uint32)[1] return DisplayIDReadMode(result) @@ -265,7 +262,7 @@ class DisplayIdSink(Edid): """ def __init__(self, port_io: PortIO, max_stream_count: int): - super().__init__(port_io, TSI_DID_TE_INPUT, max_stream_count, TSI_DID_SELECT_STREAM) + super().__init__(port_io, ci.TSI_DID_TE_INPUT, max_stream_count, ci.TSI_DID_SELECT_STREAM) def is_enabled(self) -> bool: """ @@ -274,7 +271,7 @@ class DisplayIdSink(Edid): Returns: object of `bool` type. """ - result = self._io.get(TSI_DPRX_DISPLAYID_CTRL, c_uint32) + result = self._io.get(ci.TSI_DPRX_DISPLAYID_CTRL, c_uint32) status_display_id = ((result[1] & 0x1) != 0) return bool(status_display_id) @@ -286,7 +283,7 @@ class DisplayIdSink(Edid): enable (bool) - enable (True) or disable (False) """ val = 0x1 if enable else 0x0 - self._io.set(TSI_DPRX_DISPLAYID_CTRL, val) + self._io.set(ci.TSI_DPRX_DISPLAYID_CTRL, val) def write_display_id(self, data: bytearray): diff --git a/UniTAP/dev/ports/modules/fec/fec_rx.py b/UniTAP/dev/ports/modules/fec/fec_rx.py index 28cb318..f80f620 100644 --- a/UniTAP/dev/ports/modules/fec/fec_rx.py +++ b/UniTAP/dev/ports/modules/fec/fec_rx.py @@ -1,4 +1,6 @@ -from UniTAP.libs.lib_tsi.tsi import * +from ctypes import c_int + +import UniTAP.libs.lib_tsi.tsi_types as ci from UniTAP.libs.lib_tsi.tsi_io import PortIO from .fec_shared import FECCounters @@ -27,7 +29,7 @@ class FecRx: Returns: object of `bool` type. """ - result = self.__io.get(TSI_DPRX_FEC_STATUS_R, c_int) + result = self.__io.get(ci.TSI_DPRX_FEC_STATUS_R, c_int) status_fec = ((result[1] & 0x1) != 0) return bool(status_fec) @@ -38,7 +40,7 @@ class FecRx: Returns: object of `bool` type. """ - result = self.__io.get(TSI_DPRX_FEC_CTRL, c_int) + result = self.__io.get(ci.TSI_DPRX_FEC_CTRL, c_int) enabled_fec = (result[1] & 0x1) != 0 return enabled_fec @@ -50,7 +52,7 @@ class FecRx: enable (bool) - enable (True) or disable (False) """ val = 0x1 if enable else 0x0 - self.__io.set(TSI_DPRX_FEC_CTRL, val) + self.__io.set(ci.TSI_DPRX_FEC_CTRL, val) def aggregate_errors(self, enable: bool): """ @@ -59,7 +61,7 @@ class FecRx: Args: enable (bool) - enable (True) or disable (False) """ - result = self.__io.get(TSI_DPRX_FEC_CONTROL, c_int) + result = self.__io.get(ci.TSI_DPRX_FEC_CONTROL, c_int) val = result[1] if enable: val |= 0x2 @@ -67,7 +69,7 @@ class FecRx: else: val &= ~0x2 self.__aggregate_error = 0 - self.__io.set(TSI_DPRX_FEC_CONTROL, val) + self.__io.set(ci.TSI_DPRX_FEC_CONTROL, val) def get_error_counters(self) -> FECCounters: """ @@ -78,7 +80,7 @@ class FecRx: object of `FECCounters` type """ result = FECCounters() - lane_count = self.__io.get(TSI_R_DPRX_LINK_LANE_COUNT, c_int)[1] + lane_count = self.__io.get(ci.TSI_R_DPRX_LINK_LANE_COUNT, c_int)[1] if lane_count == 4: lane_count += 1 if self.__aggregate_error else 0 diff --git a/UniTAP/dev/ports/modules/fec/fec_tx.py b/UniTAP/dev/ports/modules/fec/fec_tx.py index 5ef27d4..2a92d24 100644 --- a/UniTAP/dev/ports/modules/fec/fec_tx.py +++ b/UniTAP/dev/ports/modules/fec/fec_tx.py @@ -1,5 +1,8 @@ -from UniTAP.libs.lib_tsi.tsi import * +from ctypes import c_int, c_uint32 + from UniTAP.libs.lib_tsi.tsi_io import PortIO +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci +import UniTAP.libs.lib_tsi.tsi_types as ci from .fec_shared import FECCounters, FECErrorType8b10b, FECErrorType128b132b from UniTAP.dev.ports.modules.dpcd.dpcd import DPCDRegisters @@ -29,7 +32,7 @@ class FecTx: Returns: object of `bool` type. """ - result = self.__io.get(TSI_DPTX_FEC_STATUS_R, c_int) + result = self.__io.get(ci.TSI_DPTX_FEC_STATUS_R, c_int) status_fec = ((result[1] & 0x1) != 0) return bool(status_fec) @@ -40,7 +43,7 @@ class FecTx: Returns: object of `bool` type. """ - result = self.__io.get(TSI_DPTX_FEC_CTRL, c_int) + result = self.__io.get(ci.TSI_DPTX_FEC_CTRL, c_int) enabled_fec = (result[1] & 0x2) != 0 return enabled_fec @@ -51,10 +54,10 @@ class FecTx: Args: enable (bool) - enable (True) or disable (False) """ - result = self.__io.get(TSI_DPTX_FEC_CTRL, c_int) + result = self.__io.get(ci.TSI_DPTX_FEC_CTRL, c_int) val = result[1] val |= 0x8 if enable else 0x10 - self.__io.set(TSI_DPTX_FEC_CTRL, val) + self.__io.set(ci.TSI_DPTX_FEC_CTRL, val) def enable_intent(self, enable: bool): """ @@ -63,10 +66,10 @@ class FecTx: Args: enable (bool) - enable (True) or disable (False) """ - result = self.__io.get(TSI_DPTX_FEC_CTRL, c_int) + result = self.__io.get(ci.TSI_DPTX_FEC_CTRL, c_int) val = result[1] val |= 1 if enable else 4 - self.__io.set(TSI_DPTX_FEC_CTRL, val) + self.__io.set(ci.TSI_DPTX_FEC_CTRL, val) def aggregate_errors(self, enable: bool): """ @@ -75,7 +78,7 @@ class FecTx: Args: enable (bool) - enable (True) or disable (False) """ - result = self.__io.get(TSI_DPTX_FEC_CONTROL, c_int) + result = self.__io.get(ci.TSI_DPTX_FEC_CONTROL, c_int) val = result[1] if enable: val |= 0x40 @@ -83,7 +86,7 @@ class FecTx: else: val &= ~0x40 self.__aggregate_error = 0 - self.__io.set(TSI_DPTX_FEC_CONTROL, val) + self.__io.set(ci.TSI_DPTX_FEC_CONTROL, val) def generate_errors(self, error_type: Union[FECErrorType8b10b, FECErrorType128b132b], lane: list, ms: int = 100): """ @@ -94,8 +97,8 @@ class FecTx: lane (list) ms (int) - time in m seconds """ - result, status = self.__io.get(TSI_DPTX_LINK_MODE_R, c_int) - resut, hw_caps, size = self.__io.get(TSI_DPTX_HW_CAPS_R, c_uint32, 4) + result, status = self.__io.get(ci.TSI_DPTX_LINK_MODE_R, c_int) + resut, hw_caps, size = self.__io.get(ci.TSI_DPTX_HW_CAPS_R, c_uint32, 4) if status == 0: if isinstance(error_type, FECErrorType128b132b): assert False, "This device doesn't support 128b/132b" if (hw_caps[1] & 0x7) == 0 else "Change link mode!" @@ -109,24 +112,24 @@ class FecTx: delay = ms * 100 - self.__io.set(TSI_MLEG_CONTROL, 0) - nl = self.__io.get(TSI_R_DPTX_LINK_STATUS_LANE_COUNT, c_uint32)[1] + self.__io.set(p_ci.TSI_MLEG_CONTROL, 0) + nl = self.__io.get(ci.TSI_R_DPTX_LINK_STATUS_LANE_COUNT, c_uint32)[1] - self.__io.set(TSI_MLEG_SYMBOL_REPLACE_A, 0x00010000) - self.__io.set(TSI_MLEG_SYMBOL_REPLACE_MASK_A, 0x00010001) - self.__io.set(TSI_MLEG_SYMBOL_REPLACE_B, 0x00000001) - self.__io.set(TSI_MLEG_SYMBOL_REPLACE_MASK_B, 0x00010001) + self.__io.set(p_ci.TSI_MLEG_SYMBOL_REPLACE_A, 0x00010000) + self.__io.set(p_ci.TSI_MLEG_SYMBOL_REPLACE_MASK_A, 0x00010001) + self.__io.set(p_ci.TSI_MLEG_SYMBOL_REPLACE_B, 0x00000001) + self.__io.set(p_ci.TSI_MLEG_SYMBOL_REPLACE_MASK_B, 0x00010001) - self.__io.set(TSI_MLEG_DELAY_COUNTER, delay) + self.__io.set(p_ci.TSI_MLEG_DELAY_COUNTER, delay) n = lane[0] << 16 - self.__io.set(TSI_MLEG_LANE0_REPLACE_COUNTERS, n) + self.__io.set(p_ci.TSI_MLEG_LANE0_REPLACE_COUNTERS, n) n = lane[1] << 16 - self.__io.set(TSI_MLEG_LANE1_REPLACE_COUNTERS, n) + self.__io.set(p_ci.TSI_MLEG_LANE1_REPLACE_COUNTERS, n) n = lane[2] << 16 - self.__io.set(TSI_MLEG_LANE2_REPLACE_COUNTERS, n) + self.__io.set(p_ci.TSI_MLEG_LANE2_REPLACE_COUNTERS, n) n = lane[3] << 16 - self.__io.set(TSI_MLEG_LANE3_REPLACE_COUNTERS, n) + self.__io.set(p_ci.TSI_MLEG_LANE3_REPLACE_COUNTERS, n) ctrl = 0 ctrl |= (error_type.value << 16) @@ -144,7 +147,7 @@ class FecTx: if lane[3]: ctrl |= (1 << 3) - self.__io.set(TSI_MLEG_CONTROL, ctrl) + self.__io.set(p_ci.TSI_MLEG_CONTROL, ctrl) def get_error_counters(self) -> FECCounters: """ @@ -154,7 +157,7 @@ class FecTx: object of `FECCounters` type """ result = FECCounters() - lane_count = self.__io.get(TSI_R_DPTX_LINK_STATUS_LANE_COUNT, c_uint32)[1] + lane_count = self.__io.get(ci.TSI_R_DPTX_LINK_STATUS_LANE_COUNT, c_uint32)[1] if lane_count == 4: lane_count += 1 if self.__aggregate_error else 0 diff --git a/UniTAP/dev/ports/modules/hdcp/hdcp_rx.py b/UniTAP/dev/ports/modules/hdcp/hdcp_rx.py index dabea42..05bb8bf 100644 --- a/UniTAP/dev/ports/modules/hdcp/hdcp_rx.py +++ b/UniTAP/dev/ports/modules/hdcp/hdcp_rx.py @@ -1,9 +1,10 @@ import warnings -from typing import Optional, Union +from ctypes import c_int +from typing import Optional, Union, Type +import UniTAP.libs.lib_tsi.tsi_types as ci from UniTAP.libs.lib_tsi.tsi_io import PortIO, PortProtocol from .types import * -from UniTAP.libs.lib_tsi.tsi import c_int class HdcpSinkStatus: @@ -77,7 +78,7 @@ class HdcpSinkStatus: def __read_status(self, mode: HdcpMode) -> int: if mode == HdcpMode.Mode1_4: - return self.__io.get(TSI_HDCP_1X_STATUS_R, c_int)[1] + return self.__io.get(ci.TSI_HDCP_1X_STATUS_R, c_int)[1] else: return self.__io.get(self.__ci_status_control, c_int)[1] @@ -164,7 +165,7 @@ class HdcpSinkConfig: if keys == HdcpSink2XKeys.Production and not self.__caps_2x.production_keys_available: warnings.warn("Production keys is not hw supported. Please, select another keys.") - self.__io.set(TSI_HDCP_1X_COMMAND_W if hdcp_mode == HdcpMode.Mode1_4 else TSI_HDCP_2X_COMMAND_W, keys.value) + self.__io.set(ci.TSI_HDCP_1X_COMMAND_W if hdcp_mode == HdcpMode.Mode1_4 else ci.TSI_HDCP_2X_COMMAND_W, keys.value) def __set_capable(self, value: Optional[bool], hdcp_mode: HdcpMode): if value is None: @@ -172,9 +173,10 @@ class HdcpSinkConfig: if not self.__full_check(hdcp_mode): return - self.__io.set(TSI_HDCP_1X_COMMAND_W if hdcp_mode == HdcpMode.Mode1_4 else TSI_HDCP_2X_COMMAND_W, - (H1_SINK_SET_CAPABLE if value else H1_SINK_CLEAR_CAPABLE) - if hdcp_mode == HdcpMode.Mode1_4 else (H2_SINK_SET_CAPABLE if value else H2_SINK_CLEAR_CAPABLE)) + self.__io.set(ci.TSI_HDCP_1X_COMMAND_W if hdcp_mode == HdcpMode.Mode1_4 else ci.TSI_HDCP_2X_COMMAND_W, + (ci.H1_SINK_SET_CAPABLE if value else ci.H1_SINK_CLEAR_CAPABLE) + if hdcp_mode == HdcpMode.Mode1_4 else ( + ci.H2_SINK_SET_CAPABLE if value else ci.H2_SINK_CLEAR_CAPABLE)) def __full_check(self, hdcp_mode: HdcpMode) -> bool: if hdcp_mode == HdcpMode.Unknown: @@ -239,7 +241,7 @@ class HdcpSink: def __read_hw_caps(self, mode: HdcpMode, ci_caps_control: int = 0) -> int: if mode == HdcpMode.Mode1_4: - return self.__io.get(TSI_HDCP_1X_STATUS_R, c_int)[1] + return self.__io.get(ci.TSI_HDCP_1X_STATUS_R, c_int)[1] elif mode == HdcpMode.Mode2_3: return self.__io.get(ci_caps_control, c_int)[1] else: diff --git a/UniTAP/dev/ports/modules/hdcp/hdcp_tx.py b/UniTAP/dev/ports/modules/hdcp/hdcp_tx.py index f252c0e..0c9c401 100644 --- a/UniTAP/dev/ports/modules/hdcp/hdcp_tx.py +++ b/UniTAP/dev/ports/modules/hdcp/hdcp_tx.py @@ -1,10 +1,11 @@ import warnings -from typing import Optional, Union +from typing import Optional, Union, Type from UniTAP.libs.lib_tsi.tsi_io import PortIO, PortProtocol from .types import * -from UniTAP.libs.lib_tsi.tsi_private_types import * -from ctypes import c_int +import UniTAP.libs.lib_tsi.tsi_types as ci +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci +from ctypes import c_int, c_uint32 class HdcpSourceStatus: @@ -52,10 +53,18 @@ class HdcpSourceStatus: if self.__caps_1x.hw_supported: status_value = self.__read_status(HdcpMode.Mode1_4) status = HdcpStatus.Status1x() + + if (status_value >> 9) & 1: + status.keys = HdcpSource1XKeys.Test + elif (status_value >> 10) & 1: + status.keys = HdcpSource1XKeys.Production + else: + status.keys = HdcpSource1XKeys.Unload + status.active = (status_value >> 8) & 1 - status.keys = HdcpSource1XKeys(((status_value >> 9) & 3) + 0x100) status.capable = ((status_value >> 11) & 1) status.authenticated = ((status_value >> 12) & 1) + return status else: warnings.warn(f"Not supported 'HDCP 1.4'") @@ -63,23 +72,21 @@ class HdcpSourceStatus: if self.__caps_2x.hw_supported: status_value = self.__read_status(HdcpMode.Mode2_3) status = HdcpStatus.StatusTx2x() - if self.__io.protocol() == PortProtocol.HDMI: - status.keys = HdcpSource2XKeys.Production if (status_value >> 9) & 1 else HdcpSource2XKeys.Unload + + if (status_value >> 14) & 1: + status.keys = HdcpSource2XKeys.TestR1 + elif (status_value >> 15) & 1: + status.keys = HdcpSource2XKeys.TestR2 + elif (status_value >> 9) & 1: + status.keys = HdcpSource2XKeys.Production else: - if (status_value >> 14) & 1: - status.keys = HdcpSource2XKeys.TestR1 - elif (status_value >> 15) & 1: - status.keys = HdcpSource2XKeys.TestR2 - elif (status_value >> 9) & 1: - status.keys = HdcpSource2XKeys.Production - else: - status.keys = HdcpSource2XKeys.Unload - - status.km_is_stored = (status_value >> 13) & 1 - status.try_authenticate = (status_value >> 18) & 1 - status.try_encrypt = (status_value >> 19) & 1 - status.content_level = self.__io.get(TSI_HDCP_2X_CFG, c_uint32)[1] + status.keys = HdcpSource2XKeys.Unload + status.km_is_stored = (status_value >> 13) & 1 + status.try_authenticate = (status_value >> 18) & 1 + status.try_encrypt = (status_value >> 19) & 1 + status.content_level = self.__io.get(p_ci.TSI_HDCP_2X_CFG, c_uint32)[1] + status.active = (status_value >> 8) & 1 status.capable = (status_value >> 10) & 1 status.authenticated = (status_value >> 12) & 1 @@ -90,7 +97,7 @@ class HdcpSourceStatus: def __read_status(self, mode: HdcpMode): if mode == HdcpMode.Mode1_4: - return self.__io.get(TSI_HDCP_1X_STATUS_R, c_int)[1] + return self.__io.get(ci.TSI_HDCP_1X_STATUS_R, c_int)[1] elif mode == HdcpMode.Mode2_3: return self.__io.get(self.__ci_status_control, c_int)[1] else: @@ -172,17 +179,17 @@ class HdcpSourceConfig: if value is None: return if hdcp_mode == HdcpMode.Mode1_4: - self.__io.set(TSI_HDCP_1X_COMMAND_W, H1_SOURCE_ENABLE_ENCRYPT if value else H1_SOURCE_DISABLE_ENCRYPT) + self.__io.set(ci.TSI_HDCP_1X_COMMAND_W, ci.H1_SOURCE_ENABLE_ENCRYPT if value else ci.H1_SOURCE_DISABLE_ENCRYPT) elif hdcp_mode == HdcpMode.Mode2_3: - self.__io.set(TSI_HDCP_2X_COMMAND_W, H2_SOURCE_ENABLE_ENCRYPT if value else H2_SOURCE_DISABLE_ENCRYPT) + self.__io.set(ci.TSI_HDCP_2X_COMMAND_W, ci.H2_SOURCE_ENABLE_ENCRYPT if value else ci.H2_SOURCE_DISABLE_ENCRYPT) def __set_authenticate(self, value: Optional[bool], hdcp_mode: HdcpMode): if value is None: return if hdcp_mode == HdcpMode.Mode1_4: - self.__io.set(TSI_HDCP_1X_COMMAND_W, H1_SOURCE_AUTHENTICATE if value else H1_SOURCE_DE_AUTHENTICATE) + self.__io.set(ci.TSI_HDCP_1X_COMMAND_W, ci.H1_SOURCE_AUTHENTICATE if value else ci.H1_SOURCE_DE_AUTHENTICATE) elif hdcp_mode == HdcpMode.Mode2_3: - self.__io.set(TSI_HDCP_2X_COMMAND_W, H2_SOURCE_AUTHENTICATE if value else H2_SOURCE_DE_AUTHENTICATE) + self.__io.set(ci.TSI_HDCP_2X_COMMAND_W, ci.H2_SOURCE_AUTHENTICATE if value else ci.H2_SOURCE_DE_AUTHENTICATE) def __load_keys(self, keys: Optional[Union[HdcpSource1XKeys, HdcpSource2XKeys]], hdcp_mode: HdcpMode): if keys is None: @@ -203,7 +210,7 @@ class HdcpSourceConfig: if keys == HdcpSource2XKeys.Production and not self.__caps_2x.production_keys_available: warnings.warn("Production keys is not hw supported. Please, select another keys.") - self.__io.set(TSI_HDCP_1X_COMMAND_W if hdcp_mode == HdcpMode.Mode1_4 else TSI_HDCP_2X_COMMAND_W, keys.value) + self.__io.set(ci.TSI_HDCP_1X_COMMAND_W if hdcp_mode == HdcpMode.Mode1_4 else ci.TSI_HDCP_2X_COMMAND_W, keys.value) def __full_check(self, hdcp_mode: HdcpMode) -> bool: if hdcp_mode == HdcpMode.Unknown: @@ -231,14 +238,14 @@ class HdcpSourceConfig: def __set_store_km(self, value: Optional[bool]): if value is None: return - self.__io.set(TSI_HDCP_2X_COMMAND_W, H2_SOURCE_AUTHENTICATE_STORE_KM if value else H2_SOURCE_CLEAR_STORE_KM) + self.__io.set(ci.TSI_HDCP_2X_COMMAND_W, ci.H2_SOURCE_AUTHENTICATE_STORE_KM if value else ci.H2_SOURCE_CLEAR_STORE_KM) def __set_content_level(self, value: Optional[int]): if value is None: return if value not in [0, 1]: raise ValueError(f"Incorrect input value of 'Content level' - {value}. Must be from range: 0-1") - self.__io.set(TSI_HDCP_2X_CFG, value) + self.__io.set(p_ci.TSI_HDCP_2X_CFG, value) class HdcpSource: @@ -280,7 +287,7 @@ class HdcpSource: def __read_hw_caps(self, mode: HdcpMode, ci_caps_control: int = 0) -> int: if mode == HdcpMode.Mode1_4: - return self.__io.get(TSI_HDCP_1X_STATUS_R, c_int)[1] + return self.__io.get(ci.TSI_HDCP_1X_STATUS_R, c_int)[1] elif mode == HdcpMode.Mode2_3: return self.__io.get(ci_caps_control, c_int)[1] else: diff --git a/UniTAP/dev/ports/modules/hdcp/types.py b/UniTAP/dev/ports/modules/hdcp/types.py index ea9d643..683a3a5 100644 --- a/UniTAP/dev/ports/modules/hdcp/types.py +++ b/UniTAP/dev/ports/modules/hdcp/types.py @@ -1,38 +1,37 @@ from typing import TypeVar -from UniTAP.libs.lib_tsi.tsi_types import * +import UniTAP.libs.lib_tsi.tsi_types as ci from enum import IntEnum -from typing import Type class HdcpSink1XKeys(IntEnum): Unknown = -1 - Unload = H1_SINK_UNLOAD_KEYS - Test = H1_SINK_LOAD_TEST_KEYS - Production = H1_SINK_LOAD_PROD_KEYS + Unload = ci.H1_SINK_UNLOAD_KEYS + Test = ci.H1_SINK_LOAD_TEST_KEYS + Production = ci.H1_SINK_LOAD_PROD_KEYS class HdcpSink2XKeys(IntEnum): Unknown = -1 - Unload = H2_SINK_UNLOAD_KEYS - Production = H2_SINK_LOAD_PROD_KEYS - TestR1 = H2_SINK_LOAD_TEST_KEYS_R1 - TestR2 = H2_SINK_LOAD_TEST_KEYS_R2 + Unload = ci.H2_SINK_UNLOAD_KEYS + Production = ci.H2_SINK_LOAD_PROD_KEYS + TestR1 = ci.H2_SINK_LOAD_TEST_KEYS_R1 + TestR2 = ci.H2_SINK_LOAD_TEST_KEYS_R2 class HdcpSource1XKeys(IntEnum): Unknown = -1 - Unload = H1_SOURCE_UNLOAD_KEYS - Test = H1_SOURCE_LOAD_TEST_KEYS - Production = H1_SOURCE_LOAD_PROD_KEYS + Unload = ci.H1_SOURCE_UNLOAD_KEYS + Test = ci.H1_SOURCE_LOAD_TEST_KEYS + Production = ci.H1_SOURCE_LOAD_PROD_KEYS class HdcpSource2XKeys(IntEnum): Unknown = -1 - Unload = H2_SOURCE_UNLOAD_KEYS - Production = H2_SOURCE_LOAD_PROD_KEYS - TestR1 = H2_SOURCE_LOAD_TEST_KEYS_R1 - TestR2 = H2_SOURCE_LOAD_TEST_KEYS_R2 + Unload = ci.H2_SOURCE_UNLOAD_KEYS + Production = ci.H2_SOURCE_LOAD_PROD_KEYS + TestR1 = ci.H2_SOURCE_LOAD_TEST_KEYS_R1 + TestR2 = ci.H2_SOURCE_LOAD_TEST_KEYS_R2 class HdcpMode(IntEnum): diff --git a/UniTAP/dev/ports/modules/link/dp/link_rx.py b/UniTAP/dev/ports/modules/link/dp/link_rx.py index e684f8c..f9d1448 100644 --- a/UniTAP/dev/ports/modules/link/dp/link_rx.py +++ b/UniTAP/dev/ports/modules/link/dp/link_rx.py @@ -1,6 +1,8 @@ from .link_rx_caps import LinkDisplayPortCaps from .link_rx_status import * from UniTAP.libs.lib_tsi.tsi_io import PortIO +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci +import UniTAP.libs.lib_tsi.tsi_types as ci from .dp_cable_info import DpCableInfo, CableCapabilitiesEnum from .link_rx_aux_controller import DisplayPortAUXController from UniTAP.dev.ports.modules.dpcd import DPCDRegisters @@ -20,7 +22,7 @@ class LinkDisplayPortRx: self.__HW_CAPS = hw_caps self.__status = LinkDisplayPortStatusSink(port_io, self.__HW_CAPS) self.__capabilities = LinkDisplayPortCaps(port_io, self.__HW_CAPS) - self.__cable_info = DpCableInfo(port_io, TSI_DPRX_CABLE_ATTRIBUTES_R) + self.__cable_info = DpCableInfo(port_io, p_ci.TSI_DPRX_CABLE_ATTRIBUTES_R) self.__aux_controller = DisplayPortAUXController(port_io, dpcd) @property @@ -60,7 +62,7 @@ class LinkDisplayPortRx: Args: duration_us (int) """ - self.__io.set(TSI_DPRX_HPD_PULSE_W, duration_us, c_int) + self.__io.set(ci.TSI_DPRX_HPD_PULSE_W, duration_us, c_int) def set_assert_state(self, state: bool): """ @@ -70,7 +72,7 @@ class LinkDisplayPortRx: state (bool) """ val = 0x1 if state else 0x0 - self.__io.set(TSI_FORCE_HOT_PLUG_STATE_W, val) + self.__io.set(ci.TSI_FORCE_HOT_PLUG_STATE_W, val) @property def scrambler_seed(self) -> int: @@ -84,7 +86,7 @@ class LinkDisplayPortRx: warnings.warn("Scrambler Seed is not supported.") return 0 - return self.__io.get(TSI_DPRX_SCR_SEED, c_uint32)[1] + return self.__io.get(ci.TSI_DPRX_SCR_SEED, c_uint32)[1] @scrambler_seed.setter def scrambler_seed(self, value: int = 0): @@ -98,7 +100,7 @@ class LinkDisplayPortRx: raise ValueError(f"Scrambler seed {value} is not available.") if self.__HW_CAPS.scrambler_seed: - self.__io.set(TSI_DPRX_SCR_SEED, value) + self.__io.set(ci.TSI_DPRX_SCR_SEED, value) else: warnings.warn("Scrambler Seed is not supported.") diff --git a/UniTAP/dev/ports/modules/link/dp/link_rx_aux_controller.py b/UniTAP/dev/ports/modules/link/dp/link_rx_aux_controller.py index 6344181..c7eb8d2 100644 --- a/UniTAP/dev/ports/modules/link/dp/link_rx_aux_controller.py +++ b/UniTAP/dev/ports/modules/link/dp/link_rx_aux_controller.py @@ -1,7 +1,8 @@ +from ctypes import c_uint32, c_int from typing import Optional from UniTAP.libs.lib_tsi import PortIO -from UniTAP.libs.lib_tsi.tsi_private_types import * -from UniTAP.libs.lib_tsi.tsi_types import * +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci +import UniTAP.libs.lib_tsi.tsi_types as ci from .private_link_rx_types import RoutedLTStatusPrivate from .link_rx_types import RoutedLTStatus, RoutedLTConfig from UniTAP.dev.ports.modules.dpcd import DPCDRegisters @@ -34,7 +35,7 @@ class DisplayPortAUXController: else: ctrl &= ~0x01 - res = self.__io.set(TSI_DPRX_LT_ROUTE_CONTROL_W, ctrl, c_uint32) + res = self.__io.set(ci.TSI_DPRX_LT_ROUTE_CONTROL_W, ctrl, c_uint32) if not res: raise Exception("The feature requires a license key and the required license key is not installed.") @@ -50,17 +51,18 @@ class DisplayPortAUXController: max_rate_dp14 = 0 max_rate_dp20 = 0 - if config.is128b132b: - if config.link_bw == 1: - max_rate_dp20 = 1 - elif config.link_bw == 2: - max_rate_dp20 = 3 - elif config.link_bw == 4: - max_rate_dp20 = 5 + if not config.is_edp_lt: + if config.is128b132b: + if config.link_bw == 1: + max_rate_dp20 = 1 + elif config.link_bw == 2: + max_rate_dp20 = 3 + elif config.link_bw == 4: + max_rate_dp20 = 5 - max_rate_dp14 = 0x1e - else: - max_rate_dp14 = config.link_bw + max_rate_dp14 = 0x1e + else: + max_rate_dp14 = config.link_bw res = self.__set_routed_lt_config(config.int_value()) if not res: @@ -91,12 +93,21 @@ class DisplayPortAUXController: if config.is128b132b: self.__dpcd.write(0x21, 0x01) self.__dpcd.write(0x90, 0xff) + edp_data = [0x00] * 16 + self.__dpcd.write(0x10, edp_data) + self.__dpcd.write(0x700, 0x00) dsc_data = [0x0f, 0x21, 0x03, 0x03, 0xeb, 0x07, 0x01, 0x00, 0x00, 0x1f, 0x0e, 0x11, 0x08, 0x07, 0x00, 0x00] self.__dpcd.write(0x60, dsc_data) self.__dpcd.write(0x2217, 0x06) else: self.__dpcd.write(0x21, 0x00) self.__dpcd.write(0x90, 0x00) + edp_data = [0x00] * 16 + if config.is_edp_lt: + edp_data[0] = config.link_bw & 0xff + edp_data[1] = (config.link_bw >> 8) & 0xff + self.__dpcd.write(0x10, edp_data) + self.__dpcd.write(0x700, config.is_edp_lt and 0x06 or 0x00) dsc_data = [0x00] * 16 self.__dpcd.write(0x60, dsc_data) self.__dpcd.write(0x2217, 0x00) @@ -200,19 +211,19 @@ class DisplayPortAUXController: step=routed_lt_status.step) def __set_routed_lt_config(self, value: int) -> bool: - res = self.__io.set(TSI_DPRX_LT_ROUTE_CREATE, value, c_uint32) + res = self.__io.set(ci.TSI_DPRX_LT_ROUTE_CREATE, value, c_uint32) return res >= 0 def __set_force_cable_status_to_plugged(self, enable: bool): val = 0x3C if enable else 0 - self.__io.set(TSI_DPRX_HPD_FORCE, val, c_int) + self.__io.set(ci.TSI_DPRX_HPD_FORCE, val, c_int) def __read_status(self) -> Optional[RoutedLTStatusPrivate]: - res, status = self.__io.get(TSI_DPRX_LT_ROUTE_STATUS_R, RoutedLTStatusPrivate) + res, status = self.__io.get(ci.TSI_DPRX_LT_ROUTE_STATUS_R, RoutedLTStatusPrivate) if res >= 0: return status return None def __generate_short_hpd_pulse(self, value: int): - self.__io.set(TSI_DPRX_HPD_PULSE_W, value, c_int) + self.__io.set(ci.TSI_DPRX_HPD_PULSE_W, value, c_int) diff --git a/UniTAP/dev/ports/modules/link/dp/link_rx_caps.py b/UniTAP/dev/ports/modules/link/dp/link_rx_caps.py index e3769c6..424c6e5 100644 --- a/UniTAP/dev/ports/modules/link/dp/link_rx_caps.py +++ b/UniTAP/dev/ports/modules/link/dp/link_rx_caps.py @@ -1,10 +1,11 @@ import warnings +from ctypes import c_int, c_uint, c_uint32 from typing import List, Optional, Union, Type from .link_rx_types import LinkCapabilities, LinkEDPCapabilities, DisplayPortLinkCaps from .private_link_rx_types import DPRXHWCaps, DPRXLinkControl from UniTAP.libs.lib_tsi import PortIO -from UniTAP.libs.lib_tsi.tsi_types import * +import UniTAP.libs.lib_tsi.tsi_types as ci class LinkDisplayPortCaps: @@ -27,7 +28,8 @@ class LinkDisplayPortCaps: if isinstance(capabilities, LinkCapabilities): self.__set_max_lanes(capabilities.max_lane) self.__set_max_bitrate(capabilities.bit_rate) - self.__set_force_cable_status_to_plugged(capabilities.force_cable_status_to_plugged) + # TODO: Temporarily disabled for writing value + # self.__set_force_cable_status_to_plugged(capabilities.force_cable_status_to_plugged) self.__set_dp_link_control(old_dp2_lt=capabilities.old_dp_2_0_lt) self.__set_dp_128_132_bitrates(capabilities.dp_128_132_bitrates) self.__set_bitrate_override(10.0, capabilities.override_10g) @@ -86,10 +88,10 @@ class LinkDisplayPortCaps: return if lane_count not in [1, 2, 4]: raise ValueError(f"Incorrect lane count number {lane_count}. Must be from list: 1, 2, 4") - self.__io.set(TSI_DPRX_MAX_LANES, lane_count, c_int) + self.__io.set(ci.TSI_DPRX_MAX_LANES, lane_count, c_int) def __get_max_lanes(self) -> int: - return self.__io.get(TSI_DPRX_MAX_LANES)[1] + return self.__io.get(ci.TSI_DPRX_MAX_LANES)[1] def __set_max_bitrate(self, bitrate: Optional[float]): if bitrate is None: @@ -97,10 +99,10 @@ class LinkDisplayPortCaps: bitrate = round(bitrate / 0.27) if bitrate not in [6, 10, 20, 25, 30]: raise ValueError(f"Incorrect bit rate number {bitrate}. Must be from list: 1.62, 2.7, 5.4, 6.75, 8.1") - self.__io.set(TSI_DPRX_MAX_LINK_RATE, bitrate, c_int) + self.__io.set(ci.TSI_DPRX_MAX_LINK_RATE, bitrate, c_int) def __get_max_bitrate(self) -> int: - return round(self.__io.get(TSI_DPRX_MAX_LINK_RATE)[1] * 0.27, 2) + return round(self.__io.get(ci.TSI_DPRX_MAX_LINK_RATE)[1] * 0.27, 2) def __set_bitrate_override(self, to_override: float, with_override: Optional[float]): if with_override is None: @@ -109,19 +111,19 @@ class LinkDisplayPortCaps: if not isinstance(to_override, float) or not isinstance(with_override, float): raise TypeError("DP 128b/132b bitrate override settings must float type!") - list_value = self.__io.get(TSI_DP2RX_CUSTOM_RATE_MAP, c_uint, 3)[1] + list_value = self.__io.get(ci.TSI_DP2RX_CUSTOM_RATE_MAP, c_uint, 3)[1] if with_override not in [2.5, 2.7, 5.0, 5.4]: raise ValueError(f"Incorrect bit rate number {with_override}. " f"Must be from list: 2.5, 2.7, 5.0, 5.4") list_value[0] = int(with_override * 1000000000 / 200000) - self.__io.set(TSI_DP2RX_CUSTOM_RATE_MAP, list_value, c_uint, 3) + self.__io.set(ci.TSI_DP2RX_CUSTOM_RATE_MAP, list_value, c_uint, 3) def __get_bitrate_override(self, to_override: float) -> Optional[float]: if not isinstance(to_override, float): raise TypeError("DP 128b/132b bitrate override settings must float type!") - override_list = self.__io.get(TSI_DP2RX_CUSTOM_RATE_MAP, c_uint, 3)[1] + override_list = self.__io.get(ci.TSI_DP2RX_CUSTOM_RATE_MAP, c_uint, 3)[1] if override_list.count(0) == len(override_list): return None @@ -138,21 +140,21 @@ class LinkDisplayPortCaps: if edp_aux_preamble is not None: ctrl.edp_aux_preamble = edp_aux_preamble - self.__io.set(TSI_DPRX_LINK_CONTROL, ctrl.value(), c_uint32) + self.__io.set(ci.TSI_DPRX_LINK_CONTROL, ctrl.value(), c_uint32) def __get_dp_link_control(self) -> DPRXLinkControl: - return self.__io.get(TSI_DPRX_LINK_CONTROL, DPRXLinkControl)[1] + return self.__io.get(ci.TSI_DPRX_LINK_CONTROL, DPRXLinkControl)[1] def __set_dp_128_132_bitrates(self, rates: Optional[List[float]]): - flags = self.__io.get(TSI_DPRX_LINK_FLAGS)[1] & ~0xc0 + flags = self.__io.get(ci.TSI_DPRX_LINK_FLAGS)[1] & ~0xc0 if rates is None: return elif isinstance(rates, list) and len(rates) == 0: flags &= ~(1 << 4) - self.__io.set(TSI_DPRX_LINK_FLAGS, flags, c_int) + self.__io.set(ci.TSI_DPRX_LINK_FLAGS, flags, c_int) else: flags |= (1 << 4) - self.__io.set(TSI_DPRX_LINK_FLAGS, flags, c_int) + self.__io.set(ci.TSI_DPRX_LINK_FLAGS, flags, c_int) val = 0 if 10.0 in rates: val |= 0x01 @@ -160,12 +162,12 @@ class LinkDisplayPortCaps: val |= 0x04 if 20.0 in rates: val |= 0x02 - self.__io.set(TSI_DP2RX_LINK_RATE_CAPS, val, c_int) + self.__io.set(ci.TSI_DP2RX_LINK_RATE_CAPS, val, c_int) def __get_dp_128_132_bitrates(self) -> Optional[List[float]]: - val = (self.__io.get(TSI_DPRX_LINK_FLAGS)[1] >> 4) & 0x1 + val = (self.__io.get(ci.TSI_DPRX_LINK_FLAGS)[1] >> 4) & 0x1 if val: - rates = self.__io.get(TSI_DP2RX_LINK_RATE_CAPS)[1] + rates = self.__io.get(ci.TSI_DP2RX_LINK_RATE_CAPS)[1] list_rates = [] if rates & 0x01: list_rates.append(10.0) @@ -181,47 +183,47 @@ class LinkDisplayPortCaps: if enable is None: return val = 0x3C if enable else 0 - self.__io.set(TSI_DPRX_HPD_FORCE, val, c_int) + self.__io.set(ci.TSI_DPRX_HPD_FORCE, val, c_int) def __get_force_cable_status_to_plugged(self) -> bool: - return bool(self.__io.get(TSI_DPRX_HPD_FORCE)[1]) + return bool(self.__io.get(ci.TSI_DPRX_HPD_FORCE)[1]) def __set_dsc(self, enable: Optional[bool]): if enable is None: return val = 0x1 if enable else 0x0 if self.__caps.dsc: - self.__io.set(TSI_DPRX_DSC_CONTROL, val, c_int) + self.__io.set(ci.TSI_DPRX_DSC_CONTROL, val, c_int) def __get_dsc(self) -> Optional[bool]: - if self.__io.get(TSI_DPRX_DSC_STATUS_R)[1] & 0x1: - return bool(self.__io.get(TSI_DPRX_DSC_CONTROL)[1] & 0x1) + if self.__io.get(ci.TSI_DPRX_DSC_STATUS_R)[1] & 0x1: + return bool(self.__io.get(ci.TSI_DPRX_DSC_CONTROL)[1] & 0x1) def __set_fec(self, enable: Optional[bool]): if enable is None: return val = 0x1 if enable else 0x0 if self.__caps.fec: - self.__io.set(TSI_DPRX_FEC_CONTROL, val, c_int) + self.__io.set(ci.TSI_DPRX_FEC_CONTROL, val, c_int) def __get_fec(self) -> Optional[bool]: if self.__caps.fec: - return bool(self.__io.get(TSI_DPRX_FEC_CONTROL)[1] & 0x1) + return bool(self.__io.get(ci.TSI_DPRX_FEC_CONTROL)[1] & 0x1) def __set_mst(self, enable: Optional[bool]): if enable is None: return - flags = self.__io.get(TSI_DPRX_LINK_FLAGS)[1] & ~0xc0 + flags = self.__io.get(ci.TSI_DPRX_LINK_FLAGS)[1] & ~0xc0 if enable: flags |= 1 else: flags &= ~1 if self.__caps.mst: - self.__io.set(TSI_DPRX_LINK_FLAGS, flags, c_int) + self.__io.set(ci.TSI_DPRX_LINK_FLAGS, flags, c_int) def __get_mst(self) -> Optional[bool]: if self.__caps.mst: - return bool(self.__io.get(TSI_DPRX_LINK_FLAGS)[1] & 0x1) + return bool(self.__io.get(ci.TSI_DPRX_LINK_FLAGS)[1] & 0x1) def __set_mst_sink_count(self, count: int): if count is None: @@ -230,73 +232,73 @@ class LinkDisplayPortCaps: if count > self.__caps.mst_stream_count: warnings.warn(f"Maximum sink count: {self.__caps.mst_stream_count}") else: - self.__io.set(TSI_DPRX_MST_SINK_COUNT, count, c_uint32) + self.__io.set(ci.TSI_DPRX_MST_SINK_COUNT, count, c_uint32) else: warnings.warn("MST or Custom Sink Count are not supported") def __get_mst_sink_count(self) -> int: if self.__caps.sink_cnt_config and self.__caps.mst: - return int(self.__io.get(TSI_DPRX_MST_SINK_COUNT)[1]) + return int(self.__io.get(ci.TSI_DPRX_MST_SINK_COUNT)[1]) else: return 0 def __set_tps3(self, enable: Optional[bool]): if enable is None: return - flags = self.__io.get(TSI_DPRX_LINK_FLAGS)[1] & ~0xc0 + flags = self.__io.get(ci.TSI_DPRX_LINK_FLAGS)[1] & ~0xc0 if enable: flags |= (1 << 1) else: flags &= ~(1 << 1) if self.__caps.fec: - self.__io.set(TSI_DPRX_LINK_FLAGS, flags, c_int) + self.__io.set(ci.TSI_DPRX_LINK_FLAGS, flags, c_int) def __get_tps3(self) -> Optional[bool]: if self.__caps.fec: - return bool((self.__io.get(TSI_DPRX_LINK_FLAGS)[1] >> 1) & 0x1) + return bool((self.__io.get(ci.TSI_DPRX_LINK_FLAGS)[1] >> 1) & 0x1) def __set_tps4(self, enable: Optional[bool]): if enable is None: return - flags = self.__io.get(TSI_DPRX_LINK_FLAGS)[1] & ~0xc0 + flags = self.__io.get(ci.TSI_DPRX_LINK_FLAGS)[1] & ~0xc0 if enable: flags |= (1 << 2) else: flags &= ~(1 << 2) if self.__caps.fec: - self.__io.set(TSI_DPRX_LINK_FLAGS, flags, c_int) + self.__io.set(ci.TSI_DPRX_LINK_FLAGS, flags, c_int) def __get_tps4(self) -> Optional[bool]: if self.__caps.fec: - return bool((self.__io.get(TSI_DPRX_LINK_FLAGS)[1] >> 2) & 0x1) + return bool((self.__io.get(ci.TSI_DPRX_LINK_FLAGS)[1] >> 2) & 0x1) def __set_ss_sbm(self, enable: bool): if enable is None: return if self.__caps.dp2_support_rates: - flags = self.__io.get(TSI_DPRX_LINK_FLAGS)[1] & ~0xc0 + flags = self.__io.get(ci.TSI_DPRX_LINK_FLAGS)[1] & ~0xc0 if enable: flags |= (1 << 5) else: flags &= ~(1 << 5) - self.__io.set(TSI_DPRX_LINK_FLAGS, flags, c_int) + self.__io.set(ci.TSI_DPRX_LINK_FLAGS, flags, c_int) def __get_ss_sbm(self) -> Optional[bool]: if self.__caps.dp2_support_rates: - return bool((self.__io.get(TSI_DPRX_LINK_FLAGS)[1] >> 5) & 0x1) + return bool((self.__io.get(ci.TSI_DPRX_LINK_FLAGS)[1] >> 5) & 0x1) def __set_edp_support(self, enable: bool): if self.__caps.edp: - flags = self.__io.get(TSI_DPRX_LINK_FLAGS)[1] & ~0xc0 + flags = self.__io.get(ci.TSI_DPRX_LINK_FLAGS)[1] & ~0xc0 if enable: flags |= (1 << 3) else: flags &= ~(1 << 3) - self.__io.set(TSI_DPRX_LINK_FLAGS, flags, c_int) + self.__io.set(ci.TSI_DPRX_LINK_FLAGS, flags, c_int) def __get_edp_support(self) -> Optional[bool]: if self.__caps.edp: - return bool((self.__io.get(TSI_DPRX_LINK_FLAGS)[1] >> 3) & 0x1) + return bool((self.__io.get(ci.TSI_DPRX_LINK_FLAGS)[1] >> 3) & 0x1) def __set_edp_sel_rates(self, rates: List[float]): if self.__caps.edp: @@ -310,11 +312,11 @@ class LinkDisplayPortCaps: j += 1 rates.sort() - self.__io.set(TSI_DPRX_EDP_SEL_RATES, to_write_list, data_type=c_uint32, data_count=8) + self.__io.set(ci.TSI_DPRX_EDP_SEL_RATES, to_write_list, data_type=c_uint32, data_count=8) def __get_edp_sel_rates(self) -> List[float]: if self.__caps.edp: - rates = self.__io.get(TSI_DPRX_EDP_SEL_RATES, data_type=c_uint32, data_count=8)[1] + rates = self.__io.get(ci.TSI_DPRX_EDP_SEL_RATES, data_type=c_uint32, data_count=8)[1] res_rates = [] for rate in rates: if rate == 0: @@ -324,7 +326,7 @@ class LinkDisplayPortCaps: def __get_edp_caps_rates(self) -> List[float]: if self.__caps.edp: - rates = self.__io.get(TSI_DPRX_EDP_CAPS_RATES_R, data_type=c_uint32, data_count=32)[1] + rates = self.__io.get(ci.TSI_DPRX_EDP_CAPS_RATES_R, data_type=c_uint32, data_count=32)[1] new_rates = [] for rate in rates: if rate > 0: diff --git a/UniTAP/dev/ports/modules/link/dp/link_rx_status.py b/UniTAP/dev/ports/modules/link/dp/link_rx_status.py index e26b99e..2bcff27 100644 --- a/UniTAP/dev/ports/modules/link/dp/link_rx_status.py +++ b/UniTAP/dev/ports/modules/link/dp/link_rx_status.py @@ -1,11 +1,12 @@ import time import warnings +from ctypes import c_int, c_uint32, c_uint8, c_uint from typing import Optional from UniTAP.libs.lib_tsi import PortIO -from UniTAP.libs.lib_tsi.tsi_private_types import * -from UniTAP.libs.lib_tsi.tsi_types import * +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci +import UniTAP.libs.lib_tsi.tsi_types as ci from UniTAP.utils.function_wrapper import function_scheduler from .private_link_rx_types import DPRXHWCaps from .link_status_common import * @@ -48,7 +49,7 @@ class LinkDisplayPortStatusSink: Returns: object of int type """ - res, value = self.__io.get(TSI_DPRX_MST_STATUS_R, c_uint) + res, value = self.__io.get(p_ci.TSI_DPRX_MST_STATUS_R, c_uint) return value >> 8 @property @@ -59,7 +60,7 @@ class LinkDisplayPortStatusSink: Returns: object of int type """ - return self.__io.get(TSI_DPRX_LINK_LANE_COUNT_R, c_int)[1] + return self.__io.get(ci.TSI_DPRX_LINK_LANE_COUNT_R, c_int)[1] @property def link_encoding(self) -> DpLinkEncoding: @@ -69,7 +70,7 @@ class LinkDisplayPortStatusSink: Returns: object of `DpLinkEncoding` type """ - result, value = self.__io.get(TSI_DPRX_LINK_STATUS_FLAGS_R, c_uint) + result, value = self.__io.get(ci.TSI_DPRX_LINK_STATUS_FLAGS_R, c_uint) if value >> 20 & 1: return DpLinkEncoding.LE_128b132b @@ -84,7 +85,7 @@ class LinkDisplayPortStatusSink: Returns: object of float type """ - current_link_rate = self.__io.get(TSI_DPRX_LINK_BR_R, c_int)[1] + current_link_rate = self.__io.get(ci.TSI_DPRX_LINK_BR_R, c_int)[1] if self.link_encoding == DpLinkEncoding.LE_8b10b: return round(current_link_rate * 0.27, 2) else: @@ -105,7 +106,7 @@ class LinkDisplayPortStatusSink: Returns: object of bool type """ - return bool(self.__io.get(TSI_DPRX_HPD_STATUS_R, c_int)[1] & 1) + return bool(self.__io.get(ci.TSI_DPRX_HPD_STATUS_R, c_int)[1] & 1) @property def cable_state(self) -> bool: @@ -115,7 +116,7 @@ class LinkDisplayPortStatusSink: Returns: object of bool type """ - return bool(self.__io.get(TSI_DPRX_HPD_STATUS_R, c_int)[1] & 4) + return bool(self.__io.get(ci.TSI_DPRX_HPD_STATUS_R, c_int)[1] & 4) @property def enhanced_framing(self) -> bool: @@ -125,7 +126,7 @@ class LinkDisplayPortStatusSink: Returns: object of bool type """ - return bool((self.__io.get(TSI_DPRX_LINK_STATUS_FLAGS_R, c_uint32)[1] >> 17) & 1) + return bool((self.__io.get(ci.TSI_DPRX_LINK_STATUS_FLAGS_R, c_uint32)[1] >> 17) & 1) @property def scrambling_enabled(self) -> bool: @@ -135,7 +136,7 @@ class LinkDisplayPortStatusSink: Returns: object of bool type """ - return bool((self.__io.get(TSI_DPRX_LINK_STATUS_FLAGS_R, c_uint32)[1] >> 18) & 1) + return bool((self.__io.get(ci.TSI_DPRX_LINK_STATUS_FLAGS_R, c_uint32)[1] >> 18) & 1) @property def dsc_enabled(self) -> Union[bool, None]: @@ -146,7 +147,7 @@ class LinkDisplayPortStatusSink: object of bool|None type """ if self.__caps.dsc or self.__caps.dsc2: - return bool((self.__io.get(TSI_DPRX_DSC_STATUS_R)[1] >> 1) & 1) + return bool((self.__io.get(ci.TSI_DPRX_DSC_STATUS_R)[1] >> 1) & 1) else: return None @@ -159,7 +160,7 @@ class LinkDisplayPortStatusSink: object of bool|None type """ if self.__caps.fec or self.__caps.fec2: - return bool(self.__io.get(TSI_DPRX_FEC_STATUS_R)[1] & 1) + return bool(self.__io.get(ci.TSI_DPRX_FEC_STATUS_R)[1] & 1) else: return None @@ -172,7 +173,7 @@ class LinkDisplayPortStatusSink: object of bool|None type """ if self.__caps.mst: - return bool((self.__io.get(TSI_DPRX_LINK_STATUS_FLAGS_R, c_uint32)[1] >> 19) & 1) + return bool((self.__io.get(ci.TSI_DPRX_LINK_STATUS_FLAGS_R, c_uint32)[1] >> 19) & 1) else: return None @@ -184,8 +185,8 @@ class LinkDisplayPortStatusSink: Returns: object of bool|None type """ - if (self.__io.get(TSI_DPRX_SSC_STATUS_R, c_int)[1] >> 1) & 1: - return bool(self.__io.get(TSI_DPRX_SSC_STATUS_R, c_int)[1] & 1) + if (self.__io.get(ci.TSI_DPRX_SSC_STATUS_R, c_int)[1] >> 1) & 1: + return bool(self.__io.get(ci.TSI_DPRX_SSC_STATUS_R, c_int)[1] & 1) else: return None @@ -197,7 +198,7 @@ class LinkDisplayPortStatusSink: Returns: object of bool type """ - return bool((self.__io.get(TSI_DPRX_LINK_STATUS_FLAGS_R, c_uint32)[1] >> 16) & 1) + return bool((self.__io.get(ci.TSI_DPRX_LINK_STATUS_FLAGS_R, c_uint32)[1] >> 16) & 1) @property def eq_ila(self) -> bool: @@ -207,7 +208,7 @@ class LinkDisplayPortStatusSink: Returns: object of bool type """ - return bool((self.__io.get(TSI_DPRX_LINK_STATUS_FLAGS_R, c_uint32)[1] >> 30) & 1) + return bool((self.__io.get(ci.TSI_DPRX_LINK_STATUS_FLAGS_R, c_uint32)[1] >> 30) & 1) @property def cds_ila(self) -> bool: @@ -217,7 +218,7 @@ class LinkDisplayPortStatusSink: Returns: object of bool type """ - return bool((self.__io.get(TSI_DPRX_LINK_STATUS_FLAGS_R, c_uint32)[1] >> 29) & 1) + return bool((self.__io.get(ci.TSI_DPRX_LINK_STATUS_FLAGS_R, c_uint32)[1] >> 29) & 1) @property def lt_fail(self) -> bool: @@ -227,7 +228,7 @@ class LinkDisplayPortStatusSink: Returns: object of bool type """ - return bool((self.__io.get(TSI_DPRX_LINK_STATUS_FLAGS_R, c_uint32)[1] >> 28) & 1) + return bool((self.__io.get(ci.TSI_DPRX_LINK_STATUS_FLAGS_R, c_uint32)[1] >> 28) & 1) def lane(self, lane_number: int) -> LaneStatus: """ @@ -242,10 +243,10 @@ class LinkDisplayPortStatusSink: if not (0 <= lane_number <= 3): raise ValueError(f"Incorrect lane number {lane_number}. Available range: 0-{self.lane_count}") - status = self.__io.get(TSI_DPRX_LINK_STATUS_FLAGS_R, c_uint32)[1] - voltage_swing = self.__io.get(TSI_DPRX_LINK_VS_R, c_uint32)[1] - pre_emphasis = self.__io.get(TSI_DPRX_LINK_PE_R, c_uint32)[1] - _, error_counters = self.__io.get(TSI_DPRX_GET_ERROR_COUNTS_R, c_uint32 * 4) + status = self.__io.get(ci.TSI_DPRX_LINK_STATUS_FLAGS_R, c_uint32)[1] + voltage_swing = self.__io.get(ci.TSI_DPRX_LINK_VS_R, c_uint32)[1] + pre_emphasis = self.__io.get(ci.TSI_DPRX_LINK_PE_R, c_uint32)[1] + _, error_counters = self.__io.get(ci.TSI_DPRX_GET_ERROR_COUNTS_R, c_uint32 * 4) lane_status = LaneStatus() @@ -273,7 +274,7 @@ class LinkDisplayPortStatusSink: if self.__caps.dp2_support_rates and self.link_encoding == DpLinkEncoding.LE_128b132b: lane_status.voltage_swing = 0 lane_status.pre_emphasis = 0 - _, ffe_preset = self.__io.get(TSI_DP2RX_LINK_FFE_PRESET_R, c_uint32) + _, ffe_preset = self.__io.get(ci.TSI_DP2RX_LINK_FFE_PRESET_R, c_uint32) lane_status.ffe_preset = (ffe_preset >> (8 * lane_number)) & 0xF else: lane_status.voltage_swing = (voltage_swing >> (8 * lane_number)) & 0x3 @@ -297,7 +298,7 @@ class LinkDisplayPortStatusSink: raise ValueError(f"Selected stream {stream_index} is not available. " f"Available stream number: {self.mst_stream_count}") - res = self.__io.get(TSI_DPRX_VC_TABLE_R, VCPTable, 4)[1] + res = self.__io.get(ci.TSI_DPRX_VC_TABLE_R, VCPTable, 4)[1] if self.mst_enabled: status = VCPStatus() @@ -316,7 +317,7 @@ class LinkDisplayPortStatusSink: def __check_video(self) -> bool: def is_msa_available(io): - result, msa_info, size = io.get(TSI_DPRX_MSA_INFO_R, DpMsa, 4) + result, msa_info, size = io.get(p_ci.TSI_DPRX_MSA_INFO_R, DpMsa, 4) return size > 0 return function_scheduler(is_msa_available, self.__io, interval=5, timeout=10) @@ -339,7 +340,7 @@ class LinkDisplayPortStatusSink: time.sleep(1) - result, msa_info, size = self.__io.get(TSI_DPRX_MSA_INFO_R, DpMsa, 4) + result, msa_info, size = self.__io.get(p_ci.TSI_DPRX_MSA_INFO_R, DpMsa, 4) if stream_index < size: msa_info_private = MSAInfo(msa_info[stream_index]) @@ -348,22 +349,22 @@ class LinkDisplayPortStatusSink: stream_status.mvid = msa_info_private.m_video stream_status.nvid = msa_info_private.n_video - result = self.__io.get(TSI_DPRX_CRC_LOG_R, DpCrc, self.mst_stream_count) - if result[0] >= TSI_SUCCESS and self.mst_stream_count > 1: + result = self.__io.get(ci.TSI_DPRX_CRC_LOG_R, DpCrc, self.mst_stream_count) + if result[0] >= ci.TSI_SUCCESS and self.mst_stream_count > 1: stream_status.crc = [result[1][stream_index].r, result[1][stream_index].g, result[1][stream_index].b] - elif result[0] >= TSI_SUCCESS and size == 1: + elif result[0] >= ci.TSI_SUCCESS and size == 1: stream_status.crc = [result[1].r, result[1].g, result[1].b] - result = self.__io.get(TSI_DPRX_DSC_CRC_R, DpCrc, self.mst_stream_count) - if result[0] >= TSI_SUCCESS and self.mst_stream_count > 1: + result = self.__io.get(ci.TSI_DPRX_DSC_CRC_R, DpCrc, self.mst_stream_count) + if result[0] >= ci.TSI_SUCCESS and self.mst_stream_count > 1: stream_status.dsc_crc = [result[1][stream_index].r, result[1][stream_index].g, result[1][stream_index].b] - elif result[0] >= TSI_SUCCESS and size == 1: + elif result[0] >= ci.TSI_SUCCESS and size == 1: stream_status.dsc_crc = [result[1].r, result[1].g, result[1].b] if self.__caps.dp2_support_rates: - res = self.__io.get(TSI_DPRX_SDP_CRC16_CTRL, c_uint32) - stream_status.sdp_crc16.state = False if res[0] < TSI_SUCCESS else (res[1] & 0x1 == 1) - stream_status.sdp_crc16.errors = self.__io.get(TSI_DPRX_SDP_CRC16_COUNTERS, c_uint8, + res = self.__io.get(p_ci.TSI_DPRX_SDP_CRC16_CTRL, c_uint32) + stream_status.sdp_crc16.state = False if res[0] < ci.TSI_SUCCESS else (res[1] & 0x1 == 1) + stream_status.sdp_crc16.errors = self.__io.get(p_ci.TSI_DPRX_SDP_CRC16_COUNTERS, c_uint8, self.__caps.mst_stream_count)[1][stream_index] else: raise ValueError(f"Selected stream {stream_index} is not available. " @@ -378,7 +379,7 @@ class LinkDisplayPortStatusSink: if not self.__caps.dp2_support_rates: warnings.warn("SDP CRC16 is not supported. Cannot reset errors.") return - self.__io.set(TSI_DPRX_SDP_CRC16_COUNTERS, 0) + self.__io.set(p_ci.TSI_DPRX_SDP_CRC16_COUNTERS, 0) def __str__(self) -> str: lane_status_str = "" diff --git a/UniTAP/dev/ports/modules/link/dp/link_rx_types.py b/UniTAP/dev/ports/modules/link/dp/link_rx_types.py index 91d465e..8b4e00a 100644 --- a/UniTAP/dev/ports/modules/link/dp/link_rx_types.py +++ b/UniTAP/dev/ports/modules/link/dp/link_rx_types.py @@ -78,6 +78,7 @@ class RoutedLTConfig: def __init__(self): self.__is128b132b = False self.__is_old_dp20_lt = False + self.__is_edp_lt = False self.__vs = 0 self.__pe = 0 self.__ffe = 0 @@ -100,13 +101,21 @@ class RoutedLTConfig: def is_old_dp20_lt(self, value: bool = False): self.__is_old_dp20_lt = value + @property + def is_edp_lt(self) -> bool: + return self.__is_edp_lt + + @is_edp_lt.setter + def is_edp_lt(self, value: bool = False): + self.__is_edp_lt = value + @property def vs(self) -> int: return self.__vs @vs.setter def vs(self, value: int): - if not (0 <= value < 3): + if not (0 <= value <= 0x3): raise ValueError(f"VS cannot be less than 0 and more than 3") self.__vs = value @@ -136,8 +145,8 @@ class RoutedLTConfig: @link_bw.setter def link_bw(self, value: int): - if not (0 <= value <= 0xFF): - raise ValueError(f"link_bw cannot be less than 0 and more than 0xFF") + if not (0 <= value <= 0xFFFF): + raise ValueError(f"link_bw cannot be less than 0 and more than 0xFFFF") self.__link_bw = value @property @@ -151,8 +160,9 @@ class RoutedLTConfig: self.__lane_count = value def int_value(self) -> int: - val = (self.ffe << 8) if self.is128b132b else ((self.vs << 8) | (self.pe << 10)) - return self.is128b132b | (self.__is_old_dp20_lt << 1) | val | (self.link_bw << 16) | (self.lane_count << 24) + val = (self.ffe << 4) if self.is128b132b else ((self.vs << 4) | (self.pe << 6)) + return self.is128b132b | (self.__is_old_dp20_lt << 1) | (self.__is_edp_lt << 2) | val | \ + (self.lane_count << 8) | (self.link_bw << 16) class RoutedLTStatus: diff --git a/UniTAP/dev/ports/modules/link/dp/link_tx.py b/UniTAP/dev/ports/modules/link/dp/link_tx.py index 206df95..bebcb25 100644 --- a/UniTAP/dev/ports/modules/link/dp/link_tx.py +++ b/UniTAP/dev/ports/modules/link/dp/link_tx.py @@ -1,8 +1,12 @@ +import warnings +from ctypes import c_uint, c_uint8 +from typing import List from warnings import warn -from UniTAP.libs.lib_tsi import * from UniTAP.dev.ports.modules.link.dp.link_status_common import DpLinkTrainingResult from UniTAP.libs.lib_tsi.tsi_io import PortIO +import UniTAP.libs.lib_tsi.tsi_types as ci +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci from UniTAP.utils.function_wrapper import * from .link_tx_status import LinkDisplayPortStatusSource from .link_tx_config import LinkDisplayPortConfig @@ -34,7 +38,7 @@ class LinkDisplayPortTx: self.__status = LinkDisplayPortStatusSource(self.__io, self.__HW_CAPS, dpcd) self.__config = LinkDisplayPortConfig(self.__io, self.__HW_CAPS) self.__force_config = LinkDisplayPortForceConfig(self.__io, self.__HW_CAPS) - self.__cable_info = DpCableInfo(port_io, TSI_DPTX_CABLE_ATTRIBUTES_R) + self.__cable_info = DpCableInfo(port_io, p_ci.TSI_DPTX_CABLE_ATTRIBUTES_R) @property def status(self) -> LinkDisplayPortStatusSource: @@ -86,7 +90,7 @@ class LinkDisplayPortTx: def is_link_training_success(link: LinkDisplayPortTx): return link.last_lt_result() == DpLinkTrainingResult.LTR_SUCCESS - self.__io.set(TSI_W_DPTX_COMMAND, 1, c_uint32) + self.__io.set(ci.TSI_W_DPTX_COMMAND, 1, c_uint32) return function_scheduler(is_link_training_success, self, interval=0.1, timeout=5) @@ -97,7 +101,7 @@ class LinkDisplayPortTx: Returns: object of `DpLinkTrainingResult` type """ - _, value = self.__io.get(TSI_DPTX_LT_RESULT_R, c_uint) + _, value = self.__io.get(ci.TSI_DPTX_LT_RESULT_R, c_uint) return DpLinkTrainingResult(value) @property @@ -112,7 +116,7 @@ class LinkDisplayPortTx: warnings.warn("Scrambler Seed is not supported.") return 0 - return self.__io.get(TSI_DPTX_SCR_SEED, c_uint32)[1] + return self.__io.get(ci.TSI_DPTX_SCR_SEED, c_uint32)[1] @scrambler_seed.setter def scrambler_seed(self, value: int = 0): @@ -126,7 +130,7 @@ class LinkDisplayPortTx: warnings.warn("Scrambler Seed is not supported.") return if self.config._read_lt_features().auto_seed is not None and not self.config._read_lt_features().auto_seed: - self.__io.set(TSI_DPTX_SCR_SEED, value, c_uint32) + self.__io.set(ci.TSI_DPTX_SCR_SEED, value, c_uint32) else: warnings.warn("AutoSeed has already enabled. Transferred value will not be written") @@ -160,7 +164,7 @@ class LinkDisplayPortTx: old_value = self.__get_override_voltage() old_value &= ~(3 << (stream_index * 8)) old_value |= (value << (stream_index * 8)) - self.__io.set(TSI_DPTX_OVERRIDE_VOLTAGE_SWING, old_value, c_uint32) + self.__io.set(ci.TSI_DPTX_OVERRIDE_VOLTAGE_SWING, old_value, c_uint32) def get_override_pre_emp(self, stream_index: int) -> int: """ @@ -192,7 +196,7 @@ class LinkDisplayPortTx: old_value = self.__get_override_pre_emp() old_value &= ~(3 << (stream_index * 8)) old_value |= (value << (stream_index * 8)) - self.__io.set(TSI_DPTX_OVERRIDE_PRE_EMPHASIS, old_value, c_uint32) + self.__io.set(ci.TSI_DPTX_OVERRIDE_PRE_EMPHASIS, old_value, c_uint32) @property def override_ffe_presets(self) -> list: @@ -205,7 +209,7 @@ class LinkDisplayPortTx: if not self.__HW_CAPS.dp2_custom_rates: warnings.warn("FFE presets does not support.") return [] - return self.__io.get(TSI_DP2TX_OUT_FFE, c_uint8, 4)[1] + return self.__io.get(ci.TSI_DP2TX_OUT_FFE, c_uint8, 4)[1] @override_ffe_presets.setter def override_ffe_presets(self, value: List[int]): @@ -219,13 +223,13 @@ class LinkDisplayPortTx: warnings.warn("FFE presets does not support.") return new_value = value[0] | (value[0] << 8) | (value[0] << 16) | (value[0] << 32) - self.__io.set(TSI_DP2TX_OUT_FFE, new_value) + self.__io.set(ci.TSI_DP2TX_OUT_FFE, new_value) def __get_override_voltage(self) -> int: - return self.__io.get(TSI_DPTX_OVERRIDE_VOLTAGE_SWING, c_uint32)[1] + return self.__io.get(ci.TSI_DPTX_OVERRIDE_VOLTAGE_SWING, c_uint32)[1] def __get_override_pre_emp(self) -> int: - return self.__io.get(TSI_DPTX_OVERRIDE_PRE_EMPHASIS, c_uint32)[1] + return self.__io.get(ci.TSI_DPTX_OVERRIDE_PRE_EMPHASIS, c_uint32)[1] @property def link_pattern(self) -> DPLinkPattern: @@ -235,7 +239,7 @@ class LinkDisplayPortTx: Returns: object of `DPLinkPattern` type """ - return DPLinkPattern(self.__io.get(TSI_DPTX_OUTPUT_PATTERN, c_uint32)[1]) + return DPLinkPattern(self.__io.get(ci.TSI_DPTX_OUTPUT_PATTERN, c_uint32)[1]) def set_link_pattern(self, pattern: DPLinkPattern, additional_param: int = 1): """ @@ -247,16 +251,16 @@ class LinkDisplayPortTx: """ if not self.__HW_CAPS.dp2_custom_rates and pattern not in [e.value for e in DPLinkPattern]: raise ValueError(f"Current pattern {pattern.name} is not supported") - self.__io.set(TSI_DPTX_OUTPUT_PATTERN, pattern.value, c_uint32) + self.__io.set(ci.TSI_DPTX_OUTPUT_PATTERN, pattern.value, c_uint32) if pattern == DPLinkPattern.LinkSquarePattern: - self.__io.set(TSI_DPTX_SQUARE_PATTERN_NUMBER, additional_param, c_uint32) + self.__io.set(ci.TSI_DPTX_SQUARE_PATTERN_NUMBER, additional_param, c_uint32) def set_force_link_mode(self, link_mode: DPOutLinkMode): - self.__io.set(TSI_DPTX_OUT_LINK_MODE, link_mode.value, c_uint32) + self.__io.set(p_ci.TSI_DPTX_OUT_LINK_MODE, link_mode.value, c_uint32) def get_force_link_mode(self) -> DPOutLinkMode: - return DPOutLinkMode(self.__io.get(TSI_DPTX_OUT_LINK_MODE, c_uint32)[1]) + return DPOutLinkMode(self.__io.get(p_ci.TSI_DPTX_OUT_LINK_MODE, c_uint32)[1]) def cable_rx_type(self) -> CableCapabilitiesEnum: """ diff --git a/UniTAP/dev/ports/modules/link/dp/link_tx_config.py b/UniTAP/dev/ports/modules/link/dp/link_tx_config.py index e5009e9..673c344 100644 --- a/UniTAP/dev/ports/modules/link/dp/link_tx_config.py +++ b/UniTAP/dev/ports/modules/link/dp/link_tx_config.py @@ -1,6 +1,9 @@ -from typing import Optional, Union, Type +from ctypes import c_uint, c_int +from typing import Optional, Union, Type, List + from UniTAP.libs.lib_tsi import PortIO -from UniTAP.libs.lib_tsi.tsi_private_types import * +import UniTAP.libs.lib_tsi.tsi_types as ci +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci from .link_tx_types import * from .private_link_tx_types import * from .link_status_common import * @@ -123,10 +126,10 @@ class LinkDisplayPortConfig: return link_status def _read_lt_features(self) -> LTFeatures: - return self.__io.get(TSI_DPTX_LT_FEATURES, LTFeatures)[1] + return self.__io.get(ci.TSI_DPTX_LT_FEATURES, LTFeatures)[1] def __get_post_lt_features(self) -> PostLtFeatures: - return self.__io.get(TSI_DPTX_POST_LT_FEATURES, PostLtFeatures)[1] + return self.__io.get(p_ci.TSI_DPTX_POST_LT_FEATURES, PostLtFeatures)[1] def __set_post_lt_features(self, config: DisplayPortLinkConfig): post_lt_features = self.__get_post_lt_features() @@ -134,10 +137,10 @@ class LinkDisplayPortConfig: post_lt_features.force_edid_timings = config.force_edid_timings_after_lt if config.adaptive_sync_auto_enable is not None and self.__caps.adaptive_sync: post_lt_features.as_auto_enable = config.adaptive_sync_auto_enable - self.__io.set(TSI_DPTX_POST_LT_FEATURES, post_lt_features.value(), c_uint32) + self.__io.set(p_ci.TSI_DPTX_POST_LT_FEATURES, post_lt_features.value(), c_uint32) def __get_dp2_custom_rates(self) -> list: - rates = self.__io.get(TSI_DP2TX_CUSTOM_RATE_CAPS_R, c_uint32, 32)[1] + rates = self.__io.get(ci.TSI_DP2TX_CUSTOM_RATE_CAPS_R, c_uint32, 32)[1] custom_rates = [] for i in range(len(rates)): custom_rates.append(float(rates[i]) * 200000 / 1000000000) @@ -149,20 +152,20 @@ class LinkDisplayPortConfig: return if lane_count not in [1, 2, 4]: raise ValueError(f"Incorrect lane count number {lane_count}. Must be from list: 1, 2, 4") - self.__io.set(TSI_DPTX_LINK_CFG_LANES, lane_count, c_uint32) + self.__io.set(ci.TSI_DPTX_LINK_CFG_LANES, lane_count, c_uint32) def __get_lane_count_dp14(self) -> int: - return self.__io.get(TSI_DPTX_LINK_CFG_LANES)[1] + return self.__io.get(ci.TSI_DPTX_LINK_CFG_LANES)[1] def __set_lane_count_dp21(self, lane_count: Optional[int]): if lane_count is None: return if lane_count not in [1, 2, 4]: raise ValueError(f"Incorrect lane count number {lane_count}. Must be from list: 1, 2, 4") - self.__io.set(TSI_DP2TX_LT_SLC, lane_count, c_uint32) + self.__io.set(ci.TSI_DP2TX_LT_SLC, lane_count, c_uint32) def __get_lane_count_dp21(self) -> int: - return self.__io.get(TSI_DP2TX_LT_SLC)[1] + return self.__io.get(ci.TSI_DP2TX_LT_SLC)[1] def __set_bit_rate_14(self, bit_rate: Optional[float]): if bit_rate is None: @@ -170,10 +173,10 @@ class LinkDisplayPortConfig: if int(round(bit_rate / 0.27)) > self.__caps.max_link_rate: raise ValueError(f"Following 8b/10b bit rate {bit_rate} is not supported on device. " f"Max supported link rate {round(self.__caps.max_link_rate * 0.27, 2)}") - self.__io.set(TSI_DPTX_LINK_CFG_BIT_RATE, int(round(bit_rate / 0.27)), c_uint32) + self.__io.set(ci.TSI_DPTX_LINK_CFG_BIT_RATE, int(round(bit_rate / 0.27)), c_uint32) def __get_bit_rate_14(self) -> float: - return round(self.__io.get(TSI_DPTX_LINK_CFG_BIT_RATE)[1] * 0.27, 2) + return round(self.__io.get(ci.TSI_DPTX_LINK_CFG_BIT_RATE)[1] * 0.27, 2) def __set_bit_rate_21(self, bit_rate: Optional[Union[float, int]]): if bit_rate is None: @@ -182,42 +185,42 @@ class LinkDisplayPortConfig: if not self.__caps.support_10gbps: raise ValueError(f"Following bit rate {bit_rate} is not supported on device.") else: - res = self.__io.get(TSI_DP2TX_CUSTOM_RATE_MAP, c_uint32, 3)[1] - self.__io.set(TSI_DP2TX_CUSTOM_RATE_MAP, (int(bit_rate * 1000000000 / 200000), res[1], res[2]), + res = self.__io.get(ci.TSI_DP2TX_CUSTOM_RATE_MAP, c_uint32, 3)[1] + self.__io.set(ci.TSI_DP2TX_CUSTOM_RATE_MAP, (int(bit_rate * 1000000000 / 200000), res[1], res[2]), c_uint32, 3) elif (bit_rate == 10.0 and not self.__caps.support_10gbps) or \ (bit_rate == 13.5 and not self.__caps.support_13_5gbps) or \ (bit_rate == 20.0 and not self.__caps.support_20gbps): raise ValueError(f"Following bit rate {bit_rate} is not supported on device.") - self.__io.set(TSI_DP2TX_LT_SBR, DP21_LinkRateRev.get(bit_rate), c_uint32) + self.__io.set(ci.TSI_DP2TX_LT_SBR, DP21_LinkRateRev.get(bit_rate), c_uint32) def __get_bit_rate_21(self) -> float: - return DP21_LinkRate.get(self.__io.get(TSI_DP2TX_LT_SBR)[1]) + return DP21_LinkRate.get(self.__io.get(ci.TSI_DP2TX_LT_SBR)[1]) def __support_ssc(self) -> bool: - return (self.__io.get(TSI_DPTX_DOWNSPREAD_STATUS_R, c_uint32)[1] >> 1) & 1 != 0 + return (self.__io.get(ci.TSI_DPTX_DOWNSPREAD_STATUS_R, c_uint32)[1] >> 1) & 1 != 0 def __set_config_ssc(self, ssc_conf: Optional[SSCConfig]): if ssc_conf is None: return if not self.__support_ssc(): raise ValueError(f"SSC is not supported on the device.") - self.__io.set(TSI_DPTX_DOWNSPREAD_CONTROL, int(ssc_conf.enabled), c_uint32) + self.__io.set(ci.TSI_DPTX_DOWNSPREAD_CONTROL, int(ssc_conf.enabled), c_uint32) if ssc_conf.enabled: if not (1 <= ssc_conf.amplitude <= 50): raise ValueError(f"Incorrect amplitude value {ssc_conf.amplitude}. Must be from range: 0.1 - 0.5") - self.__io.set(TSI_DPTX_DOWNSPREAD_AMP, ssc_conf.amplitude, c_uint32) + self.__io.set(ci.TSI_DPTX_DOWNSPREAD_AMP, ssc_conf.amplitude, c_uint32) if not (30000 <= ssc_conf.frequency <= 63000): raise ValueError(f"Incorrect frequency value {ssc_conf.frequency}. Must be from range: 30000 - 63000") - self.__io.set(TSI_DPTX_DOWNSPREAD_FREQ, ssc_conf.frequency, c_uint32) + self.__io.set(ci.TSI_DPTX_DOWNSPREAD_FREQ, ssc_conf.frequency, c_uint32) def __get_config_ssc(self) -> SSCConfig: if not self.__support_ssc(): return None ssc_conf = SSCConfig() - ssc_conf.enabled = (self.__io.get(TSI_DPTX_DOWNSPREAD_STATUS_R)[1] & 1) != 0 - ssc_conf.frequency = self.__io.get(TSI_DPTX_DOWNSPREAD_FREQ)[1] - ssc_conf.amplitude = self.__io.get(TSI_DPTX_DOWNSPREAD_AMP)[1] + ssc_conf.enabled = (self.__io.get(ci.TSI_DPTX_DOWNSPREAD_STATUS_R)[1] & 1) != 0 + ssc_conf.frequency = self.__io.get(ci.TSI_DPTX_DOWNSPREAD_FREQ)[1] + ssc_conf.amplitude = self.__io.get(ci.TSI_DPTX_DOWNSPREAD_AMP)[1] return ssc_conf def __dp2_support_rates(self) -> bool: @@ -228,7 +231,7 @@ class LinkDisplayPortConfig: return if not self.__dp2_support_rates(): raise ValueError(f"LTTPR is not supported on the device.") - self.__io.set(TSI_DPTX_LTTPR_CONTROL, int(enable)) + self.__io.set(ci.TSI_DPTX_LTTPR_CONTROL, int(enable)) def __set_lt_features(self, config: Optional[DisplayPortLinkConfig]): if config is None: @@ -270,22 +273,22 @@ class LinkDisplayPortConfig: else: raise TypeError("Incorrect DisplayPortLinkConfig format!") - self.__io.set(TSI_DPTX_LT_FEATURES, res.value(), c_uint32) + self.__io.set(ci.TSI_DPTX_LT_FEATURES, res.value(), c_uint32) def __enable_mst(self, enable: Optional[bool]): if enable is None: return - self.__io.set(TSI_DPTX_COMMAND_W, 3 if enable else 4, c_uint32) + self.__io.set(ci.TSI_DPTX_COMMAND_W, 3 if enable else 4, c_uint32) def __set_mst_channel_count(self, count: Optional[int]): if count is None: return if not (0 <= count <= self.__caps.mst_stream_count): raise ValueError(f"Incorrect stream count {count}. Available stream count {self.__caps.mst_stream_count}") - self.__io.set(TSI_PG_ENABLED_STREAM_COUNT, count, c_uint32) + self.__io.set(ci.TSI_PG_ENABLED_STREAM_COUNT, count, c_uint32) def __link_encoding(self) -> DpLinkEncoding: - result, value = self.__io.get(TSI_DPTX_LINK_MODE_R, c_uint) + result, value = self.__io.get(ci.TSI_DPTX_LINK_MODE_R, c_uint) if value == 0: return DpLinkEncoding.LE_8b10b @@ -293,36 +296,36 @@ class LinkDisplayPortConfig: return DpLinkEncoding.LE_128b132b def __mst_enabled(self) -> bool: - return (self.__io.get(TSI_DPTX_LINK_STATUS_BITS_R)[1] & (1 << 30)) != 0 + return (self.__io.get(ci.TSI_DPTX_LINK_STATUS_BITS_R)[1] & (1 << 30)) != 0 def __mst_stream_count(self) -> int: - result, mst_status = self.__io.get(TSI_DPTX_MST_STATUS_R, c_uint) + result, mst_status = self.__io.get(ci.TSI_DPTX_MST_STATUS_R, c_uint) return (mst_status >> 8) & 0xFF def __lttpr_active(self) -> Optional[bool]: if self.__link_encoding == DpLinkEncoding.LE_128b132b: - return (self.__io.get(TSI_DPTX_LTTPR_CONTROL, c_uint32)[1] & 1) != 0 + return (self.__io.get(ci.TSI_DPTX_LTTPR_CONTROL, c_uint32)[1] & 1) != 0 else: return None def __check_custom_bit_rate(self) -> float: - res = self.__io.get(TSI_DP2TX_CUSTOM_RATE_MAP, c_uint32, 3)[1] + res = self.__io.get(ci.TSI_DP2TX_CUSTOM_RATE_MAP, c_uint32, 3)[1] for i in range(3): if res[i] != 0: return res[i] * 200000 / 1000000000 return 0 def __try_fec_after_lt(self, enable: bool): - result = self.__io.get(TSI_DPTX_FEC_CTRL, c_int) + result = self.__io.get(ci.TSI_DPTX_FEC_CTRL, c_int) val = result[1] if enable: val |= 0x2 else: val &= ~0x2 - self.__io.set(TSI_DPTX_FEC_CTRL, val) + self.__io.set(ci.TSI_DPTX_FEC_CTRL, val) def __fec_after_lt_state(self) -> bool: - return (self.__io.get(TSI_DPTX_FEC_CTRL, c_int)[1] & 0x2) != 0 + return (self.__io.get(ci.TSI_DPTX_FEC_CTRL, c_int)[1] & 0x2) != 0 def __sdp_control(self, config: Optional[DisplayPortLinkConfig]): if config is None: @@ -335,24 +338,24 @@ class LinkDisplayPortConfig: self.__write_sdp_control(sdp_control) def __write_sdp_control(self, sdp_control: SdpControl): - self.__io.set(TSI_DPTX_SDP_CTRL, sdp_control.value()) + self.__io.set(p_ci.TSI_DPTX_SDP_CTRL, sdp_control.value()) def __read_sdp_control(self) -> SdpControl: - return self.__io.get(TSI_DPTX_SDP_CTRL, SdpControl)[1] + return self.__io.get(p_ci.TSI_DPTX_SDP_CTRL, SdpControl)[1] def __set_edp_sel_rate(self, rate: float): if self.__caps.edp and rate in self.__get_edp_caps_rates(): - self.__io.set(TSI_DPTX_EDP_LT_SBR, int(rate / 0.0002), c_uint32) + self.__io.set(ci.TSI_DPTX_EDP_LT_SBR, int(rate / 0.0002), c_uint32) elif not self.__caps.edp: raise ValueError("EDP is not supported.") def __get_edp_sel_rate(self) -> int: if self.__caps.edp: - return self.__io.get(TSI_DPTX_EDP_LT_SBR)[1] * 0.0002 + return self.__io.get(ci.TSI_DPTX_EDP_LT_SBR)[1] * 0.0002 def __get_edp_caps_rates(self) -> List[float]: if self.__caps.edp: - rates = self.__io.get(TSI_DPTX_EXTRA_DP14_RATES, data_type=c_uint32, data_count=8)[1] + rates = self.__io.get(ci.TSI_DPTX_EXTRA_DP14_RATES, data_type=c_uint32, data_count=8)[1] new_rates = [] for rate in rates: if rate > 0: diff --git a/UniTAP/dev/ports/modules/link/dp/link_tx_force_config.py b/UniTAP/dev/ports/modules/link/dp/link_tx_force_config.py index c26b069..3c2b26d 100644 --- a/UniTAP/dev/ports/modules/link/dp/link_tx_force_config.py +++ b/UniTAP/dev/ports/modules/link/dp/link_tx_force_config.py @@ -1,6 +1,6 @@ from typing import Optional, Union, Type from UniTAP.libs.lib_tsi import PortIO -from UniTAP.libs.lib_tsi.tsi_private_types import * +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci from .link_tx_types import * from .private_link_tx_types import * from .link_status_common import * @@ -62,25 +62,25 @@ class LinkDisplayPortForceConfig: (bit_rate == 13.5 and not self.__caps.support_13_5gbps) or \ (bit_rate == 20.0 and not self.__caps.support_20gbps): raise ValueError(f"Following bit rate {bit_rate} is not supported on device.") - self.__io.set(TSI_DP2TX_OUT_BR, DP21_LinkRateRev.get(bit_rate), c_uint32) + self.__io.set(p_ci.TSI_DP2TX_OUT_BR, DP21_LinkRateRev.get(bit_rate), c_uint32) def __force_get_bit_rate(self) -> float: - return DP21_LinkRate.get(self.__io.get(TSI_DP2TX_OUT_BR)[1]) + return DP21_LinkRate.get(self.__io.get(p_ci.TSI_DP2TX_OUT_BR)[1]) def __force_set_lane_count(self, lane_count: Optional[int]): if lane_count is None: return if lane_count not in [1, 2, 4]: raise ValueError(f"Incorrect lane count number {lane_count}. Must be from list: 1, 2, 4") - self.__io.set(TSI_DP2TX_OUT_LC, lane_count, c_uint32) + self.__io.set(p_ci.TSI_DP2TX_OUT_LC, lane_count, c_uint32) def __force_get_lane_count(self) -> int: - return self.__io.get(TSI_DP2TX_OUT_LC)[1] + return self.__io.get(p_ci.TSI_DP2TX_OUT_LC)[1] def __force_set_pattern(self, pattern: Optional[DP128b132bLinkPattern]): if pattern is None: return - self.__io.set(TSI_DP2TX_OUT_TEST_PATTERN, pattern.value, c_uint32) + self.__io.set(p_ci.TSI_DP2TX_OUT_TEST_PATTERN, pattern.value, c_uint32) def __force_get_pattern(self) -> DP128b132bLinkPattern: - return DP128b132bLinkPattern(self.__io.get(TSI_DP2TX_OUT_TEST_PATTERN, c_uint32)[1]) + return DP128b132bLinkPattern(self.__io.get(p_ci.TSI_DP2TX_OUT_TEST_PATTERN, c_uint32)[1]) diff --git a/UniTAP/dev/ports/modules/link/dp/link_tx_status.py b/UniTAP/dev/ports/modules/link/dp/link_tx_status.py index db2123d..648674c 100644 --- a/UniTAP/dev/ports/modules/link/dp/link_tx_status.py +++ b/UniTAP/dev/ports/modules/link/dp/link_tx_status.py @@ -2,8 +2,7 @@ import warnings from typing import Optional from UniTAP.libs.lib_tsi import PortIO -from UniTAP.libs.lib_tsi.tsi_types import * -from .link_tx_types import * +import UniTAP.libs.lib_tsi.tsi_types as ci from .private_link_tx_types import * from .link_status_common import * from .private_link_status_common import * @@ -47,7 +46,7 @@ class LinkDisplayPortStatusSource: Returns: object of int type """ - result, mst_status = self.__io.get(TSI_DPTX_MST_STATUS_R, c_uint) + result, mst_status = self.__io.get(ci.TSI_DPTX_MST_STATUS_R, c_uint) return (mst_status >> 8) & 0xFF @property @@ -58,7 +57,7 @@ class LinkDisplayPortStatusSource: Returns: object of DpLinkEncoding type """ - result, value = self.__io.get(TSI_DPTX_LINK_MODE_R, c_uint) + result, value = self.__io.get(ci.TSI_DPTX_LINK_MODE_R, c_uint) if value == 0: return DpLinkEncoding.LE_8b10b @@ -77,9 +76,9 @@ class LinkDisplayPortStatusSource: if self.__check_custom_bit_rate() != 0: return self.__check_custom_bit_rate() else: - return DP21_LinkRate.get(self.__io.get(TSI_DP2TX_LT_RATE_R, c_uint)[1]) + return DP21_LinkRate.get(self.__io.get(ci.TSI_DP2TX_LT_RATE_R, c_uint)[1]) else: - return round(self.__io.get(TSI_DPTX_LINK_RATE_R, c_uint)[1] * 0.27, 2) + return round(self.__io.get(ci.TSI_DPTX_LINK_RATE_R, c_uint)[1] * 0.27, 2) @property def lane_count(self) -> int: @@ -89,7 +88,7 @@ class LinkDisplayPortStatusSource: Returns: object of int type """ - return self.__io.get(TSI_DPTX_LINK_LANE_COUNT_R, c_int)[1] + return self.__io.get(ci.TSI_DPTX_LINK_LANE_COUNT_R, c_int)[1] @property def hpd_asserted(self) -> bool: @@ -99,7 +98,7 @@ class LinkDisplayPortStatusSource: Returns: object of bool type """ - return (self.__io.get(TSI_DPTX_HPD_STATUS_R, c_int)[1] & 1) != 0 + return (self.__io.get(ci.TSI_DPTX_HPD_STATUS_R, c_int)[1] & 1) != 0 @property def available_link_rate(self) -> float: @@ -142,8 +141,8 @@ class LinkDisplayPortStatusSource: raise ValueError(f"Incorrect lane number {lane_number}. Available range: 0-{self.lane_count}") status = self.__read_link_status() - voltage_swing = self.__io.get(TSI_DPTX_LINK_VOLTAGE_SWING_R, LinkVoltageSwing)[1] - pre_emphasis = self.__io.get(TSI_DPTX_LINK_PRE_EMPHASIS_R, LinkPreEmphasis)[1] + voltage_swing = self.__io.get(ci.TSI_DPTX_LINK_VOLTAGE_SWING_R, LinkVoltageSwing)[1] + pre_emphasis = self.__io.get(ci.TSI_DPTX_LINK_PRE_EMPHASIS_R, LinkPreEmphasis)[1] error_counters = self.__dpcd.read(0x210, 8).data lane_status = LaneStatus() @@ -178,7 +177,7 @@ class LinkDisplayPortStatusSource: lane_status.error_count = error_counters[6] | ((error_counters[7] & 0x7F) << 8) if self.link_encoding == DpLinkEncoding.LE_128b132b: - ffe_preset = self.__io.get(TSI_DP2TX_LT_FFE_PRESET_R, c_uint32)[1] + ffe_preset = self.__io.get(ci.TSI_DP2TX_LT_FFE_PRESET_R, c_uint32)[1] lane_status.ffe_preset = (ffe_preset >> (8 * lane_number)) & 0xFF else: lane_status.ffe_preset = 0 @@ -195,7 +194,7 @@ class LinkDisplayPortStatusSource: object of bool or None type """ if self.__caps.dsc or self.__caps.dsc2: - return (self.__io.get(TSI_DPTX_DSC_STATUS_R)[1] & 1) != 0 + return (self.__io.get(ci.TSI_DPTX_DSC_STATUS_R)[1] & 1) != 0 else: return None @@ -209,7 +208,7 @@ class LinkDisplayPortStatusSource: object of bool or None type """ if self.__caps.mst: - return (self.__io.get(TSI_DPTX_MST_STATUS_R, c_uint32)[1] & 1) != 0 + return (self.__io.get(ci.TSI_DPTX_MST_STATUS_R, c_uint32)[1] & 1) != 0 else: return None @@ -222,7 +221,7 @@ class LinkDisplayPortStatusSource: Returns: object of bool or None type """ - res = self.__io.get(TSI_DPTX_DOWNSPREAD_STATUS_R)[1] + res = self.__io.get(ci.TSI_DPTX_DOWNSPREAD_STATUS_R)[1] if ((res >> 1) & 1) != 0: return (res & 1) != 0 else: @@ -238,7 +237,7 @@ class LinkDisplayPortStatusSource: object of bool or None type """ if self.__caps.fec or self.__caps.fec2: - return (self.__io.get(TSI_DPTX_FEC_STATUS_R)[1] & 1) != 0 + return (self.__io.get(ci.TSI_DPTX_FEC_STATUS_R)[1] & 1) != 0 else: return None @@ -272,7 +271,7 @@ class LinkDisplayPortStatusSource: object of bool or None type """ if self.link_encoding == DpLinkEncoding.LE_128b132b: - return (self.__io.get(TSI_DPTX_LTTPR_STATUS_R, c_uint32)[1] & 1) != 0 + return (self.__io.get(ci.TSI_DPTX_LTTPR_STATUS_R, c_uint32)[1] & 1) != 0 else: return None @@ -327,7 +326,7 @@ class LinkDisplayPortStatusSource: object of `StreamStatusDP` type """ stream_status = StreamStatusDP() - result, msa_info, size = self.__io.get(TSI_DPTX_MSA_INFO_R, DpMsa, 4) + result, msa_info, size = self.__io.get(ci.TSI_DPTX_MSA_INFO_R, DpMsa, 4) if stream_index < size: msa_info_private = MSAInfo(msa_info[stream_index]) @@ -336,16 +335,16 @@ class LinkDisplayPortStatusSource: stream_status.mvid = msa_info_private.m_video stream_status.nvid = msa_info_private.n_video - result = self.__io.get(TSI_DPTX_CRC_R, DpCrc, self.mst_stream_count) - if result[0] >= TSI_SUCCESS and self.mst_stream_count > 1: + result = self.__io.get(ci.TSI_DPTX_CRC_R, DpCrc, self.mst_stream_count) + if result[0] >= ci.TSI_SUCCESS and self.mst_stream_count > 1: stream_status.crc = [result[1][stream_index].r, result[1][stream_index].g, result[1][stream_index].b] - elif result[0] >= TSI_SUCCESS and self.mst_stream_count == 1: + elif result[0] >= ci.TSI_SUCCESS and self.mst_stream_count == 1: stream_status.crc = [result[1].r, result[1].g, result[1].b] - result = self.__io.get(TSI_DPTX_DSC_CRC_R, DpCrc, self.mst_stream_count) - if result[0] >= TSI_SUCCESS and self.mst_stream_count > 1: + result = self.__io.get(ci.TSI_DPTX_DSC_CRC_R, DpCrc, self.mst_stream_count) + if result[0] >= ci.TSI_SUCCESS and self.mst_stream_count > 1: stream_status.dsc_crc = [result[1][stream_index].r, result[1][stream_index].g, result[1][stream_index].b] - elif result[0] >= TSI_SUCCESS and self.mst_stream_count == 1: + elif result[0] >= ci.TSI_SUCCESS and self.mst_stream_count == 1: stream_status.dsc_crc = [result[1].r, result[1].g, result[1].b] else: raise ValueError(f"Selected stream {stream_index} is not available. " @@ -368,7 +367,7 @@ class LinkDisplayPortStatusSource: raise ValueError(f"Selected stream {stream_index} is not available. " f"Available stream number: {self.mst_stream_count}") - res = self.__io.get(TSI_DPTX_VCP_TABLE_R, VCPTable, 4)[1] + res = self.__io.get(ci.TSI_DPTX_VCP_TABLE_R, VCPTable, 4)[1] if self.mst_enabled: status = VCPStatus() @@ -389,16 +388,16 @@ class LinkDisplayPortStatusSource: """ Send ACT command. """ - self.__io.set(TSI_DPTX_MST_COMMAND_W, 1, c_uint32) + self.__io.set(ci.TSI_DPTX_MST_COMMAND_W, 1, c_uint32) def __read_lt_features(self) -> LTFeatures: - return self.__io.get(TSI_DPTX_LT_FEATURES, LTFeatures)[1] + return self.__io.get(ci.TSI_DPTX_LT_FEATURES, LTFeatures)[1] def __read_link_status(self) -> LinkTxStatus: - return self.__io.get(TSI_DPTX_LINK_STATUS_R, LinkTxStatus)[1] + return self.__io.get(ci.TSI_DPTX_LINK_STATUS_R, LinkTxStatus)[1] def __check_custom_bit_rate(self) -> float: - res = self.__io.get(TSI_DP2TX_CUSTOM_RATE_MAP, c_uint32, 3)[1] + res = self.__io.get(ci.TSI_DP2TX_CUSTOM_RATE_MAP, c_uint32, 3)[1] for i in range(3): if res[i] != 0: return res[i] * 200000 / 1000000000 diff --git a/UniTAP/dev/ports/modules/link/hdmi/arc_rx.py b/UniTAP/dev/ports/modules/link/hdmi/arc_rx.py index 855a025..7a27dd9 100644 --- a/UniTAP/dev/ports/modules/link/hdmi/arc_rx.py +++ b/UniTAP/dev/ports/modules/link/hdmi/arc_rx.py @@ -1,6 +1,6 @@ from UniTAP.libs.lib_tsi.tsi_io import PortIO from enum import IntEnum -from UniTAP.libs.lib_tsi.tsi_types import TSI_ARC_CONTROL_W, TSI_HDRX_ARC_STATUS_R +import UniTAP.libs.lib_tsi.tsi_types as ci from ctypes import c_uint32 @@ -44,10 +44,10 @@ class ArcRx: self.__single_mode = True def __read_arc_status(self) -> int: - return self.__io.get(TSI_HDRX_ARC_STATUS_R, c_uint32)[1] + return self.__io.get(ci.TSI_HDRX_ARC_STATUS_R, c_uint32)[1] def __write_arc(self, value: int): - self.__io.set(TSI_ARC_CONTROL_W, value, c_uint32) + self.__io.set(ci.TSI_ARC_CONTROL_W, value, c_uint32) @property def supported(self) -> bool: diff --git a/UniTAP/dev/ports/modules/link/hdmi/frl_caps_rx.py b/UniTAP/dev/ports/modules/link/hdmi/frl_caps_rx.py index c2c549a..0201c49 100644 --- a/UniTAP/dev/ports/modules/link/hdmi/frl_caps_rx.py +++ b/UniTAP/dev/ports/modules/link/hdmi/frl_caps_rx.py @@ -1,6 +1,6 @@ from UniTAP.libs.lib_tsi.tsi_io import PortIO from .types import FrlMode, LtpLanesPattern, FrlCaps, LtpPattern, _update_frl_values, _update_ltp_pattern_values -from UniTAP.libs.lib_tsi.tsi_types import TSI_HDRX_FRL_CAPABILITY, TSI_HDRX_FRL_PATTERN, TSI_HDRX_LINK_STATUS_R +import UniTAP.libs.lib_tsi.tsi_types as ci from ctypes import c_uint32 @@ -19,16 +19,16 @@ class FrlControlRx: self.__ltp_additional = LtpLanesPattern() def __read_caps(self) -> int: - return self.__io.get(TSI_HDRX_FRL_CAPABILITY, c_uint32)[1] + return self.__io.get(ci.TSI_HDRX_FRL_CAPABILITY, c_uint32)[1] def __write_caps(self, value: int): - self.__io.set(TSI_HDRX_FRL_CAPABILITY, value, c_uint32) + self.__io.set(ci.TSI_HDRX_FRL_CAPABILITY, value, c_uint32) def __read_frl_pattern(self) -> int: - return self.__io.get(TSI_HDRX_FRL_PATTERN, c_uint32)[1] + return self.__io.get(ci.TSI_HDRX_FRL_PATTERN, c_uint32)[1] def __write_frl_pattern(self, value: int): - self.__io.set(TSI_HDRX_FRL_PATTERN, value, c_uint32) + self.__io.set(ci.TSI_HDRX_FRL_PATTERN, value, c_uint32) @property def frl_mode(self) -> FrlMode: @@ -130,7 +130,7 @@ class FrlControlRx: """ DO re train. """ - self.__io.set(TSI_HDRX_LINK_STATUS_R, 0x1c0000, c_uint32) + self.__io.set(ci.TSI_HDRX_LINK_STATUS_R, 0x1c0000, c_uint32) def __str__(self): return f"FRL Mode: {self.frl_mode.name}\n" \ diff --git a/UniTAP/dev/ports/modules/link/hdmi/frl_control_tx.py b/UniTAP/dev/ports/modules/link/hdmi/frl_control_tx.py index 1c1cb3c..26efd14 100644 --- a/UniTAP/dev/ports/modules/link/hdmi/frl_control_tx.py +++ b/UniTAP/dev/ports/modules/link/hdmi/frl_control_tx.py @@ -1,7 +1,6 @@ from UniTAP.libs.lib_tsi.tsi_io import PortIO from .types import FrlMode, LtpLanesPattern, FrlCaps, _update_frl_values, _update_ltp_pattern_values -from UniTAP.libs.lib_tsi.tsi_types import TSI_HDTX_FRL_CAPABILITY, TSI_HDTX_FRL_PATTERN_R, TSI_HDTX_FRL_TIMERS, \ - TSI_HDTX_SINK_FEATURE_W, TSI_HDTX_FRL_STATUS_R +import UniTAP.libs.lib_tsi.tsi_types as ci from ctypes import c_uint32 @@ -197,19 +196,19 @@ class FrlControlTx: self.__ltp_additional = LtpLanesPattern() def __read_caps(self) -> int: - return self.__io.get(TSI_HDTX_FRL_CAPABILITY, c_uint32)[1] + return self.__io.get(ci.TSI_HDTX_FRL_CAPABILITY, c_uint32)[1] def __write_caps(self, value: int): - self.__io.set(TSI_HDTX_FRL_CAPABILITY, value, c_uint32) + self.__io.set(ci.TSI_HDTX_FRL_CAPABILITY, value, c_uint32) def __read_frl_timers(self) -> int: - return self.__io.get(TSI_HDTX_FRL_TIMERS, c_uint32)[1] + return self.__io.get(ci.TSI_HDTX_FRL_TIMERS, c_uint32)[1] def __write_frl_timers(self, value: int): - self.__io.set(TSI_HDTX_FRL_TIMERS, value, c_uint32) + self.__io.set(ci.TSI_HDTX_FRL_TIMERS, value, c_uint32) def __read_frl_patterns(self) -> int: - return self.__io.get(TSI_HDTX_FRL_PATTERN_R, c_uint32)[1] + return self.__io.get(ci.TSI_HDTX_FRL_PATTERN_R, c_uint32)[1] @property def ltp_pattern(self) -> LtpLanesPattern: @@ -243,7 +242,7 @@ class FrlControlTx: Returns: object of `FrlCaps` type """ - _update_frl_values(self.__frl_caps, self.__io.get(TSI_HDTX_FRL_STATUS_R, c_uint32)[1]) + _update_frl_values(self.__frl_caps, self.__io.get(ci.TSI_HDTX_FRL_STATUS_R, c_uint32)[1]) return self.__frl_caps @property @@ -345,7 +344,7 @@ class FrlControlTx: """ Do link training. """ - self.__io.set(TSI_HDTX_SINK_FEATURE_W, 5, c_uint32) + self.__io.set(ci.TSI_HDTX_SINK_FEATURE_W, 5, c_uint32) @staticmethod def __update_values(ffe_max: FfeMax, value: int): diff --git a/UniTAP/dev/ports/modules/link/hdmi/link.py b/UniTAP/dev/ports/modules/link/hdmi/link.py index ca158de..69d0aad 100644 --- a/UniTAP/dev/ports/modules/link/hdmi/link.py +++ b/UniTAP/dev/ports/modules/link/hdmi/link.py @@ -9,7 +9,7 @@ from .status_tx import StatusTx, HdmiModeTx from .capabilities import HdmiCapabilities from .frl_control_tx import FrlControlTx from .frl_caps_rx import FrlControlRx -from UniTAP.libs.lib_tsi.tsi_types import TSI_HDTX_CAPABILITY_R, TSI_HDRX_CAPABILITY_R +import UniTAP.libs.lib_tsi.tsi_types as ci from typing import Optional @@ -25,7 +25,7 @@ class HdmiLinkTx: self.__tmds = TmdsTx(self.__io) self.__status = StatusTx(self.__io) self.__frl = FrlControlTx(self.__io) - self.__caps = HdmiCapabilities(TSI_HDTX_CAPABILITY_R, self.__io) + self.__caps = HdmiCapabilities(ci.TSI_HDTX_CAPABILITY_R, self.__io) @property def tmds(self) -> Optional[TmdsTx]: @@ -96,7 +96,7 @@ class HdmiLinkRx: self.__status = StatusRx(self.__io) self.__frl = FrlControlRx(self.__io) self.__arc = ArcRx(self.__io) - self.__caps = HdmiCapabilities(TSI_HDRX_CAPABILITY_R, self.__io) + self.__caps = HdmiCapabilities(ci.TSI_HDRX_CAPABILITY_R, self.__io) @property def tmds(self) -> Optional[TmdsRx]: diff --git a/UniTAP/dev/ports/modules/link/hdmi/status_rx.py b/UniTAP/dev/ports/modules/link/hdmi/status_rx.py index 74dedcf..858cdb8 100644 --- a/UniTAP/dev/ports/modules/link/hdmi/status_rx.py +++ b/UniTAP/dev/ports/modules/link/hdmi/status_rx.py @@ -2,9 +2,7 @@ import time from UniTAP.libs.lib_tsi.tsi_io import PortIO from .types import HdmiModeRx, FrlMode, _update_error_counters_rx -from UniTAP.libs.lib_tsi.tsi_types import TSI_HDRX_BEHAVIOR, TSI_HDRX_LANES_ERR_COUNTERS_R, TSI_HDRX_HPD_STATUS_R,\ - TSI_HDRX_FRL_CAPABILITY, TSI_HDRX_LINK_STATUS_R, TSI_HDRX_HPD_CONTROL_W, TSI_HDRX_VIDEO_MODE_R, \ - TSI_VIDCAP_SIGNAL_CRC_R, TSI_SUCCESS +import UniTAP.libs.lib_tsi.tsi_types as ci from ctypes import c_uint8, c_uint32, c_uint64 from UniTAP.utils.function_wrapper import function_scheduler from .types import _hdmi_vm_info_to_video_mode, HdmiVideoModeInfo @@ -25,7 +23,7 @@ class StatusRx: self.__io = port_io def __frl_status(self) -> FrlMode: - return FrlMode(self.__io.get(TSI_HDRX_FRL_CAPABILITY, c_uint32)[1] & 0xF) + return FrlMode(self.__io.get(ci.TSI_HDRX_FRL_CAPABILITY, c_uint32)[1] & 0xF) @property def hdmi_mode(self) -> HdmiModeRx: @@ -35,7 +33,7 @@ class StatusRx: Returns: object of `HdmiModeRx` type """ - return HdmiModeRx(self.__io.get(TSI_HDRX_BEHAVIOR, c_uint32)[1]) + return HdmiModeRx(self.__io.get(ci.TSI_HDRX_BEHAVIOR, c_uint32)[1]) @hdmi_mode.setter def hdmi_mode(self, hdmi_mode: HdmiModeRx): @@ -45,7 +43,7 @@ class StatusRx: Args: hdmi_mode (HdmiModeRx) """ - self.__io.set(TSI_HDRX_BEHAVIOR, hdmi_mode.value, c_uint32) + self.__io.set(ci.TSI_HDRX_BEHAVIOR, hdmi_mode.value, c_uint32) @property def error_counters(self) -> list: @@ -55,7 +53,7 @@ class StatusRx: Returns: object of list type """ - return _update_error_counters_rx(self.__io.get(TSI_HDRX_LANES_ERR_COUNTERS_R, c_uint64)[1]) + return _update_error_counters_rx(self.__io.get(ci.TSI_HDRX_LANES_ERR_COUNTERS_R, c_uint64)[1]) def set_assert_state(self, asserted: bool = True): """ @@ -64,7 +62,7 @@ class StatusRx: Args: asserted (bool) """ - self.__io.set(TSI_HDRX_HPD_CONTROL_W, int(asserted), c_uint32) + self.__io.set(ci.TSI_HDRX_HPD_CONTROL_W, int(asserted), c_uint32) @property def channel_lock(self) -> list: @@ -74,7 +72,7 @@ class StatusRx: Returns: object of list type """ - return self.__update_channel_lock(self.__io.get(TSI_HDRX_LINK_STATUS_R, c_uint32)[1], self.hdmi_mode) + return self.__update_channel_lock(self.__io.get(ci.TSI_HDRX_LINK_STATUS_R, c_uint32)[1], self.hdmi_mode) @staticmethod def __update_channel_lock(value: int, mode: HdmiModeRx) -> list: @@ -99,11 +97,11 @@ class StatusRx: Returns: object of bool type """ - return (self.__io.get(TSI_HDRX_HPD_STATUS_R, c_uint32)[1] & 0x1) != 0 + return (self.__io.get(ci.TSI_HDRX_HPD_STATUS_R, c_uint32)[1] & 0x1) != 0 def __check_video(self) -> bool: def is_msa_available(io): - result, msa_info, size = io.get(TSI_HDRX_VIDEO_MODE_R, HdmiVideoMode, 4) + result, msa_info, size = io.get(ci.TSI_HDRX_VIDEO_MODE_R, HdmiVideoMode, 4) return result > 0 return function_scheduler(is_msa_available, self.__io, interval=5, timeout=10) @@ -125,7 +123,7 @@ class StatusRx: time.sleep(1) - result, hdmi_video_mode_info, size = self.__io.get(TSI_HDRX_VIDEO_MODE_R, HdmiVideoMode, 4) + result, hdmi_video_mode_info, size = self.__io.get(ci.TSI_HDRX_VIDEO_MODE_R, HdmiVideoMode, 4) # TODO - Size temporary will be equal 1 size = 1 @@ -133,8 +131,8 @@ class StatusRx: if 0 <= stream_index < size: stream_status.video_mode = _hdmi_vm_info_to_video_mode(HdmiVideoModeInfo(hdmi_video_mode_info [stream_index])) - result = self.__io.get(TSI_VIDCAP_SIGNAL_CRC_R, data_type=c_uint8, data_count=6) - if result[0] >= TSI_SUCCESS: + result = self.__io.get(ci.TSI_VIDCAP_SIGNAL_CRC_R, data_type=c_uint8, data_count=6) + if result[0] >= ci.TSI_SUCCESS: hdmi_crc = HdmiCrc.from_buffer(bytearray(result[1])) stream_status.crc = [hdmi_crc.r, hdmi_crc.g, hdmi_crc.b] diff --git a/UniTAP/dev/ports/modules/link/hdmi/status_tx.py b/UniTAP/dev/ports/modules/link/hdmi/status_tx.py index 3b230a0..e72de33 100644 --- a/UniTAP/dev/ports/modules/link/hdmi/status_tx.py +++ b/UniTAP/dev/ports/modules/link/hdmi/status_tx.py @@ -1,7 +1,6 @@ from UniTAP.libs.lib_tsi.tsi_io import PortIO from .types import HdmiModeTx, FrlMode, _update_error_counters_tx -from UniTAP.libs.lib_tsi.tsi_types import TSI_HDTX_FRL_STATUS_R, TSI_HDTX_CONTROL_W, TSI_HDTX_STATUS_R, \ - TSI_HDTX_SINK_STATUS_R, TSI_HDTX_LANES_ERR_COUNTERS_R, TSI_HDTX_HPD_STATUS_R +import UniTAP.libs.lib_tsi.tsi_types as ci from ctypes import c_uint32, c_uint64 @@ -19,10 +18,10 @@ class StatusTx: self.__io = port_io def __read_status(self) -> int: - return self.__io.get(TSI_HDTX_STATUS_R, c_uint32)[1] + return self.__io.get(ci.TSI_HDTX_STATUS_R, c_uint32)[1] def __frl_status(self) -> FrlMode: - return FrlMode(self.__io.get(TSI_HDTX_FRL_STATUS_R, c_uint32)[1] & 0xF) + return FrlMode(self.__io.get(ci.TSI_HDTX_FRL_STATUS_R, c_uint32)[1] & 0xF) @property def video_status(self) -> bool: @@ -42,7 +41,7 @@ class StatusTx: Returns: object of list type """ - return _update_error_counters_tx(self.__io.get(TSI_HDTX_LANES_ERR_COUNTERS_R, c_uint64)[1]) + return _update_error_counters_tx(self.__io.get(ci.TSI_HDTX_LANES_ERR_COUNTERS_R, c_uint64)[1]) @property def channel_lock(self) -> list: @@ -53,9 +52,9 @@ class StatusTx: object of list type """ if self.__frl_status().Mode_Disable or self.hdmi_mode in [HdmiModeTx.HDMI_1_4, HdmiModeTx.HDMI_2_0]: - return self.__update_channel_lock(self.__io.get(TSI_HDTX_SINK_STATUS_R, c_uint32)[1], self.hdmi_mode) + return self.__update_channel_lock(self.__io.get(ci.TSI_HDTX_SINK_STATUS_R, c_uint32)[1], self.hdmi_mode) else: - return self.__update_channel_lock(self.__io.get(TSI_HDTX_FRL_STATUS_R, c_uint32)[1], self.hdmi_mode) + return self.__update_channel_lock(self.__io.get(ci.TSI_HDTX_FRL_STATUS_R, c_uint32)[1], self.hdmi_mode) @property def hpd_status(self) -> bool: @@ -65,7 +64,7 @@ class StatusTx: Returns: object of bool type """ - return (self.__io.get(TSI_HDTX_HPD_STATUS_R, c_uint32)[1] & 0x1) != 0 + return (self.__io.get(ci.TSI_HDTX_HPD_STATUS_R, c_uint32)[1] & 0x1) != 0 @property def hdmi_mode(self) -> HdmiModeTx: @@ -85,7 +84,7 @@ class StatusTx: Args: hdmi_mode (HdmiModeTx) """ - self.__io.set(TSI_HDTX_CONTROL_W, hdmi_mode.value << 2, c_uint32) + self.__io.set(ci.TSI_HDTX_CONTROL_W, hdmi_mode.value << 2, c_uint32) @property def available_link_rate(self) -> float: diff --git a/UniTAP/dev/ports/modules/link/hdmi/tmds_rx.py b/UniTAP/dev/ports/modules/link/hdmi/tmds_rx.py index 5681ee5..ffe44b0 100644 --- a/UniTAP/dev/ports/modules/link/hdmi/tmds_rx.py +++ b/UniTAP/dev/ports/modules/link/hdmi/tmds_rx.py @@ -1,6 +1,6 @@ from UniTAP.libs.lib_tsi.tsi_io import PortIO from .types import LinkMode -from UniTAP.libs.lib_tsi.tsi_types import TSI_HDRX_LINK_STATUS_R +import UniTAP.libs.lib_tsi.tsi_types as ci from ctypes import c_uint32 @@ -17,7 +17,7 @@ class TmdsRx: self.__input_stream_lock = False def __read_link_status(self) -> int: - return self.__io.get(TSI_HDRX_LINK_STATUS_R, c_uint32)[1] + return self.__io.get(ci.TSI_HDRX_LINK_STATUS_R, c_uint32)[1] @property def clock_rate(self) -> int: @@ -27,7 +27,7 @@ class TmdsRx: Returns: object of int type """ - return 6 if self.__read_link_status() & 0x2 else 3 + return 6 if self.__read_link_status() >> 1 & 0x1 else 3 @property def link_mode(self) -> LinkMode: @@ -37,7 +37,7 @@ class TmdsRx: Returns: object of `LinkMode` type """ - self.__link_mode = LinkMode(self.__read_link_status() & 0x8) + self.__link_mode = LinkMode(self.__read_link_status() >> 3 & 0x1) return self.__link_mode @property @@ -48,7 +48,7 @@ class TmdsRx: Returns: object of bool type """ - self.__input_stream_lock = (self.__read_link_status() & 0x4) != 0 + self.__input_stream_lock = (self.__read_link_status() >> 2 & 0x1) != 0 return self.__input_stream_lock def __str__(self): diff --git a/UniTAP/dev/ports/modules/link/hdmi/tmds_tx.py b/UniTAP/dev/ports/modules/link/hdmi/tmds_tx.py index 1af216a..f118b7a 100644 --- a/UniTAP/dev/ports/modules/link/hdmi/tmds_tx.py +++ b/UniTAP/dev/ports/modules/link/hdmi/tmds_tx.py @@ -2,8 +2,7 @@ import warnings from UniTAP.libs.lib_tsi.tsi_io import PortIO from .types import ClockRate, LinkMode, ScramblerState -from UniTAP.libs.lib_tsi.tsi_types import TSI_HDTX_SINK_FEATURE_W, TSI_HDTX_STATUS_R, TSI_HDTX_SINK_STATUS_R, \ - TSI_HDTX_CONTROL_W +import UniTAP.libs.lib_tsi.tsi_types as ci from ctypes import c_uint32 @@ -21,13 +20,13 @@ class TmdsTx: self.__scrambler = ScramblerState.Unknown def __read_sink_status(self) -> int: - return self.__io.get(TSI_HDTX_SINK_STATUS_R, c_uint32)[1] + return self.__io.get(ci.TSI_HDTX_SINK_STATUS_R, c_uint32)[1] def __read_hdtx_status(self) -> int: - return self.__io.get(TSI_HDTX_STATUS_R, c_uint32)[1] + return self.__io.get(ci.TSI_HDTX_STATUS_R, c_uint32)[1] def __write_sink_feature(self, value: int): - self.__io.set(TSI_HDTX_SINK_FEATURE_W, value, c_uint32) + self.__io.set(ci.TSI_HDTX_SINK_FEATURE_W, value, c_uint32) @property def clock_rate(self) -> int: @@ -71,7 +70,7 @@ class TmdsTx: Args: link_mode (LinkMode) """ - self.__io.set(TSI_HDTX_CONTROL_W, link_mode.value, c_uint32) + self.__io.set(ci.TSI_HDTX_CONTROL_W, link_mode.value, c_uint32) @property def scrambler(self) -> bool: diff --git a/UniTAP/dev/ports/modules/packet_generator/__init__.py b/UniTAP/dev/ports/modules/packet_generator/__init__.py new file mode 100644 index 0000000..6525538 --- /dev/null +++ b/UniTAP/dev/ports/modules/packet_generator/__init__.py @@ -0,0 +1 @@ +from .packet_generator import PacketGenerator \ No newline at end of file diff --git a/UniTAP/dev/ports/modules/packet_generator/packet_generator.py b/UniTAP/dev/ports/modules/packet_generator/packet_generator.py new file mode 100644 index 0000000..1f7005a --- /dev/null +++ b/UniTAP/dev/ports/modules/packet_generator/packet_generator.py @@ -0,0 +1,92 @@ +from ctypes import c_byte +from typing import Union, List, Optional + +from UniTAP.libs.lib_tsi import ci, p_ci +from UniTAP.libs.lib_tsi.tsi_io import PortIO +from UniTAP.dev.modules import MemoryManager + + +class PacketGenerator: + class Status: + def __init__(self, value: int): + self.enabled = bool(value & 0x1) + self.active = bool(value & 0x2) + self.error = bool(value & 0x4) + self.overflow = bool(value & 0x8) + + def __str__(self): + return f"Packet Generator Status: Enabled: {self.enabled}; Active: {self.active}; Error: {self.error}; Overflow: {self.overflow};" + """ + + Main class `PacketGenerator` allows working with PG functionality on the device: set different types of pattern + `set_pattern`, set different video modes `set_vm`, set additional parameters for some patterns `set_pattern_params`, + get information about current video mode on stream `get_stream_video_mode`, `apply` all transferred setting, + `reset` settings and read pattern generator `status`. + + """ + + def __init__(self, port_io: PortIO, memory_manager: MemoryManager): + self.__io = port_io + self.__memory_manager = memory_manager + self.__packets = [] + + def reset(self): + """ + + Reset static packet generator settings to default values. + + """ + self.stop() + self.__packets = [] + + def start(self): + """ + + Start packet generator with current settings. + + """ + self.stop() + self.__upload_data() + if self.__io.set(ci.TSI_PACKETGEN_CONTROL_W, 1) < ci.TSI_SUCCESS: + raise Exception("Failed to start packet generator") + + def stop(self): + """ + + Stop packet generator. + + """ + self.__io.set(ci.TSI_PACKETGEN_CONTROL_W, 2) + + def status(self) -> Status: + """ + + Get current status of packet generator. + + Returns: + Status - current status of packet generator + """ + return PacketGenerator.Status(self.__io.get(ci.TSI_PACKETGEN_STATUS_R)[1]) + + def add_packet(self, raw_packet_data: bytearray): + self.__packets.append(raw_packet_data) + + def load_packet(self, file_path: str): + with open(file_path, "rb") as f: + packet_data = f.read() + self.__packets.append(bytearray(packet_data)) + + def __upload_data(self): + mem_layout = self.__memory_manager.get_memory_layout() + if len(mem_layout) <= MemoryManager.MemoryOwner.MO_Events.value or mem_layout[MemoryManager.MemoryOwner.MO_Events.value] == 0: + self.__memory_manager.make_default() + + if self.__io.set(ci.TSI_PACKETGEN_PACKETS_NUMBER, len(self.__packets)) < ci.TSI_SUCCESS: + raise Exception("Failed to set packets number for packet generator") + for index, packet in enumerate(self.__packets): + if self.__io.set(ci.TSI_PACKETGEN_PACKET_DATA, packet, data_type=c_byte, data_count=len(packet)) < ci.TSI_SUCCESS: + raise Exception(f"Failed to set packet data for packet {index} in packet generator") + + if self.__io.set(ci.TSI_PACKETGEN_MEM_BLOCK, int(MemoryManager.MemoryOwner.MO_Events)) < ci.TSI_SUCCESS: + raise Exception("Failed to set memory block for packet generator") + \ No newline at end of file diff --git a/UniTAP/dev/ports/modules/panel_replay/pr.py b/UniTAP/dev/ports/modules/panel_replay/pr.py index 5ccae64..7466e10 100644 --- a/UniTAP/dev/ports/modules/panel_replay/pr.py +++ b/UniTAP/dev/ports/modules/panel_replay/pr.py @@ -1,5 +1,6 @@ from UniTAP.libs.lib_tsi.tsi_io import PortIO -from UniTAP.libs.lib_tsi.tsi import * +import UniTAP.libs.lib_tsi.tsi_types as ci +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci from .pr_private_types import * from .pr_status import PanelReplayStatus from .pr_config import PanelReplayConfig @@ -68,6 +69,6 @@ class PanelReplay: self.__write_pr_control(PrControl.EnableSelectiveUpdate) def __write_pr_control(self, command: PrControl): - self.__io.set(TSI_PG_STREAM_SELECT, 0) - self.__io.set(TSI_PG_PR_CTRL_W, command.value) + self.__io.set(ci.TSI_PG_STREAM_SELECT, 0) + self.__io.set(p_ci.TSI_PG_PR_CTRL_W, command.value) diff --git a/UniTAP/dev/ports/modules/panel_replay/pr_config.py b/UniTAP/dev/ports/modules/panel_replay/pr_config.py index c7eeca6..5ce0d38 100644 --- a/UniTAP/dev/ports/modules/panel_replay/pr_config.py +++ b/UniTAP/dev/ports/modules/panel_replay/pr_config.py @@ -1,5 +1,7 @@ from UniTAP.libs.lib_tsi.tsi_io import PortIO -from UniTAP.libs.lib_tsi.tsi import * +import UniTAP.libs.lib_tsi.tsi as tsi +import UniTAP.libs.lib_tsi.tsi_types as ci +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci from .pr_types import * from .pr_private_types import * @@ -35,7 +37,7 @@ class PanelReplayConfig: """ caps = self.pr_caps - self.__io.set(TSI_PG_STREAM_SELECT, 0) + self.__io.set(ci.TSI_PG_STREAM_SELECT, 0) pr_config, _ = self.__read_config() pr_config.early_transport = config.flags.early_transport if caps.pr_flags().early_transport else 0 @@ -60,7 +62,7 @@ class PanelReplayConfig: region = RegionConfig(0) region.value = item data.extend(region.value) - self.__io.set(TSI_PG_PR_CFG, data, data_count=len(data)) + self.__io.set(p_ci.TSI_PG_PR_CFG, data, data_count=len(data)) def get(self) -> PrSettings: """ @@ -114,8 +116,8 @@ class PanelReplayConfig: def __read_config(self): caps = self.pr_caps - self.__io.set(TSI_PG_STREAM_SELECT, 0) - result = self.__io.get(TSI_PG_PR_CFG, c_uint32, caps.calculate_size())[1] + self.__io.set(ci.TSI_PG_STREAM_SELECT, 0) + result = self.__io.get(p_ci.TSI_PG_PR_CFG, c_uint32, caps.calculate_size())[1] if not isinstance(result, list): result = [0] pr_config = PrConfig(result[0]) @@ -128,5 +130,5 @@ class PanelReplayConfig: return pr_config, pr_regions def __read_caps(self) -> PRCaps: - self.__io.set(TSI_PG_STREAM_SELECT, 0) - return self.__io.get(TSI_PG_PR_CAPS_R, PRCaps)[1] + self.__io.set(ci.TSI_PG_STREAM_SELECT, 0) + return self.__io.get(p_ci.TSI_PG_PR_CAPS_R, PRCaps)[1] diff --git a/UniTAP/dev/ports/modules/panel_replay/pr_sink_caps.py b/UniTAP/dev/ports/modules/panel_replay/pr_sink_caps.py index 53a2a0b..c7fa29e 100644 --- a/UniTAP/dev/ports/modules/panel_replay/pr_sink_caps.py +++ b/UniTAP/dev/ports/modules/panel_replay/pr_sink_caps.py @@ -1,7 +1,9 @@ +from ctypes import c_int, c_uint32 + from UniTAP.libs.lib_tsi.tsi_io import PortIO from .pr_sink_private_types import SinkPanelReplayCapsStruct, SinkPanelSelfRefreshCapsStruct from .pr_sink_types import PRCapsFlags, PrGranularityCaps, SuYGranularity, PSRCapsFlags, PSRCaps, PSRSetupTime -from UniTAP.libs.lib_tsi.tsi import * +import UniTAP.libs.lib_tsi.tsi_types as ci from typing import Tuple @@ -27,7 +29,7 @@ class SinkPanelReplayCaps: (flags.y_gran_extended_supported << 14) | (flags.link_off_supported << 15)) self.__write([flags_value, x_granularity.value, y_granularity.value, granularity.combined_value()]) - self.__io.set(TSI_DPRX_HPD_PULSE_W, 500000, c_int) + self.__io.set(ci.TSI_DPRX_HPD_PULSE_W, 500000, c_int) def get(self) -> Tuple[PRCapsFlags, PrGranularityCaps, PrGranularityCaps, SuYGranularity]: caps = self.__read() @@ -65,10 +67,10 @@ class SinkPanelReplayCaps: return flags, x_granularity, y_granularity, granularity def __read(self) -> SinkPanelReplayCapsStruct: - return self.__io.get(TSI_DPRX_PR_CAPS, SinkPanelReplayCapsStruct)[1] + return self.__io.get(ci.TSI_DPRX_PR_CAPS, SinkPanelReplayCapsStruct)[1] def __write(self, data: list): - self.__io.set(TSI_DPRX_PR_CAPS, data, data_type=c_uint32, data_count=len(data)) + self.__io.set(ci.TSI_DPRX_PR_CAPS, data, data_type=c_uint32, data_count=len(data)) class SinkPanelSelfRefreshCaps: @@ -105,7 +107,7 @@ class SinkPanelSelfRefreshCaps: return flags, x_granularity, y_granularity def __read(self) -> SinkPanelSelfRefreshCapsStruct: - return self.__io.get(TSI_DPRX_PSR_CAPS, SinkPanelSelfRefreshCapsStruct)[1] + return self.__io.get(ci.TSI_DPRX_PSR_CAPS, SinkPanelSelfRefreshCapsStruct)[1] def __write(self, data: list): - self.__io.set(TSI_DPRX_PSR_CAPS, data, data_type=c_uint32, data_count=len(data)) \ No newline at end of file + self.__io.set(ci.TSI_DPRX_PSR_CAPS, data, data_type=c_uint32, data_count=len(data)) \ No newline at end of file diff --git a/UniTAP/dev/ports/modules/panel_replay/pr_sink_status.py b/UniTAP/dev/ports/modules/panel_replay/pr_sink_status.py index 889fccc..e054c05 100644 --- a/UniTAP/dev/ports/modules/panel_replay/pr_sink_status.py +++ b/UniTAP/dev/ports/modules/panel_replay/pr_sink_status.py @@ -1,7 +1,8 @@ from UniTAP.libs.lib_tsi.tsi_io import PortIO +import UniTAP.libs.lib_tsi.tsi_types as ci from .pr_sink_private_types import SinkPanelSelfRefreshStatusStruct, SinkPanelReplayStatusStruct from .pr_sink_types import (SinkPRStatusFlags, SelfStatus, FrameStatus, SinkPSRStatusFlags, PRSSelfRefreshStatus) -from UniTAP.libs.lib_tsi.tsi import * +import UniTAP.libs.lib_tsi.tsi as tsi class SinkPanelReplayStatus: @@ -31,7 +32,7 @@ class SinkPanelReplayStatus: def __read(self) -> SinkPanelReplayStatusStruct: - return self.__io.get(TSI_DPRX_PR_STATUS, SinkPanelReplayStatusStruct)[1] + return self.__io.get(ci.TSI_DPRX_PR_STATUS, SinkPanelReplayStatusStruct)[1] class SinkPanelSelfRefreshStatus: @@ -59,4 +60,4 @@ class SinkPanelSelfRefreshStatus: self_refresh=PRSSelfRefreshStatus(pr_flags.self_refresh)) def __read(self) -> SinkPanelSelfRefreshStatusStruct: - return self.__io.get(TSI_DPRX_PSR_STATUS, SinkPanelSelfRefreshStatusStruct)[1] + return self.__io.get(ci.TSI_DPRX_PSR_STATUS, SinkPanelSelfRefreshStatusStruct)[1] diff --git a/UniTAP/dev/ports/modules/panel_replay/pr_status.py b/UniTAP/dev/ports/modules/panel_replay/pr_status.py index 4ee3170..aec6ead 100644 --- a/UniTAP/dev/ports/modules/panel_replay/pr_status.py +++ b/UniTAP/dev/ports/modules/panel_replay/pr_status.py @@ -1,6 +1,7 @@ from UniTAP.libs.lib_tsi.tsi_io import PortIO +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci +import UniTAP.libs.lib_tsi.tsi_types as ci from .pr_private_types import * -from UniTAP.libs.lib_tsi.tsi import * from .pr_types import * @@ -43,6 +44,6 @@ class PanelReplayStatus: return PRError(self.__read().error) def __read(self) -> PrStatus: - self.__io.set(TSI_PG_STREAM_SELECT, 0) - return self.__io.get(TSI_PG_PR_STATUS_R, PrStatus)[1] + self.__io.set(ci.TSI_PG_STREAM_SELECT, 0) + return self.__io.get(p_ci.TSI_PG_PR_STATUS_R, PrStatus)[1] diff --git a/UniTAP/dev/ports/modules/pdc/pdc_controls.py b/UniTAP/dev/ports/modules/pdc/pdc_controls.py index cce2d74..b9cd969 100644 --- a/UniTAP/dev/ports/modules/pdc/pdc_controls.py +++ b/UniTAP/dev/ports/modules/pdc/pdc_controls.py @@ -237,6 +237,12 @@ class PdcControls500(PdcControlsBase): super().__init__(pdc_io) self.__io = pdc_io + def reset(self): + """ + Reset device. + """ + self.__io.write_hw_command(HWControlCommand.ResetPDController) + def reconnect(self) -> bool: """ Reconnect device. diff --git a/UniTAP/dev/ports/modules/pdc/pdc_io.py b/UniTAP/dev/ports/modules/pdc/pdc_io.py index 359670d..0b98df5 100644 --- a/UniTAP/dev/ports/modules/pdc/pdc_io.py +++ b/UniTAP/dev/ports/modules/pdc/pdc_io.py @@ -1,5 +1,8 @@ +from ctypes import c_uint32 + from UniTAP.libs.lib_tsi.tsi_io import PortIO -from UniTAP.libs.lib_tsi.tsi_private_types import * +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci +import UniTAP.libs.lib_tsi.tsi_types as ci from .pdc_private_dpam_types import DPAMCaps, DPAMState, DPAMCommand, DPAMConfig, DPAMDiscModes, DPAMRecv from .pdc_private_types import HWControlCommand, HWStatus, HWCaps, PDCStatus, PDCControlCommand, PDCState, PDCCaps, \ PDCContractInfo @@ -13,103 +16,103 @@ class PDCPortIO: self.write_adc_control() def write_dpam_caps(self, caps: DPAMCaps): - self.__io.set(TSI_PDC_DPAM_CAPS, caps.value(), c_uint32) + self.__io.set(ci.TSI_PDC_DPAM_CAPS, caps.value(), c_uint32) def read_dpam_caps(self) -> DPAMCaps: - return self.__io.get(TSI_PDC_DPAM_CAPS, DPAMCaps)[1] + return self.__io.get(ci.TSI_PDC_DPAM_CAPS, DPAMCaps)[1] def read_dpam_caps2(self) -> bool: - return (self.__io.get(TSI_PDC_DPAM_CAPS2, c_uint32)[1] & 0x1) != 0 + return (self.__io.get(ci.TSI_PDC_DPAM_CAPS2, c_uint32)[1] & 0x1) != 0 def read_dpam_state(self) -> DPAMState: - return self.__io.get(TSI_PDC_DPAM_STATE_R, DPAMState)[1] + return self.__io.get(ci.TSI_PDC_DPAM_STATE_R, DPAMState)[1] def write_dpam_control(self, command: DPAMCommand): - self.__io.set(TSI_PDC_DPAM_CONTROL_W, command.value, c_uint32) + self.__io.set(ci.TSI_PDC_DPAM_CONTROL_W, command.value, c_uint32) def read_dpam_config(self) -> DPAMConfig: - return self.__io.get(TSI_PDC_DPAM_CONFIG_R, DPAMConfig)[1] + return self.__io.get(p_ci.TSI_PDC_DPAM_CONFIG_R, DPAMConfig)[1] def read_dpam_disc_modes(self) -> DPAMDiscModes: - return self.__io.get(TSI_PDC_DPAM_DISC_MODES_R, DPAMDiscModes)[1] + return self.__io.get(ci.TSI_PDC_DPAM_DISC_MODES_R, DPAMDiscModes)[1] def read_dpam_recv(self) -> DPAMRecv: - return self.__io.get(TSI_PDC_DPAM_RECV_STS_R, DPAMRecv)[1] + return self.__io.get(ci.TSI_PDC_DPAM_RECV_STS_R, DPAMRecv)[1] def write_hw_command(self, command: HWControlCommand): - self.__io.set(TSI_PDC_HW_CONTROL_W, command.value, c_uint32) + self.__io.set(ci.TSI_PDC_HW_CONTROL_W, command.value, c_uint32) def read_hw_status(self) -> HWStatus: - return self.__io.get(TSI_PDC_HW_STATUS_R, HWStatus)[1] + return self.__io.get(ci.TSI_PDC_HW_STATUS_R, HWStatus)[1] def read_hw_caps(self) -> HWCaps: - return self.__io.get(TSI_PDC_HW_CAPS_R, HWCaps)[1] + return self.__io.get(p_ci.TSI_PDC_HW_CAPS_R, HWCaps)[1] def read_pdc_status(self) -> PDCStatus: - return self.__io.get(TSI_PDC_STATUS_R, PDCStatus)[1] + return self.__io.get(ci.TSI_PDC_STATUS_R, PDCStatus)[1] def write_pdc_command(self, command: PDCControlCommand): - self.__io.set(TSI_PDC_CONTROL, command.value, c_uint32) + self.__io.set(ci.TSI_PDC_CONTROL, command.value, c_uint32) def read_pdc_state(self) -> PDCState: - return self.__io.get(TSI_PDC_STATE, PDCState)[1] + return self.__io.get(ci.TSI_PDC_STATE, PDCState)[1] def read_pdc_caps(self) -> PDCCaps: - return self.__io.get(TSI_PDC_CAPS, PDCCaps)[1] + return self.__io.get(ci.TSI_PDC_CAPS, PDCCaps)[1] def write_pdc_contract_control(self, caps: PDCContractInfo): - self.__io.set(TSI_USBC_PWR_CONTRACT_CONTROL, caps.value(), c_uint32) + self.__io.set(ci.TSI_USBC_PWR_CONTRACT_CONTROL, caps.value(), c_uint32) def read_pdc_contract_control(self) -> PDCContractInfo: - return self.__io.get(TSI_USBC_PWR_CONTRACT_CONTROL, PDCContractInfo)[1] + return self.__io.get(ci.TSI_USBC_PWR_CONTRACT_CONTROL, PDCContractInfo)[1] def read_local_spr_source_pdo(self) -> list: - return self.__io.get(TSI_USBC_PWR_LOCAL_SOURCE_PDO, PdoUnion, self.read_hw_caps().pdo_count)[1] + return self.__io.get(ci.TSI_USBC_PWR_LOCAL_SOURCE_PDO, PdoUnion, self.read_hw_caps().pdo_count)[1] def write_local_spr_source_pdo(self, data: list): - self.__io.set(TSI_USBC_PWR_LOCAL_SOURCE_PDO, data, c_uint32, len(data)) + self.__io.set(ci.TSI_USBC_PWR_LOCAL_SOURCE_PDO, data, c_uint32, len(data)) def read_local_spr_sink_pdo(self) -> list: - return self.__io.get(TSI_USBC_PWR_LOCAL_SINK_PDO, PdoUnion, self.read_hw_caps().pdo_count)[1] + return self.__io.get(ci.TSI_USBC_PWR_LOCAL_SINK_PDO, PdoUnion, self.read_hw_caps().pdo_count)[1] def write_local_spr_sink_pdo(self, data: list): - self.__io.set(TSI_USBC_PWR_LOCAL_SINK_PDO, data, c_uint32, len(data)) + self.__io.set(ci.TSI_USBC_PWR_LOCAL_SINK_PDO, data, c_uint32, len(data)) def read_tx_id_vdo_count(self) -> int: - return self.__io.get(TSI_PDC_TX_ID_VDO_CNT, c_uint32)[1] + return self.__io.get(p_ci.TSI_PDC_TX_ID_VDO_CNT, c_uint32)[1] def read_tx_id_vdo(self) -> list: - return self.__io.get(TSI_PDC_TX_ID_VDO, c_uint32, self.read_tx_id_vdo_count())[1] + return self.__io.get(p_ci.TSI_PDC_TX_ID_VDO, c_uint32, self.read_tx_id_vdo_count())[1] def write_tx_id_vdo(self, data: list): - self.__io.set(TSI_PDC_TX_ID_VDO, data, c_uint32, len(data)) + self.__io.set(p_ci.TSI_PDC_TX_ID_VDO, data, c_uint32, len(data)) def read_contract_data(self) -> list: - return self.__io.get(TSI_PDC_CONTRACT_DATA, c_uint32, 4)[1] + return self.__io.get(p_ci.TSI_PDC_CONTRACT_DATA, c_uint32, 4)[1] def write_contract_data(self, data: list): - self.__io.set(TSI_PDC_CONTRACT_DATA, data, c_uint32, len(data)) + self.__io.set(p_ci.TSI_PDC_CONTRACT_DATA, data, c_uint32, len(data)) def read_power_contract_select(self) -> int: - return self.__io.get(TSI_USBC_PWR_CONTRACT_SELECT, c_uint32)[1] + return self.__io.get(ci.TSI_USBC_PWR_CONTRACT_SELECT, c_uint32)[1] def write_power_contract_select(self, index: int): - self.__io.set(TSI_USBC_PWR_CONTRACT_SELECT, index, c_uint32) + self.__io.set(ci.TSI_USBC_PWR_CONTRACT_SELECT, index, c_uint32) def read_resistance(self) -> int: - return self.__io.get(TSI_USBC_RESISTANCE_CONTROL, c_uint32)[1] + return self.__io.get(ci.TSI_USBC_RESISTANCE_CONTROL, c_uint32)[1] def write_resistance(self, resistance: int): - self.__io.set(TSI_USBC_RESISTANCE_CONTROL, resistance, c_uint32) + self.__io.set(ci.TSI_USBC_RESISTANCE_CONTROL, resistance, c_uint32) def read_adc_vbus_status(self) -> list: - return self.__io.get(TSI_ADC_VBUS_VOLTAGE_R, c_uint32, TSI_ADC_BLOCK_SIZE_WORDS)[1] + return self.__io.get(ci.TSI_ADC_VBUS_VOLTAGE_R, c_uint32, ci.TSI_ADC_BLOCK_SIZE_WORDS)[1] def read_internal_resistance(self) -> int: - return self.__io.get(TSI_USBC_INT_RESISTANCE_STATUS_R, c_uint32)[1] + return self.__io.get(ci.TSI_USBC_INT_RESISTANCE_STATUS_R, c_uint32)[1] def read_external_resistance(self) -> int: - return self.__io.get(TSI_USBC_EXT_RESISTANCE_STATUS_R, c_uint32)[1] + return self.__io.get(ci.TSI_USBC_EXT_RESISTANCE_STATUS_R, c_uint32)[1] def write_adc_control(self): - self.__io.set(TSI_W_USBC_ADC_CTRL, 1, c_uint32) + self.__io.set(ci.TSI_W_USBC_ADC_CTRL, 1, c_uint32) diff --git a/UniTAP/dev/ports/modules/vtg/pg.py b/UniTAP/dev/ports/modules/vtg/pg.py index 7615f03..e9bf5ce 100644 --- a/UniTAP/dev/ports/modules/vtg/pg.py +++ b/UniTAP/dev/ports/modules/vtg/pg.py @@ -1,10 +1,12 @@ import copy import os.path +from ctypes import c_uint8, c_uint, c_uint32 from typing import Union, List, Optional from PIL import Image from UniTAP.utils import function_scheduler -from UniTAP.libs.lib_tsi.tsi import * +import UniTAP.libs.lib_tsi.tsi_types as ci +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci from UniTAP.libs.lib_tsi.tsi_io import PortIO from UniTAP.dev.modules import MemoryManager from UniTAP.dev.ports.modules.internal_utils.math import aligned @@ -26,29 +28,29 @@ Image.MAX_IMAGE_PIXELS = None def _read_predefined_timings(io: PortIO) -> List[Timing]: - count = io.get(TSI_R_PG_PREDEF_TIMING_COUNT)[1] + count = io.get(ci.TSI_R_PG_PREDEF_TIMING_COUNT)[1] predefined_list = [] for i in range(count): - io.set(TSI_W_PG_PREDEF_TIMING_SELECT, i) + io.set(ci.TSI_W_PG_PREDEF_TIMING_SELECT, i) timing = Timing() - timing.htotal = io.get(TSI_PG_CUSTOM_TIMING_HTOTAL)[1] - timing.vtotal = io.get(TSI_PG_CUSTOM_TIMING_VTOTAL)[1] - timing.hactive = io.get(TSI_PG_CUSTOM_TIMING_HACTIVE)[1] - timing.vactive = io.get(TSI_PG_CUSTOM_TIMING_VACTIVE)[1] - timing.hstart = io.get(TSI_PG_CUSTOM_TIMING_HSTART)[1] - timing.vstart = io.get(TSI_PG_CUSTOM_TIMING_VSTART)[1] - timing.hswidth = io.get(TSI_PG_CUSTOM_TIMING_HSYNCW)[1] - timing.vswidth = io.get(TSI_PG_CUSTOM_TIMING_VSYNCW)[1] - timing.id = io.get(TSI_PG_CUSTOM_TIMING_ID)[1] + timing.htotal = io.get(ci.TSI_PG_CUSTOM_TIMING_HTOTAL)[1] + timing.vtotal = io.get(ci.TSI_PG_CUSTOM_TIMING_VTOTAL)[1] + timing.hactive = io.get(ci.TSI_PG_CUSTOM_TIMING_HACTIVE)[1] + timing.vactive = io.get(ci.TSI_PG_CUSTOM_TIMING_VACTIVE)[1] + timing.hstart = io.get(ci.TSI_PG_CUSTOM_TIMING_HSTART)[1] + timing.vstart = io.get(ci.TSI_PG_CUSTOM_TIMING_VSTART)[1] + timing.hswidth = io.get(ci.TSI_PG_CUSTOM_TIMING_HSYNCW)[1] + timing.vswidth = io.get(ci.TSI_PG_CUSTOM_TIMING_VSYNCW)[1] + timing.id = io.get(ci.TSI_PG_CUSTOM_TIMING_ID)[1] # TODO: add conversion from pg AR to Timing AR - timing.aspect_ratio = io.get(TSI_PG_CUSTOM_TIMING_ASPECT_RATIO)[1] - timing.frame_rate = io.get(TSI_PG_CUSTOM_TIMING_FIELD_RATE)[1] - timing.standard = Timing.Standard(io.get(TSI_PG_CUSTOM_TIMING_STANDARD)[1]) + timing.aspect_ratio = io.get(ci.TSI_PG_CUSTOM_TIMING_ASPECT_RATIO)[1] + timing.frame_rate = io.get(ci.TSI_PG_CUSTOM_TIMING_FIELD_RATE)[1] + timing.standard = Timing.Standard(io.get(ci.TSI_PG_CUSTOM_TIMING_STANDARD)[1]) - timing_flags = io.get(TSI_PG_CUSTOM_TIMING_FLAGS)[1] + timing_flags = io.get(ci.TSI_PG_CUSTOM_TIMING_FLAGS)[1] timing.hswidth *= (-1 if timing_flags >> 9 & 1 else 1) timing.vswidth *= (-1 if timing_flags >> 10 & 1 else 1) timing.reduce_blanking = Timing.ReduceBlanking((timing_flags >> 24) & 0x3) @@ -191,7 +193,7 @@ class PatternGenerator: def __read_caps(self): self._become_active() - return self.__io.get(TSI_PG_CAPS_R, PgCaps)[1] + return self.__io.get(p_ci.TSI_PG_CAPS_R, PgCaps)[1] def _caps(self) -> PgCaps: return self.__caps @@ -242,11 +244,11 @@ class PatternGenerator: self.__memory_manager.set_memory_layout([block_sizes]) self.__memory_manager.set_memory_block_index(MemoryManager.MemoryOwner.MO_PatternGenerator) - self.__io.set(TSI_PG_CUSTOM_PATTERN_MEMORY_BLOCK_INDEX, 0) - self.__io.set(TSI_PG_CUSTOM_PATTERN_WIDTH, video_mode.timing.hactive) - self.__io.set(TSI_PG_CUSTOM_PATTERN_HEIGHT, video_mode.timing.vactive) - self.__io.set(TSI_PG_CUSTOM_PATTERN_PIXEL_FORMAT, pg_pixel_format_from_vm(video_mode)) - self.__io.set(TSI_PG_CUSTOM_PATTERN_DATA, data, c_uint8, data_count=len(data)) + self.__io.set(ci.TSI_PG_CUSTOM_PATTERN_MEMORY_BLOCK_INDEX, 0) + self.__io.set(ci.TSI_PG_CUSTOM_PATTERN_WIDTH, video_mode.timing.hactive) + self.__io.set(ci.TSI_PG_CUSTOM_PATTERN_HEIGHT, video_mode.timing.vactive) + self.__io.set(ci.TSI_PG_CUSTOM_PATTERN_PIXEL_FORMAT, pg_pixel_format_from_vm(video_mode)) + self.__io.set(ci.TSI_PG_CUSTOM_PATTERN_DATA, data, c_uint8, data_count=len(data)) def __load_dsc_image(self, video_mode: VideoMode, content_data: Union[str, bytearray, VideoFrameDSC]): if isinstance(content_data, str): @@ -259,8 +261,8 @@ class PatternGenerator: block_sizes = len(data) self.__memory_manager.set_memory_layout([block_sizes]) self.__memory_manager.set_memory_block_index(MemoryManager.MemoryOwner.MO_PatternGenerator) - self.__io.set(TSI_PG_CUSTOM_PATTERN_MEMORY_BLOCK_INDEX, 0) - self.__io.set(TSI_PG_CUSTOM_PATTERN_DATA, data, c_uint8, data_count=len(data)) + self.__io.set(ci.TSI_PG_CUSTOM_PATTERN_MEMORY_BLOCK_INDEX, 0) + self.__io.set(ci.TSI_PG_CUSTOM_PATTERN_DATA, data, c_uint8, data_count=len(data)) @staticmethod def __calculate_frame_size(width: int, height: int) -> int: @@ -331,7 +333,7 @@ class PatternGenerator: raise TypeError(f"Incorrect input value: {self._pattern}.\n" f"If you want to select pattern, see following list of available patterns:\n" f"{self.__available_patterns}") - self.__io.set(TSI_PG_PREDEF_PATTERN_SELECT, self._pattern_id.value) + self.__io.set(ci.TSI_PG_PREDEF_PATTERN_SELECT, self._pattern_id.value) return True return False @@ -362,17 +364,17 @@ class PatternGenerator: self.__caps.max_h_total >= self._vm.timing.htotal and \ self.__caps.max_v_total >= self._vm.timing.vtotal and \ self.__caps.max_frame >= int(self._vm.timing.frame_rate / 1000): - self.__io.set(TSI_PG_CUSTOM_TIMING_FLAGS, pg_timingflags_from_vm(self._vm)) - self.__io.set(TSI_PG_CUSTOM_TIMING_HTOTAL, self._vm.timing.htotal, c_uint) - self.__io.set(TSI_PG_CUSTOM_TIMING_VTOTAL, self._vm.timing.vtotal, c_uint) - self.__io.set(TSI_PG_CUSTOM_TIMING_HACTIVE, self._vm.timing.hactive, c_uint) - self.__io.set(TSI_PG_CUSTOM_TIMING_VACTIVE, self._vm.timing.vactive, c_uint) - self.__io.set(TSI_PG_CUSTOM_TIMING_HSTART, self._vm.timing.hstart, c_uint) - self.__io.set(TSI_PG_CUSTOM_TIMING_VSTART, self._vm.timing.vstart, c_uint) - self.__io.set(TSI_PG_CUSTOM_TIMING_HSYNCW, abs(self._vm.timing.hswidth), c_uint) - self.__io.set(TSI_PG_CUSTOM_TIMING_VSYNCW, abs(self._vm.timing.vswidth), c_uint) - self.__io.set(TSI_PG_CUSTOM_TIMING_FIELD_RATE, self._vm.timing.frame_rate, c_uint) - self.__io.set(TSI_PG_CUSTOM_TIMING_STANDARD, self._vm.timing.standard.value, c_uint) + self.__io.set(ci.TSI_PG_CUSTOM_TIMING_FLAGS, pg_timingflags_from_vm(self._vm)) + self.__io.set(ci.TSI_PG_CUSTOM_TIMING_HTOTAL, self._vm.timing.htotal, c_uint) + self.__io.set(ci.TSI_PG_CUSTOM_TIMING_VTOTAL, self._vm.timing.vtotal, c_uint) + self.__io.set(ci.TSI_PG_CUSTOM_TIMING_HACTIVE, self._vm.timing.hactive, c_uint) + self.__io.set(ci.TSI_PG_CUSTOM_TIMING_VACTIVE, self._vm.timing.vactive, c_uint) + self.__io.set(ci.TSI_PG_CUSTOM_TIMING_HSTART, self._vm.timing.hstart, c_uint) + self.__io.set(ci.TSI_PG_CUSTOM_TIMING_VSTART, self._vm.timing.vstart, c_uint) + self.__io.set(ci.TSI_PG_CUSTOM_TIMING_HSYNCW, abs(self._vm.timing.hswidth), c_uint) + self.__io.set(ci.TSI_PG_CUSTOM_TIMING_VSYNCW, abs(self._vm.timing.vswidth), c_uint) + self.__io.set(ci.TSI_PG_CUSTOM_TIMING_FIELD_RATE, self._vm.timing.frame_rate, c_uint) + self.__io.set(ci.TSI_PG_CUSTOM_TIMING_STANDARD, self._vm.timing.standard.value, c_uint) return True else: raise ValueError(f"Incorrect Video Mode (incorrect resolution and(or) frame rate") @@ -384,29 +386,40 @@ class PatternGenerator: See available `PGPatternParams` types: `SolidColorParams`, `WhiteVStripsParams`, `GradientStripsParams`, `MotionParams`,`SquareWindowParams` (see in pg pattern params). + These parameters can be applied without calling apply() method, if active pattern matches pattern params. + Args: pattern_params (PGPatternParams) """ self._pattern_params = pattern_params + self._setup_pattern_params() def _setup_pattern_params(self): - if self._pattern_params is not None and isinstance(self._pattern, VideoPattern): - if self._MAP_PATTERN_PARAMETER.get(PGPatternID(self._pattern_id.value)) is not None: - if isinstance(self._pattern_params, - self._MAP_PATTERN_PARAMETER.get(PGPatternID(self._pattern_id.value))): - self.__io.set(TSI_PG_PREDEF_PATTERN_PARAMS, get_pattern_params_value(self._pattern_params, - self._vm.color_info.bpc), - data_count=len(get_pattern_params_value(self._pattern_params))) - return True - else: - warnings.warn(f"Incorrect pattern name {self._pattern} and " - f"pattern params {type(self._pattern_params)}.\n" - f"For {self._pattern} you need to use " - f"{self._MAP_PATTERN_PARAMETER.get(self._pattern_id)}") - return False + if self._pattern_params is None or not isinstance(self._pattern, VideoPattern): + return False + + if self._MAP_PATTERN_PARAMETER.get(self._pattern_id) is None: + return False + + if not isinstance(self._pattern_params, self._MAP_PATTERN_PARAMETER.get(self._pattern_id)): + warnings.warn(f"Incorrect pattern name {self._pattern} and " + f"pattern params {type(self._pattern_params)}.\n" + f"For {self._pattern} you need to use " + f"{self._MAP_PATTERN_PARAMETER.get(self._pattern_id)}") + return False + + solid_color_shifter = 16 - self._vm.color_info.bpc if self._vm is not None else 0 + params = get_pattern_params_value(self._pattern_params, solid_color_shifter) + + self._become_active() + + self.__io.set(ci.TSI_PG_PREDEF_PATTERN_PARAM_1, params[0]) + self.__io.set(ci.TSI_PG_PREDEF_PATTERN_PARAM_2, params[1]) + + return True def __get_custom_timing_flags_to_video_mode(self) -> (ColorInfo, bool, bool): - timing_flags = self.__io.get(TSI_PG_CUSTOM_TIMING_FLAGS, CustomTimingFlags)[1] + timing_flags = self.__io.get(ci.TSI_PG_CUSTOM_TIMING_FLAGS, CustomTimingFlags)[1] vm_color_format = pg_colorformat_to_ci_colorformat(PGColorInfo(timing_flags.color_space)) @@ -440,28 +453,28 @@ class PatternGenerator: video_mode = VideoMode() - video_mode.timing.hactive = self.__io.get(TSI_PG_CUSTOM_TIMING_HACTIVE, c_uint32)[1] - video_mode.timing.vactive = self.__io.get(TSI_PG_CUSTOM_TIMING_VACTIVE, c_uint32)[1] - video_mode.timing.htotal = self.__io.get(TSI_PG_CUSTOM_TIMING_HTOTAL, c_uint32)[1] - video_mode.timing.vtotal = self.__io.get(TSI_PG_CUSTOM_TIMING_VTOTAL, c_uint32)[1] - video_mode.timing.hstart = self.__io.get(TSI_PG_CUSTOM_TIMING_HSTART, c_uint32)[1] - video_mode.timing.vstart = self.__io.get(TSI_PG_CUSTOM_TIMING_VSTART, c_uint32)[1] + video_mode.timing.hactive = self.__io.get(ci.TSI_PG_CUSTOM_TIMING_HACTIVE, c_uint32)[1] + video_mode.timing.vactive = self.__io.get(ci.TSI_PG_CUSTOM_TIMING_VACTIVE, c_uint32)[1] + video_mode.timing.htotal = self.__io.get(ci.TSI_PG_CUSTOM_TIMING_HTOTAL, c_uint32)[1] + video_mode.timing.vtotal = self.__io.get(ci.TSI_PG_CUSTOM_TIMING_VTOTAL, c_uint32)[1] + video_mode.timing.hstart = self.__io.get(ci.TSI_PG_CUSTOM_TIMING_HSTART, c_uint32)[1] + video_mode.timing.vstart = self.__io.get(ci.TSI_PG_CUSTOM_TIMING_VSTART, c_uint32)[1] video_mode.color_info, h_sync_polarity, v_sync_polarity = self.__get_custom_timing_flags_to_video_mode() - video_mode.timing.hswidth = self.__io.get(TSI_PG_CUSTOM_TIMING_HSYNCW, c_uint32)[1] * ( + video_mode.timing.hswidth = self.__io.get(ci.TSI_PG_CUSTOM_TIMING_HSYNCW, c_uint32)[1] * ( -1 if h_sync_polarity else 1) - video_mode.timing.vswidth = self.__io.get(TSI_PG_CUSTOM_TIMING_VSYNCW, c_uint32)[1] * ( + video_mode.timing.vswidth = self.__io.get(ci.TSI_PG_CUSTOM_TIMING_VSYNCW, c_uint32)[1] * ( -1 if v_sync_polarity else 1) - video_mode.timing.frame_rate = self.__io.get(TSI_PG_CUSTOM_TIMING_FIELD_RATE, c_uint32)[1] + video_mode.timing.frame_rate = self.__io.get(ci.TSI_PG_CUSTOM_TIMING_FIELD_RATE, c_uint32)[1] return video_mode def _become_active(self): - self.__io.set(TSI_PG_STREAM_SELECT, self.__stream) + self.__io.set(ci.TSI_PG_STREAM_SELECT, self.__stream) def __read_pg_settings(self): - self.__io.set(TSI_PG_COMMAND_W, 2) + self.__io.set(ci.TSI_PG_COMMAND_W, 2) def apply(self) -> bool: """ @@ -471,7 +484,7 @@ class PatternGenerator: Returns: object of bool type - settings were set successfully or not """ - self.__io.set(TSI_PG_COMMAND_W, 3) + self.__io.set(ci.TSI_PG_COMMAND_W, 3) def is_apply_pg_success(pg: PatternGenerator): return pg.status().error == PGStatus.PGError.OK @@ -487,7 +500,7 @@ class PatternGenerator: object of PGStatus type. """ self._become_active() - return PGStatus(self.__io.get(TSI_PG_STATUS_R, c_uint32)[1]) + return PGStatus(self.__io.get(ci.TSI_PG_STATUS_R, c_uint32)[1]) def reset(self): """ @@ -631,7 +644,7 @@ class DpPatternGenerator(PatternGenerator): self.__as_config = None return False - self.__io.set(TSI_PG_ADAPTIVE_SYNC_CTRL, + self.__io.set(p_ci.TSI_PG_ADAPTIVE_SYNC_CTRL, get_as_params_value(self.__as_config), data_count=len(get_as_params_value(self.__as_config))) return True @@ -659,8 +672,8 @@ class DpPatternGenerator(PatternGenerator): return False value = 1 value |= (1 << 31) - self.__io.set(TSI_PG_CUSTOM_PATTERN_SCROLLING_CONTROL, value, c_uint32) - self.__io.set(TSI_PG_CUSTOM_PATTERN_SCROLLING_CONFIG, get_pattern_params_value(self.__scrolling_params), + self.__io.set(ci.TSI_PG_CUSTOM_PATTERN_SCROLLING_CONTROL, value, c_uint32) + self.__io.set(ci.TSI_PG_CUSTOM_PATTERN_SCROLLING_CONFIG, get_pattern_params_value(self.__scrolling_params), data_count=len(get_pattern_params_value(self.__scrolling_params))) return True return False @@ -675,9 +688,9 @@ class DpPatternGenerator(PatternGenerator): """ self._become_active() - res = self.__io.get(TSI_PG_ADAPTIVE_SYNC_STS, c_uint32) + res = self.__io.get(p_ci.TSI_PG_ADAPTIVE_SYNC_STS, c_uint32) - if res[0] < TSI_SUCCESS: + if res[0] < ci.TSI_SUCCESS: return False return res[1] & 1 != 0 @@ -894,5 +907,5 @@ class DpMstPatternGenerator: return self.__pg_list[0].panel_replay() def __read_max_stream_count(self) -> int: - result = self.__io.get(TSI_PG_MAX_STREAM_COUNT_R, c_uint32) + result = self.__io.get(ci.TSI_PG_MAX_STREAM_COUNT_R, c_uint32) return result[1] diff --git a/UniTAP/dev/ports/modules/vtg/pg_pattern_params.py b/UniTAP/dev/ports/modules/vtg/pg_pattern_params.py index 42abf12..a087f7d 100644 --- a/UniTAP/dev/ports/modules/vtg/pg_pattern_params.py +++ b/UniTAP/dev/ports/modules/vtg/pg_pattern_params.py @@ -10,18 +10,18 @@ class SolidColorParams: """ def __init__(self, first: int = 0, second: int = 0, third: int = 0): - if not (0 <= first <= 255): - warnings.warn("Incorrect value. Must use value from range: 0 - 255. Will be used default value = 0") + if not (0 <= first < (1 << 16)): + warnings.warn("Incorrect value. Must use value from range: 0 - 65535. Will be used default value = 0") first = 0 self.first = first - if not (0 <= second <= 255): - warnings.warn("Incorrect value. Must use value from range: 0 - 255. Will be used default value = 0") + if not (0 <= second < (1 << 16)): + warnings.warn("Incorrect value. Must use value from range: 0 - 65535. Will be used default value = 0") second = 0 self.second = second - if not (0 <= third <= 255): - warnings.warn("Incorrect value. Must use value from range: 0 - 255. Will be used default value = 0") + if not (0 <= third < (1 << 16)): + warnings.warn("Incorrect value. Must use value from range: 0 - 65535. Will be used default value = 0") third = 0 self.third = third diff --git a/UniTAP/dev/ports/modules/vtg/pg_utils.py b/UniTAP/dev/ports/modules/vtg/pg_utils.py index 53bdec5..21a305a 100644 --- a/UniTAP/dev/ports/modules/vtg/pg_utils.py +++ b/UniTAP/dev/ports/modules/vtg/pg_utils.py @@ -1,8 +1,5 @@ from UniTAP.common import ColorInfo, VideoMode -from UniTAP.libs.lib_tsi.tsi_types import TSI_IMF_PK444_RGB_W8_C8, TSI_IMF_PK444_RGB_W16_C12, \ - TSI_IMF_PK444_RGB_W16_C16, TSI_IMF_PK444_YCbCr_W8_C8, TSI_IMF_PK444_YCbCr_W16_C16, \ - TSI_IMF_PK422_CbYCrY_W16_C8, TSI_IMF_PK422_CbYCrY_W16_C16, TSI_IMF_PK420_CxYY0_W8_C8, \ - TSI_IMF_PK420_CxYY0_W8_C10, TSI_IMF_PK420_CxYY_W16_C12, TSI_IMF_PK420_CxYY_W16_C16 +import UniTAP.libs.lib_tsi.tsi_types as ci from .types import PGColorInfo, PGColorDepth, PGColorimetry, PGDynamicRange @@ -106,30 +103,30 @@ def pg_pixel_format_from_vm(vm: VideoMode) -> int: if color_format == ColorInfo.ColorFormat.CF_RGB: if bpc == 8: - return TSI_IMF_PK444_RGB_W8_C8 + return ci.TSI_IMF_PK444_RGB_W8_C8 elif bpc in [10, 12]: - return TSI_IMF_PK444_RGB_W16_C12 + return ci.TSI_IMF_PK444_RGB_W16_C12 elif bpc == 16: - return TSI_IMF_PK444_RGB_W16_C16 + return ci.TSI_IMF_PK444_RGB_W16_C16 elif color_format == ColorInfo.ColorFormat.CF_YCbCr_444: if bpc == 8: - return TSI_IMF_PK444_YCbCr_W8_C8 + return ci.TSI_IMF_PK444_YCbCr_W8_C8 elif bpc in [10, 12, 16]: - return TSI_IMF_PK444_YCbCr_W16_C16 + return ci.TSI_IMF_PK444_YCbCr_W16_C16 elif color_format == ColorInfo.ColorFormat.CF_YCbCr_422: if bpc == 8: - return TSI_IMF_PK422_CbYCrY_W16_C8 + return ci.TSI_IMF_PK422_CbYCrY_W16_C8 elif bpc in [10, 12, 16]: - return TSI_IMF_PK422_CbYCrY_W16_C16 + return ci.TSI_IMF_PK422_CbYCrY_W16_C16 elif color_format == ColorInfo.ColorFormat.CF_YCbCr_420: if bpc == 8: - return TSI_IMF_PK420_CxYY0_W8_C8 + return ci.TSI_IMF_PK420_CxYY0_W8_C8 elif bpc == 10: - return TSI_IMF_PK420_CxYY0_W8_C10 + return ci.TSI_IMF_PK420_CxYY0_W8_C10 elif bpc == 12: - return TSI_IMF_PK420_CxYY_W16_C12 + return ci.TSI_IMF_PK420_CxYY_W16_C12 elif bpc == 16: - return TSI_IMF_PK420_CxYY_W16_C16 + return ci.TSI_IMF_PK420_CxYY_W16_C16 return 0xffffffff diff --git a/UniTAP/dev/ports/modules/vtg/private_types.py b/UniTAP/dev/ports/modules/vtg/private_types.py index 7724c36..936924d 100644 --- a/UniTAP/dev/ports/modules/vtg/private_types.py +++ b/UniTAP/dev/ports/modules/vtg/private_types.py @@ -93,10 +93,9 @@ def get_as_params_value(params: ASParams) -> list: params.increase_lines, params.decrease_lines] -def get_pattern_params_value(params: Union[PGPatternParams, PGScrollingParams], bpc: int = 8) -> list: +def get_pattern_params_value(params: Union[PGPatternParams, PGScrollingParams], solid_color_shifter = 8) -> list: if isinstance(params, SolidColorParams): - up_shift = 16 - bpc - return [(((params.first << up_shift) << 16) | (params.second << up_shift)), (params.third << up_shift)] + return [(params.first << solid_color_shifter << 16) | (params.second << solid_color_shifter), params.third << solid_color_shifter] elif isinstance(params, WhiteVStripsParams): return [params.white_stripes_width, params.black_stripes_width] elif isinstance(params, GradientStripsParams): @@ -107,3 +106,5 @@ def get_pattern_params_value(params: Union[PGPatternParams, PGScrollingParams], return [params.white_square] elif isinstance(params, StepsScrollingParams): return [params.frames, params.horizontally, params.frames, params.vertically] + else: + raise ValueError("Unsupported pattern params type") diff --git a/UniTAP/dev/ports/tx.py b/UniTAP/dev/ports/tx.py index 8794acf..ea85792 100644 --- a/UniTAP/dev/ports/tx.py +++ b/UniTAP/dev/ports/tx.py @@ -1,5 +1,6 @@ from .port import TSIPort, MemoryManager, PortIO, Capturer from .modules.ag.ag import AudioGenerator +from .modules.packet_generator.packet_generator import PacketGenerator class TX(TSIPort): @@ -12,6 +13,7 @@ class TX(TSIPort): super().__init__(port_io, memory_manager, capturer) self.__ag = AudioGenerator(port_io, memory_manager) + self.__sdpg = PacketGenerator(port_io, memory_manager) @property def ag(self) -> AudioGenerator: @@ -23,3 +25,14 @@ class TX(TSIPort): object of `AudioGenerator` type. """ return self.__ag + + @property + def sdpg(self) -> PacketGenerator: + """ + + Should be used to control `PacketGenerator` on Source (TX - transmitter) role. + + Returns: + object of `PacketGenerator` type. + """ + return self.__sdpg diff --git a/UniTAP/libs/__init__.py b/UniTAP/libs/__init__.py index b0e9711..a5ba927 100644 --- a/UniTAP/libs/__init__.py +++ b/UniTAP/libs/__init__.py @@ -1,3 +1,4 @@ from UniTAP.libs.lib_helper.lib_os_helpers import OS_Requirements -from UniTAP.libs.lib_dscl import * -from UniTAP.libs.lib_uicl import * +import UniTAP.libs.lib_dscl as dscl +import UniTAP.libs.lib_uicl as uicl +import UniTAP.libs.lib_tsi as tsil diff --git a/UniTAP/libs/lib_dscl/DSCL.dll b/UniTAP/libs/lib_dscl/DSCL.dll index fd352fe..efaf952 100644 Binary files a/UniTAP/libs/lib_dscl/DSCL.dll and b/UniTAP/libs/lib_dscl/DSCL.dll differ diff --git a/UniTAP/libs/lib_dscl/Dsc.exe b/UniTAP/libs/lib_dscl/Dsc.exe index e6740b4..efa8f06 100644 Binary files a/UniTAP/libs/lib_dscl/Dsc.exe and b/UniTAP/libs/lib_dscl/Dsc.exe differ diff --git a/UniTAP/libs/lib_tsi/TSI.dll b/UniTAP/libs/lib_tsi/TSI.dll index 017e92c..7470c81 100644 Binary files a/UniTAP/libs/lib_tsi/TSI.dll and b/UniTAP/libs/lib_tsi/TSI.dll differ diff --git a/UniTAP/libs/lib_tsi/__init__.py b/UniTAP/libs/lib_tsi/__init__.py index 042efdf..8f7a011 100644 --- a/UniTAP/libs/lib_tsi/__init__.py +++ b/UniTAP/libs/lib_tsi/__init__.py @@ -1,3 +1,4 @@ -from UniTAP.libs.lib_tsi.tsi_types import * -from UniTAP.libs.lib_tsi.tsi import * +import UniTAP.libs.lib_tsi.tsi_types as ci +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci +import UniTAP.libs.lib_tsi.tsi from UniTAP.libs.lib_tsi.tsi_io import BaseIO, DeviceIO, PortIO diff --git a/UniTAP/libs/lib_tsi/bundle.information b/UniTAP/libs/lib_tsi/bundle.information new file mode 100644 index 0000000..2629a4d Binary files /dev/null and b/UniTAP/libs/lib_tsi/bundle.information differ diff --git a/UniTAP/libs/lib_tsi/tsi.py b/UniTAP/libs/lib_tsi/tsi.py index 293dbf3..401d6eb 100644 --- a/UniTAP/libs/lib_tsi/tsi.py +++ b/UniTAP/libs/lib_tsi/tsi.py @@ -1,14 +1,18 @@ import warnings +from enum import IntEnum -from UniTAP.libs.lib_tsi.tsi_private_types import * +from _ctypes import Structure + +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci +import UniTAP.libs.lib_tsi.tsi_types as ci from UniTAP.libs.lib_helper import OS_Requirements, lib_method_wrapper from ctypes import c_char_p, c_uint32, c_void_p, c_int32, POINTER, create_string_buffer, byref, \ - sizeof, c_uint64, c_ubyte, c_bool + sizeof, c_uint64, c_ubyte, c_bool, c_uint + from UniTAP.utils import tsi_logging as logging CTYPES_TYPE_LIST = [c_char_p, c_uint32, c_void_p, c_int32, c_uint64, c_ubyte, c_bool] - callback = None @@ -21,6 +25,14 @@ class Singleton(type): return cls._instances[cls] +class TSIInitializationFailed(Exception): + """ + Redefinition of base exception. + Define error of 'TSI library initialization failed'. + """ + pass + + class TSIWrapper(metaclass=Singleton): _TSI_CURRENT_VERSION = 12 @@ -63,100 +75,104 @@ class TSIWrapper(metaclass=Singleton): def initialize(self): self._TSIX_Init = lib_method_wrapper(self.lib.TSIX_Init, [POINTER(TSI_INIT_CONFIGURATION)], - TSI_RESULT) - self._TSI_Init = lib_method_wrapper(self.lib.TSI_Init, [c_uint32], TSI_RESULT) - self._TSI_Clean = lib_method_wrapper(self.lib.TSI_Clean, [], TSI_RESULT) + ci.TSI_RESULT) + self._TSI_Init = lib_method_wrapper(self.lib.TSI_Init, [c_uint32], ci.TSI_RESULT) + self._TSI_Clean = lib_method_wrapper(self.lib.TSI_Clean, [], ci.TSI_RESULT) self._TSI_DEV_GetDeviceCount = lib_method_wrapper(self.lib.TSIX_DEV_GetDeviceCount, [], - TSI_RESULT) + ci.TSI_RESULT) self._TSIX_DEV_GetDeviceName = lib_method_wrapper(self.lib.TSIX_DEV_GetDeviceName, - [TSI_DEVICE_ID, c_char_p, c_uint32], - TSI_RESULT) + [ci.TSI_DEVICE_ID, c_char_p, c_uint32], + ci.TSI_RESULT) self._TSIX_DEV_OpenDevice = lib_method_wrapper(self.lib.TSIX_DEV_OpenDevice, - [TSI_DEVICE_ID, POINTER(TSI_RESULT)], - TSI_HANDLE) + [ci.TSI_DEVICE_ID, POINTER(ci.TSI_RESULT)], + ci.TSI_HANDLE) self._TSIX_DEV_SelectRole = lib_method_wrapper(self.lib.TSIX_DEV_SelectRole, - [TSI_HANDLE, c_int32], - TSI_RESULT) + [ci.TSI_HANDLE, c_int32], + ci.TSI_RESULT) self._TSIX_DEV_RescanDevices = lib_method_wrapper(self.lib.TSIX_DEV_RescanDevices, [c_int32, c_int32, c_int32], - TSI_RESULT) + ci.TSI_RESULT) self._TSIX_DEV_GetDeviceRoleName = lib_method_wrapper(self.lib.TSIX_DEV_GetDeviceRoleName, - [TSI_HANDLE, c_int32, c_char_p, + [ci.TSI_HANDLE, c_int32, c_char_p, c_uint32], - TSI_RESULT) + ci.TSI_RESULT) self._TSIX_DEV_GetDeviceRoleCount = lib_method_wrapper(self.lib.TSIX_DEV_GetDeviceRoleCount, - [TSI_HANDLE, ], - TSI_RESULT) + [ci.TSI_HANDLE, ], + ci.TSI_RESULT) self._TSIX_DEV_CloseDevice = lib_method_wrapper(self.lib.TSIX_DEV_CloseDevice, - [TSI_HANDLE, ], - TSI_RESULT) + [ci.TSI_HANDLE, ], + ci.TSI_RESULT) self._TSI2_TS_SetConfigItem = lib_method_wrapper(self.lib.TSI2_TS_SetConfigItem, - [TSI_HANDLE, TSI_LOGICAL_PORT, - TSI_CONFIG_ID, + [ci.TSI_HANDLE, ci.TSI_TEST_ID, + ci.TSI_CONFIG_ID, c_void_p, c_uint32], - TSI_RESULT) + ci.TSI_RESULT) self._TSIX_TS_SetConfigItem = lib_method_wrapper(self.lib.TSIX_TS_SetConfigItem, - [TSI_HANDLE, TSI_CONFIG_ID, c_void_p, + [ci.TSI_HANDLE, ci.TSI_CONFIG_ID, c_void_p, c_uint32], - TSI_RESULT) + ci.TSI_RESULT) self._TSI2_TS_GetConfigItem = lib_method_wrapper(self.lib.TSI2_TS_GetConfigItem, - [TSI_HANDLE, TSI_LOGICAL_PORT, - TSI_CONFIG_ID, + [ci.TSI_HANDLE, ci.TSI_TEST_ID, + ci.TSI_CONFIG_ID, c_void_p, c_uint32], - TSI_RESULT) + ci.TSI_RESULT) self._TSIX_TS_GetConfigItem = lib_method_wrapper(self.lib.TSIX_TS_GetConfigItem, - [TSI_HANDLE, TSI_CONFIG_ID, c_void_p, + [ci.TSI_HANDLE, ci.TSI_CONFIG_ID, c_void_p, c_uint32], - TSI_RESULT) + ci.TSI_RESULT) self._TSI_MISC_GetErrorDescription = lib_method_wrapper( self.lib.TSI_MISC_GetErrorDescription, - [TSI_RESULT, c_char_p, c_uint32], - TSI_RESULT) + [ci.TSI_RESULT, c_char_p, c_uint32], + ci.TSI_RESULT) self._TSIX_PORT_Select = lib_method_wrapper(self.lib.TSIX_PORT_Select, - [TSI_HANDLE, TSI_LOGICAL_PORT], - TSI_RESULT) + [ci.TSI_HANDLE, ci.TSI_TEST_ID], + ci.TSI_RESULT) self._TSIX_PORT_Deselect = lib_method_wrapper(self.lib.TSIX_PORT_Deselect, - [TSI_HANDLE, TSI_LOGICAL_PORT], - TSI_RESULT) + [ci.TSI_HANDLE, ci.TSI_TEST_ID], + ci.TSI_RESULT) self._TSIX_TS_RunTest = lib_method_wrapper(self.lib.TSIX_TS_RunTest, - [TSI_HANDLE, TSI_TEST_ID], - TSI_RESULT) + [ci.TSI_HANDLE, ci.TSI_TEST_ID], + ci.TSI_RESULT) self._TSIX_TS_AbortTests = lib_method_wrapper(self.lib.TSIX_TS_AbortTests, - [TSI_HANDLE], - TSI_RESULT) + [ci.TSI_HANDLE], + ci.TSI_RESULT) self._TSIX_PORT_GetTestCount = lib_method_wrapper(self.lib.TSIX_PORT_GetTestCount, - [TSI_HANDLE, TSI_LOGICAL_PORT], - TSI_RESULT) + [ci.TSI_HANDLE, ci.TSI_TEST_ID], + ci.TSI_RESULT) self._TSIX_PORT_GetTestInfo = lib_method_wrapper(self.lib.TSIX_PORT_GetTestInfo, - [TSI_HANDLE, TSI_LOGICAL_PORT, c_int32, - POINTER(TSI_TEST_ID), + [ci.TSI_HANDLE, p_ci.TSI_LOGICAL_PORT, c_int32, + POINTER(ci.TSI_TEST_ID), POINTER(c_int32), c_char_p, c_uint32], - TSI_RESULT) + ci.TSI_RESULT) self._TSIX_STLOG_WaitMessage = lib_method_wrapper(self.lib.TSIX_STLOG_WaitMessage, - [TSI_HANDLE, c_int32], - TSI_RESULT) + [ci.TSI_HANDLE, c_int32], + ci.TSI_RESULT) self._TSIX_STLOG_GetMessageData = lib_method_wrapper(self.lib.TSIX_STLOG_GetMessageData, - [TSI_HANDLE, c_char_p, c_uint32, + [ci.TSI_HANDLE, c_char_p, c_uint32, POINTER(c_uint32)], - TSI_RESULT) + ci.TSI_RESULT) self._TSI_CreateEventParser = lib_method_wrapper(self.lib.TSI_CreateEventParser, - [POINTER(TSI_RESULT), c_uint32], - TSI_PARSER) + [POINTER(ci.TSI_RESULT), c_uint32], + ci.TSI_PARSER) self._TSI_RemoveEventParser = lib_method_wrapper(self.lib.TSI_RemoveEventParser, - [TSI_PARSER, ], - TSI_RESULT) + [ci.TSI_PARSER, ], + ci.TSI_RESULT) self._TSI_GetParsedEventData = lib_method_wrapper(self.lib.TSI_GetParsedEventData, - [TSI_PARSER, POINTER(c_ubyte), c_int32, + [ci.TSI_PARSER, POINTER(c_ubyte), c_int32, POINTER(c_uint64), c_char_p, c_int32, c_char_p, c_int32, c_char_p, c_int32, c_char_p, c_int32], - TSI_RESULT) + ci.TSI_RESULT) self._TSI_DEV_SetSearchMask = lib_method_wrapper(self.lib.TSI_DEV_SetSearchMask, - [TSI_DEVICE_CAPS, TSI_DEVICE_CAPS], - TSI_RESULT) + [ci.TSI_DEVICE_CAPS, ci.TSI_DEVICE_CAPS], + ci.TSI_RESULT) + result = self.__TSIX_Init() - return self.__TSIX_Init() if logging.is_enabled() else self.__TSI_Init() + if result < ci.TSI_SUCCESS: + raise TSIInitializationFailed(f"TSI initialization failed with error code {result}") + + return result def deinitialize(self): return self.__TSI_Clean() @@ -170,8 +186,8 @@ class TSIWrapper(metaclass=Singleton): logging.log((level + 1) * 10, message.decode()) except Exception as exc: warnings.warn(f"[UniTAP] Logger function receive exception: {exc}") - - callback = TSI_USER_LOG_FUNCTION(ofp_impl) + + callback = ci.TSI_USER_LOG_FUNCTION(ofp_impl) def __TSIX_Init(self): global callback @@ -179,7 +195,7 @@ class TSIWrapper(metaclass=Singleton): config = TSI_INIT_CONFIGURATION() config.size = sizeof(config) config.version = self._TSI_CURRENT_VERSION - config.function = callback + config.function = callback if logging.is_enabled() else ci.TSI_USER_LOG_FUNCTION(0) return self._TSIX_Init(byref(config)) @@ -193,12 +209,12 @@ class TSIWrapper(metaclass=Singleton): return self._TSI_DEV_GetDeviceCount() def TSIX_DEV_GetDeviceName(self, device_id: int): - _device_name = create_string_buffer(TSI_NAME_SIZE) - result = self._TSIX_DEV_GetDeviceName(device_id, _device_name, TSI_NAME_SIZE) + _device_name = create_string_buffer(ci.TSI_NAME_SIZE) + result = self._TSIX_DEV_GetDeviceName(device_id, _device_name, ci.TSI_NAME_SIZE) return result, from_cstr(_device_name) def TSIX_DEV_OpenDevice(self, device_id: int): - result = c_int32(TSI_SUCCESS) + result = c_int32(ci.TSI_SUCCESS) device = self._TSIX_DEV_OpenDevice(c_uint32(device_id), byref(result)) return device @@ -260,8 +276,11 @@ class TSIWrapper(metaclass=Singleton): _data = data_type(data.value) result = self._TSI2_TS_SetConfigItem(device_handle, config_id, byref(_data), sizeof(_data)) + elif issubclass(type(data), Structure): + result = self._TSIX_TS_SetConfigItem(device_handle, config_id, byref(data), + sizeof(data)) else: - result = TSI_ERROR_NOT_IMPLEMENTED + result = ci.TSI_ERROR_NOT_IMPLEMENTED return result @@ -286,8 +305,11 @@ class TSIWrapper(metaclass=Singleton): sizeof(_data)) elif type(data) == list or type(data) == bytearray: _data = (data_type * data_count)(*data) - result = self._TSIX_TS_SetConfigItem(device_handle, config_id, byref(_data), - sizeof(_data)) + if config_id == ci.TSI_MEMORY_LAYOUT: + result = self._TSIX_TS_SetConfigItem(device_handle, config_id, byref(_data), data_count) + else: + result = self._TSIX_TS_SetConfigItem(device_handle, config_id, byref(_data), sizeof(_data)) + elif type(data) == str: _data = create_string_buffer(data_count) _data.value = str.encode(data) @@ -304,7 +326,7 @@ class TSIWrapper(metaclass=Singleton): result = self._TSIX_TS_SetConfigItem(device_handle, config_id, byref(data), sizeof(data)) else: - result = TSI_ERROR_NOT_IMPLEMENTED + result = ci.TSI_ERROR_NOT_IMPLEMENTED return result @@ -361,22 +383,22 @@ class TSIWrapper(metaclass=Singleton): return result, from_cstr(err_msg) - def TSIX_PORT_Select(self, device: TSI_HANDLE, port): + def TSIX_PORT_Select(self, device: ci.TSI_HANDLE, port): return self._TSIX_PORT_Select(device, port) - def TSIX_PORT_Deselect(self, device: TSI_HANDLE, port): + def TSIX_PORT_Deselect(self, device: ci.TSI_HANDLE, port): return self._TSIX_PORT_Deselect(device, port) - def TSIX_TS_RunTest(self, device: TSI_HANDLE, test_id: int): + def TSIX_TS_RunTest(self, device: ci.TSI_HANDLE, test_id: int): return self._TSIX_TS_RunTest(device, c_uint32(test_id)) - def TSIX_TS_AbortTests(self, device: TSI_HANDLE): + def TSIX_TS_AbortTests(self, device: ci.TSI_HANDLE): return self._TSIX_TS_AbortTests(device) - def TSIX_PORT_GetTestCount(self, device: TSI_HANDLE, port: TSI_LOGICAL_PORT): + def TSIX_PORT_GetTestCount(self, device: ci.TSI_HANDLE, port: ci.TSI_TEST_ID): return self._TSIX_PORT_GetTestCount(device, port) - def TSIX_PORT_GetTestInfo(self, device: TSI_HANDLE, port: TSI_LOGICAL_PORT, test_index: int): + def TSIX_PORT_GetTestInfo(self, device: ci.TSI_HANDLE, port: ci.TSI_TEST_ID, test_index: int): msg_size = c_uint32(1024) test_id = c_uint32(0) msg_buffer = create_string_buffer(msg_size.value) @@ -386,10 +408,10 @@ class TSIWrapper(metaclass=Singleton): msg_buffer, msg_size) return test_id.value, test_flags.value, from_cstr(msg_buffer) - def TSIX_STLOG_WaitMessage(self, device: TSI_HANDLE, max_wait: int): + def TSIX_STLOG_WaitMessage(self, device: ci.TSI_HANDLE, max_wait: int): return self._TSIX_STLOG_WaitMessage(device, c_int32(max_wait)) - def TSIX_STLOG_GetMessageData(self, device: TSI_HANDLE): + def TSIX_STLOG_GetMessageData(self, device: ci.TSI_HANDLE): msg_size = c_uint32(1024) out_size = c_uint32(0) msg_buffer = create_string_buffer(msg_size.value) @@ -399,7 +421,7 @@ class TSIWrapper(metaclass=Singleton): return result, from_cstr(msg_buffer), out_size.value def TSI_CreateEventParser(self, timestamp_res: int = 100): - result = c_int32(TSI_SUCCESS) + result = c_int32(ci.TSI_SUCCESS) return self._TSI_CreateEventParser(byref(result), c_uint32(timestamp_res)) def TSI_RemoveEventParser(self, parser): @@ -428,14 +450,14 @@ class TSIWrapper(metaclass=Singleton): if to_dict: return result, \ - { - 'timestamp': timestamp.value, - 'type': from_cstr(typeStr), - 'brief': from_cstr(briefStr), - 'content': from_cstr(contentStr), - 'source': from_cstr(eventSourceStr), - 'data': data[12:] - } + { + 'timestamp': timestamp.value, + 'type': from_cstr(typeStr), + 'brief': from_cstr(briefStr), + 'content': from_cstr(contentStr), + 'source': from_cstr(eventSourceStr), + 'data': data[12:] + } else: return result, timestamp.value, from_cstr(typeStr), from_cstr(briefStr), from_cstr( contentStr), from_cstr( @@ -467,19 +489,21 @@ class TSI_INIT_CONFIGURATION(Structure): super().__init__(*args, **kwargs) self.size = 0 self.version = 0 - self.function = TSI_USER_LOG_FUNCTION() + self.function = ci.TSI_USER_LOG_FUNCTION() _fields_ = [ ("size", c_uint), ("version", c_uint), - ("function", TSI_USER_LOG_FUNCTION), + ("function", ci.TSI_USER_LOG_FUNCTION), ] def get_config_item_name(config_item) -> str: - items = globals().items() - variable_name = [k for k, v in items if v == config_item][0] - return variable_name + for module in (ci, p_ci): + for k, v in vars(module).items(): + if v == config_item: + return k + raise Exception(f"Item {config_item} not found in tsi.py and private_types_tsi.py") def from_cstr(src_str): @@ -494,10 +518,10 @@ def to_cstr(src_str): def show_error(error_code): - if error_code >= TSI_SUCCESS: + if error_code >= ci.TSI_SUCCESS: return False result = TSI_MISC_GetErrorDescription(error_code) - if result[0] < TSI_SUCCESS: + if result[0] < ci.TSI_SUCCESS: val = f"Error {str(error_code)}: (No description available)\n" else: val = f"Error {str(error_code)}: {str(result[1])}\n" @@ -576,7 +600,7 @@ def TSI_MISC_GetErrorDescription(error): return TSIWrapper().TSI_MISC_GetErrorDescription(error) -def TSIX_PORT_Select(device: TSI_HANDLE, port): +def TSIX_PORT_Select(device: ci.TSI_HANDLE, port): return TSIWrapper().TSIX_PORT_Select(device, port) @@ -584,27 +608,27 @@ def TSIX_PORT_Deselect(device, port): return TSIWrapper().TSIX_PORT_Deselect(device, port) -def TSIX_TS_RunTest(device: TSI_HANDLE, test_id: int): +def TSIX_TS_RunTest(device: ci.TSI_HANDLE, test_id: int): return TSIWrapper().TSIX_TS_RunTest(device, test_id) -def TSIX_TS_AbortTests(device: TSI_HANDLE): +def TSIX_TS_AbortTests(device: ci.TSI_HANDLE): return TSIWrapper().TSIX_TS_AbortTests(device) -def TSIX_PORT_GetTestCount(device: TSI_HANDLE, port: TSI_LOGICAL_PORT): +def TSIX_PORT_GetTestCount(device: ci.TSI_HANDLE, port: ci.TSI_TEST_ID): return TSIWrapper().TSIX_PORT_GetTestCount(device, port) -def TSIX_PORT_GetTestInfo(device: TSI_HANDLE, port: TSI_LOGICAL_PORT, test_index: int): +def TSIX_PORT_GetTestInfo(device: ci.TSI_HANDLE, port: ci.TSI_TEST_ID, test_index: int): return TSIWrapper().TSIX_PORT_GetTestInfo(device, port, test_index) -def TSIX_STLOG_WaitMessage(device: TSI_HANDLE, max_wait: int): +def TSIX_STLOG_WaitMessage(device: ci.TSI_HANDLE, max_wait: int): return TSIWrapper().TSIX_STLOG_WaitMessage(device, max_wait) -def TSIX_STLOG_GetMessageData(device: TSI_HANDLE): +def TSIX_STLOG_GetMessageData(device: ci.TSI_HANDLE): return TSIWrapper().TSIX_STLOG_GetMessageData(device) diff --git a/UniTAP/libs/lib_tsi/tsi_io.py b/UniTAP/libs/lib_tsi/tsi_io.py index 946f6c4..3ad0717 100644 --- a/UniTAP/libs/lib_tsi/tsi_io.py +++ b/UniTAP/libs/lib_tsi/tsi_io.py @@ -3,23 +3,11 @@ from ctypes import c_uint32, c_char from typing import Callable, Tuple, List from enum import IntEnum -from .tsi import (TSI_HANDLE, TSI_LOGICAL_PORT, TSI_SUCCESS, \ - TSIX_TS_SetConfigItem, TSIX_TS_GetConfigItem, TSIX_TS_SetPortConfigItem, \ - TSIX_TS_GetPortConfigItem, TSIX_Init, TSI_Clean, TSIX_DEV_RescanDevices, \ - TSIX_DEV_OpenDevice, TSIX_DEV_GetDeviceName, TSIX_DEV_GetDeviceCount, - TSIX_DEV_CloseDevice, \ - TSIX_DEV_GetDeviceRoleCount, TSIX_DEV_SelectRole, TSIX_DEV_GetDeviceRoleName, - TSIX_PORT_Select, \ - get_config_item_name, TSIX_TS_RunTest, TSIX_STLOG_WaitMessage, - TSIX_STLOG_GetMessageData, \ - TSIX_PORT_GetTestCount, TSIX_PORT_GetTestInfo, TSI_TS_OF_MODE, \ - TSI_OFMODE_RUN_CALL_STRUCT_PROCEDURE, TSI_TS_OF_REQ_ID, TSI_TS_OF_CALLBACK, - TSI_FW_VERSION_TEXT, - Structure, TSI_TEST_STATUS, TSI_DEVICE_INFO_R, TSI_BUNDLE_VERSION_TEXT, \ - TSI_OFMODE_RUN_CALL_STRUCT_PROCEDURE_AND_RESULT, TSI_DEV_SetSearchMask, - DeviceMaskInternal, \ - TSI_TEST_LOG_CONFIGURATION, TSI_TEST_ERROR_CODE_R, TSI_TEST_PASSED, TSI_TEST_FAILED, - TSI_TEST_NOT_STARTED, TSI_TEST_ABORTED, TSIX_TS_AbortTests, TSI_TEST_DLG_CONFIG) +from _ctypes import Structure + +import UniTAP.libs.lib_tsi.tsi_types as ci +import UniTAP.libs.lib_tsi.tsi as tsi +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci from UniTAP.utils import tsi_logging as logging @@ -53,7 +41,7 @@ class TestDialogConfig(Structure): class PortIO: - def __init__(self, device: TSI_HANDLE, index: TSI_LOGICAL_PORT, protocol: PortProtocol): + def __init__(self, device: ci.TSI_HANDLE, index: p_ci.TSI_LOGICAL_PORT, protocol: PortProtocol): logging.info(f"[UniTAP] PortIO.init: {self}") self.__device = device self.__index = index @@ -63,30 +51,30 @@ class PortIO: def __del__(self): logging.info(f"[UniTAP] PortIO.del: {self}") - def set(self, config_id, data, data_type=c_uint32, data_count=1, data_size=0): - result = TSIX_TS_SetPortConfigItem(self.__device, self.__index, config_id, data, data_type, - data_count, - data_size) + def set(self, config_id: int, data, data_type=c_uint32, data_count=1, data_size=0): + result = tsi.TSIX_TS_SetPortConfigItem(self.__device, self.__index, config_id, data, data_type, + data_count, + data_size) if isinstance(data, bytearray): - logging.debug(f"[UniTAP] PortIO.set {self} {get_config_item_name(config_id)} " + logging.debug(f"[UniTAP] PortIO.set {self} {tsi.get_config_item_name(config_id)} " f"with data: {data[:(10 if len(data) > 10 else len(data))]}[{len(data)}] " f"({type(data)}); result: {result}") else: - logging.debug(f"[UniTAP] PortIO.set {self} {get_config_item_name(config_id)} " + logging.debug(f"[UniTAP] PortIO.set {self} {tsi.get_config_item_name(config_id)} " f"with data: {data} ({type(data)}); result: {result}") return result - def get(self, config_id, data_type=c_uint32, data_count=1): - result = TSIX_TS_GetPortConfigItem(self.__device, self.__index, config_id, data_type, - data_count) + def get(self, config_id: int, data_type=c_uint32, data_count=1): + result = tsi.TSIX_TS_GetPortConfigItem(self.__device, self.__index, config_id, data_type, + data_count) logging.debug( - f"PortIO.get {self} {get_config_item_name(config_id)} " + f"PortIO.get {self} {tsi.get_config_item_name(config_id)} " f"with type: {data_type}[{data_count}]; result: {result}") return result def active(self): - TSIX_PORT_Select(self.__device, self.__index) + tsi.TSIX_PORT_Select(self.__device, self.__index) def get_test_list(self) -> List[Tuple[int, int, str]]: test_list = [] @@ -102,10 +90,10 @@ class PortIO: return self.__index def __get_test_count(self) -> int: - return TSIX_PORT_GetTestCount(self.__device, self.__index) + return tsi.TSIX_PORT_GetTestCount(self.__device, self.__index) def __get_test_info(self, test_id: int): - return TSIX_PORT_GetTestInfo(self.__device, self.__index, test_id) + return tsi.TSIX_PORT_GetTestInfo(self.__device, self.__index, test_id) class DeviceIO: @@ -113,13 +101,12 @@ class DeviceIO: def __init__(self, index: int): logging.info(f"[UniTAP] DeviceIO.init: {self}") - self.__device = TSIX_DEV_OpenDevice(index) + self.__device = tsi.TSIX_DEV_OpenDevice(index) self.__port_io_list = [] # type: list[PortIO] self.__current_role = None def __del__(self): - self.__port_io_list.clear() - TSIX_DEV_CloseDevice(self.__device) + self.close() logging.info(f"[UniTAP] DeviceIO.del: {self}") @property @@ -127,35 +114,35 @@ class DeviceIO: return self.__device def set(self, config_id, data, data_type=c_uint32, data_count=1, data_size=0): - return TSIX_TS_SetConfigItem(self.__device, config_id, data, data_type, data_count, - data_size) + return tsi.TSIX_TS_SetConfigItem(self.__device, config_id, data, data_type, data_count, + data_size) def get(self, config_id, data_type=c_uint32, data_count=1): - return TSIX_TS_GetConfigItem(self.__device, config_id, data_type, data_count) + return tsi.TSIX_TS_GetConfigItem(self.__device, config_id, data_type, data_count) def get_device_role_count(self) -> int: - return TSIX_DEV_GetDeviceRoleCount(self.__device) + return tsi.TSIX_DEV_GetDeviceRoleCount(self.__device) def get_device_role_name(self, index) -> str: - return TSIX_DEV_GetDeviceRoleName(self.__device, index)[1] + return tsi.TSIX_DEV_GetDeviceRoleName(self.__device, index)[1] def select_role(self, index): logging.info( f"[UniTAP] DeviceIO.select_role: {index}") - return TSIX_DEV_SelectRole(self.__device, index) + return tsi.TSIX_DEV_SelectRole(self.__device, index) def create_port_io(self, index, protocol: PortProtocol) -> PortIO: self.__port_io_list.append(PortIO(self.__device, index, protocol)) return weakref.proxy(self.__port_io_list[-1]) def set_opf_callback(self, callback: Callable): - TSIX_TS_SetConfigItem(self.__device, TSI_TS_OF_MODE, - TSI_OFMODE_RUN_CALL_STRUCT_PROCEDURE_AND_RESULT) - TSIX_TS_SetConfigItem(self.__device, TSI_TS_OF_REQ_ID, -1) - TSIX_TS_SetConfigItem(self.__device, TSI_TS_OF_CALLBACK, callback) + tsi.TSIX_TS_SetConfigItem(self.__device, ci.TSI_TS_OF_MODE, + ci.TSI_OFMODE_RUN_CALL_STRUCT_PROCEDURE_AND_RESULT) + tsi.TSIX_TS_SetConfigItem(self.__device, ci.TSI_TS_OF_REQ_ID, -1) + tsi.TSIX_TS_SetConfigItem(self.__device, ci.TSI_TS_OF_CALLBACK, callback) def set_opf_config(self, config: TestDialogConfig): - self.set(TSI_TEST_DLG_CONFIG, config) + self.set(p_ci.TSI_TEST_DLG_CONFIG, config) def get_test_list(self) -> List[Tuple[int, int, str]]: test_list = [] @@ -168,50 +155,62 @@ class DeviceIO: f"[UniTAP] DeviceIO.run_test with id: {hex(test_id)} " f"(group={test_id >> 16 & 0xffff}; test={test_id & 0xffff})") - result = TSIX_TS_RunTest(self.__device, test_id) + result = tsi.TSIX_TS_RunTest(self.__device, test_id) - if result not in [TSI_TEST_PASSED, TSI_TEST_FAILED, TSI_TEST_NOT_STARTED, TSI_TEST_ABORTED]: - result = TSI_TEST_FAILED + if result not in [ci.TSI_TEST_PASSED, ci.TSI_TEST_FAILED, ci.TSI_TEST_NOT_STARTED, ci.TSI_TEST_ABORTED]: + result = ci.TSI_TEST_FAILED return result def abort_test(self): logging.info(f"[UniTAP] DeviceIO.abort_test") - return TSIX_TS_AbortTests(self.__device) + return tsi.TSIX_TS_AbortTests(self.__device) def set_test_config(self, config: int): if config > 0xffffffff or config < 0: raise ValueError("Test config value must be more than 0 and less than 0xffffffff") - TSIX_TS_SetConfigItem(self.__device, TSI_TEST_LOG_CONFIGURATION, config) + tsi.TSIX_TS_SetConfigItem(self.__device, ci.TSI_TEST_LOG_CONFIGURATION, config) def is_log_message_available(self, max_wait_timeout=5000) -> int: - return int(TSIX_STLOG_WaitMessage(self.__device, max_wait_timeout)) + return int(tsi.TSIX_STLOG_WaitMessage(self.__device, max_wait_timeout)) def get_test_log_message(self) -> str: - return TSIX_STLOG_GetMessageData(self.__device) + return tsi.TSIX_STLOG_GetMessageData(self.__device) def get_test_status(self) -> TestStatus: - return TSIX_TS_GetConfigItem(self.__device, TSI_TEST_STATUS, TestStatus, 1)[1] + return tsi.TSIX_TS_GetConfigItem(self.__device, p_ci.TSI_TEST_STATUS, TestStatus, 1)[1] def get_test_error_code(self) -> int: - return TSIX_TS_GetConfigItem(self.__device, TSI_TEST_ERROR_CODE_R, c_uint32, 1)[1] + return tsi.TSIX_TS_GetConfigItem(self.__device, p_ci.TSI_TEST_ERROR_CODE_R, c_uint32, 1)[1] def get_fw_version_string(self): - return TSIX_TS_GetConfigItem(self.__device, TSI_FW_VERSION_TEXT, c_char, - self.MAX_FW_VERSION_STR_SIZE)[1].value.decode('utf-8') + return tsi.TSIX_TS_GetConfigItem(self.__device, ci.TSI_FW_VERSION_TEXT, c_char, + self.MAX_FW_VERSION_STR_SIZE)[1].value.decode('utf-8') def get_prepared_fw_info(self): - return TSIX_TS_GetConfigItem(self.__device, TSI_DEVICE_INFO_R, c_char, - self.MAX_FW_VERSION_STR_SIZE)[1].value.decode('utf-8') + return tsi.TSIX_TS_GetConfigItem(self.__device, p_ci.TSI_DEVICE_INFO_R, c_char, + self.MAX_FW_VERSION_STR_SIZE)[1].value.decode('utf-8') def get_bundle_version(self): - ver = TSIX_TS_GetConfigItem(self.__device, TSI_BUNDLE_VERSION_TEXT, c_char, - self.MAX_FW_VERSION_STR_SIZE)[1].value.decode('utf-8') + ver = tsi.TSIX_TS_GetConfigItem(self.__device, ci.TSI_BUNDLE_VERSION_TEXT, c_char, + self.MAX_FW_VERSION_STR_SIZE)[1].value.decode('utf-8') if ver == '': ver = 'not specified (NOT FOR SHARING)' return ver + def is_fw_update_available(self) -> bool: + return bool(tsi.TSIX_TS_GetConfigItem(self.__device, p_ci.TSI_UPDATE_INFO_TEXT_R, c_char, + self.MAX_FW_VERSION_STR_SIZE)[1].value.decode('utf-8') != '') + + def get_fw_update_info(self) -> str: + ver = tsi.TSIX_TS_GetConfigItem(self.__device, p_ci.TSI_UPDATE_INFO_TEXT_R, c_char, + self.MAX_FW_VERSION_STR_SIZE)[1].value.decode('utf-8') + if ver == '': + ver = "No update needed" + + return ver + def set_role(self, role): self.__current_role = role @@ -220,37 +219,44 @@ class DeviceIO: return weakref.proxy(self.__current_role) return None + def get_role_type(self): + if self.__current_role is not None: + return type(self.__current_role) + return None + + def reset(self): + command = 4 + tsi.TSIX_TS_SetConfigItem(self.__device, ci.TSI_DEVICE_HW_RESET, command) + + def close(self): + self.__port_io_list.clear() + tsi.TSIX_DEV_CloseDevice(self.__device) + class BaseIO: def __init__(self): - self.__ref_count = TSIX_Init() + self.__ref_count = tsi.TSIX_Init() logging.info(f"[UniTAP] BaseIO.init: {self}; Ref count: {self.__ref_count}") - TSIX_DEV_RescanDevices() + tsi.TSIX_DEV_RescanDevices() def cleanup(self): - self.__ref_count = TSI_Clean() + self.__ref_count = tsi.TSI_Clean() logging.info(f"[UniTAP] BaseIO.del: {self}; Ref count: {self.__ref_count}") - def rescan_devices(self): - if self.__ref_count > 0: - TSIX_DEV_RescanDevices() - return - logging.error("[UniTAP] BaseIO.rescan_devices call without TSI_Init") - def get_device_count(self) -> int: if self.__ref_count > 0: - return TSIX_DEV_GetDeviceCount() + return tsi.TSIX_DEV_GetDeviceCount() logging.error("[UniTAP] BaseIO.get_device_count call without TSI_Init") def get_device_name(self, index) -> str: if self.__ref_count > 0: - return TSIX_DEV_GetDeviceName(index)[1] + return tsi.TSIX_DEV_GetDeviceName(index)[1] logging.error("[UniTAP] BaseIO.get_device_name call without TSI_Init") - def get_devices_by_mask(self, require_caps: DeviceMaskInternal, - unallowed_caps: DeviceMaskInternal): + def get_devices_by_mask(self, require_caps: p_ci.DeviceMaskInternal, + unallowed_caps: p_ci.DeviceMaskInternal): if self.__ref_count > 0: - return TSI_DEV_SetSearchMask(require_caps.value, unallowed_caps.value) + return tsi.TSI_DEV_SetSearchMask(require_caps.value, unallowed_caps.value) logging.error("[UniTAP] BaseIO.get_devices_by_mask call without TSI_Init") def create_device_io(self, index: int) -> DeviceIO: diff --git a/UniTAP/libs/lib_tsi/tsi_private_types.py b/UniTAP/libs/lib_tsi/tsi_private_types.py index 8440b44..8a61cd0 100644 --- a/UniTAP/libs/lib_tsi/tsi_private_types.py +++ b/UniTAP/libs/lib_tsi/tsi_private_types.py @@ -1,20 +1,23 @@ -from UniTAP.libs.lib_tsi.tsi_types import * +from ctypes import c_uint +from enum import IntEnum + +import UniTAP.libs.lib_tsi.tsi_types as ci TSI_CAP_OWNER_UNKNOWN = 0x0 TSI_CAP_OWNER_NONE = 0x1 TSI_CAP_OWNER_TEST_SYSTEM = 0x2 TSI_CAP_OWNER_PREVIEW = 0x3 -TSI_CAP_OWNER = TSI_BASE_LEGACY_CAP(0x1f) +TSI_CAP_OWNER = ci.TSI_BASE_LEGACY_CAP(0x1f) TSI_SEARCHOPTIONS_FIX_500_IN_UCDCONFIG = 0x80000000 -TSI_VIDCAP_AVAILABLE_FRAME_COUNT_R = TSI_BASE_LEGACY_VIDCAP(0x1d) -TSI_VIDCAP_CAPTURE_STATUS_R = TSI_BASE_LEGACY_VIDCAP(0x1e) +TSI_VIDCAP_AVAILABLE_FRAME_COUNT_R = ci.TSI_BASE_LEGACY_VIDCAP(0x1d) +TSI_VIDCAP_CAPTURE_STATUS_R = ci.TSI_BASE_LEGACY_VIDCAP(0x1e) TSI_VIDCAP_AVAILABLE_FRAME_COUNT = TSI_VIDCAP_AVAILABLE_FRAME_COUNT_R -TSI_CRC_MEASUREMENT_DATA_R = TSI_BASE_R_CRC_VIDEO(0x3) +TSI_CRC_MEASUREMENT_DATA_R = ci.TSI_BASE_R_CRC_VIDEO(0x3) -TSI_AUDCAP_PACKET_HEADER_R = TSI_BASE_LEGACY_AUDCAP(0xe) +TSI_AUDCAP_PACKET_HEADER_R = ci.TSI_BASE_LEGACY_AUDCAP(0xe) TSI_PG_ADAPTIVE_SYNC_CTRL = 0x733 TSI_PG_ADAPTIVE_SYNC_CAPS = 0x734 @@ -24,59 +27,59 @@ TSI_PG_PR_CAPS_R = 0x737 TSI_PG_PR_CTRL_W = 0x738 TSI_PG_PR_STATUS_R = 0x738 TSI_PG_PR_CFG = 0x739 -TSI_DPTX_EVENTS = TSI_BASE_DPTX(0x0e) -TSI_DPTX_POST_LT_FEATURES = TSI_BASE_DPTX(0x68) -TSI_DPTX_SDP_CTRL = TSI_BASE_DPTX(0x74) +TSI_DPTX_EVENTS = ci.TSI_BASE_DPTX(0x0e) +TSI_DPTX_POST_LT_FEATURES = ci.TSI_BASE_DPTX(0x68) +TSI_DPTX_SDP_CTRL = ci.TSI_BASE_DPTX(0x74) TSI_TEST_STATUS = 0x80000019 # Used for reading test status. TSI_DEVICE_INFO_R = 0x80000020 # Used for reading FW version TSI_TEST_ERROR_CODE_R = 0x80000021 # Used for reading test error code -TSI_PDC_DPAM_CONFIG_R = TSI_BASE_PDC(0x33) -TSI_PDC_HW_CAPS_R = TSI_BASE_PDC(0x00) -TSI_PDC_CONTRACT_DATA = TSI_BASE_PDC(0x09) -TSI_PDC_TX_ID_VDO_CNT = TSI_BASE_PDC(0x14) -TSI_PDC_TX_ID_VDO = TSI_BASE_PDC(0x15) +TSI_PDC_DPAM_CONFIG_R = ci.TSI_BASE_PDC(0x33) +TSI_PDC_HW_CAPS_R = ci.TSI_BASE_PDC(0x00) +TSI_PDC_CONTRACT_DATA = ci.TSI_BASE_PDC(0x09) +TSI_PDC_TX_ID_VDO_CNT = ci.TSI_BASE_PDC(0x14) +TSI_PDC_TX_ID_VDO = ci.TSI_BASE_PDC(0x15) -TSI_DPTX_OUT_LC = TSI_BASE_DPTX(0x52) -TSI_DPTX_OUT_BR = TSI_BASE_DPTX(0x53) -TSI_DPTX_OUT_LINK_MODE = TSI_BASE_DPTX(0x54) -TSI_DP2TX_OUT_BR = TSI_BASE_DPTX(0x55) -TSI_DP2TX_OUT_LC = TSI_BASE_DPTX(0x5A) -TSI_DP2TX_OUT_TEST_PATTERN = TSI_BASE_DPTX(0x5B) +TSI_DPTX_OUT_LC = ci.TSI_BASE_DPTX(0x52) +TSI_DPTX_OUT_BR = ci.TSI_BASE_DPTX(0x53) +TSI_DPTX_OUT_LINK_MODE = ci.TSI_BASE_DPTX(0x54) +TSI_DP2TX_OUT_BR = ci.TSI_BASE_DPTX(0x55) +TSI_DP2TX_OUT_LC = ci.TSI_BASE_DPTX(0x5A) +TSI_DP2TX_OUT_TEST_PATTERN = ci.TSI_BASE_DPTX(0x5B) -TSI_MLEG_CONTROL = TSI_BASE_MLEG(0x00) -TSI_MLEG_SYMBOL_REPLACE_A = TSI_BASE_MLEG(0x01) -TSI_MLEG_SYMBOL_REPLACE_MASK_A = TSI_BASE_MLEG(0x02) -TSI_MLEG_SYMBOL_REPLACE_B = TSI_BASE_MLEG(0x03) -TSI_MLEG_SYMBOL_REPLACE_MASK_B = TSI_BASE_MLEG(0x04) -TSI_MLEG_DELAY_COUNTER = TSI_BASE_MLEG(0x0A) -TSI_MLEG_LANE0_REPLACE_COUNTERS = TSI_BASE_MLEG(0x05) -TSI_MLEG_LANE1_REPLACE_COUNTERS = TSI_BASE_MLEG(0x06) -TSI_MLEG_LANE2_REPLACE_COUNTERS = TSI_BASE_MLEG(0x07) -TSI_MLEG_LANE3_REPLACE_COUNTERS = TSI_BASE_MLEG(0x08) +TSI_MLEG_CONTROL = ci.TSI_BASE_MLEG(0x00) +TSI_MLEG_SYMBOL_REPLACE_A = ci.TSI_BASE_MLEG(0x01) +TSI_MLEG_SYMBOL_REPLACE_MASK_A = ci.TSI_BASE_MLEG(0x02) +TSI_MLEG_SYMBOL_REPLACE_B = ci.TSI_BASE_MLEG(0x03) +TSI_MLEG_SYMBOL_REPLACE_MASK_B = ci.TSI_BASE_MLEG(0x04) +TSI_MLEG_DELAY_COUNTER = ci.TSI_BASE_MLEG(0x0A) +TSI_MLEG_LANE0_REPLACE_COUNTERS = ci.TSI_BASE_MLEG(0x05) +TSI_MLEG_LANE1_REPLACE_COUNTERS = ci.TSI_BASE_MLEG(0x06) +TSI_MLEG_LANE2_REPLACE_COUNTERS = ci.TSI_BASE_MLEG(0x07) +TSI_MLEG_LANE3_REPLACE_COUNTERS = ci.TSI_BASE_MLEG(0x08) -TSI_HDCP_2X_CFG = TSI_BASE_LEGACY_HDCP2(0x2) +TSI_HDCP_2X_CFG = ci.TSI_BASE_LEGACY_HDCP2(0x2) -TSI_W_PDC_EPR_MODE_CONTROL = TSI_BASE_PDC(0x04) +TSI_W_PDC_EPR_MODE_CONTROL = ci.TSI_BASE_PDC(0x04) -TSI_EVCAP_TIMESTAMP = TSI_BASE_LEGACY_EVCAP(0x8) +TSI_EVCAP_TIMESTAMP = ci.TSI_BASE_LEGACY_EVCAP(0x8) -TSI_DPRX_INF_VALID_EX = TSI_BASE_DPRX(0x29) -TSI_DPRX_SDP_CRC16_CTRL = TSI_BASE_DPRX(0x98) -TSI_DPRX_SDP_CRC16_COUNTERS = TSI_BASE_DPRX(0x99) +TSI_DPRX_INF_VALID_EX = ci.TSI_BASE_DPRX(0x29) +TSI_DPRX_SDP_CRC16_CTRL = ci.TSI_BASE_DPRX(0x98) +TSI_DPRX_SDP_CRC16_COUNTERS = ci.TSI_BASE_DPRX(0x99) -TSI_HDRX_INF_STATUS = TSI_BASE_HDRX(0x0C) -TSI_HDRX_INF_VALID = TSI_BASE_HDRX(0x0D) -TSI_HDRX_INF_SELECT = TSI_BASE_HDRX(0x0E) -TSI_HDRX_INF_DATA = TSI_BASE_HDRX(0x0F) +TSI_HDRX_INF_STATUS = ci.TSI_BASE_HDRX(0x0C) +TSI_HDRX_INF_VALID = ci.TSI_BASE_HDRX(0x0D) +TSI_HDRX_INF_SELECT = ci.TSI_BASE_HDRX(0x0E) +TSI_HDRX_INF_DATA = ci.TSI_BASE_HDRX(0x0F) MAX_EDID_SIZE = 4096 -TSI_DPRX_DSC_TEST_CRC = TSI_BASE_DPRX(0x43) -TSI_DPRX_CRD_FEATURES = TSI_BASE_DPRX(0x63) -TSI_DPRX_ALPM_LT_INFO_R = TSI_BASE_DPRX(0x38) +TSI_DPRX_DSC_TEST_CRC = ci.TSI_BASE_DPRX(0x43) +TSI_DPRX_CRD_FEATURES = ci.TSI_BASE_DPRX(0x63) +TSI_DPRX_ALPM_LT_INFO_R = ci.TSI_BASE_DPRX(0x38) -TSI_DPRX_MSA_INFO_R = TSI_BASE_DPRX(0x48) -TSI_DPRX_MST_STATUS_R = TSI_BASE_DPRX(0x49) +TSI_DPRX_MSA_INFO_R = ci.TSI_BASE_DPRX(0x48) +TSI_DPRX_MST_STATUS_R = ci.TSI_BASE_DPRX(0x49) TSI_GENERIC_STATUS = 0x210 # TSI State flags. NOTE: Access mode changes to R+W @@ -86,15 +89,15 @@ TSI_HDCP_COMPLIANT_R = 0x8000f002 TSI_DSC_BLOCK_NO = 0x80000009 # Used for stating start & end address to DSC PG. Changed 20191202 because not properly reserved. -TSI_CRC_DEFINITIONS = TSI_BASE_CRC_VIDEO(14) # CRC definitions. Default setting is 0 -TSI_CRC_WINDOW_0_0 = TSI_BASE_CRC_VIDEO(15) # Left border/window pixel for first window 15..0. Top border/window line for first window 31..16. Default setting is 0 -TSI_CRC_WINDOW_0_1 = TSI_BASE_CRC_VIDEO(16) # Right border pixel/ window width for first window. 15..0. Bottom border line / window height for first window 31..16. Default setting is 0 -TSI_CRC_WINDOW_1_0 = TSI_BASE_CRC_VIDEO(17) # Left border/window pixel for second window 15..0. Top border/window line for second window 31..16. Default setting is 0 -TSI_CRC_WINDOW_1_1 = TSI_BASE_CRC_VIDEO(18) # Right border pixel/ window width for second window. 15..0. Bottom border line / window height for second window 31..16. Default setting is 0 -TSI_CRC_WINDOW_2_0 = TSI_BASE_CRC_VIDEO(19) # Left border/window pixel for third window 15..0. Top border/window line for third window 31..16. Default setting is 0 -TSI_CRC_WINDOW_2_1 = TSI_BASE_CRC_VIDEO(20) # Right border pixel/ window width for third window. 15..0. Bottom border line / window height for third window 31..16. Default setting is 0 -TSI_CRC_WINDOW_3_0 = TSI_BASE_CRC_VIDEO(21) # Left border/window pixel for fourth window 15..0. Top border/window line for fourth window 31..16. Default setting is 0 -TSI_CRC_WINDOW_3_1 = TSI_BASE_CRC_VIDEO(22) # Right border pixel/ window width for fourth window. 15..0. Bottom border line / window height for fourth window 31..16. Default setting is 0 +TSI_CRC_DEFINITIONS = ci.TSI_BASE_CRC_VIDEO(14) # CRC definitions. Default setting is 0 +TSI_CRC_WINDOW_0_0 = ci.TSI_BASE_CRC_VIDEO(15) # Left border/window pixel for first window 15..0. Top border/window line for first window 31..16. Default setting is 0 +TSI_CRC_WINDOW_0_1 = ci.TSI_BASE_CRC_VIDEO(16) # Right border pixel/ window width for first window. 15..0. Bottom border line / window height for first window 31..16. Default setting is 0 +TSI_CRC_WINDOW_1_0 = ci.TSI_BASE_CRC_VIDEO(17) # Left border/window pixel for second window 15..0. Top border/window line for second window 31..16. Default setting is 0 +TSI_CRC_WINDOW_1_1 = ci.TSI_BASE_CRC_VIDEO(18) # Right border pixel/ window width for second window. 15..0. Bottom border line / window height for second window 31..16. Default setting is 0 +TSI_CRC_WINDOW_2_0 = ci.TSI_BASE_CRC_VIDEO(19) # Left border/window pixel for third window 15..0. Top border/window line for third window 31..16. Default setting is 0 +TSI_CRC_WINDOW_2_1 = ci.TSI_BASE_CRC_VIDEO(20) # Right border pixel/ window width for third window. 15..0. Bottom border line / window height for third window 31..16. Default setting is 0 +TSI_CRC_WINDOW_3_0 = ci.TSI_BASE_CRC_VIDEO(21) # Left border/window pixel for fourth window 15..0. Top border/window line for fourth window 31..16. Default setting is 0 +TSI_CRC_WINDOW_3_1 = ci.TSI_BASE_CRC_VIDEO(22) # Right border pixel/ window width for fourth window. 15..0. Bottom border line / window height for fourth window 31..16. Default setting is 0 TSI_R_LC_COUNT = 0x80000010 # Number of licenses available. TSI_W_LC_SELECT = 0x80000011 # Index from 0 to LC_Count-1: Select which license to access through the CI's below @@ -107,34 +110,48 @@ TSI_W_LC_HAS_CODE = 0x80000017 # Check if specified code is TSI_R_LC_SHA_TYPE = 0x80000018 # Check SHA type used in device. TSI_DEVICE_DESCRIPTOR = 0x81000000 -TSI_DEBUG_INFORMATION = 0x82000000 +TSI_DEBUG_INFORMATION = 0x82000000 -TSI_SELECT_SUITE = TSI_BASE_TEST(0x04) -TSI_TEST_DLG_CONFIG = TSI_BASE_TEST(0x22) +TSI_SELECT_SUITE = ci.TSI_BASE_TEST(0x04) +TSI_TEST_DLG_CONFIG = ci.TSI_BASE_TEST(0x22) TSI_LOGICAL_PORT = c_uint TSI_PORT_FLAGS = c_uint -TSI_DPRX_ALPM_STATS_CONTROL_W = TSI_BASE_DPRX(0x60) -TSI_DPRX_ALPM_STATS_STATUS_R = TSI_BASE_DPRX(0x60) -TSI_DPRX_ALPM_STATS_VB_R = TSI_BASE_DPRX(0x61) -TSI_DPRX_ALPM_STATS_IFP_R = TSI_BASE_DPRX(0x62) +TSI_DPRX_ALPM_STATS_CONTROL_W = ci.TSI_BASE_DPRX(0x60) +TSI_DPRX_ALPM_STATS_STATUS_R = ci.TSI_BASE_DPRX(0x60) +TSI_DPRX_ALPM_STATS_VB_R = ci.TSI_BASE_DPRX(0x61) +TSI_DPRX_ALPM_STATS_IFP_R = ci.TSI_BASE_DPRX(0x62) TSI_DPRX_ALPM_STATS_CTRL_W = TSI_DPRX_ALPM_STATS_CONTROL_W -TSI_DSC_TX_CRC = TSI_BASE_DSC(0x01) -TSI_DSC_MEMORY_BLOCK = TSI_BASE_DSC(0x05) -TSI_DSC_DATA_SIZE = TSI_BASE_DSC(0x06) +TSI_DSC_TX_CRC = ci.TSI_BASE_DSC(0x01) +TSI_DSC_MEMORY_BLOCK = ci.TSI_BASE_DSC(0x05) +TSI_DSC_DATA_SIZE = ci.TSI_BASE_DSC(0x06) TSI_TERMINAL_RW = 0xFFFFFFFE -TSI_DPTX_CABLE_ATTRIBUTES_R = TSI_BASE_DPTX(0x6E) -TSI_DPRX_CABLE_ATTRIBUTES_R = TSI_BASE_DPRX(0x6E) +TSI_DPTX_CABLE_ATTRIBUTES_R = ci.TSI_BASE_DPTX(0x6E) +TSI_DPRX_CABLE_ATTRIBUTES_R = ci.TSI_BASE_DPRX(0x6E) -TSI_DPRX_LT_INTERNAL_USE = 0x50000000 + 0xFFFFF -TSI_DPRX_LT_ROUTE_CREATE = TSI_BASE_LEGACY_DPRX(0x1A + TSI_DPRX_LT_INTERNAL_USE) +TSI_UPDATE_AVAILABLE_COUNT_R = ci.TSI_BASE_UPDATE(0x16) +TSI_UPDATE_AVAILABLE_LIST_R = ci.TSI_BASE_UPDATE(0x17) +TSI_UPDATE_INFO_TEXT_R = ci.TSI_BASE_UPDATE(0x18) + + +class AvailableUpdateStruct(ci.Structure): + _fields_ = [ + ('chipType', ci.c_char_p), + ('currentVersion', ci.c_char_p), + ('availableVersion', ci.c_char_p), + ] + + def __str__(self) -> str: + return (f"Type: {self.chipType.decode(errors='ignore')}\n" + f"Current version: {self.currentVersion.decode(errors='ignore')}\n" + f"Available version: {self.availableVersion.decode(errors='ignore')}\n") class DeviceMaskInternal(IntEnum): - Sink = TSI_DEVCAP_SINK - Source = TSI_DEVCAP_SOURCE - All = TSI_DEVCAP_ALL_CAPS + Sink = ci.TSI_DEVCAP_SINK + Source = ci.TSI_DEVCAP_SOURCE + All = ci.TSI_DEVCAP_ALL_CAPS Nothing = 0 diff --git a/UniTAP/libs/lib_tsi/tsi_types.py b/UniTAP/libs/lib_tsi/tsi_types.py index f1ac0a9..40a3651 100644 --- a/UniTAP/libs/lib_tsi/tsi_types.py +++ b/UniTAP/libs/lib_tsi/tsi_types.py @@ -1,8 +1,8 @@ import platform from typing import List -from ctypes import c_void_p, c_int, c_uint, Structure, c_char_p, POINTER, c_bool, c_uint32, \ - c_uint64, c_int8, c_uint8, c_char, c_int16, c_int32, c_int64 +from ctypes import (c_void_p, c_int, c_uint, Structure, c_char_p, POINTER, c_bool, c_uint32, c_int32, c_uint8, c_char, + c_size_t, c_uint16, c_uint64) from enum import IntEnum from ctypes import wintypes @@ -34,6 +34,7 @@ TSI_BASE_LEGACY_HDCP1 = lambda offset: (0x280 + offset) # Reserved range from 0 TSI_BASE_LEGACY_HDCP2 = lambda offset: (0x290 + offset) # Reserved range from 0x290 to 0x29f. TSI_BASE_LEGACY_LVDS = lambda offset: (0x2a0 + offset) # Reserved range from 0x2a0 to 0x2af. TSI_BASE_LEGACY_DPRX = lambda offset: (0x2b0 + offset) # Reserved range from 0x2b0 to 0x2ef. +TSI_BASE_LEGACY_EARC_AUDGEN = lambda offset: (0x2c0 + offset) # Reserved range from 0x2f0 to 0x2ff. TSI_BASE_LEGACY_AUDGEN = lambda offset: (0x2f0 + offset) # Reserved range from 0x2f0 to 0x2ff. TSI_BASE_LEGACY_CAP = lambda offset: (0x300 + offset) # Reserved range from 0x300 to 0x31f. TSI_BASE_LEGACY_VIDCAP = lambda offset: (0x320 + offset) # Reserved range from 0x320 to 0x33f. @@ -92,12 +93,14 @@ TSI_BASE_HDRX = lambda offset: (0x50000000 + 0x23000 + offset) TSI_BASE_HDTX = lambda offset: (0x50000000 + 0x24000 + offset) TSI_BASE_SPDIF = lambda offset: (0x50000000 + 0x25000 + offset) TSI_BASE_PDC = lambda offset: (0x50000000 + 0x26000 + offset) +TSI_BASE_PACKETSGEN = lambda offset: (0x50000000 + 0x2A000 + offset) TSI_BASE_PLAYBACK = lambda offset: (0x50000000 + 0x2B000 + offset) TSI_BASE_BULK_CAPTURE = lambda offset: (0x50000000 + 0x2C000 + offset) TSI_BASE_MLEG = lambda offset: (0x50000000 + 0x2D000 + offset) TSI_BASE_DSC = lambda offset: (0x50000000 + 0x32000 + offset) TSI_BASE_INPUT = lambda offset: (0x50000000 + 0x99000 + offset) TSI_BASE_DID = lambda offset: (0x50000000 + 0xF0000 + offset) +TSI_BASE_UPDATE = lambda offset: (0x50000000 + 0x7000 + offset) # !CI_PARSE_ENABLE @@ -325,6 +328,7 @@ TSI_FLAG_QUEUED = 0x00000010 # Signal There are queued frames present on device TSI_FLAG_CAPTURE_STOP = 0x00000020 # Signal Capture was stopped during last GetFrame call. TSI_FLAG_CAPTURE_START = 0x00000040 # Signal Capture was (re)started during last CaptureState call. TSI_FLAG_HDCP_PROTECTED = 0x00000080 # Signal HDCP protected content. +TSI_DEVICE_HW_RESET_STATUS = 0x80000022 # Check soft-reset device status TSI_FW_VERSION_TEXT = TSI_DEVICE_FIRMWARE_INFO TSI_PARAGRP_REFERENCE_1 = 0x7f000001 # Refers to ID's 0x10 - 0x17 # !CI_PARSE_ENABLE @@ -515,6 +519,8 @@ TSI_PG_CUSTOM_TIMING_DSC_VSYNC = TSI_BASE_LEGACY_PATGEN(0x31) TSI_PG_CUSTOM_TIMING_ASPECT_RATIO = TSI_BASE_LEGACY_PATGEN(0x32) TSI_PG_CUSTOM_PATTERN_SCROLLING_CONTROL = TSI_BASE_TPG(0x0) TSI_PG_CUSTOM_PATTERN_SCROLLING_CONFIG = TSI_BASE_TPG(0x1) +TSI_PG_PREDEF_PATTERN_PARAM_1 = TSI_BASE_TPG(0xC) +TSI_PG_PREDEF_PATTERN_PARAM_2 = TSI_BASE_TPG(0xD) TSI_PG_PREDEF_PATTERN_ID_R = TSI_BASE_LEGACY_PATGEN(0x13) TSI_W_PG_PREDEF_PATTERN_SELECT = TSI_PG_PREDEF_PATTERN_SELECT @@ -530,6 +536,16 @@ TSI_PG_CUSTOM_PATTERN_INDEX = TSI_PG_CUSTOM_PATTERN_MEMORY_BLOCK_INDEX TSI_PG_CUSTOM_PATTERN_DATA = TSI_PG_CUSTOM_PATTERN_DATA_W TSI_PG_CUSTOM_PATTERN_CHAINED_DATA = TSI_PG_CUSTOM_PATTERN_CHAINED_DATA_W +TSI_PACKETGEN_MEM_BLOCK = TSI_BASE_PACKETSGEN(0x0) +TSI_PACKETGEN_CONTROL_W = TSI_BASE_PACKETSGEN(0x1) +TSI_PACKETGEN_STATUS_R = TSI_BASE_PACKETSGEN(0x2) +TSI_PACKETGEN_CAPS_R = TSI_BASE_PACKETSGEN(0x3) + +TSI_PACKETGEN_PACKETS_NUMBER = TSI_BASE_PACKETSGEN(0x4) +TSI_PACKETGEN_PACKET_SELECT_W = TSI_BASE_PACKETSGEN(0x5) +TSI_PACKETGEN_PACKET_DATA = TSI_BASE_PACKETSGEN(0x6) +TSI_PACKETGEN_PACKET_REQUIRED_MEMORY = TSI_BASE_PACKETSGEN(0x7) + TSI_AUDGEN_CONTROL_W = TSI_BASE_LEGACY_AUDGEN(0x0) TSI_AUDGEN_STATUS_R = TSI_BASE_LEGACY_AUDGEN(0x1) TSI_AUDGEN_SIGNAL_TYPE = TSI_BASE_LEGACY_AUDGEN(0x2) @@ -652,6 +668,7 @@ TSI_AUDCAP_CHANNEL_STATUS_R = TSI_BASE_LEGACY_AUDCAP(0xa) TSI_AUDCAP_MIN_BUFFER_SIZE_R = TSI_BASE_LEGACY_AUDCAP(0xb) TSI_AUDCAP_SAMPLE_SERVICE_INFO_R = TSI_BASE_LEGACY_AUDCAP(0xc) TSI_AUDCAP_STATUS_R = TSI_BASE_LEGACY_AUDCAP(0xd) +TSI_AUDCAP_SAMPLE_BITS_SIZE_R = TSI_BASE_LEGACY_AUDCAP(0xf) TSI_R_AUDCAP_CHANNEL_COUNT = TSI_AUDCAP_CHANNEL_COUNT_R TSI_R_AUDCAP_SAMPLE_COUNT = TSI_AUDCAP_SAMPLE_COUNT_R @@ -850,6 +867,7 @@ TSI_DPRX_AUX_SWING_CAPS_R = TSI_BASE_LEGACY_DPRX(0x20) TSI_DPRX_AUX_SWING_CONTROL = TSI_BASE_LEGACY_DPRX(0x21) TSI_DP2RX_CUSTOM_RATE_CAPS_R = TSI_BASE_LEGACY_DPRX(0x22) TSI_DP2RX_CUSTOM_RATE_MAP = TSI_BASE_LEGACY_DPRX(0x23) +TSI_DPRX_LT_ROUTE_CREATE = TSI_BASE_LEGACY_DPRX(0x24) TSI_DPRX_LINK_CONTROL = TSI_BASE_DPRX(0x3) TSI_DPRX_HW_CAPS_R = TSI_BASE_DPRX(0x4) @@ -1125,6 +1143,24 @@ TSI_HDRX_EARC_EDID_OFFSET = TSI_BASE_HDRX(0x52) TSI_HDRX_EARC_EDID_DATA = TSI_BASE_HDRX(0x53) TSI_HDRX_EARC_LATENCY = TSI_BASE_HDRX(0x54) TSI_HDRX_EARC_LATENCY_REQ = TSI_BASE_HDRX(0x55) + +# eARC audio generator +TSI_EARC_AUDGEN_CONTROL_W = TSI_BASE_LEGACY_EARC_AUDGEN(0x0) +TSI_EARC_AUDGEN_STATUS_R = TSI_BASE_LEGACY_EARC_AUDGEN(0x1) +TSI_EARC_AUDGEN_SIGNAL_TYPE = TSI_BASE_LEGACY_EARC_AUDGEN(0x2) +TSI_EARC_AUDGEN_SIGNAL_FREQ = TSI_BASE_LEGACY_EARC_AUDGEN(0x3) +TSI_EARC_AUDGEN_SIGNAL_BLOCK = TSI_BASE_LEGACY_EARC_AUDGEN(0x4) +TSI_EARC_AUDGEN_SIGNAL_VOLUME = TSI_BASE_LEGACY_EARC_AUDGEN(0x5) +TSI_EARC_AUDGEN_CHANNEL_COUNT = TSI_BASE_LEGACY_EARC_AUDGEN(0x6) +TSI_EARC_AUDGEN_SAMPLE_RATE = TSI_BASE_LEGACY_EARC_AUDGEN(0x7) +TSI_EARC_AUDGEN_SAMPLE_SIZE = TSI_BASE_LEGACY_EARC_AUDGEN(0x8) +TSI_EARC_AUDGEN_AUDIO_SIZE = TSI_BASE_LEGACY_EARC_AUDGEN(0x9) +TSI_EARC_AUDGEN_CONFIG = TSI_BASE_LEGACY_EARC_AUDGEN(0xA) +TSI_EARC_AUDGEN_PACKET_TYPE = TSI_BASE_LEGACY_EARC_AUDGEN(0xB) +TSI_EARC_AUDGEN_CHANNELS_STS = TSI_BASE_LEGACY_EARC_AUDGEN(0xC) +TSI_EARC_AUDGEN_USE_CHANNELS_INFO = TSI_BASE_LEGACY_EARC_AUDGEN(0xD) +TSI_EARC_AUDGEN_CHANNELS_INFO = TSI_BASE_LEGACY_EARC_AUDGEN(0xE) + # RM9124 ABOVE TSI_HDRX_HDCP_CAPS_R = TSI_BASE_HDRX(0x10) TSI_HDRX_HDCP_STATUS_R = TSI_BASE_HDRX(0x11) diff --git a/UniTAP/libs/lib_uicl/UICL.dll b/UniTAP/libs/lib_uicl/UICL.dll index e569c55..54c2374 100644 Binary files a/UniTAP/libs/lib_uicl/UICL.dll and b/UniTAP/libs/lib_uicl/UICL.dll differ diff --git a/UniTAP/libs/lib_uicl/uicl.py b/UniTAP/libs/lib_uicl/uicl.py index 41a1b8b..b9ef154 100644 --- a/UniTAP/libs/lib_uicl/uicl.py +++ b/UniTAP/libs/lib_uicl/uicl.py @@ -24,10 +24,10 @@ def UICL_Convert(src_image: UICL_Image, dest_image: UICL_Image): return _UICL_Convert(byref(src_image), byref(dest_image)) -def UICL_SaveToFile(src_image: UICL_Image, file_name, image_file_format): - _UICL_SaveToFile = lib_method_wrapper(UICL.UICL_SaveToFile, [c_char_p, POINTER(UICL_Image), c_int], UICL_RESULT) +def UICL_SaveToFile(src_image: UICL_Image, file_name, image_file_format, encrypted: bool = False): + _UICL_SaveToFile = lib_method_wrapper(UICL.UICL_SaveToFile, [c_char_p, POINTER(UICL_Image), c_int, c_bool], UICL_RESULT) - return _UICL_SaveToFile(c_char_p(file_name.encode('utf-8')), byref(src_image), image_file_format) + return _UICL_SaveToFile(c_char_p(file_name.encode('utf-8')), byref(src_image), image_file_format, encrypted) def UICL_CalculateCRC16(src_image: UICL_Image, crc: UICL_CRC16): diff --git a/UniTAP/tsi_lib.py b/UniTAP/tsi_lib.py index bc3c0b2..0be63c4 100644 --- a/UniTAP/tsi_lib.py +++ b/UniTAP/tsi_lib.py @@ -1,9 +1,9 @@ import re from typing import Union, Optional -from enum import IntEnum from UniTAP.dev import * -from UniTAP.libs.lib_tsi import BaseIO, DeviceMaskInternal +from UniTAP.libs.lib_tsi import BaseIO +import UniTAP.libs.lib_tsi.tsi_private_types as p_ci from UniTAP.utils import tsi_logging as logging @@ -52,10 +52,10 @@ class TsiLib: - Open selected device `open`. """ - __device_mask_convert = {DeviceMask.Sink: DeviceMaskInternal.Sink, - DeviceMask.Source: DeviceMaskInternal.Source, - DeviceMask.All: DeviceMaskInternal.All, - DeviceMask.Nothing: DeviceMaskInternal.Nothing} + __device_mask_convert = {DeviceMask.Sink: p_ci.DeviceMaskInternal.Sink, + DeviceMask.Source: p_ci.DeviceMaskInternal.Source, + DeviceMask.All: p_ci.DeviceMaskInternal.All, + DeviceMask.Nothing: p_ci.DeviceMaskInternal.Nothing} def __init__(self): logging.info(f"[UniTAP] TsiLib.init {self}") @@ -70,11 +70,6 @@ class TsiLib: self.__io.cleanup() logging.info(f"[UniTAP] TsiLib.cleanup {self}") - def rescan_devices(self): - """Rescan USB for newly connected TSI devices without tearing down the library.""" - self.__io.rescan_devices() - logging.info(f"[UniTAP] TsiLib.rescan_devices {self}") - def __del__(self): """ Automatically call the destructor after the script completes. diff --git a/UniTAP/utils/bit_ops.py b/UniTAP/utils/bit_ops.py new file mode 100644 index 0000000..d0905f2 --- /dev/null +++ b/UniTAP/utils/bit_ops.py @@ -0,0 +1,69 @@ +def clr_bits(value: int, mask: int) -> int: + """ + Clear bits specified by mask in the given value. + + Args: + value (int): The original integer value. + mask (int): The mask specifying which bits to clear. + + Returns: + int: The modified integer value with specified bits cleared. + """ + return value & ~mask + +def get_bits(value: int, mask: int) -> int: + """ + Get bits specified by mask from the given value. + + Args: + value (int): The original integer value. + mask (int): The mask specifying which bits to get. + + Returns: + int: The extracted bits shifted to the right by the offset. + """ + return value & mask + +def get_bitfield(value: int, mask: int, pos: int) -> int: + """ + Extract a bitfield from the given value. + + Args: + value (int): The original integer value. + mask (int): The mask specifying the bitfield. + pos (int): The position to shift the masked bits. + + Returns: + int: The extracted bitfield shifted to the right by the position. + """ + return get_bits(value, mask) >> pos + +def update_bits(value: int, mask: int, new_bits: int) -> int: + """ + Update bits specified by mask in the given value with new bits. + + Args: + value (int): The original integer value. + mask (int): The mask specifying which bits to update. + new_bits (int): The new bits to set in the specified positions. + + Returns: + int: The modified integer value with specified bits updated. + """ + + return clr_bits(value, mask) | get_bits(new_bits, mask) + +def set_bitfield(value: int, mask: int, pos: int, new_bits: int) -> int: + """ + Set a bitfield in the given value with new bits. + + Args: + value (int): The original integer value. + mask (int): The mask specifying the bitfield. + pos (int): The position to shift the new bits. + new_bits (int): The new bits to set in the specified bitfield. + + Returns: + int: The modified integer value with specified bitfield updated. + """ + return update_bits(value, mask, new_bits << pos) diff --git a/UniTAP/utils/uicl_api.py b/UniTAP/utils/uicl_api.py index 4ff06e4..738d5cf 100644 --- a/UniTAP/utils/uicl_api.py +++ b/UniTAP/utils/uicl_api.py @@ -56,7 +56,7 @@ def video_frame_save_to_file(video_frame: Union[VideoFrame, VideoFrameDSC], path dsc_file.write(video_frame.data) return os.path.exists(path) else: - if b'DSCF' not in video_frame.data: + if b'DSCF' not in video_frame.data and not isinstance(video_frame, VideoFrameDSC): if video_frame.data_info.component_order == DataInfo.ComponentOrder.CO_UCDRX: data_info = DataInfo() color_info = ColorInfo() diff --git a/UniTAP/version.py b/UniTAP/version.py index fe6abd7..a4dbbb7 100644 --- a/UniTAP/version.py +++ b/UniTAP/version.py @@ -1 +1 @@ -__version__ = "3.6.274.0.18845.4" +__version__ = "3.9.31.13980" diff --git a/docs/UCD-API文档/content/search.js b/docs/UCD-API文档/content/search.js deleted file mode 100644 index ac5808b..0000000 --- a/docs/UCD-API文档/content/search.js +++ /dev/null @@ -1,46 +0,0 @@ -window.pdocSearch = (function(){ -/** elasticlunr - http://weixsong.github.io * Copyright (C) 2017 Oliver Nightingale * Copyright (C) 2017 Wei Song * MIT Licensed */!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();o

\n"}, {"fullname": "UniTAP.tsi_lib.DeviceMask", "modulename": "UniTAP.tsi_lib", "qualname": "DeviceMask", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.tsi_lib.DeviceMask.Sink", "modulename": "UniTAP.tsi_lib", "qualname": "DeviceMask.Sink", "kind": "variable", "doc": "

\n", "default_value": "<DeviceMask.Sink: 0>"}, {"fullname": "UniTAP.tsi_lib.DeviceMask.Source", "modulename": "UniTAP.tsi_lib", "qualname": "DeviceMask.Source", "kind": "variable", "doc": "

\n", "default_value": "<DeviceMask.Source: 1>"}, {"fullname": "UniTAP.tsi_lib.DeviceMask.All", "modulename": "UniTAP.tsi_lib", "qualname": "DeviceMask.All", "kind": "variable", "doc": "

\n", "default_value": "<DeviceMask.All: 2>"}, {"fullname": "UniTAP.tsi_lib.DeviceMask.Nothing", "modulename": "UniTAP.tsi_lib", "qualname": "DeviceMask.Nothing", "kind": "variable", "doc": "

\n", "default_value": "<DeviceMask.Nothing: 3>"}, {"fullname": "UniTAP.tsi_lib.DeviceAlreadyInUse", "modulename": "UniTAP.tsi_lib", "qualname": "DeviceAlreadyInUse", "kind": "class", "doc": "

Redefinition of base exception.\nDefine error of 'device already in use'.

\n", "bases": "builtins.Exception"}, {"fullname": "UniTAP.tsi_lib.FailedToOpenDevice", "modulename": "UniTAP.tsi_lib", "qualname": "FailedToOpenDevice", "kind": "class", "doc": "

Redefinition of base exception.\nDefine error of 'device already in use'.

\n", "bases": "builtins.Exception"}, {"fullname": "UniTAP.tsi_lib.DeviceNotFound", "modulename": "UniTAP.tsi_lib", "qualname": "DeviceNotFound", "kind": "class", "doc": "

Redefinition of base exception.\nDefine error of 'device not found'.

\n", "bases": "builtins.Exception"}, {"fullname": "UniTAP.tsi_lib.DeviceNotSupported", "modulename": "UniTAP.tsi_lib", "qualname": "DeviceNotSupported", "kind": "class", "doc": "

Redefinition of base exception.\nDefine error of 'device not supported'.

\n", "bases": "builtins.Exception"}, {"fullname": "UniTAP.tsi_lib.TsiLib", "modulename": "UniTAP.tsi_lib", "qualname": "TsiLib", "kind": "class", "doc": "

Class TsiLib allows working with TSI Devices.

\n\n
    \n
  • Open selected device open.
  • \n
\n"}, {"fullname": "UniTAP.tsi_lib.TsiLib.cleanup", "modulename": "UniTAP.tsi_lib", "qualname": "TsiLib.cleanup", "kind": "function", "doc": "

Clear list of devices and call function TSI_Clean for cleaning TSI library.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.tsi_lib.TsiLib.open", "modulename": "UniTAP.tsi_lib", "qualname": "TsiLib.open", "kind": "function", "doc": "

Open selected TSI device.

\n\n
Arguments:
\n\n
    \n
  • info (str|int) - serial number of device or device index.
  • \n
\n\n
Returns:
\n\n
\n

object of TSIDevice type

\n
\n", "signature": "(self, info: Union[str, int]) -> UniTAP.dev.device.TSIDevice:", "funcdef": "def"}, {"fullname": "UniTAP.tsi_lib.TsiLib.close", "modulename": "UniTAP.tsi_lib", "qualname": "TsiLib.close", "kind": "function", "doc": "

Close selected device TSIDevice (removing from list of devices)

\n\n
Arguments:
\n\n
    \n
  • device (TSIDevice) - object of TSIDevice type
  • \n
\n", "signature": "(self, device: UniTAP.dev.device.TSIDevice):", "funcdef": "def"}, {"fullname": "UniTAP.tsi_lib.TsiLib.get_list_of_available_devices", "modulename": "UniTAP.tsi_lib", "qualname": "TsiLib.get_list_of_available_devices", "kind": "function", "doc": "

Returns list of available devices for using by selected masks.

\n\n
Arguments:
\n\n
    \n
  • require_caps (DeviceMask) - object of DeviceMask type
  • \n
  • unallowed_caps (DeviceMask) - object of DeviceMask type
  • \n
\n\n
Returns:
\n\n
\n

object of list type

\n
\n", "signature": "(\tself,\trequire_caps: Optional[UniTAP.tsi_lib.DeviceMask] = None,\tunallowed_caps: Optional[UniTAP.tsi_lib.DeviceMask] = None) -> list:", "funcdef": "def"}, {"fullname": "UniTAP.tsi_lib.TsiLib.get_list_of_available_roles", "modulename": "UniTAP.tsi_lib", "qualname": "TsiLib.get_list_of_available_roles", "kind": "function", "doc": "

Returns list of available roles for the selected device.

\n\n
Arguments:
\n\n
    \n
  • dev_series_model (str|TSIDevice) - serial number of device
  • \n
\n\n
Returns:
\n\n
\n

object of list type with MODEL_TO_CLASS roles

\n
\n", "signature": "(self, dev_series_model: Union[str, UniTAP.dev.device.TSIDevice]) -> list:", "funcdef": "def"}, {"fullname": "UniTAP.tsi_lib.TsiLib.get_str_list_of_available_roles", "modulename": "UniTAP.tsi_lib", "qualname": "TsiLib.get_str_list_of_available_roles", "kind": "function", "doc": "

Returns list of available roles for the selected device.

\n\n
Arguments:
\n\n
    \n
  • dev_series_model (str|TSIDevice) - serial number of device
  • \n
\n\n
Returns:
\n\n
\n

object of list type with str

\n
\n", "signature": "(self, dev_series_model: Union[str, UniTAP.dev.device.TSIDevice]) -> list:", "funcdef": "def"}, {"fullname": "UniTAP.common.audio_mode", "modulename": "UniTAP.common.audio_mode", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.common.audio_mode.AudioFileFormat", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioFileFormat", "kind": "class", "doc": "

Describe all supported audio file formats for saving audio:

\n\n
    \n
  • BIN.
  • \n
  • WAV.
  • \n
\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.common.audio_mode.AudioFileFormat.UNKNOWN", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioFileFormat.UNKNOWN", "kind": "variable", "doc": "

\n", "default_value": "<AudioFileFormat.UNKNOWN: -1>"}, {"fullname": "UniTAP.common.audio_mode.AudioFileFormat.BIN", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioFileFormat.BIN", "kind": "variable", "doc": "

\n", "default_value": "<AudioFileFormat.BIN: 0>"}, {"fullname": "UniTAP.common.audio_mode.AudioFileFormat.WAV", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioFileFormat.WAV", "kind": "variable", "doc": "

\n", "default_value": "<AudioFileFormat.WAV: 1>"}, {"fullname": "UniTAP.common.audio_mode.AudioFormat", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioFormat", "kind": "class", "doc": "

Describe all supported audio formats:

\n\n
    \n
  • PCMAudio.
  • \n
\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.common.audio_mode.AudioFormat.Unknown", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioFormat.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<AudioFormat.Unknown: -1>"}, {"fullname": "UniTAP.common.audio_mode.AudioFormat.L_PCM", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioFormat.L_PCM", "kind": "variable", "doc": "

\n", "default_value": "<AudioFormat.L_PCM: 65535>"}, {"fullname": "UniTAP.common.audio_mode.AudioMode", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioMode", "kind": "class", "doc": "

Class AudioMode contains part information of audio: sample rate, count of bits and channel count.

\n"}, {"fullname": "UniTAP.common.audio_mode.AudioMode.__init__", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioMode.__init__", "kind": "function", "doc": "

\n", "signature": "(sample_rate: int = 44100, bits: int = 16, channel_count: int = 2)"}, {"fullname": "UniTAP.common.audio_mode.AudioMode.sample_rate", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioMode.sample_rate", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.audio_mode.AudioMode.bits", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioMode.bits", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.audio_mode.AudioMode.channel_count", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioMode.channel_count", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.audio_mode.AudioMode.is_valid", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioMode.is_valid", "kind": "function", "doc": "

Check that information is valid (all values more than 0).

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.common.audio_mode.AudioFrameData", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioFrameData", "kind": "class", "doc": "

Class AudioFrameData describes captured frame from Sink (RX - receiver) side. Contains information of audio:\nAudioMode, samples, AudioFormat, frame counter, Timestamp, audio data.

\n"}, {"fullname": "UniTAP.common.audio_mode.AudioFrameData.__init__", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioFrameData.__init__", "kind": "function", "doc": "

\n", "signature": "(\taudio_mode: UniTAP.common.audio_mode.AudioMode = <UniTAP.common.audio_mode.AudioMode object>,\tsamples: int = 0,\tsample_format: UniTAP.common.audio_mode.AudioFormat = <AudioFormat.Unknown: -1>,\tframe_counter: int = 0,\ttimestamp: UniTAP.common.timestamp.Timestamp = <UniTAP.common.timestamp.Timestamp object>,\tdata: bytearray = bytearray(b''))"}, {"fullname": "UniTAP.common.audio_mode.AudioFrameData.channel_count", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioFrameData.channel_count", "kind": "variable", "doc": "

Returns channel count.

\n\n
Returns:
\n\n
\n

object of int type.

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.common.audio_mode.AudioFrameData.samples", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioFrameData.samples", "kind": "variable", "doc": "

Returns samples.

\n\n
Returns:
\n\n
\n

object of int type.

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.common.audio_mode.AudioFrameData.sample_size", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioFrameData.sample_size", "kind": "variable", "doc": "

Returns sample size.

\n\n
Returns:
\n\n
\n

object of int type.

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.common.audio_mode.AudioFrameData.sample_rate", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioFrameData.sample_rate", "kind": "variable", "doc": "

Returns sample rate.

\n\n
Returns:
\n\n
\n

object of int type.

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.common.audio_mode.AudioFrameData.sample_format", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioFrameData.sample_format", "kind": "variable", "doc": "

Returns sample format.

\n\n
Returns:
\n\n
\n

object of AudioFormat type.

\n
\n", "annotation": ": UniTAP.common.audio_mode.AudioFormat"}, {"fullname": "UniTAP.common.audio_mode.AudioFrameData.frame_counter", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioFrameData.frame_counter", "kind": "variable", "doc": "

Returns frame counter.

\n\n
Returns:
\n\n
\n

object of int type.

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.common.audio_mode.AudioFrameData.timestamp", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioFrameData.timestamp", "kind": "variable", "doc": "

Returns timestamp.

\n\n
Returns:
\n\n
\n

object of Timestamp type.

\n
\n", "annotation": ": UniTAP.common.timestamp.Timestamp"}, {"fullname": "UniTAP.common.audio_mode.AudioFrameData.data", "modulename": "UniTAP.common.audio_mode", "qualname": "AudioFrameData.data", "kind": "variable", "doc": "

Returns data.

\n\n
Returns:
\n\n
\n

object of bytearray type.

\n
\n", "annotation": ": bytearray"}, {"fullname": "UniTAP.common.color_info", "modulename": "UniTAP.common.color_info", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.common.color_info.ColorInfo", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo", "kind": "class", "doc": "

Class contains information of frame ColorFormat, DynamicRange, Colorimetry.

\n"}, {"fullname": "UniTAP.common.color_info.ColorInfo.ColorFormat", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.ColorFormat", "kind": "class", "doc": "

Contains values of possible color format.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.common.color_info.ColorInfo.ColorFormat.CF_NONE", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.ColorFormat.CF_NONE", "kind": "variable", "doc": "

\n", "default_value": "<ColorFormat.CF_NONE: 0>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.ColorFormat.CF_UNKNOWN", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.ColorFormat.CF_UNKNOWN", "kind": "variable", "doc": "

\n", "default_value": "<ColorFormat.CF_UNKNOWN: 1>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.ColorFormat.CF_RGB", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.ColorFormat.CF_RGB", "kind": "variable", "doc": "

\n", "default_value": "<ColorFormat.CF_RGB: 2>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.ColorFormat.CF_YCbCr_422", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.ColorFormat.CF_YCbCr_422", "kind": "variable", "doc": "

\n", "default_value": "<ColorFormat.CF_YCbCr_422: 3>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.ColorFormat.CF_YCbCr_444", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.ColorFormat.CF_YCbCr_444", "kind": "variable", "doc": "

\n", "default_value": "<ColorFormat.CF_YCbCr_444: 4>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.ColorFormat.CF_YCbCr_420", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.ColorFormat.CF_YCbCr_420", "kind": "variable", "doc": "

\n", "default_value": "<ColorFormat.CF_YCbCr_420: 5>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.ColorFormat.CF_IDO_DEFINED", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.ColorFormat.CF_IDO_DEFINED", "kind": "variable", "doc": "

\n", "default_value": "<ColorFormat.CF_IDO_DEFINED: 6>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.ColorFormat.CF_Y_ONLY", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.ColorFormat.CF_Y_ONLY", "kind": "variable", "doc": "

\n", "default_value": "<ColorFormat.CF_Y_ONLY: 7>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.ColorFormat.CF_RAW", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.ColorFormat.CF_RAW", "kind": "variable", "doc": "

\n", "default_value": "<ColorFormat.CF_RAW: 8>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.ColorFormat.CF_DSC", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.ColorFormat.CF_DSC", "kind": "variable", "doc": "

\n", "default_value": "<ColorFormat.CF_DSC: 9>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.DynamicRange", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.DynamicRange", "kind": "class", "doc": "

Contains values of possible dynamic range.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.common.color_info.ColorInfo.DynamicRange.DR_UNKNOWN", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.DynamicRange.DR_UNKNOWN", "kind": "variable", "doc": "

\n", "default_value": "<DynamicRange.DR_UNKNOWN: -1>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.DynamicRange.DR_VESA", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.DynamicRange.DR_VESA", "kind": "variable", "doc": "

\n", "default_value": "<DynamicRange.DR_VESA: 0>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.DynamicRange.DR_CTA", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.DynamicRange.DR_CTA", "kind": "variable", "doc": "

\n", "default_value": "<DynamicRange.DR_CTA: 1>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry", "kind": "class", "doc": "

Contains values of possible colorimetry.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_NONE", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_NONE", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_NONE: 0>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_RESERVED", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_RESERVED", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_RESERVED: 1>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_sRGB", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_sRGB", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_sRGB: 2>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_SMPTE_170M", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_SMPTE_170M", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_SMPTE_170M: 3>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_ITUR_BT601", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_ITUR_BT601", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_ITUR_BT601: 4>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_ITUR_BT709", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_ITUR_BT709", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_ITUR_BT709: 5>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_xvYCC601", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_xvYCC601", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_xvYCC601: 6>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_xvYCC709", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_xvYCC709", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_xvYCC709: 7>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_sYCC601", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_sYCC601", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_sYCC601: 8>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_AdobeYCC601", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_AdobeYCC601", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_AdobeYCC601: 9>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_AdobeRGB", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_AdobeRGB", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_AdobeRGB: 10>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_ITUR_BT2020_YcCbcCrc", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_ITUR_BT2020_YcCbcCrc", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_ITUR_BT2020_YcCbcCrc: 11>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_ITUR_BT2020_YCbCr", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_ITUR_BT2020_YCbCr", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_ITUR_BT2020_YCbCr: 12>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_ITUR_BT2020_RGB", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_ITUR_BT2020_RGB", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_ITUR_BT2020_RGB: 13>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_RGB_WIDE_GAMUT_FIX", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_RGB_WIDE_GAMUT_FIX", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_RGB_WIDE_GAMUT_FIX: 14>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_RGB_WIDE_GAMUT_FLT", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_RGB_WIDE_GAMUT_FLT", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_RGB_WIDE_GAMUT_FLT: 15>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_DCI_P3", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_DCI_P3", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_DCI_P3: 16>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_DICOM_1_4_GRAY_SCALE", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_DICOM_1_4_GRAY_SCALE", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_DICOM_1_4_GRAY_SCALE: 17>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_CUSTOM_COLOR_PROFILE", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_CUSTOM_COLOR_PROFILE", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_CUSTOM_COLOR_PROFILE: 18>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_opYCC601", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_opYCC601", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_AdobeYCC601: 9>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.Colorimetry.CM_opRGB", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.Colorimetry.CM_opRGB", "kind": "variable", "doc": "

\n", "default_value": "<Colorimetry.CM_AdobeRGB: 10>"}, {"fullname": "UniTAP.common.color_info.ColorInfo.colorimetry", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.colorimetry", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.color_info.ColorInfo.color_format", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.color_format", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.color_info.ColorInfo.dynamic_range", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.dynamic_range", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.color_info.ColorInfo.bpc", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.bpc", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.color_info.ColorInfo.is_valid", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.is_valid", "kind": "function", "doc": "

Check that information is valid (not equal NONE state and bpc more than 0).

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.common.color_info.ColorInfo.bpp", "modulename": "UniTAP.common.color_info", "qualname": "ColorInfo.bpp", "kind": "variable", "doc": "

Returns calculated bits per pixel for this color info (except DSC). 0 if color info is not valid.

\n\n
Returns:
\n\n
\n

object of int type.

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.common.data_info", "modulename": "UniTAP.common.data_info", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.common.data_info.DataInfo", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo", "kind": "class", "doc": "

Class contains information of frame Packing, ComponentOrder, Alignment.

\n"}, {"fullname": "UniTAP.common.data_info.DataInfo.Packing", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.Packing", "kind": "class", "doc": "

Contains values of possible packing.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.common.data_info.DataInfo.Packing.P_UNKNOWN", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.Packing.P_UNKNOWN", "kind": "variable", "doc": "

\n", "default_value": "<Packing.P_UNKNOWN: 0>"}, {"fullname": "UniTAP.common.data_info.DataInfo.Packing.P_PLANAR", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.Packing.P_PLANAR", "kind": "variable", "doc": "

\n", "default_value": "<Packing.P_PLANAR: 1>"}, {"fullname": "UniTAP.common.data_info.DataInfo.Packing.P_PACKED", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.Packing.P_PACKED", "kind": "variable", "doc": "

\n", "default_value": "<Packing.P_PACKED: 2>"}, {"fullname": "UniTAP.common.data_info.DataInfo.ComponentOrder", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.ComponentOrder", "kind": "class", "doc": "

Contains values of possible component order.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.common.data_info.DataInfo.ComponentOrder.CO_UNKNOWN", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.ComponentOrder.CO_UNKNOWN", "kind": "variable", "doc": "

\n", "default_value": "<ComponentOrder.CO_UNKNOWN: 0>"}, {"fullname": "UniTAP.common.data_info.DataInfo.ComponentOrder.CO_UCDRX", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.ComponentOrder.CO_UCDRX", "kind": "variable", "doc": "

\n", "default_value": "<ComponentOrder.CO_UCDRX: 1>"}, {"fullname": "UniTAP.common.data_info.DataInfo.ComponentOrder.CO_RGB", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.ComponentOrder.CO_RGB", "kind": "variable", "doc": "

\n", "default_value": "<ComponentOrder.CO_RGB: 2>"}, {"fullname": "UniTAP.common.data_info.DataInfo.ComponentOrder.CO_RGBA", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.ComponentOrder.CO_RGBA", "kind": "variable", "doc": "

\n", "default_value": "<ComponentOrder.CO_RGBA: 3>"}, {"fullname": "UniTAP.common.data_info.DataInfo.ComponentOrder.CO_BGR", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.ComponentOrder.CO_BGR", "kind": "variable", "doc": "

\n", "default_value": "<ComponentOrder.CO_BGR: 4>"}, {"fullname": "UniTAP.common.data_info.DataInfo.ComponentOrder.CO_BGRA", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.ComponentOrder.CO_BGRA", "kind": "variable", "doc": "

\n", "default_value": "<ComponentOrder.CO_BGRA: 5>"}, {"fullname": "UniTAP.common.data_info.DataInfo.ComponentOrder.CO_YCbCr", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.ComponentOrder.CO_YCbCr", "kind": "variable", "doc": "

\n", "default_value": "<ComponentOrder.CO_YCbCr: 6>"}, {"fullname": "UniTAP.common.data_info.DataInfo.ComponentOrder.CO_CbY0CrY1", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.ComponentOrder.CO_CbY0CrY1", "kind": "variable", "doc": "

\n", "default_value": "<ComponentOrder.CO_CbY0CrY1: 7>"}, {"fullname": "UniTAP.common.data_info.DataInfo.Alignment", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.Alignment", "kind": "class", "doc": "

Contains values of possible alignment.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.common.data_info.DataInfo.Alignment.A_UNKNOWN", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.Alignment.A_UNKNOWN", "kind": "variable", "doc": "

\n", "default_value": "<Alignment.A_UNKNOWN: 0>"}, {"fullname": "UniTAP.common.data_info.DataInfo.Alignment.A_MSB", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.Alignment.A_MSB", "kind": "variable", "doc": "

\n", "default_value": "<Alignment.A_MSB: 1>"}, {"fullname": "UniTAP.common.data_info.DataInfo.Alignment.A_LSB", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.Alignment.A_LSB", "kind": "variable", "doc": "

\n", "default_value": "<Alignment.A_LSB: 2>"}, {"fullname": "UniTAP.common.data_info.DataInfo.packing", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.packing", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.data_info.DataInfo.component_order", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.component_order", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.data_info.DataInfo.alignment", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.alignment", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.data_info.DataInfo.is_valid", "modulename": "UniTAP.common.data_info", "qualname": "DataInfo.is_valid", "kind": "function", "doc": "

Check that information is valid (not equal UNKNOWN state).

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.common.timestamp", "modulename": "UniTAP.common.timestamp", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.common.timestamp.Timestamp", "modulename": "UniTAP.common.timestamp", "qualname": "Timestamp", "kind": "class", "doc": "

Class contains information about timestamp in several representation variant:

\n\n
    \n
  • Seconds to_sec.
  • \n
  • Milliseconds to_m_sec.
  • \n
  • Microseconds to_u_sec.
  • \n
  • Nanoseconds to_n_sec or value.
  • \n
\n"}, {"fullname": "UniTAP.common.timestamp.Timestamp.__init__", "modulename": "UniTAP.common.timestamp", "qualname": "Timestamp.__init__", "kind": "function", "doc": "

\n", "signature": "(nano_secs: int)"}, {"fullname": "UniTAP.common.timestamp.Timestamp.to_sec", "modulename": "UniTAP.common.timestamp", "qualname": "Timestamp.to_sec", "kind": "variable", "doc": "

Returns time in seconds.

\n", "annotation": ": float"}, {"fullname": "UniTAP.common.timestamp.Timestamp.to_m_sec", "modulename": "UniTAP.common.timestamp", "qualname": "Timestamp.to_m_sec", "kind": "variable", "doc": "

Returns time milliseconds seconds.

\n", "annotation": ": float"}, {"fullname": "UniTAP.common.timestamp.Timestamp.to_u_sec", "modulename": "UniTAP.common.timestamp", "qualname": "Timestamp.to_u_sec", "kind": "variable", "doc": "

Returns time microseconds seconds.

\n", "annotation": ": float"}, {"fullname": "UniTAP.common.timestamp.Timestamp.to_n_sec", "modulename": "UniTAP.common.timestamp", "qualname": "Timestamp.to_n_sec", "kind": "variable", "doc": "

Returns time nanoseconds seconds.

\n", "annotation": ": float"}, {"fullname": "UniTAP.common.timestamp.Timestamp.value", "modulename": "UniTAP.common.timestamp", "qualname": "Timestamp.value", "kind": "variable", "doc": "

Returns time nanoseconds seconds.

\n", "annotation": ": float"}, {"fullname": "UniTAP.common.timing", "modulename": "UniTAP.common.timing", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.common.timing.Timing", "modulename": "UniTAP.common.timing", "qualname": "Timing", "kind": "class", "doc": "

Class Timing contains information about Timing: all resolutions, timing id, frame rate, AspectRatio,\nStandard, ReduceBlanking.

\n"}, {"fullname": "UniTAP.common.timing.Timing.Standard", "modulename": "UniTAP.common.timing", "qualname": "Timing.Standard", "kind": "class", "doc": "

Class Standard contains all possible variants of timing standards.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.common.timing.Timing.Standard.SD_NONE", "modulename": "UniTAP.common.timing", "qualname": "Timing.Standard.SD_NONE", "kind": "variable", "doc": "

\n", "default_value": "<Standard.SD_NONE: 0>"}, {"fullname": "UniTAP.common.timing.Timing.Standard.SD_CVT", "modulename": "UniTAP.common.timing", "qualname": "Timing.Standard.SD_CVT", "kind": "variable", "doc": "

\n", "default_value": "<Standard.SD_CVT: 1>"}, {"fullname": "UniTAP.common.timing.Timing.Standard.SD_DMT", "modulename": "UniTAP.common.timing", "qualname": "Timing.Standard.SD_DMT", "kind": "variable", "doc": "

\n", "default_value": "<Standard.SD_DMT: 2>"}, {"fullname": "UniTAP.common.timing.Timing.Standard.SD_CTA", "modulename": "UniTAP.common.timing", "qualname": "Timing.Standard.SD_CTA", "kind": "variable", "doc": "

\n", "default_value": "<Standard.SD_CTA: 3>"}, {"fullname": "UniTAP.common.timing.Timing.Standard.SD_UGF", "modulename": "UniTAP.common.timing", "qualname": "Timing.Standard.SD_UGF", "kind": "variable", "doc": "

\n", "default_value": "<Standard.SD_UGF: 4>"}, {"fullname": "UniTAP.common.timing.Timing.Standard.SD_OVT", "modulename": "UniTAP.common.timing", "qualname": "Timing.Standard.SD_OVT", "kind": "variable", "doc": "

\n", "default_value": "<Standard.SD_OVT: 5>"}, {"fullname": "UniTAP.common.timing.Timing.AspectRatio", "modulename": "UniTAP.common.timing", "qualname": "Timing.AspectRatio", "kind": "class", "doc": "

Class AspectRatio contains all possible variants of timing aspect ratio.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.common.timing.Timing.AspectRatio.AR_NONE", "modulename": "UniTAP.common.timing", "qualname": "Timing.AspectRatio.AR_NONE", "kind": "variable", "doc": "

\n", "default_value": "<AspectRatio.AR_NONE: 0>"}, {"fullname": "UniTAP.common.timing.Timing.AspectRatio.AR_4_3", "modulename": "UniTAP.common.timing", "qualname": "Timing.AspectRatio.AR_4_3", "kind": "variable", "doc": "

\n", "default_value": "<AspectRatio.AR_4_3: 1>"}, {"fullname": "UniTAP.common.timing.Timing.AspectRatio.AR_16_9", "modulename": "UniTAP.common.timing", "qualname": "Timing.AspectRatio.AR_16_9", "kind": "variable", "doc": "

\n", "default_value": "<AspectRatio.AR_16_9: 2>"}, {"fullname": "UniTAP.common.timing.Timing.ReduceBlanking", "modulename": "UniTAP.common.timing", "qualname": "Timing.ReduceBlanking", "kind": "class", "doc": "

Class ReduceBlanking contains all possible variants of timing reduce blanking.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.common.timing.Timing.ReduceBlanking.RB_NONE", "modulename": "UniTAP.common.timing", "qualname": "Timing.ReduceBlanking.RB_NONE", "kind": "variable", "doc": "

\n", "default_value": "<ReduceBlanking.RB_NONE: 0>"}, {"fullname": "UniTAP.common.timing.Timing.ReduceBlanking.RB1", "modulename": "UniTAP.common.timing", "qualname": "Timing.ReduceBlanking.RB1", "kind": "variable", "doc": "

\n", "default_value": "<ReduceBlanking.RB1: 1>"}, {"fullname": "UniTAP.common.timing.Timing.ReduceBlanking.RB2", "modulename": "UniTAP.common.timing", "qualname": "Timing.ReduceBlanking.RB2", "kind": "variable", "doc": "

\n", "default_value": "<ReduceBlanking.RB2: 2>"}, {"fullname": "UniTAP.common.timing.Timing.ReduceBlanking.RB3", "modulename": "UniTAP.common.timing", "qualname": "Timing.ReduceBlanking.RB3", "kind": "variable", "doc": "

\n", "default_value": "<ReduceBlanking.RB3: 3>"}, {"fullname": "UniTAP.common.timing.Timing.frame_rate", "modulename": "UniTAP.common.timing", "qualname": "Timing.frame_rate", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.timing.Timing.hactive", "modulename": "UniTAP.common.timing", "qualname": "Timing.hactive", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.timing.Timing.vactive", "modulename": "UniTAP.common.timing", "qualname": "Timing.vactive", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.timing.Timing.htotal", "modulename": "UniTAP.common.timing", "qualname": "Timing.htotal", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.timing.Timing.vtotal", "modulename": "UniTAP.common.timing", "qualname": "Timing.vtotal", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.timing.Timing.hstart", "modulename": "UniTAP.common.timing", "qualname": "Timing.hstart", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.timing.Timing.vstart", "modulename": "UniTAP.common.timing", "qualname": "Timing.vstart", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.timing.Timing.hswidth", "modulename": "UniTAP.common.timing", "qualname": "Timing.hswidth", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.timing.Timing.vswidth", "modulename": "UniTAP.common.timing", "qualname": "Timing.vswidth", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.timing.Timing.id", "modulename": "UniTAP.common.timing", "qualname": "Timing.id", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.timing.Timing.aspect_ratio", "modulename": "UniTAP.common.timing", "qualname": "Timing.aspect_ratio", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.timing.Timing.standard", "modulename": "UniTAP.common.timing", "qualname": "Timing.standard", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.timing.Timing.reduce_blanking", "modulename": "UniTAP.common.timing", "qualname": "Timing.reduce_blanking", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.timing.Timing.is_valid", "modulename": "UniTAP.common.timing", "qualname": "Timing.is_valid", "kind": "function", "doc": "

Check that timing is correct (Resolutions and frame rate more than 0)

\n\n
Returns:
\n\n
\n

is valid (bool) - valid (True) or not (False)

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.common.timing.Timing.pixel_clock", "modulename": "UniTAP.common.timing", "qualname": "Timing.pixel_clock", "kind": "variable", "doc": "

Returns calculated pixel clock required for this video mode in MHz. 0.0 if video mode is not valid.

\n\n
Returns:
\n\n
\n

pixel clock (float)

\n
\n", "annotation": ": float"}, {"fullname": "UniTAP.common.video_frame", "modulename": "UniTAP.common.video_frame", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.common.video_frame.ImageFileFormat", "modulename": "UniTAP.common.video_frame", "qualname": "ImageFileFormat", "kind": "class", "doc": "

Describe all supported image file formats for saving VideoFrame:

\n\n
    \n
  • BIN.
  • \n
  • PPM.
  • \n
  • BMP.
  • \n
  • DSC.
  • \n
\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.common.video_frame.ImageFileFormat.IFF_BIN", "modulename": "UniTAP.common.video_frame", "qualname": "ImageFileFormat.IFF_BIN", "kind": "variable", "doc": "

\n", "default_value": "<ImageFileFormat.IFF_BIN: 0>"}, {"fullname": "UniTAP.common.video_frame.ImageFileFormat.IFF_PPM", "modulename": "UniTAP.common.video_frame", "qualname": "ImageFileFormat.IFF_PPM", "kind": "variable", "doc": "

\n", "default_value": "<ImageFileFormat.IFF_PPM: 1>"}, {"fullname": "UniTAP.common.video_frame.ImageFileFormat.IFF_BMP", "modulename": "UniTAP.common.video_frame", "qualname": "ImageFileFormat.IFF_BMP", "kind": "variable", "doc": "

\n", "default_value": "<ImageFileFormat.IFF_BMP: 2>"}, {"fullname": "UniTAP.common.video_frame.ImageFileFormat.IFF_DSC", "modulename": "UniTAP.common.video_frame", "qualname": "ImageFileFormat.IFF_DSC", "kind": "variable", "doc": "

\n", "default_value": "<ImageFileFormat.IFF_DSC: 3>"}, {"fullname": "UniTAP.common.video_frame.VideoFrame", "modulename": "UniTAP.common.video_frame", "qualname": "VideoFrame", "kind": "class", "doc": "

Class VideoFrame contains base information about video frame:

\n\n
    \n
  • Height (int).
  • \n
  • Width (int).
  • \n
  • Data (bytearray).
  • \n
  • Color info (object of ColorInfo).
  • \n
  • Data info (object of DataInfo).
  • \n
  • Timestamp (object of Timestamp).
  • \n
\n"}, {"fullname": "UniTAP.common.video_frame.VideoFrame.width", "modulename": "UniTAP.common.video_frame", "qualname": "VideoFrame.width", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.video_frame.VideoFrame.height", "modulename": "UniTAP.common.video_frame", "qualname": "VideoFrame.height", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.video_frame.VideoFrame.data", "modulename": "UniTAP.common.video_frame", "qualname": "VideoFrame.data", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.video_frame.VideoFrame.color_info", "modulename": "UniTAP.common.video_frame", "qualname": "VideoFrame.color_info", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.video_frame.VideoFrame.data_info", "modulename": "UniTAP.common.video_frame", "qualname": "VideoFrame.data_info", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.video_frame.VideoFrame.timestamp", "modulename": "UniTAP.common.video_frame", "qualname": "VideoFrame.timestamp", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.video_frame.VideoFrame.is_compressed", "modulename": "UniTAP.common.video_frame", "qualname": "VideoFrame.is_compressed", "kind": "function", "doc": "

\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.common.video_frame.get_vf_from_image", "modulename": "UniTAP.common.video_frame", "qualname": "get_vf_from_image", "kind": "function", "doc": "

Function allows getting prepared object of VideoFrame from external (custom) image.

\n\n
Arguments:
\n\n
    \n
  • path (str) - full path to image.
  • \n
  • width (int) - width of image.
  • \n
  • height (int) - height of image.
  • \n
\n", "signature": "(\tpath: str,\twidth: int,\theight: int) -> UniTAP.common.video_frame.VideoFrame:", "funcdef": "def"}, {"fullname": "UniTAP.common.video_mode", "modulename": "UniTAP.common.video_mode", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.common.video_mode.VideoMode", "modulename": "UniTAP.common.video_mode", "qualname": "VideoMode", "kind": "class", "doc": "

Class VideoMode combines information about Timing and ColorInfo.

\n"}, {"fullname": "UniTAP.common.video_mode.VideoMode.__init__", "modulename": "UniTAP.common.video_mode", "qualname": "VideoMode.__init__", "kind": "function", "doc": "

\n", "signature": "(\ttiming: UniTAP.common.timing.Timing = <UniTAP.common.timing.Timing object>,\tcolor_info: UniTAP.common.color_info.ColorInfo = <UniTAP.common.color_info.ColorInfo object>)"}, {"fullname": "UniTAP.common.video_mode.VideoMode.timing", "modulename": "UniTAP.common.video_mode", "qualname": "VideoMode.timing", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.video_mode.VideoMode.color_info", "modulename": "UniTAP.common.video_mode", "qualname": "VideoMode.color_info", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.video_mode.VideoMode.is_valid", "modulename": "UniTAP.common.video_mode", "qualname": "VideoMode.is_valid", "kind": "function", "doc": "

Check that Timing and ColorInfo of Video mode is valid.

\n\n
Returns:
\n\n
\n

object of bool type - Video mode valid or not

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.common.video_mode.VideoMode.bit_rate", "modulename": "UniTAP.common.video_mode", "qualname": "VideoMode.bit_rate", "kind": "variable", "doc": "

Returns calculated bit rate required for this video mode in Gbps. 0 if video mode is not valid

\n\n
Returns:
\n\n
\n

object of float type

\n
\n", "annotation": ": float"}, {"fullname": "UniTAP.common.dsc_video_frame", "modulename": "UniTAP.common.dsc_video_frame", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.common.dsc_video_frame.VideoFrameDSC", "modulename": "UniTAP.common.dsc_video_frame", "qualname": "VideoFrameDSC", "kind": "class", "doc": "

Class VideoFrameDSC contains base information about DSC compressed video frame:

\n\n
    \n
  • Height (int).
  • \n
  • Width (int).
  • \n
  • Data (bytearray).
  • \n
  • Color info (object of ColorInfo).
  • \n
  • Data info (object of DataInfo).
  • \n
  • Timestamp (object of Timestamp).
  • \n
  • CompressionInfo (object of CompressionInfo)
  • \n
\n", "bases": "UniTAP.common.video_frame.VideoFrame"}, {"fullname": "UniTAP.common.dsc_video_frame.VideoFrameDSC.compression_info", "modulename": "UniTAP.common.dsc_video_frame", "qualname": "VideoFrameDSC.compression_info", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.dsc_video_frame.VideoFrameDSC.is_compressed", "modulename": "UniTAP.common.dsc_video_frame", "qualname": "VideoFrameDSC.is_compressed", "kind": "function", "doc": "

Return state of the video frame, compressed it or not.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.common.dsc_compression_info", "modulename": "UniTAP.common.dsc_compression_info", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.common.dsc_compression_info.DscCompressionInfo", "modulename": "UniTAP.common.dsc_compression_info", "qualname": "DscCompressionInfo", "kind": "class", "doc": "

Class contains information about DSC compression used on frame.

\n"}, {"fullname": "UniTAP.common.dsc_compression_info.DscCompressionInfo.DscColorFormat", "modulename": "UniTAP.common.dsc_compression_info", "qualname": "DscCompressionInfo.DscColorFormat", "kind": "class", "doc": "

Contains values of possible color format.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.common.dsc_compression_info.DscCompressionInfo.DscColorFormat.CF_NONE", "modulename": "UniTAP.common.dsc_compression_info", "qualname": "DscCompressionInfo.DscColorFormat.CF_NONE", "kind": "variable", "doc": "

\n", "default_value": "<DscColorFormat.CF_NONE: -1>"}, {"fullname": "UniTAP.common.dsc_compression_info.DscCompressionInfo.DscColorFormat.CF_RGB", "modulename": "UniTAP.common.dsc_compression_info", "qualname": "DscCompressionInfo.DscColorFormat.CF_RGB", "kind": "variable", "doc": "

\n", "default_value": "<DscColorFormat.CF_RGB: 0>"}, {"fullname": "UniTAP.common.dsc_compression_info.DscCompressionInfo.DscColorFormat.CF_YCbCr_422", "modulename": "UniTAP.common.dsc_compression_info", "qualname": "DscCompressionInfo.DscColorFormat.CF_YCbCr_422", "kind": "variable", "doc": "

\n", "default_value": "<DscColorFormat.CF_YCbCr_422: 1>"}, {"fullname": "UniTAP.common.dsc_compression_info.DscCompressionInfo.DscColorFormat.CF_YCbCr_444", "modulename": "UniTAP.common.dsc_compression_info", "qualname": "DscCompressionInfo.DscColorFormat.CF_YCbCr_444", "kind": "variable", "doc": "

\n", "default_value": "<DscColorFormat.CF_YCbCr_444: 2>"}, {"fullname": "UniTAP.common.dsc_compression_info.DscCompressionInfo.DscColorFormat.CF_YCbCr_420", "modulename": "UniTAP.common.dsc_compression_info", "qualname": "DscCompressionInfo.DscColorFormat.CF_YCbCr_420", "kind": "variable", "doc": "

\n", "default_value": "<DscColorFormat.CF_YCbCr_420: 3>"}, {"fullname": "UniTAP.common.dsc_compression_info.DscCompressionInfo.DscColorFormat.CF_Simple_422", "modulename": "UniTAP.common.dsc_compression_info", "qualname": "DscCompressionInfo.DscColorFormat.CF_Simple_422", "kind": "variable", "doc": "

\n", "default_value": "<DscColorFormat.CF_Simple_422: 4>"}, {"fullname": "UniTAP.common.dsc_compression_info.DscCompressionInfo.color_format", "modulename": "UniTAP.common.dsc_compression_info", "qualname": "DscCompressionInfo.color_format", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.dsc_compression_info.DscCompressionInfo.bpp", "modulename": "UniTAP.common.dsc_compression_info", "qualname": "DscCompressionInfo.bpp", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.dsc_compression_info.DscCompressionInfo.is_block_prediction_enabled", "modulename": "UniTAP.common.dsc_compression_info", "qualname": "DscCompressionInfo.is_block_prediction_enabled", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.dsc_compression_info.DscCompressionInfo.h_slice_size", "modulename": "UniTAP.common.dsc_compression_info", "qualname": "DscCompressionInfo.h_slice_size", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.dsc_compression_info.DscCompressionInfo.v_slice_size", "modulename": "UniTAP.common.dsc_compression_info", "qualname": "DscCompressionInfo.v_slice_size", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.dsc_compression_info.DscCompressionInfo.buffer_bit_depth", "modulename": "UniTAP.common.dsc_compression_info", "qualname": "DscCompressionInfo.buffer_bit_depth", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.dsc_compression_info.DscCompressionInfo.version", "modulename": "UniTAP.common.dsc_compression_info", "qualname": "DscCompressionInfo.version", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.dsc_compression_info.DscCompressionInfo.is_simple_as_444", "modulename": "UniTAP.common.dsc_compression_info", "qualname": "DscCompressionInfo.is_simple_as_444", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.common.dsc_compression_info.DscCompressionInfo.is_valid", "modulename": "UniTAP.common.dsc_compression_info", "qualname": "DscCompressionInfo.is_valid", "kind": "function", "doc": "

Return state of the video frame and check color_format, bpp, h and v slice_size and DSC version.\nIf everything ok, return True, otherwise - False.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.common.dsc_compression_info.create_from_pps", "modulename": "UniTAP.common.dsc_compression_info", "qualname": "create_from_pps", "kind": "function", "doc": "

Fill structure 'DscCompressionInfo' from PPS header of the DSC image.

\n\n
Returns:
\n\n
\n

object of DscCompressionInfo type.

\n
\n", "signature": "(\tpps_bytearray: bytearray) -> UniTAP.common.dsc_compression_info.DscCompressionInfo:", "funcdef": "def"}, {"fullname": "UniTAP.dev.device", "modulename": "UniTAP.dev.device", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.device.MODEL_TO_CLASS", "modulename": "UniTAP.dev.device", "qualname": "MODEL_TO_CLASS", "kind": "variable", "doc": "

\n", "default_value": "{'UCD-500': <class 'UniTAP.dev.dev_5xx_roles.UCD500'>, 'UCD-424': <class 'UniTAP.dev.dev_4xx_roles.UCD424'>, 'UCD-422': <class 'UniTAP.dev.dev_4xx_roles.UCD422'>, 'UCD-400': <class 'UniTAP.dev.dev_4xx_roles.UCD400'>, 'UCD-340': <class 'UniTAP.dev.dev_3xx_roles.UCD340'>, 'UCD-323': <class 'UniTAP.dev.dev_3xx_roles.UCD323'>, 'UCD-301': <class 'UniTAP.dev.dev_3xx_roles.UCD301'>, 'UCD-240': <class 'UniTAP.dev.dev_3xx_roles.UCD240'>}"}, {"fullname": "UniTAP.dev.device.NotExistingRoleSelected", "modulename": "UniTAP.dev.device", "qualname": "NotExistingRoleSelected", "kind": "class", "doc": "

Redefinition of base exception.\nDefine error of 'not existing role selected'.

\n", "bases": "builtins.Exception"}, {"fullname": "UniTAP.dev.device.DeviceRoleIsAlreadySelected", "modulename": "UniTAP.dev.device", "qualname": "DeviceRoleIsAlreadySelected", "kind": "class", "doc": "

Redefinition of base exception.\nDefine error of 'device role already selected'.

\n", "bases": "builtins.Exception"}, {"fullname": "UniTAP.dev.device.TSIDevice", "modulename": "UniTAP.dev.device", "qualname": "TSIDevice", "kind": "class", "doc": "

Class TSIDevice ... Allows:

\n\n
    \n
  • Select role of the device select_role.
  • \n
  • Get and redefine OPF (Operator feedback dialog) handler opf_handler.
  • \n
\n"}, {"fullname": "UniTAP.dev.device.TSIDevice.__init__", "modulename": "UniTAP.dev.device", "qualname": "TSIDevice.__init__", "kind": "function", "doc": "

\n", "signature": "(\tio: UniTAP.libs.lib_tsi.tsi_io.DeviceIO,\tname: str,\tserial_number: str,\troles: List[~RoleType])"}, {"fullname": "UniTAP.dev.device.TSIDevice.select_role", "modulename": "UniTAP.dev.device", "qualname": "TSIDevice.select_role", "kind": "function", "doc": "

Function allows selecting role of the chosen device.\nFor example: UniTAP.dev.UCD500.DPSourceDPSink - will be opened UCD-500 in role DisplayPort Source and Sink.

\n\n
Arguments:
\n\n
    \n
  • role_type (RoleType) - one of the possible roles.
  • \n
\n\n
Returns:
\n\n
\n

object of RoleType type. Selected role.

\n
\n", "signature": "(self, role_type: Type[~RoleType]) -> ~RoleType:", "funcdef": "def"}, {"fullname": "UniTAP.dev.device.TSIDevice.available_roles", "modulename": "UniTAP.dev.device", "qualname": "TSIDevice.available_roles", "kind": "variable", "doc": "

Returns available list of roles.

\n\n
Returns:
\n\n
\n

object of list type.

\n
\n", "annotation": ": list"}, {"fullname": "UniTAP.dev.device.TSIDevice.opf_handler", "modulename": "UniTAP.dev.device", "qualname": "TSIDevice.opf_handler", "kind": "variable", "doc": "

Returns current OPF handler.

\n\n
Returns:
\n\n
\n

object of handler type.

\n
\n"}, {"fullname": "UniTAP.dev.dev_3xx_roles", "modulename": "UniTAP.dev.dev_3xx_roles", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD340", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD340", "kind": "class", "doc": "

Class UCD340 describes of device UCD-340. Device has several possible role:

\n\n
    \n
  • 'USB-C, DP Alt Mode Reference Sink' USBCSink
  • \n
  • 'USB-C, DP Alt Mode Reference Source' USBCSource.
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD340.USBCSink", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD340.USBCSink", "kind": "class", "doc": "

Class USBCSink contains information of available functionality modules for role USB-C Sink (RX - receiver)\nrole:

\n\n
    \n
  • DPRX.
  • \n
  • DUTTests.
  • \n
  • PDC.
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD340.USBCSink.__init__", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD340.USBCSink.__init__", "kind": "function", "doc": "

\n", "signature": "(\tdev_io: UniTAP.libs.lib_tsi.tsi_io.DeviceIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD340.USBCSink.dprx", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD340.USBCSink.dprx", "kind": "variable", "doc": "

Returns DP Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of DPRX type.

\n
\n", "annotation": ": UniTAP.dev.ports.dprx.DPRX"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD340.USBCSink.pdcrx", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD340.USBCSink.pdcrx", "kind": "variable", "doc": "

Returns PDC Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of PDC340 type.

\n
\n", "annotation": ": UniTAP.dev.ports.pdc_port.PDC340"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD340.USBCSink.dut_tests", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD340.USBCSink.dut_tests", "kind": "variable", "doc": "

Returns DUT Test module.

\n\n
Returns:
\n\n
\n

object of DUTTests type.

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_tests.DUTTests"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD340.USBCSink.name", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD340.USBCSink.name", "kind": "variable", "doc": "

Returns name of role.

\n\n
Returns:
\n\n
\n

object of str type.

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD340.USBCSource", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD340.USBCSource", "kind": "class", "doc": "

Class USBCSource contains information of available functionality modules for role USB-C Source\n(TX - transmitter) role:

\n\n
    \n
  • DPTX.
  • \n
  • DUTTests.
  • \n
  • PDC.
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD340.USBCSource.__init__", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD340.USBCSource.__init__", "kind": "function", "doc": "

\n", "signature": "(\tdev_io: UniTAP.libs.lib_tsi.tsi_io.DeviceIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD340.USBCSource.dptx", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD340.USBCSource.dptx", "kind": "variable", "doc": "

Returns DP Source (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of DPTX type.

\n
\n", "annotation": ": UniTAP.dev.ports.dptx.DPTX"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD340.USBCSource.pdctx", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD340.USBCSource.pdctx", "kind": "variable", "doc": "

Returns PDC Source (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of PDC340 type.

\n
\n", "annotation": ": UniTAP.dev.ports.pdc_port.PDC340"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD340.USBCSource.dut_tests", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD340.USBCSource.dut_tests", "kind": "variable", "doc": "

Returns DUT Test module.

\n\n
Returns:
\n\n
\n

object of DUTTests type.

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_tests.DUTTests"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD340.USBCSource.name", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD340.USBCSource.name", "kind": "variable", "doc": "

Returns name of role.

\n\n
Returns:
\n\n
\n

object of str type.

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD340.ROLE_DICT", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD340.ROLE_DICT", "kind": "variable", "doc": "

\n", "default_value": "{'USB-C, DP Alt Mode Reference Sink': <class 'UniTAP.dev.dev_3xx_roles.UCD340.USBCSink'>, 'USB-C, DP Alt Mode Reference Source': <class 'UniTAP.dev.dev_3xx_roles.UCD340.USBCSource'>}"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD240", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD240", "kind": "class", "doc": "

Class UCD240 describes of device UCD-240 and have the same functionality as the class 'UCD340'.\nDevice has several possible role:

\n\n
    \n
  • 'USB-C, DP Alt Mode Reference Sink' USBCSink
  • \n
  • 'USB-C, DP Alt Mode Reference Source' USBCSource.
  • \n
\n", "bases": "UCD340"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323", "kind": "class", "doc": "

Class UCD323 describes of device UCD-323. Device has several possible role:

\n\n
    \n
  • 'DisplayPort Reference Sink (SST, HDCP 2.3)' DPSink
  • \n
  • 'DisplayPort Reference Source (SST, HDCP 2.3)' DPSource
  • \n
  • 'HDMI Reference Sink (HDCP 2.3)' HDMISink
  • \n
  • 'HDMI Reference Source (HDCP 2.3)' HDMISource
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.DPSink", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.DPSink", "kind": "class", "doc": "

Class DPSink contains information of available functionality modules for role DP Sink (RX - receiver) role:

\n\n
    \n
  • DPRX.
  • \n
  • DUTTests.
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.DPSink.__init__", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.DPSink.__init__", "kind": "function", "doc": "

\n", "signature": "(\tdev_io: UniTAP.libs.lib_tsi.tsi_io.DeviceIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.DPSink.dprx", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.DPSink.dprx", "kind": "variable", "doc": "

Returns DP Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of DPRX type.

\n
\n", "annotation": ": UniTAP.dev.ports.dprx.DPRX"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.DPSink.dut_tests", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.DPSink.dut_tests", "kind": "variable", "doc": "

Returns DUT Test module.

\n\n
Returns:
\n\n
\n

object of DUTTests type.

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_tests.DUTTests"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.DPSink.name", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.DPSink.name", "kind": "variable", "doc": "

Returns name of role.

\n\n
Returns:
\n\n
\n

object of str type.

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.DPSource", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.DPSource", "kind": "class", "doc": "

Class DPSink contains information of available functionality modules for role DP Source (TX - transmitter)\nrole:

\n\n
    \n
  • DPTX.
  • \n
  • DUTTests.
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.DPSource.__init__", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.DPSource.__init__", "kind": "function", "doc": "

\n", "signature": "(\tdev_io: UniTAP.libs.lib_tsi.tsi_io.DeviceIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.DPSource.dptx", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.DPSource.dptx", "kind": "variable", "doc": "

Returns DP Source (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of DPTX type.

\n
\n", "annotation": ": UniTAP.dev.ports.dptx.DPTX"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.DPSource.dut_tests", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.DPSource.dut_tests", "kind": "variable", "doc": "

Returns DUT Test module.

\n\n
Returns:
\n\n
\n

object of DUTTests type.

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_tests.DUTTests"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.DPSource.name", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.DPSource.name", "kind": "variable", "doc": "

Returns name of role.

\n\n
Returns:
\n\n
\n

object of str type.

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.HDMISink", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.HDMISink", "kind": "class", "doc": "

Class HDMISink contains information of available functionality modules for role HDMI Sink (RX - receiver)\nrole:

\n\n
    \n
  • HDRX.
  • \n
  • DUTTests.
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.HDMISink.__init__", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.HDMISink.__init__", "kind": "function", "doc": "

\n", "signature": "(\tdev_io: UniTAP.libs.lib_tsi.tsi_io.DeviceIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.HDMISink.hdrx", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.HDMISink.hdrx", "kind": "variable", "doc": "

Returns HDMI Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of HDRX type.

\n
\n", "annotation": ": UniTAP.dev.ports.hdrx.HDRX"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.HDMISink.dut_tests", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.HDMISink.dut_tests", "kind": "variable", "doc": "

Returns DUT Test module.

\n\n
Returns:
\n\n
\n

object of DUTTests type.

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_tests.DUTTests"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.HDMISink.name", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.HDMISink.name", "kind": "variable", "doc": "

Returns name of role.

\n\n
Returns:
\n\n
\n

object of str type.

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.HDMISource", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.HDMISource", "kind": "class", "doc": "

Class HDMISource contains information of available functionality modules for role HDMI Source\n(TX - transmitter) role:

\n\n
    \n
  • HDTX.
  • \n
  • DUTTests.
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.HDMISource.__init__", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.HDMISource.__init__", "kind": "function", "doc": "

\n", "signature": "(\tdev_io: UniTAP.libs.lib_tsi.tsi_io.DeviceIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.HDMISource.hdtx", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.HDMISource.hdtx", "kind": "variable", "doc": "

Returns HDMI Source (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of HDTX type.

\n
\n", "annotation": ": UniTAP.dev.ports.hdtx.HDTX"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.HDMISource.dut_tests", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.HDMISource.dut_tests", "kind": "variable", "doc": "

Returns DUT Test module.

\n\n
Returns:
\n\n
\n

object of DUTTests type.

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_tests.DUTTests"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.HDMISource.name", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.HDMISource.name", "kind": "variable", "doc": "

Returns name of role.

\n\n
Returns:
\n\n
\n

object of str type.

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD323.ROLE_DICT", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD323.ROLE_DICT", "kind": "variable", "doc": "

\n", "default_value": "{'DisplayPort Reference Sink (SST, HDCP 2.3)': <class 'UniTAP.dev.dev_3xx_roles.UCD323.DPSink'>, 'DisplayPort Reference Source (SST, HDCP 2.3)': <class 'UniTAP.dev.dev_3xx_roles.UCD323.DPSource'>, 'HDMI Reference Sink (HDCP 2.3)': <class 'UniTAP.dev.dev_3xx_roles.UCD323.HDMISink'>, 'HDMI Reference Source (HDCP 2.3)': <class 'UniTAP.dev.dev_3xx_roles.UCD323.HDMISource'>}"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD301", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD301", "kind": "class", "doc": "

Class UCD301 describes of device UCD-301. Device has several possible role:

\n\n
    \n
  • 'DisplayPort Reference Sink (SST, HDCP 2.3)' DPSink
  • \n
  • 'HDMI Reference Sink (HDCP 2.3)' HDMISink
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD301.DPSink", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD301.DPSink", "kind": "class", "doc": "

Class DPSink contains information of available functionality modules for role DP Sink (RX - receiver) role:

\n\n
    \n
  • DPRX.
  • \n
  • DUTTests.
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD301.DPSink.__init__", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD301.DPSink.__init__", "kind": "function", "doc": "

\n", "signature": "(\tdev_io: UniTAP.libs.lib_tsi.tsi_io.DeviceIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD301.DPSink.dprx", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD301.DPSink.dprx", "kind": "variable", "doc": "

Returns DP Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of DPRX type.

\n
\n", "annotation": ": UniTAP.dev.ports.dprx.DPRX"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD301.DPSink.dut_tests", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD301.DPSink.dut_tests", "kind": "variable", "doc": "

Returns DUT Test module.

\n\n
Returns:
\n\n
\n

object of DUTTests type.

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_tests.DUTTests"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD301.DPSink.name", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD301.DPSink.name", "kind": "variable", "doc": "

Returns name of role.

\n\n
Returns:
\n\n
\n

object of str type.

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD301.HDMISink", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD301.HDMISink", "kind": "class", "doc": "

Class HDMISink contains information of available functionality modules for role HDMI Sink (RX - receiver)\nrole:

\n\n
    \n
  • HDRX.
  • \n
  • DUTTests.
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD301.HDMISink.__init__", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD301.HDMISink.__init__", "kind": "function", "doc": "

\n", "signature": "(\tdev_io: UniTAP.libs.lib_tsi.tsi_io.DeviceIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD301.HDMISink.hdrx", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD301.HDMISink.hdrx", "kind": "variable", "doc": "

Returns HDMI Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of HDRX type.

\n
\n", "annotation": ": UniTAP.dev.ports.hdrx.HDRX"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD301.HDMISink.dut_tests", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD301.HDMISink.dut_tests", "kind": "variable", "doc": "

Returns DUT Test module.

\n\n
Returns:
\n\n
\n

object of DUTTests type.

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_tests.DUTTests"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD301.HDMISink.name", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD301.HDMISink.name", "kind": "variable", "doc": "

Returns name of role.

\n\n
Returns:
\n\n
\n

object of str type.

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD301.DPSinkHDMISink", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD301.DPSinkHDMISink", "kind": "class", "doc": "

Class DPSinkHDMISink contains information of available functionality modules for role DP and HDMI Sink\n(RX - receiver) role:

\n\n
    \n
  • DPRX.
  • \n
  • HDRX.
  • \n
  • DUTTests.
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD301.DPSinkHDMISink.__init__", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD301.DPSinkHDMISink.__init__", "kind": "function", "doc": "

\n", "signature": "(\tdev_io: UniTAP.libs.lib_tsi.tsi_io.DeviceIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD301.DPSinkHDMISink.hdrx", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD301.DPSinkHDMISink.hdrx", "kind": "variable", "doc": "

Returns HDMI Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of HDRX type.

\n
\n", "annotation": ": UniTAP.dev.ports.hdrx.HDRX"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD301.DPSinkHDMISink.dprx", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD301.DPSinkHDMISink.dprx", "kind": "variable", "doc": "

Returns DP Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of DPRX type.

\n
\n", "annotation": ": UniTAP.dev.ports.dprx.DPRX"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD301.DPSinkHDMISink.dut_tests", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD301.DPSinkHDMISink.dut_tests", "kind": "variable", "doc": "

Returns DUT Test module.

\n\n
Returns:
\n\n
\n

object of DUTTests type.

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_tests.DUTTests"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD301.DPSinkHDMISink.name", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD301.DPSinkHDMISink.name", "kind": "variable", "doc": "

Returns name of role.

\n\n
Returns:
\n\n
\n

object of str type.

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.dev_3xx_roles.UCD301.ROLE_DICT", "modulename": "UniTAP.dev.dev_3xx_roles", "qualname": "UCD301.ROLE_DICT", "kind": "variable", "doc": "

\n", "default_value": "{'DisplayPort Reference Sink (SST, HDCP 2.3)': <class 'UniTAP.dev.dev_3xx_roles.UCD301.DPSink'>, 'HDMI, DisplayPort (SST), SPDIF Reference Sink': <class 'UniTAP.dev.dev_3xx_roles.UCD301.DPSinkHDMISink'>, 'HDMI Reference Sink (HDCP 2.3)': <class 'UniTAP.dev.dev_3xx_roles.UCD301.HDMISink'>}"}, {"fullname": "UniTAP.dev.dev_4xx_roles", "modulename": "UniTAP.dev.dev_4xx_roles", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD400", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD400", "kind": "class", "doc": "

Class UCD400 describes of device UCD-400. Device has one possible role:

\n\n
    \n
  • 'DisplayPort Source and Sink' DPSourceDPSink
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD400.DPSourceDPSink", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD400.DPSourceDPSink", "kind": "class", "doc": "

Class DPSourceDPSink contains information of available functionality modules for role DP Sink\n(RX - receiver) and DP Source (TX - transmitter) roles:

\n\n
    \n
  • DPRX4xx.
  • \n
  • DPTX4xx.
  • \n
  • DUTTests.
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD400.DPSourceDPSink.__init__", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD400.DPSourceDPSink.__init__", "kind": "function", "doc": "

\n", "signature": "(\tdev_io: UniTAP.libs.lib_tsi.tsi_io.DeviceIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD400.DPSourceDPSink.dprx", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD400.DPSourceDPSink.dprx", "kind": "variable", "doc": "

Returns DP Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of DPRX4xx type.

\n
\n", "annotation": ": UniTAP.dev.ports.dprx4xx.DPRX4xx"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD400.DPSourceDPSink.dptx", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD400.DPSourceDPSink.dptx", "kind": "variable", "doc": "

Returns DP Source (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of DPTX4xx type.

\n
\n", "annotation": ": UniTAP.dev.ports.dptx4xx.DPTX4xx"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD400.DPSourceDPSink.dut_tests", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD400.DPSourceDPSink.dut_tests", "kind": "variable", "doc": "

Returns DUT Test module.

\n\n
Returns:
\n\n
\n

object of DUTTests type.

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_tests.DUTTests"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD400.DPSourceDPSink.name", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD400.DPSourceDPSink.name", "kind": "variable", "doc": "

Returns name of role.

\n\n
Returns:
\n\n
\n

object of str type.

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD400.ROLE_DICT", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD400.ROLE_DICT", "kind": "variable", "doc": "

\n", "default_value": "{'DisplayPort Source and Sink': <class 'UniTAP.dev.dev_4xx_roles.UCD400.DPSourceDPSink'>}"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD422", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD422", "kind": "class", "doc": "

Class UCD422 describes of device UCD-422. Device has one possible role:

\n\n
    \n
  • 'HDMI Source and Sink' HDMISourceHDMISink
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD422.HDMISourceHDMISink", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD422.HDMISourceHDMISink", "kind": "class", "doc": "

Class DPSourceDPSink contains information of available functionality modules for role HDMI Sink\n(RX - receiver) and HDMI Source (TX - transmitter) roles:

\n\n
    \n
  • HDRX4xx.
  • \n
  • HDTX4xx.
  • \n
  • DUTTests.
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD422.HDMISourceHDMISink.__init__", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD422.HDMISourceHDMISink.__init__", "kind": "function", "doc": "

\n", "signature": "(\tdev_io: UniTAP.libs.lib_tsi.tsi_io.DeviceIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD422.HDMISourceHDMISink.hdtx", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD422.HDMISourceHDMISink.hdtx", "kind": "variable", "doc": "

Returns HDMI Source (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of HDTX4xx type.

\n
\n", "annotation": ": UniTAP.dev.ports.hdtx4xx.HDTX4xx"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD422.HDMISourceHDMISink.hdrx", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD422.HDMISourceHDMISink.hdrx", "kind": "variable", "doc": "

Returns HDMI Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of HDRX4xx type.

\n
\n", "annotation": ": UniTAP.dev.ports.hdrx4xx.HDRX4xx"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD422.HDMISourceHDMISink.dut_tests", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD422.HDMISourceHDMISink.dut_tests", "kind": "variable", "doc": "

Returns DUT Test module.

\n\n
Returns:
\n\n
\n

object of DUTTests type.

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_tests.DUTTests"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD422.HDMISourceHDMISink.name", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD422.HDMISourceHDMISink.name", "kind": "variable", "doc": "

Returns name of role.

\n\n
Returns:
\n\n
\n

object of str type.

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD422.ROLE_DICT", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD422.ROLE_DICT", "kind": "variable", "doc": "

\n", "default_value": "{'HDMI Source and Sink': <class 'UniTAP.dev.dev_4xx_roles.UCD422.HDMISourceHDMISink'>}"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD424", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD424", "kind": "class", "doc": "

Class UCD424 describes of device UCD-424. Device has one possible role:

\n\n
    \n
  • 'USB-C Source and Sink' USBCSourceUSBCSink.
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD424.USBCSourceUSBCSink", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD424.USBCSourceUSBCSink", "kind": "class", "doc": "

Class DPSourceDPSink contains information of available functionality modules for role HDMI Sink\n(RX - receiver) and HDMI Source (TX - transmitter) roles:

\n\n
    \n
  • DPRX4xx.
  • \n
  • DPTX4xx.
  • \n
  • DUTTests.
  • \n
  • PDC.
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD424.USBCSourceUSBCSink.__init__", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD424.USBCSourceUSBCSink.__init__", "kind": "function", "doc": "

\n", "signature": "(\tdev_io: UniTAP.libs.lib_tsi.tsi_io.DeviceIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD424.USBCSourceUSBCSink.dprx", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD424.USBCSourceUSBCSink.dprx", "kind": "variable", "doc": "

Returns DP Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of DPRX4xx type.

\n
\n", "annotation": ": UniTAP.dev.ports.dprx4xx.DPRX4xx"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD424.USBCSourceUSBCSink.dptx", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD424.USBCSourceUSBCSink.dptx", "kind": "variable", "doc": "

Returns DP Source (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of DPTX4xx type.

\n
\n", "annotation": ": UniTAP.dev.ports.dptx4xx.DPTX4xx"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD424.USBCSourceUSBCSink.pdcrx", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD424.USBCSourceUSBCSink.pdcrx", "kind": "variable", "doc": "

Returns PDC Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of PDC424 type.

\n
\n", "annotation": ": UniTAP.dev.ports.pdc_port.PDC424"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD424.USBCSourceUSBCSink.pdctx", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD424.USBCSourceUSBCSink.pdctx", "kind": "variable", "doc": "

Returns PDC source (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of PDC424 type.

\n
\n", "annotation": ": UniTAP.dev.ports.pdc_port.PDC424"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD424.USBCSourceUSBCSink.dut_tests", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD424.USBCSourceUSBCSink.dut_tests", "kind": "variable", "doc": "

Returns DUT Test module.

\n\n
Returns:
\n\n
\n

object of DUTTests type.

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_tests.DUTTests"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD424.USBCSourceUSBCSink.name", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD424.USBCSourceUSBCSink.name", "kind": "variable", "doc": "

Returns name of role.

\n\n
Returns:
\n\n
\n

object of str type.

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.dev_4xx_roles.UCD424.ROLE_DICT", "modulename": "UniTAP.dev.dev_4xx_roles", "qualname": "UCD424.ROLE_DICT", "kind": "variable", "doc": "

\n", "default_value": "{'USB-C Source and Sink': <class 'UniTAP.dev.dev_4xx_roles.UCD424.USBCSourceUSBCSink'>}"}, {"fullname": "UniTAP.dev.dev_5xx_roles", "modulename": "UniTAP.dev.dev_5xx_roles", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500", "kind": "class", "doc": "

Class UCD500 describes of device UCD-500. Device has one possible role:

\n\n
    \n
  • 'DisplayPort Source and Sink' DPSourceDPSink.
  • \n
  • 'DisplayPort Source and USB-C, DP Alt Mode Sink' DPSourceUSBCSink.
  • \n
  • 'DisplayPort Sink and USB-C, DP Alt Mode Source' USBCSourceDPSink.
  • \n
  • 'USB-C, DP Alt Mode Source and Sink' USBCSourceUSBCSink.
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.DPSourceDPSink", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.DPSourceDPSink", "kind": "class", "doc": "

Class DPSourceDPSink contains information of available functionality modules for role DP Sink\n(RX - receiver) and DP Source (TX - transmitter) roles:

\n\n
    \n
  • DPRX5xx.
  • \n
  • DPTX5xx.
  • \n
  • DUTTests.
  • \n
\n"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.DPSourceDPSink.__init__", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.DPSourceDPSink.__init__", "kind": "function", "doc": "

\n", "signature": "(\tdev_io: UniTAP.libs.lib_tsi.tsi_io.DeviceIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.DPSourceDPSink.dprx", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.DPSourceDPSink.dprx", "kind": "variable", "doc": "

Returns DP Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of DPRX5xx type.

\n
\n", "annotation": ": UniTAP.dev.ports.dprx5xx.DPRX5xx"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.DPSourceDPSink.dptx", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.DPSourceDPSink.dptx", "kind": "variable", "doc": "

Returns DP Source (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of DPTX5xx type.

\n
\n", "annotation": ": UniTAP.dev.ports.dptx5xx.DPTX5xx"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.DPSourceDPSink.dut_tests", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.DPSourceDPSink.dut_tests", "kind": "variable", "doc": "

Returns DUT Test module.

\n\n
Returns:
\n\n
\n

object of DUTTests type.

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_tests.DUTTests"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.DPSourceDPSink.name", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.DPSourceDPSink.name", "kind": "variable", "doc": "

Returns name of role.

\n\n
Returns:
\n\n
\n

object of str type.

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.DPSourceUSBCSink", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.DPSourceUSBCSink", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.DPSourceUSBCSink.__init__", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.DPSourceUSBCSink.__init__", "kind": "function", "doc": "

\n", "signature": "(\tdev_io: UniTAP.libs.lib_tsi.tsi_io.DeviceIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.DPSourceUSBCSink.dprx", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.DPSourceUSBCSink.dprx", "kind": "variable", "doc": "

Returns DP Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of DPRX5xx type.

\n
\n", "annotation": ": UniTAP.dev.ports.dprx5xx.DPRX5xx"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.DPSourceUSBCSink.dptx", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.DPSourceUSBCSink.dptx", "kind": "variable", "doc": "

Returns DP Source (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of DPTX5xx type.

\n
\n", "annotation": ": UniTAP.dev.ports.dptx5xx.DPTX5xx"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.DPSourceUSBCSink.pdcrx", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.DPSourceUSBCSink.pdcrx", "kind": "variable", "doc": "

Returns PDC Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of PDC500 type.

\n
\n", "annotation": ": UniTAP.dev.ports.pdc_port.PDC500"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.DPSourceUSBCSink.dut_tests", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.DPSourceUSBCSink.dut_tests", "kind": "variable", "doc": "

Returns DUT Test module.

\n\n
Returns:
\n\n
\n

object of DUTTests type.

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_tests.DUTTests"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.DPSourceUSBCSink.name", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.DPSourceUSBCSink.name", "kind": "variable", "doc": "

Returns name of role.

\n\n
Returns:
\n\n
\n

object of str type.

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.USBCSourceDPSink", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.USBCSourceDPSink", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.USBCSourceDPSink.__init__", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.USBCSourceDPSink.__init__", "kind": "function", "doc": "

\n", "signature": "(\tdev_io: UniTAP.libs.lib_tsi.tsi_io.DeviceIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.USBCSourceDPSink.dprx", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.USBCSourceDPSink.dprx", "kind": "variable", "doc": "

Returns DP Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of DPRX5xx type.

\n
\n", "annotation": ": UniTAP.dev.ports.dprx5xx.DPRX5xx"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.USBCSourceDPSink.dptx", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.USBCSourceDPSink.dptx", "kind": "variable", "doc": "

Returns DP Source (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of DPTX5xx type.

\n
\n", "annotation": ": UniTAP.dev.ports.dptx5xx.DPTX5xx"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.USBCSourceDPSink.pdctx", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.USBCSourceDPSink.pdctx", "kind": "variable", "doc": "

Returns PDC source (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of PDC500 type.

\n
\n", "annotation": ": UniTAP.dev.ports.pdc_port.PDC500"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.USBCSourceDPSink.dut_tests", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.USBCSourceDPSink.dut_tests", "kind": "variable", "doc": "

Returns DUT Test module.

\n\n
Returns:
\n\n
\n

object of DUTTests type.

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_tests.DUTTests"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.USBCSourceDPSink.name", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.USBCSourceDPSink.name", "kind": "variable", "doc": "

Returns name of role.

\n\n
Returns:
\n\n
\n

object of str type.

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.USBCSourceUSBCSink", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.USBCSourceUSBCSink", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.USBCSourceUSBCSink.__init__", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.USBCSourceUSBCSink.__init__", "kind": "function", "doc": "

\n", "signature": "(\tdev_io: UniTAP.libs.lib_tsi.tsi_io.DeviceIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.USBCSourceUSBCSink.dprx", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.USBCSourceUSBCSink.dprx", "kind": "variable", "doc": "

Returns DP Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of DPRX5xx type.

\n
\n", "annotation": ": UniTAP.dev.ports.dprx5xx.DPRX5xx"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.USBCSourceUSBCSink.dptx", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.USBCSourceUSBCSink.dptx", "kind": "variable", "doc": "

Returns DP Source (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of DPTX5xx type.

\n
\n", "annotation": ": UniTAP.dev.ports.dptx5xx.DPTX5xx"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.USBCSourceUSBCSink.pdcrx", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.USBCSourceUSBCSink.pdcrx", "kind": "variable", "doc": "

Returns PDC Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of PDC500 type.

\n
\n", "annotation": ": UniTAP.dev.ports.pdc_port.PDC500"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.USBCSourceUSBCSink.pdctx", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.USBCSourceUSBCSink.pdctx", "kind": "variable", "doc": "

Returns PDC source (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of PDC500 type.

\n
\n", "annotation": ": UniTAP.dev.ports.pdc_port.PDC500"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.USBCSourceUSBCSink.dut_tests", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.USBCSourceUSBCSink.dut_tests", "kind": "variable", "doc": "

Returns DUT Test module.

\n\n
Returns:
\n\n
\n

object of DUTTests type.

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_tests.DUTTests"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.USBCSourceUSBCSink.name", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.USBCSourceUSBCSink.name", "kind": "variable", "doc": "

Returns name of role.

\n\n
Returns:
\n\n
\n

object of str type.

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.dev_5xx_roles.UCD500.ROLE_DICT", "modulename": "UniTAP.dev.dev_5xx_roles", "qualname": "UCD500.ROLE_DICT", "kind": "variable", "doc": "

\n", "default_value": "{'DisplayPort Source and Sink': <class 'UniTAP.dev.dev_5xx_roles.UCD500.DPSourceDPSink'>, 'DisplayPort Source and USB-C, DP Alt Mode Sink': <class 'UniTAP.dev.dev_5xx_roles.UCD500.DPSourceUSBCSink'>, 'DisplayPort Sink and USB-C, DP Alt Mode Source': <class 'UniTAP.dev.dev_5xx_roles.UCD500.USBCSourceDPSink'>, 'USB-C, DP Alt Mode Source and Sink': <class 'UniTAP.dev.dev_5xx_roles.UCD500.USBCSourceUSBCSink'>}"}, {"fullname": "UniTAP.dev.modules.capturer.result_object", "modulename": "UniTAP.dev.modules.capturer.result_object", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.capturer.result_object.ResultObject", "modulename": "UniTAP.dev.modules.capturer.result_object", "qualname": "ResultObject", "kind": "class", "doc": "

The base class of all capture results.\nContains information about start_capture_time, end_capture_time, timestamp and buffer with captured data.

\n"}, {"fullname": "UniTAP.dev.modules.capturer.result_object.ResultObject.start_capture_time", "modulename": "UniTAP.dev.modules.capturer.result_object", "qualname": "ResultObject.start_capture_time", "kind": "variable", "doc": "

Return start capture time.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.capturer.result_object.ResultObject.end_capture_time", "modulename": "UniTAP.dev.modules.capturer.result_object", "qualname": "ResultObject.end_capture_time", "kind": "variable", "doc": "

Return end capture time.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.capturer.result_object.ResultObject.timestamp", "modulename": "UniTAP.dev.modules.capturer.result_object", "qualname": "ResultObject.timestamp", "kind": "variable", "doc": "

Return timestamp.

\n\n
Returns:
\n\n
\n

object of Timestamp type

\n
\n", "annotation": ": UniTAP.common.timestamp.Timestamp"}, {"fullname": "UniTAP.dev.modules.capturer.result_object.ResultObject.buffer", "modulename": "UniTAP.dev.modules.capturer.result_object", "qualname": "ResultObject.buffer", "kind": "variable", "doc": "

Return buffer with captured data.

\n\n
Returns:
\n\n
\n

object of list type

\n
\n", "annotation": ": list"}, {"fullname": "UniTAP.dev.modules.capturer.result_object.ResultObject.clear", "modulename": "UniTAP.dev.modules.capturer.result_object", "qualname": "ResultObject.clear", "kind": "function", "doc": "

Clear all data.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.Test", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "Test", "kind": "class", "doc": "

Class TestGroup describes template of usual test.\nContains info of:

\n\n
    \n
  • Test name name.
  • \n
  • Test ID id
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.Test.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "Test.__init__", "kind": "function", "doc": "

\n", "signature": "(name: str, test_id: int)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.Test.name", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "Test.name", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.Test.id", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "Test.id", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.TestGroup", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "TestGroup", "kind": "class", "doc": "

Class TestGroup describes template of usual test group.\nContains info of:

\n\n
    \n
  • Test count test_count.
  • \n
  • Tests tests.
  • \n
  • Name name.
  • \n
  • ID id.
  • \n
\n", "bases": "typing.Generic[~DUTTestParameters]"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.TestGroup.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "TestGroup.__init__", "kind": "function", "doc": "

\n", "signature": "(_id: UniTAP.dev.modules.dut_tests.test_info.TestGroupId, name: str)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.TestGroup.test_count", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "TestGroup.test_count", "kind": "variable", "doc": "

Test count of test group.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.TestGroup.tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "TestGroup.tests", "kind": "variable", "doc": "

Returns tests.

\n\n
Returns:
\n\n
\n

object of `` type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.TestGroup.name", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "TestGroup.name", "kind": "variable", "doc": "

Returns test group name.

\n\n
Returns:
\n\n
\n

object of str type

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.TestGroup.id", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "TestGroup.id", "kind": "variable", "doc": "

Returns ID of test group.

\n\n
Returns:
\n\n
\n

object of id type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.test_info.TestGroupId"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.DUTTests", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "DUTTests", "kind": "class", "doc": "

Class DUTTests allows working with available tests on the device.

\n\n
    \n
  • Run run.
  • \n
  • Get default parameters for selected test group get_default_parameters.
  • \n
  • Get available test count in selected group number_tests_in_group.
  • \n
  • Get all test results get_all_tests_results.
  • \n
  • Clear all test results clear_results.
  • \n
  • Get information of available test groups info_of_available_test_groups.
  • \n
  • Make report after testing make_report.
  • \n
  • Run test from file run_from_file - Not implemented. Will be added later.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.DUTTests.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "DUTTests.__init__", "kind": "function", "doc": "

\n", "signature": "(dev_io: UniTAP.libs.lib_tsi.tsi_io.DeviceIO)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.DUTTests.run", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "DUTTests.run", "kind": "function", "doc": "

Run selected test of test group.

\n\n
Arguments:
\n\n
    \n
  • group_id (TestGroupId) - test group id
  • \n
  • test_id (int)
  • \n
  • params (DUTTestParameters) - one of the variants of params
  • \n
  • print_fw_logs (bool) - print FW logs (enable/disable)
  • \n
  • test_delay (int) - delay between tests (in seconds)
  • \n
\n", "signature": "(\tself,\tgroup_id: UniTAP.dev.modules.dut_tests.test_info.TestGroupId,\ttest_id: int,\tparams: Optional[~DUTTestParameters] = None,\tprint_fw_logs: bool = True,\ttest_delay: int = 0) -> UniTAP.dev.modules.dut_tests.test_info.SubTestResultObject:", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.DUTTests.get_params_from_file", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "DUTTests.get_params_from_file", "kind": "function", "doc": "

Get test parameters from transferred file: td or json (not cdf).

\n\n
Arguments:
\n\n
    \n
  • path ('str') - full path to config file
  • \n
\n", "signature": "(\tself,\tpath: str) -> Tuple[UniTAP.dev.modules.dut_tests.test_info.TestGroupId, int, ~DUTTestParameters]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.DUTTests.get_params_from_cdf_file", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "DUTTests.get_params_from_cdf_file", "kind": "function", "doc": "

Get test parameters from transferred file: json (cdf).

\n\n
Arguments:
\n\n
    \n
  • path ('str') - full path to config file
  • \n
\n", "signature": "(self, path: str) -> ~DUTTestParameters:", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.DUTTests.get_default_parameters", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "DUTTests.get_default_parameters", "kind": "function", "doc": "

Get predefined (default) parameters of test group.

\n\n
Arguments:
\n\n
    \n
  • group_type (DUTTestParameters) - test group id
  • \n
\n\n
Returns:
\n\n
\n

object of DUTTestParameters type

\n
\n", "signature": "(self, group_type: Type[~DUTTestParameters]) -> ~DUTTestParameters:", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.DUTTests.number_tests_in_group", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "DUTTests.number_tests_in_group", "kind": "function", "doc": "

Returns all count of available tests of selected test group.

\n\n
Arguments:
\n\n
    \n
  • group_id (TestGroupId) - test group id
  • \n
\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "signature": "(\tself,\tgroup_id: UniTAP.dev.modules.dut_tests.test_info.TestGroupId) -> int:", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.DUTTests.get_test_name", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "DUTTests.get_test_name", "kind": "function", "doc": "

Returns test name by test id in selected test group.

\n\n
Arguments:
\n\n
    \n
  • group_id (TestGroupId) - test group id
  • \n
  • test_id (int) - test id
  • \n
\n\n
Returns:
\n\n
\n

object of str type

\n
\n", "signature": "(\tself,\tgroup_id: UniTAP.dev.modules.dut_tests.test_info.TestGroupId,\ttest_id: int) -> str:", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.DUTTests.get_test_id_by_name", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "DUTTests.get_test_id_by_name", "kind": "function", "doc": "

Returns test ID by test name id in selected test group.

\n\n
Arguments:
\n\n
    \n
  • group_id (TestGroupId) - test group id
  • \n
  • name (str) - test name or part name of the test
  • \n
\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "signature": "(\tself,\tgroup_id: UniTAP.dev.modules.dut_tests.test_info.TestGroupId,\tname: str) -> int:", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.DUTTests.get_test_id_list_by_name", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "DUTTests.get_test_id_list_by_name", "kind": "function", "doc": "

Returns list of test ID by test name id in selected test group.

\n\n
Arguments:
\n\n
    \n
  • group_id (TestGroupId) - test group id
  • \n
  • name (str) - test name or part name of the test
  • \n
\n\n
Returns:
\n\n
\n

object of list[int] type

\n
\n", "signature": "(\tself,\tgroup_id: UniTAP.dev.modules.dut_tests.test_info.TestGroupId,\tname: str) -> List[int]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.DUTTests.print_test_params", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "DUTTests.print_test_params", "kind": "function", "doc": "

Print all test parameters in readable format.

\n\n
Arguments:
\n\n
    \n
  • params (DUTTestParameters) - type of params
  • \n
\n", "signature": "(params: ~DUTTestParameters):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.DUTTests.get_all_tests_results", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "DUTTests.get_all_tests_results", "kind": "function", "doc": "

Returns all test result. Combined in one TestResultObject object.

\n\n
Returns:
\n\n
\n

object of TestResultObject type

\n
\n", "signature": "(self) -> UniTAP.dev.modules.dut_tests.test_info.TestResultObject:", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.DUTTests.clear_results", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "DUTTests.clear_results", "kind": "function", "doc": "

Clear all results.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.DUTTests.info_of_available_test_groups", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "DUTTests.info_of_available_test_groups", "kind": "variable", "doc": "

Returns all info in string format of test groups.

\n\n
Returns:
\n\n
\n

object of str type

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_tests.DUTTests.make_report", "modulename": "UniTAP.dev.modules.dut_tests.dut_tests", "qualname": "DUTTests.make_report", "kind": "function", "doc": "

Make report after testing.

\n\n
Arguments:
\n\n
    \n
  • path (str) - path to save report
  • \n
  • tested_by (str) - who tested
  • \n
  • dut_driver_version (str) - DUT driver version
  • \n
  • dut_firmware_version (str) - DUT FW version
  • \n
  • dut_model_name (str) - DUT model name
  • \n
  • dut_revision (str) - DUT revision
  • \n
  • dut_serial_number (str) - DUT serial number
  • \n
  • remarks (int) - additional remarks of testing
  • \n
  • results (list|None) - results of testing (if list is empty or None, usually use internal list of test
  • \n
  • results, which was filled during testing)
  • \n
\n", "signature": "(\tself,\tpath: str = 'Report.html',\ttested_by='',\tdut_driver_version='',\tdut_firmware_version='',\tdut_model_name='',\tdut_revision='',\tdut_serial_number='',\tremarks='',\tresults=None):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestStatusEnum", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestStatusEnum", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestStatusEnum.Idle", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestStatusEnum.Idle", "kind": "variable", "doc": "

\n", "default_value": "<TestStatusEnum.Idle: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestStatusEnum.Completed", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestStatusEnum.Completed", "kind": "variable", "doc": "

\n", "default_value": "<TestStatusEnum.Completed: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestStatusEnum.InProgress", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestStatusEnum.InProgress", "kind": "variable", "doc": "

\n", "default_value": "<TestStatusEnum.InProgress: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId", "kind": "class", "doc": "

Class TestGroupId contains all possible variants of Test groups ID.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.UNKNOWN", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.UNKNOWN", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.UNKNOWN: -1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.AUDIO_TEST", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.AUDIO_TEST", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.AUDIO_TEST: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_RX_ELECTRICAL", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_RX_ELECTRICAL", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_RX_ELECTRICAL: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.HDMI_RX_ELECTRICAL", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.HDMI_RX_ELECTRICAL", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.HDMI_RX_ELECTRICAL: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DVI_RX_ELECTRICAL", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DVI_RX_ELECTRICAL", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DVI_RX_ELECTRICAL: 3>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.CEC_FUNCTIONAL", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.CEC_FUNCTIONAL", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.CEC_FUNCTIONAL: 5>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_RX_CRC", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_RX_CRC", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_RX_CRC: 6>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_RX_SIMPLE_LT", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_RX_SIMPLE_LT", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_RX_SIMPLE_LT: 7>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_HDCP_CTS_AUTHENTICATION", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_HDCP_CTS_AUTHENTICATION", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_HDCP_CTS_AUTHENTICATION: 10>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.HDMI_RX_CRC", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.HDMI_RX_CRC", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.HDMI_RX_CRC: 11>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.USB_TYPE_C_ELECTRICAL", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.USB_TYPE_C_ELECTRICAL", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.USB_TYPE_C_ELECTRICAL: 12>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_RX_LL_CTS", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_RX_LL_CTS", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_RX_LL_CTS: 14>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_TX_LL_CTS", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_TX_LL_CTS", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_TX_LL_CTS: 15>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_TX_LL_CTS_DSC", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_TX_LL_CTS_DSC", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_TX_LL_CTS_DSC: 16>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_RX_LL_CTS_DSC", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_RX_LL_CTS_DSC", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_RX_LL_CTS_DSC: 17>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_2_1_RX_LL_CTS", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_2_1_RX_LL_CTS", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_2_1_RX_LL_CTS: 18>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_2_1_TX_LL_CTS", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_2_1_TX_LL_CTS", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_2_1_TX_LL_CTS: 19>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_2_1_LTTPR_CTS", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_2_1_LTTPR_CTS", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_2_1_LTTPR_CTS: 20>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_HDCP_CTS_1A", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_HDCP_CTS_1A", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_HDCP_CTS_1A: 38>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_HDCP_CTS_1B", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_HDCP_CTS_1B", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_HDCP_CTS_1B: 39>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_HDCP_CTS_2C", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_HDCP_CTS_2C", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_HDCP_CTS_2C: 40>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_HDCP_CTS_3A", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_HDCP_CTS_3A", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_HDCP_CTS_3A: 41>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_HDCP_CTS_3B", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_HDCP_CTS_3B", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_HDCP_CTS_3B: 42>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_HDCP_CTS_3C", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_HDCP_CTS_3C", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_HDCP_CTS_3C: 43>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_TX_DISPLAYID", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_TX_DISPLAYID", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_TX_DISPLAYID: 50>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_RX_DISPLAYID", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_RX_DISPLAYID", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_RX_DISPLAYID: 51>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.HDMI_RX_VRR", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.HDMI_RX_VRR", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.HDMI_RX_VRR: 52>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.HDMI_TX_VRR", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.HDMI_TX_VRR", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.HDMI_TX_VRR: 53>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_TX_ADAPTIVESYNC", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_TX_ADAPTIVESYNC", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_TX_ADAPTIVESYNC: 54>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_RX_ADAPTIVESYNC", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_RX_ADAPTIVESYNC", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_RX_ADAPTIVESYNC: 55>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_2_1_RX_LTTPR_CTS", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_2_1_RX_LTTPR_CTS", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_2_1_RX_LTTPR_CTS: 56>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_2_1_TX_LTTPR_CTS", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_2_1_TX_LTTPR_CTS", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_2_1_TX_LTTPR_CTS: 57>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_2_1_RX_DSC_CTS", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_2_1_RX_DSC_CTS", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_2_1_RX_DSC_CTS: 58>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_2_1_TX_DSC_CTS", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_2_1_TX_DSC_CTS", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_2_1_TX_DSC_CTS: 59>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_2_1_TX_DISPAYID", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_2_1_TX_DISPAYID", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_2_1_TX_DISPAYID: 60>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_2_1_RX_DISPAYID", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_2_1_RX_DISPAYID", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_2_1_RX_DISPAYID: 61>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_2_1_TX_ADAPTIVESYNC", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_2_1_TX_ADAPTIVESYNC", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_2_1_TX_ADAPTIVESYNC: 62>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.DP_2_1_RX_ADAPTIVESYNC", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.DP_2_1_RX_ADAPTIVESYNC", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.DP_2_1_RX_ADAPTIVESYNC: 63>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.HD_RX_DSC_CTS", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.HD_RX_DSC_CTS", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.HD_RX_DSC_CTS: 64>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.HD_TX_DSC_CTS", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.HD_TX_DSC_CTS", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.HD_TX_DSC_CTS: 65>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.HD_TX_CONTINUITY", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.HD_TX_CONTINUITY", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.HD_TX_CONTINUITY: 66>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.HD_TX_CABLE_CHECK", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.HD_TX_CABLE_CHECK", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.HD_TX_CABLE_CHECK: 67>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.PIXEL_VIDEO_TEST", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.PIXEL_VIDEO_TEST", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.PIXEL_VIDEO_TEST: 1000>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.HDR10_TEST", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.HDR10_TEST", "kind": "variable", "doc": "

\n", "default_value": "<TestGroupId.HDR10_TEST: -2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestGroupId.has_value", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestGroupId.has_value", "kind": "function", "doc": "

\n", "signature": "(cls, value) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.SubTestResultObject", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "SubTestResultObject", "kind": "class", "doc": "

Class SubTestResultObject contains information about testing of one test.

\n\n
    \n
  • Set and get Test result test_result.
  • \n
  • Set and get FW logs after testing fw_logs.
  • \n
  • Set and get Configuration information config_info.
  • \n
  • Set and get Error code error_code.
  • \n
  • Set and get Error logs error_logs.
  • \n
  • Set and get Test name test_name.
  • \n
  • Set and get Group name group_name.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.SubTestResultObject.__init__", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "SubTestResultObject.__init__", "kind": "function", "doc": "

\n", "signature": "(group_name: str, debug: bool)"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.SubTestResultObject.test_result", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "SubTestResultObject.test_result", "kind": "variable", "doc": "

Returns result after testing.

\n\n
Returns:
\n\n
\n

object of TestResult type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.report.report_maker.TestResult"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.SubTestResultObject.fw_logs", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "SubTestResultObject.fw_logs", "kind": "variable", "doc": "

Returns FW logs after testing.

\n\n
Returns:
\n\n
\n

object of str type

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.SubTestResultObject.config_info", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "SubTestResultObject.config_info", "kind": "variable", "doc": "

Returns config info after testing.

\n\n
Returns:
\n\n
\n

object of str type

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.SubTestResultObject.error_code", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "SubTestResultObject.error_code", "kind": "variable", "doc": "

Returns error code after testing.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.SubTestResultObject.error_logs", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "SubTestResultObject.error_logs", "kind": "variable", "doc": "

Returns error logs after testing.

\n\n
Returns:
\n\n
\n

object of str type

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.SubTestResultObject.test_name", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "SubTestResultObject.test_name", "kind": "variable", "doc": "

Returns test name.

\n\n
Returns:
\n\n
\n

object of str type

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.SubTestResultObject.group_name", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "SubTestResultObject.group_name", "kind": "variable", "doc": "

Returns test group name.

\n\n
Returns:
\n\n
\n

object of str type

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.SubTestResultObject.test_delay", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "SubTestResultObject.test_delay", "kind": "variable", "doc": "

Returns test delay.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.SubTestResultObject.debug", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "SubTestResultObject.debug", "kind": "variable", "doc": "

Returns debug test state (if you want to use special debug flags, your report will not valid).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.SubTestResultObject.json_config_info", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "SubTestResultObject.json_config_info", "kind": "variable", "doc": "

Returns json test config info.

\n\n
Returns:
\n\n
\n

object of base64 str type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestResultObject", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestResultObject", "kind": "class", "doc": "

Class TestResultObject allows get test results.

\n\n
    \n
  • Test result of selected test test_result.
  • \n
  • All test results all_test_results.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestResultObject.__init__", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestResultObject.__init__", "kind": "function", "doc": "

\n", "signature": "(\tresults: Union[UniTAP.dev.modules.dut_tests.test_info.SubTestResultObject, List[UniTAP.dev.modules.dut_tests.test_info.SubTestResultObject]])"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestResultObject.test_result", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestResultObject.test_result", "kind": "function", "doc": "

Test result of selected test.

\n\n
Arguments:
\n\n
    \n
  • index (int)
  • \n
\n\n
Returns:
\n\n
\n

object of SubTestResultObject|None type

\n
\n", "signature": "(\tself,\tindex: int) -> Optional[UniTAP.dev.modules.dut_tests.test_info.SubTestResultObject]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.test_info.TestResultObject.all_test_results", "modulename": "UniTAP.dev.modules.dut_tests.test_info", "qualname": "TestResultObject.all_test_results", "kind": "function", "doc": "
Returns:
\n\n
\n

object of list type

\n
\n", "signature": "(self) -> list:", "funcdef": "def"}, {"fullname": "DUT_TEST_GROUPS_INFO", "modulename": "DUT_TEST_GROUPS_INFO", "kind": "module", "doc": "

All list of available test groups:

\n\n
    \n
  • Use object of parameter class DP1.4LLCTSASSink for following test groups:\n
      \n
    1. DP 1.4 Link Layer Adaptive-Sync Sink DUT CTS - TestGroupId.DP_TX_ADAPTIVESYNC
    2. \n
    3. DP 1.4 Link Layer Display ID Sink DUT CTS - TestGroupId.DP_TX_DISPLAYID
    4. \n
    5. DP 1.4 Link Layer DSC Sink DUT CTS - TestGroupId.DP_TX_LL_CTS_DSC
    6. \n
    7. DP 1.4 Link Layer Sink DUT CTS - TestGroupId.DP_TX_LL_CTS
    8. \n
  • \n
  • Use object of parameter class DP1.4LLCTSASSource for following test groups:\n
      \n
    1. DP 1.4 Link Layer Adaptive-Sync Source DUT CTS - TestGroupId.DP_RX_ADAPTIVESYNC
    2. \n
    3. DP 1.4 Link Layer Display ID Source DUT CTS - TestGroupId.DP_RX_DISPLAYID
    4. \n
    5. DP 1.4 Link Layer DSC Source DUT CTS - TestGroupId.DP_RX_LL_CTS_DSC
    6. \n
    7. DP 1.4 Link Layer Source DUT CTS - TestGroupId.DP_RX_LL_CTS
    8. \n
  • \n
  • Use object of parameter class DP2.1LLCTDSCSSink for following test groups:\n
      \n
    1. DP 2.1 Link Layer DSC Sink DUT CTS - TestGroupId.DP_TX_LL_CTS_DSC
    2. \n
    3. DP 2.1 Link Layer Sink DUT CTS - TestGroupId.DP_TX_LL_CTS
    4. \n
    5. DP 2.1 Link-Training Tunable PHY Repeaters Sink DUT CTS - TestGroupId.DP_2_1_TX_LTTPR_CTS
    6. \n
  • \n
  • Use object of parameter class DP2.1LLCTDSCSSource for following test groups:\n
      \n
    1. DP 2.1 Link Layer DSC Source DUT CTS - TestGroupId.DP_RX_LL_CTS_DSC
    2. \n
    3. DP 2.1 Link Layer Source DUT CTS - TestGroupId.DP_RX_LL_CTS
    4. \n
    5. DP 2.1 Link-Training Tunable PHY Repeaters Source DUT CTS - TestGroupId.DP_2_1_RX_LTTPR_CTS
    6. \n
  • \n
  • Use object of parameter class CRCTests for test group CRC based Video Test Set - TestGroupId.DP_RX_CRC, TestGroupId.HDMI_RX_CRC.
  • \n
  • Use object of parameter class AudioTest for test group Validate audio signal frequency and glitch-free audio reproduction Test set - TestGroupId.AUDIO_TEST.
  • \n
  • Use object of parameter class HDCP1A for test group HDCP 2.3 CTS 1A Test Set - TestGroupId.DP_HDCP_CTS_1A.
  • \n
  • Use object of parameter class HDCP1B for test group HDCP 2.3 CTS 1B Test Set - TestGroupId.DP_HDCP_CTS_1B.
  • \n
  • Use object of parameter class HDCP2C for test group HDCP 2.3 CTS 2C Test Set - TestGroupId.DP_HDCP_CTS_2C.
  • \n
  • Use object of parameter class HDCP3A for test group HDCP 2.3 CTS 3A Test Set - TestGroupId.DP_HDCP_CTS_3A.
  • \n
  • Use object of parameter class HDCP3B for test group HDCP 2.3 CTS 3B Test Set - TestGroupId.DP_HDCP_CTS_3B.
  • \n
  • Use object of parameter class HDCP3C for test group HDCP 2.3 CTS 3C Test Set - TestGroupId.DP_HDCP_CTS_3C.
  • \n
  • Use object of parameter class LinkTrainingTest for test group Link Training at All Supported Lane Counts and Link Rates - TestGroupId.DP_RX_SIMPLE_LT.
  • \n
  • Use object of parameter class CECTest for test group CEC functional Test Set - TestGroupId.CEC_FUNCTIONAL.
  • \n
  • Use object of parameter class VRRTests for test group VRR DUT Tests - TestGroupId.HDMI_RX_VRR, TestGroupId.HDMI_TX_VRR.
  • \n
  • Use object of parameter class ElectricalDP for test group Electrical DP tests - TestGroupId.DP_RX_ELECTRICAL.
  • \n
  • Use object of parameter class ElectricalHDMI for test group Electrical HDMI tests - TestGroupId.HDMI_RX_ELECTRICAL.
  • \n
  • Use object of parameter class ElectricalUSBC for test group Electrical USB-C tests - TestGroupId.USB_TYPE_C_ELECTRICAL.
  • \n
  • Use object of parameter class LTTPR for test group DP 2.1 LTTPR tests - TestGroupId.DP_2_1_LTTPR_CTS.
  • \n
  • Use object of parameter class HDMIDSCSink for test group HDMI TX DSC CTS - TestGroupId.HD_TX_DSC_CTS.
  • \n
  • Use object of parameter class HDMIContinuitySink for test group HDMI TX Continuity Test - TestGroupId.HD_TX_CONTINUITY.
  • \n
  • Use object of parameter class HdmiSinkCableCheckTestParam for test group HDMI TX Cable Check Test - TestGroupId.HD_TX_CABLE_CHECK.
  • \n
\n\n

Examples of using test runs you can find here DUT Test example.

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test.AudioTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test", "qualname": "AudioTestParam", "kind": "class", "doc": "

Class AudioTestParam describes requirement parameters for audio test:

\n\n
    \n
  • Set and get sample_rate. Describes expected sampling rate of audio signal.
  • \n
  • Set and get audio_frequency. Describes expected audible (sine) frequency as Hz.
  • \n
  • Set and get frequency_tolerance. Describes allowed deviation from expected frequency as Hz.
  • \n
  • Set and get audio_glitches_allowed. Describes number of audio glitches allowed per test.
  • \n
  • Set and get save_conditions. Describes tested audio save conditions.
  • \n
  • Set and get storage_folder. Describes location where the captured audio is to be saved.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test.AudioTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test", "qualname": "AudioTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test.AudioTestParam.sample_rate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test", "qualname": "AudioTestParam.sample_rate", "kind": "variable", "doc": "

Set and get sampling rate of audio signal.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test.AudioTestParam.audio_frequency", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test", "qualname": "AudioTestParam.audio_frequency", "kind": "variable", "doc": "

Set and get audible (sine) frequency as Hz.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test.AudioTestParam.frequency_tolerance", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test", "qualname": "AudioTestParam.frequency_tolerance", "kind": "variable", "doc": "

Set and get allowed deviation from expected frequency as Hz.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test.AudioTestParam.audio_glitches_allowed", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test", "qualname": "AudioTestParam.audio_glitches_allowed", "kind": "variable", "doc": "

Set and get number of audio glitches allowed per test.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test.AudioTestParam.glitch_detect_threshold", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test", "qualname": "AudioTestParam.glitch_detect_threshold", "kind": "variable", "doc": "

Set and get number of audio glitches allowed per test.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test.AudioTestParam.save_conditions", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test", "qualname": "AudioTestParam.save_conditions", "kind": "variable", "doc": "

Set and get tested audio save conditions.

\n\n
Returns:
\n\n
\n

object of str type

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test.AudioTestParam.storage_folder", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.audio_test", "qualname": "AudioTestParam.storage_folder", "kind": "variable", "doc": "

Set and get location where the captured audio is to be saved.

\n\n
Returns:
\n\n
\n

object of str type

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.cec_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.cec_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.cec_tests.CecFunctionalTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.cec_tests", "qualname": "CecFunctionalTestParam", "kind": "class", "doc": "

Class CecFunctionalTestParam describes requirement parameters for CEC tests:

\n\n
    \n
  • Set and get timeout. Describes test timeout, in milliseconds.
  • \n
  • Set and get physical_address. Describes Local CEC physical address.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.cec_tests.CecFunctionalTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.cec_tests", "qualname": "CecFunctionalTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.cec_tests.CecFunctionalTestParam.timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.cec_tests", "qualname": "CecFunctionalTestParam.timeout", "kind": "variable", "doc": "

Set and get test timeout, in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.cec_tests.CecFunctionalTestParam.physical_address", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.cec_tests", "qualname": "CecFunctionalTestParam.physical_address", "kind": "variable", "doc": "

Set and get Local CEC physical address.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestBpp", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestBpp", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestBpp.BPP12", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestBpp.BPP12", "kind": "variable", "doc": "

\n", "default_value": "<CrcVideoTestBpp.BPP12: 12>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestBpp.BPP15", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestBpp.BPP15", "kind": "variable", "doc": "

\n", "default_value": "<CrcVideoTestBpp.BPP15: 15>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestBpp.BPP16", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestBpp.BPP16", "kind": "variable", "doc": "

\n", "default_value": "<CrcVideoTestBpp.BPP16: 16>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestBpp.BPP18", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestBpp.BPP18", "kind": "variable", "doc": "

\n", "default_value": "<CrcVideoTestBpp.BPP18: 18>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestBpp.BPP20", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestBpp.BPP20", "kind": "variable", "doc": "

\n", "default_value": "<CrcVideoTestBpp.BPP20: 20>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestBpp.BPP21", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestBpp.BPP21", "kind": "variable", "doc": "

\n", "default_value": "<CrcVideoTestBpp.BPP21: 21>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestBpp.BPP24", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestBpp.BPP24", "kind": "variable", "doc": "

\n", "default_value": "<CrcVideoTestBpp.BPP24: 24>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestBpp.BPP30", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestBpp.BPP30", "kind": "variable", "doc": "

\n", "default_value": "<CrcVideoTestBpp.BPP30: 30>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestBpp.BPP32", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestBpp.BPP32", "kind": "variable", "doc": "

\n", "default_value": "<CrcVideoTestBpp.BPP32: 32>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestBpp.BPP36", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestBpp.BPP36", "kind": "variable", "doc": "

\n", "default_value": "<CrcVideoTestBpp.BPP36: 36>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestBpp.BPP48", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestBpp.BPP48", "kind": "variable", "doc": "

\n", "default_value": "<CrcVideoTestBpp.BPP48: 48>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.BrokenFrameExportFormat", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "BrokenFrameExportFormat", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.BrokenFrameExportFormat.BIN", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "BrokenFrameExportFormat.BIN", "kind": "variable", "doc": "

\n", "default_value": "<BrokenFrameExportFormat.BIN: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.BrokenFrameExportFormat.PPM", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "BrokenFrameExportFormat.PPM", "kind": "variable", "doc": "

\n", "default_value": "<BrokenFrameExportFormat.PPM: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.BrokenFrameExportFormat.BMP", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "BrokenFrameExportFormat.BMP", "kind": "variable", "doc": "

\n", "default_value": "<BrokenFrameExportFormat.BMP: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestParam", "kind": "class", "doc": "

Class CrcVideoTestParam describes requirement parameters for CRC tests:

\n\n
    \n
  • Set and get timeout. Describes test timeout, in milliseconds.
  • \n
  • Set and get number_frames_to_test. Describes total number of frames to be tested.
  • \n
  • Set and get number_reference_frames. Describes number of reference frames.
  • \n
  • Set and get number_frames_mismatch. Describes number of bad frames allowed in single CRC tests.
  • \n
  • Set and get reference_width. Describes expected video width, in pixels.
  • \n
  • Set and get reference_height. Describes expected video weight, in pixels.
  • \n
  • Set and get reference_color_depth. Describes expected color depth, as bits per pixel CrcVideoTestBpp.
  • \n
  • Set and get required_frame_rate. Describes expected frame rate, in millihertz (mHz).
  • \n
  • Set and get frame_rate_tolerance. Describes frame rate tolerance, in millihertz (mHz).
  • \n
  • Set and get reference_crc_values. Describes CRC reference values. Each CRC set consists of 3 16-bit words.
  • \n
  • Set and get motion_test_iteration. Describes the number of iterations the defined CRC sequence must\nbe found in order to pass the test.
  • \n
  • Set and get data_transfer_timeout. Describes data transfer timeout in milliseconds.
  • \n
  • Set and get failed_frames_folder. Describes location where the failed frames are to be saved.
  • \n
  • Set and get max_export_failed. Describes the number of failed frames to be exported from the video test.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestParam.timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestParam.timeout", "kind": "variable", "doc": "

Set and get test timeout, in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestParam.number_frames_to_test", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestParam.number_frames_to_test", "kind": "variable", "doc": "

Set and get total number of frames to be tested.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestParam.number_reference_frames", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestParam.number_reference_frames", "kind": "variable", "doc": "

Set and get number of reference frames.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestParam.number_frames_mismatch", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestParam.number_frames_mismatch", "kind": "variable", "doc": "

Set and get number of bad frames allowed in single CRC tests.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestParam.reference_width", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestParam.reference_width", "kind": "variable", "doc": "

Set and get expected video width, in pixels.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestParam.reference_height", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestParam.reference_height", "kind": "variable", "doc": "

Set and get expected video weight, in pixels.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestParam.reference_color_depth", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestParam.reference_color_depth", "kind": "variable", "doc": "

Set and get expected color depth, as bits per pixel CrcVideoTestBpp.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestParam.required_frame_rate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestParam.required_frame_rate", "kind": "variable", "doc": "

Set and get expected frame rate, in millihertz (mHz).

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestParam.frame_rate_tolerance", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestParam.frame_rate_tolerance", "kind": "variable", "doc": "

Set and get frame rate tolerance, in millihertz (mHz).

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestParam.reference_crc_values", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestParam.reference_crc_values", "kind": "variable", "doc": "

Set and get CRC reference values. Each CRC set consists of 3 16-bit words.

\n\n
Returns:
\n\n
\n

object of list type

\n
\n", "annotation": ": list"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestParam.motion_test_iteration", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestParam.motion_test_iteration", "kind": "variable", "doc": "

Set and get number of iterations the defined CRC sequence must be found in order to pass the test.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestParam.data_transfer_timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestParam.data_transfer_timeout", "kind": "variable", "doc": "

Set and get data transfer timeout in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestParam.failed_frames_folder", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestParam.failed_frames_folder", "kind": "variable", "doc": "

Set and get location where the failed frames are to be saved.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestParam.max_export_failed", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestParam.max_export_failed", "kind": "variable", "doc": "

Set and get number of failed frames to be exported from the video test.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.CrcVideoTestParam.export_format", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests", "qualname": "CrcVideoTestParam.export_format", "kind": "variable", "doc": "

Set and get crc failed frame file format.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.crc_video_tests.BrokenFrameExportFormat"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_source_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_source_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_source_tests.Dp14SourceDUTTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_source_tests", "qualname": "Dp14SourceDUTTestParam", "kind": "class", "doc": "

Class Dp14SourceDUTTestParam allows working with default group of parameters for DP 1.4 LLCTS tests:

\n\n
    \n
  • Set and get GeneralSourceDUTDp14SettingTab. Allows working with parameters from General source part general.
  • \n
  • Set and get AudioSourceDp14SettingTab. Allows working with parameters from Audio source part audio.
  • \n
  • Set and get DscConfigDp14Tab. Allows working with parameters from DSC part dsc.
  • \n
  • Set and get DisplayIdDp14ConfigTab. Allows working with parameters from Display ID part display_id.
  • \n
  • Set and get AdaptiveSyncDp14ConfigTab. Allows working with parameters from Adaptive-Sync part adaptive_sync.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_source_tests.Dp14SourceDUTTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_source_tests", "qualname": "Dp14SourceDUTTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_source_tests.Dp14SourceDUTTestParam.general", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_source_tests", "qualname": "Dp14SourceDUTTestParam.general", "kind": "variable", "doc": "

Get object of parameters from General source part.

\n\n
Returns:
\n\n
\n

object of GeneralSourceDUTDp14SettingTab type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.GeneralSourceDUTDp14SettingTab"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_source_tests.Dp14SourceDUTTestParam.audio", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_source_tests", "qualname": "Dp14SourceDUTTestParam.audio", "kind": "variable", "doc": "

Get object of parameters from Audio source part.

\n\n
Returns:
\n\n
\n

object of AudioSourceDp14SettingTab type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioSourceDp14SettingTab"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_source_tests.Dp14SourceDUTTestParam.dsc", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_source_tests", "qualname": "Dp14SourceDUTTestParam.dsc", "kind": "variable", "doc": "

Get object of parameters from DSC source part.

\n\n
Returns:
\n\n
\n

object of DscConfigDp14Tab type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscConfigDp14Tab"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_source_tests.Dp14SourceDUTTestParam.display_id", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_source_tests", "qualname": "Dp14SourceDUTTestParam.display_id", "kind": "variable", "doc": "

Get object of parameters from Display ID source part.

\n\n
Returns:
\n\n
\n

object of DisplayIdDp14ConfigTab type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDp14ConfigTab"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_source_tests.Dp14SourceDUTTestParam.adaptive_sync", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_source_tests", "qualname": "Dp14SourceDUTTestParam.adaptive_sync", "kind": "variable", "doc": "

Get object of parameters from Adaptive-Sync source part.

\n\n
Returns:
\n\n
\n

object of AdaptiveSyncDp14ConfigTab type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDp14ConfigTab"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp2_1_source_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp2_1_source_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp2_1_source_tests.Dp21SourceDUTTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp2_1_source_tests", "qualname": "Dp21SourceDUTTestParam", "kind": "class", "doc": "

Class Dp21SourceDUTTestParam allows working with default group of parameters for DP 2.1 LLCTS tests:

\n\n
    \n
  • Set and get GeneralSourceDUTDp21SettingTab. Allows working with parameters from General source part general.
  • \n
  • Set and get DisplayIdDp21ConfigTab. Allows working with parameters from Display ID part display_id.
  • \n
  • Set and get AdaptiveSyncDp21ConfigTab. Allows working with parameters from Adaptive-Sync part adaptive_sync.
  • \n
  • Set and get Dp21AvailableVideoModes. Allows working with parameters from Video modes part video_modes.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp2_1_source_tests.Dp21SourceDUTTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp2_1_source_tests", "qualname": "Dp21SourceDUTTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp2_1_source_tests.Dp21SourceDUTTestParam.general", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp2_1_source_tests", "qualname": "Dp21SourceDUTTestParam.general", "kind": "variable", "doc": "

Get object of parameters from General source part.

\n\n
Returns:
\n\n
\n

object of GeneralSourceDUTDp21SettingTab type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.GeneralSourceDUTDp21SettingTab"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp2_1_source_tests.Dp21SourceDUTTestParam.audio", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp2_1_source_tests", "qualname": "Dp21SourceDUTTestParam.audio", "kind": "variable", "doc": "

Get object of parameters from Audio source part.

\n\n
Returns:
\n\n
\n

object of AudioSourceDp21SettingTab type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioSourceDp21SettingTab"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp2_1_source_tests.Dp21SourceDUTTestParam.display_id", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp2_1_source_tests", "qualname": "Dp21SourceDUTTestParam.display_id", "kind": "variable", "doc": "

Get object of parameters from Display ID source part.

\n\n
Returns:
\n\n
\n

object of DisplayIdDp21ConfigTab type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDp21ConfigTab"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp2_1_source_tests.Dp21SourceDUTTestParam.adaptive_sync", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp2_1_source_tests", "qualname": "Dp21SourceDUTTestParam.adaptive_sync", "kind": "variable", "doc": "

Get object of parameters from Adaptive-Sync source part.

\n\n
Returns:
\n\n
\n

object of AdaptiveSyncDp21ConfigTab type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDp21ConfigTab"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp2_1_source_tests.Dp21SourceDUTTestParam.video_modes", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp2_1_source_tests", "qualname": "Dp21SourceDUTTestParam.video_modes", "kind": "variable", "doc": "

Get object of parameters from Video modes source part.

\n\n
Returns:
\n\n
\n

object of Dp21AvailableVideoModes type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_video_modes.Dp21AvailableVideoModes"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp2_1_source_tests.Dp21SourceDUTTestParam.dsc_video_modes", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp2_1_source_tests", "qualname": "Dp21SourceDUTTestParam.dsc_video_modes", "kind": "variable", "doc": "

Get object of parameters from Video modes source part.

\n\n
Returns:
\n\n
\n

object of Dp21AvailableVideoModes type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_dsc_video_modes.Dp21AvailableDscVideoModes"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.EventIndication", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "EventIndication", "kind": "class", "doc": "

Describes available events indications for test automation.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.EventIndication.Unknown", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "EventIndication.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<EventIndication.Unknown: -1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.EventIndication.AlwaysReady", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "EventIndication.AlwaysReady", "kind": "variable", "doc": "

\n", "default_value": "<EventIndication.AlwaysReady: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.EventIndication.EdidRead", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "EventIndication.EdidRead", "kind": "variable", "doc": "

\n", "default_value": "<EventIndication.EdidRead: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.EventIndication.LinkTrainingEnd", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "EventIndication.LinkTrainingEnd", "kind": "variable", "doc": "

\n", "default_value": "<EventIndication.LinkTrainingEnd: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.EventIndication.ActiveVideo", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "EventIndication.ActiveVideo", "kind": "variable", "doc": "

\n", "default_value": "<EventIndication.ActiveVideo: 3>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode", "kind": "class", "doc": "

Describes available video modes for field max_supported_video_mode.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_640x480_60Hz_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_640x480_60Hz_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_640x480_60Hz_6BPC: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_848x480_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_848x480_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_848x480_60Hz_8BPC: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_1280x720_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_1280x720_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_1280x720_60Hz_8BPC: 3>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_1280x960_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_1280x960_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_1280x960_60Hz_8BPC: 4>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_1920x1080_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_1920x1080_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_1920x1080_60Hz_8BPC: 5>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_1920x1440_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_1920x1440_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_1920x1440_60Hz_8BPC: 6>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_1920x1080_120Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_1920x1080_120Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_1920x1080_120Hz_8BPC: 7>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_1280x800_60Hz_RB1_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_1280x800_60Hz_RB1_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_1280x800_60Hz_RB1_6BPC: 8>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_1280x768_60Hz_RB1_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_1280x768_60Hz_RB1_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_1280x768_60Hz_RB1_6BPC: 9>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_800x600_60Hz_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_800x600_60Hz_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_800x600_60Hz_10BPC: 10>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_1024x768_60Hz_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_1024x768_60Hz_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_1024x768_60Hz_10BPC: 11>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_1280x1024_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_1280x1024_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_1280x1024_60Hz_8BPC: 12>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_1360x768_60Hz_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_1360x768_60Hz_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_1360x768_60Hz_10BPC: 13>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_1280x800_60Hz_RB1_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_1280x800_60Hz_RB1_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_1280x800_60Hz_RB1_10BPC: 14>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_1400x1050_60Hz_RB1_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_1400x1050_60Hz_RB1_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_1400x1050_60Hz_RB1_8BPC: 15>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_1280x768_60Hz_RB1_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_1280x768_60Hz_RB1_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_1280x768_60Hz_RB1_10BPC: 16>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_1600x1200_60Hz_RB1_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_1600x1200_60Hz_RB1_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_1600x1200_60Hz_RB1_6BPC: 17>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_2048x1536_60Hz_RB1_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_2048x1536_60Hz_RB1_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_2048x1536_60Hz_RB1_8BPC: 18>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_1792x1344_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_1792x1344_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_1792x1344_60Hz_8BPC: 19>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_1600x1200_60Hz_RB1_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_1600x1200_60Hz_RB1_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_1600x1200_60Hz_RB1_10BPC: 20>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_3840x2160_30Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_3840x2160_30Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_3840x2160_30Hz_8BPC: 21>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.MaxSupportedVideoMode.T_3840x2160_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "MaxSupportedVideoMode.T_3840x2160_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<MaxSupportedVideoMode.T_3840x2160_60Hz_8BPC: 22>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings1Lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings1Lane", "kind": "class", "doc": "

Describes available timings for field packed_timings_1_lane.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings1Lane.NoneTiming", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings1Lane.NoneTiming", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings1Lane.NoneTiming: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings1Lane.DMT_800x600_60Hz_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings1Lane.DMT_800x600_60Hz_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings1Lane.DMT_800x600_60Hz_10BPC: 10>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings1Lane.DMT_1024x768_60Hz_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings1Lane.DMT_1024x768_60Hz_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings1Lane.DMT_1024x768_60Hz_6BPC: 11>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings1Lane.CVT_1280x800_60Hz_RB1_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings1Lane.CVT_1280x800_60Hz_RB1_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings1Lane.CVT_1280x800_60Hz_RB1_6BPC: 8>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings1Lane.DMT_1280x768_60Hz_RB1_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings1Lane.DMT_1280x768_60Hz_RB1_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings1Lane.DMT_1280x768_60Hz_RB1_6BPC: 9>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings1Lane.CTA_1440x480_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings1Lane.CTA_1440x480_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings1Lane.CTA_1440x480_60Hz_8BPC: 23>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings1Lane.CTA_1440x576_50Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings1Lane.CTA_1440x576_50Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings1Lane.CTA_1440x576_50Hz_8BPC: 24>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings2Lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings2Lane", "kind": "class", "doc": "

Describes available timings for field packed_timings_2_lane.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings2Lane.NoneTiming", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings2Lane.NoneTiming", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings2Lane.NoneTiming: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings2Lane.DMT_1280x768_60Hz_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings2Lane.DMT_1280x768_60Hz_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings2Lane.DMT_1280x768_60Hz_10BPC: 16>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings2Lane.CVT_1280x800_60Hz_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings2Lane.CVT_1280x800_60Hz_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings2Lane.CVT_1280x800_60Hz_10BPC: 14>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings2Lane.DMT_1280x960_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings2Lane.DMT_1280x960_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings2Lane.DMT_1280x960_60Hz_8BPC: 4>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings2Lane.DMT_1280x1024_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings2Lane.DMT_1280x1024_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings2Lane.DMT_1280x1024_60Hz_8BPC: 12>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings2Lane.DMT_1360x768_60Hz_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings2Lane.DMT_1360x768_60Hz_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings2Lane.DMT_1360x768_60Hz_10BPC: 13>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings2Lane.DMT_1400x1050_60Hz_RB1_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings2Lane.DMT_1400x1050_60Hz_RB1_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings2Lane.DMT_1400x1050_60Hz_RB1_8BPC: 15>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings2Lane.CVT_1600x1200_60Hz_RB1_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings2Lane.CVT_1600x1200_60Hz_RB1_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings2Lane.CVT_1600x1200_60Hz_RB1_6BPC: 17>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings2Lane.DMT_1360x768_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings2Lane.DMT_1360x768_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings2Lane.DMT_1360x768_60Hz_10BPC: 13>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings2Lane.CVT_1280x800_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings2Lane.CVT_1280x800_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings2Lane.CVT_1280x800_60Hz_8BPC: 26>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings2Lane.DMT_1280x768_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings2Lane.DMT_1280x768_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings2Lane.DMT_1280x768_60Hz_8BPC: 25>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings4Lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings4Lane", "kind": "class", "doc": "

Describes available timings for field packed_timings_4_lane.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings4Lane.NoneTiming", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings4Lane.NoneTiming", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings4Lane.NoneTiming: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings4Lane.DMT_1600x1200_60Hz_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings4Lane.DMT_1600x1200_60Hz_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings4Lane.DMT_1600x1200_60Hz_10BPC: 20>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings4Lane.DMT_1600x1200_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings4Lane.DMT_1600x1200_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings4Lane.DMT_1600x1200_60Hz_8BPC: 28>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings4Lane.DMT_1792x1344_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings4Lane.DMT_1792x1344_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings4Lane.DMT_1792x1344_60Hz_8BPC: 19>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings4Lane.CTA_1920x1080_60Hz_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings4Lane.CTA_1920x1080_60Hz_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings4Lane.CTA_1920x1080_60Hz_10BPC: 29>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings4Lane.CTA_1920x1080_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings4Lane.CTA_1920x1080_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings4Lane.CTA_1920x1080_60Hz_8BPC: 5>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.PackedTimings4Lane.CVT_2048x1536_60Hz_RB1_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "PackedTimings4Lane.CVT_2048x1536_60Hz_RB1_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<PackedTimings4Lane.CVT_2048x1536_60Hz_RB1_8BPC: 18>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Rbb1Lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Rbb1Lane", "kind": "class", "doc": "

Describes available timings for field rbb_1l.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Rbb1Lane.NoneTiming", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Rbb1Lane.NoneTiming", "kind": "variable", "doc": "

\n", "default_value": "<Rbb1Lane.NoneTiming: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Rbb1Lane.T_640x480_60Hz_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Rbb1Lane.T_640x480_60Hz_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<Rbb1Lane.T_640x480_60Hz_6BPC: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Rbb1Lane.T_848x480_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Rbb1Lane.T_848x480_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Rbb1Lane.T_848x480_60Hz_8BPC: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Rbb2Lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Rbb2Lane", "kind": "class", "doc": "

Describes available timings for field rbb_2l.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Rbb2Lane.NoneTiming", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Rbb2Lane.NoneTiming", "kind": "variable", "doc": "

\n", "default_value": "<Rbb2Lane.NoneTiming: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Rbb2Lane.T_640x480_60Hz_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Rbb2Lane.T_640x480_60Hz_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<Rbb2Lane.T_640x480_60Hz_6BPC: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Rbb2Lane.T_848x480_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Rbb2Lane.T_848x480_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Rbb2Lane.T_848x480_60Hz_8BPC: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Rbb2Lane.T_1280x720_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Rbb2Lane.T_1280x720_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Rbb2Lane.T_1280x720_60Hz_8BPC: 3>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Rbb4Lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Rbb4Lane", "kind": "class", "doc": "

Describes available timings for field rbb_4l.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Rbb4Lane.NoneTiming", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Rbb4Lane.NoneTiming", "kind": "variable", "doc": "

\n", "default_value": "<Rbb4Lane.NoneTiming: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Rbb4Lane.T_640x480_60Hz_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Rbb4Lane.T_640x480_60Hz_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<Rbb4Lane.T_640x480_60Hz_6BPC: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Rbb4Lane.T_848x480_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Rbb4Lane.T_848x480_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Rbb4Lane.T_848x480_60Hz_8BPC: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Rbb4Lane.T_1280x720_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Rbb4Lane.T_1280x720_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Rbb4Lane.T_1280x720_60Hz_8BPC: 3>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Rbb4Lane.T_1280x960_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Rbb4Lane.T_1280x960_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Rbb4Lane.T_1280x960_60Hz_8BPC: 4>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Rbb4Lane.T_1920_1080_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Rbb4Lane.T_1920_1080_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Rbb4Lane.T_1920_1080_60Hz_8BPC: 5>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr1Lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr1Lane", "kind": "class", "doc": "

Describes available timings for field hbr_1l.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr1Lane.NoneTiming", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr1Lane.NoneTiming", "kind": "variable", "doc": "

\n", "default_value": "<Hbr1Lane.NoneTiming: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr1Lane.T_640x480_60Hz_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr1Lane.T_640x480_60Hz_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr1Lane.T_640x480_60Hz_6BPC: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr1Lane.T_848x480_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr1Lane.T_848x480_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr1Lane.T_848x480_60Hz_8BPC: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr1Lane.T_1280x720_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr1Lane.T_1280x720_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr1Lane.T_1280x720_60Hz_8BPC: 3>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2Lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2Lane", "kind": "class", "doc": "

Describes available timings for field hbr_2l.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2Lane.NoneTiming", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2Lane.NoneTiming", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2Lane.NoneTiming: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2Lane.T_640x480_60Hz_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2Lane.T_640x480_60Hz_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2Lane.T_640x480_60Hz_6BPC: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2Lane.T_848x480_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2Lane.T_848x480_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2Lane.T_848x480_60Hz_8BPC: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2Lane.T_1280x720_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2Lane.T_1280x720_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2Lane.T_1280x720_60Hz_8BPC: 3>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2Lane.T_1280x960_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2Lane.T_1280x960_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2Lane.T_1280x960_60Hz_8BPC: 4>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr4Lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr4Lane", "kind": "class", "doc": "

Describes available timings for field hbr_4l.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr4Lane.NoneTiming", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr4Lane.NoneTiming", "kind": "variable", "doc": "

\n", "default_value": "<Hbr4Lane.NoneTiming: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr4Lane.T_640x480_60Hz_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr4Lane.T_640x480_60Hz_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr4Lane.T_640x480_60Hz_6BPC: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr4Lane.T_848x480_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr4Lane.T_848x480_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr4Lane.T_848x480_60Hz_8BPC: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr4Lane.T_1280x720_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr4Lane.T_1280x720_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr4Lane.T_1280x720_60Hz_8BPC: 3>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr4Lane.T_1280x960_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr4Lane.T_1280x960_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr4Lane.T_1280x960_60Hz_8BPC: 4>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr4Lane.T_1920_1080_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr4Lane.T_1920_1080_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr4Lane.T_1920_1080_60Hz_8BPC: 5>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr4Lane.T_1920_1440_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr4Lane.T_1920_1440_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr4Lane.T_1920_1440_60Hz_8BPC: 6>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_1Lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_1Lane", "kind": "class", "doc": "

Describes available timings for field hbr2_1l.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_1Lane.NoneTiming", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_1Lane.NoneTiming", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_1Lane.NoneTiming: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_1Lane.T_640x480_60Hz_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_1Lane.T_640x480_60Hz_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_1Lane.T_640x480_60Hz_6BPC: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_1Lane.T_848x480_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_1Lane.T_848x480_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_1Lane.T_848x480_60Hz_8BPC: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_1Lane.T_1280x720_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_1Lane.T_1280x720_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_1Lane.T_1280x720_60Hz_8BPC: 3>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_1Lane.T_1280x960_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_1Lane.T_1280x960_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_1Lane.T_1280x960_60Hz_8BPC: 4>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_2Lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_2Lane", "kind": "class", "doc": "

Describes available timings for field hbr2_2l.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_2Lane.NoneTiming", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_2Lane.NoneTiming", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_2Lane.NoneTiming: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_2Lane.T_640x480_60Hz_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_2Lane.T_640x480_60Hz_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_2Lane.T_640x480_60Hz_6BPC: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_2Lane.T_848x480_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_2Lane.T_848x480_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_2Lane.T_848x480_60Hz_8BPC: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_2Lane.T_1280x720_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_2Lane.T_1280x720_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_2Lane.T_1280x720_60Hz_8BPC: 3>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_2Lane.T_1280x960_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_2Lane.T_1280x960_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_2Lane.T_1280x960_60Hz_8BPC: 4>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_2Lane.T_1920_1080_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_2Lane.T_1920_1080_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_2Lane.T_1920_1080_60Hz_8BPC: 5>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_2Lane.T_1920_1440_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_2Lane.T_1920_1440_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_2Lane.T_1920_1440_60Hz_8BPC: 6>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_4Lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_4Lane", "kind": "class", "doc": "

Describes available timings for field hbr2_4l.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_4Lane.NoneTiming", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_4Lane.NoneTiming", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_4Lane.NoneTiming: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_4Lane.T_640x480_60Hz_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_4Lane.T_640x480_60Hz_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_4Lane.T_640x480_60Hz_6BPC: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_4Lane.T_848x480_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_4Lane.T_848x480_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_4Lane.T_848x480_60Hz_8BPC: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_4Lane.T_1280x720_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_4Lane.T_1280x720_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_4Lane.T_1280x720_60Hz_8BPC: 3>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_4Lane.T_1280x960_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_4Lane.T_1280x960_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_4Lane.T_1280x960_60Hz_8BPC: 4>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_4Lane.T_1920_1080_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_4Lane.T_1920_1080_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_4Lane.T_1920_1080_60Hz_8BPC: 5>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_4Lane.T_1920_1440_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_4Lane.T_1920_1440_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_4Lane.T_1920_1440_60Hz_8BPC: 6>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr2_4Lane.T_1920x1080_120Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr2_4Lane.T_1920x1080_120Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr2_4Lane.T_1920x1080_120Hz_8BPC: 7>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_1Lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_1Lane", "kind": "class", "doc": "

Describes available timings for field hbr3_1l.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_1Lane.NoneTiming", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_1Lane.NoneTiming", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_1Lane.NoneTiming: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_1Lane.T_640x480_60Hz_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_1Lane.T_640x480_60Hz_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_1Lane.T_640x480_60Hz_6BPC: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_1Lane.T_848x480_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_1Lane.T_848x480_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_1Lane.T_848x480_60Hz_8BPC: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_1Lane.T_1280x720_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_1Lane.T_1280x720_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_1Lane.T_1280x720_60Hz_8BPC: 3>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_1Lane.T_1280x960_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_1Lane.T_1280x960_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_1Lane.T_1280x960_60Hz_8BPC: 4>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_1Lane.T_1920_1080_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_1Lane.T_1920_1080_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_1Lane.T_1920_1080_60Hz_8BPC: 5>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_1Lane.T_1920_1440_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_1Lane.T_1920_1440_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_1Lane.T_1920_1440_60Hz_8BPC: 6>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane", "kind": "class", "doc": "

Describes available timings for field hbr3_2l.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.NoneTiming", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.NoneTiming", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.NoneTiming: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_640x480_60Hz_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_640x480_60Hz_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_640x480_60Hz_6BPC: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_848x480_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_848x480_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_848x480_60Hz_8BPC: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_1280x720_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_1280x720_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_1280x720_60Hz_8BPC: 3>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_1280x960_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_1280x960_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_1280x960_60Hz_8BPC: 4>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_1920_1080_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_1920_1080_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_1920_1080_60Hz_8BPC: 5>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_1920_1440_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_1920_1440_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_1920_1440_60Hz_8BPC: 6>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_1920x1080_120Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_1920x1080_120Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_1920x1080_120Hz_8BPC: 7>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_1280x800_60Hz_RB1_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_1280x800_60Hz_RB1_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_1280x800_60Hz_RB1_6BPC: 8>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_1280x768_60Hz_RB1_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_1280x768_60Hz_RB1_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_1280x768_60Hz_RB1_6BPC: 9>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_800x600_60Hz_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_800x600_60Hz_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_800x600_60Hz_10BPC: 10>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_1024x768_60Hz_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_1024x768_60Hz_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_1024x768_60Hz_10BPC: 11>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_1280x1024_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_1280x1024_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_1280x1024_60Hz_8BPC: 12>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_1360x768_60Hz_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_1360x768_60Hz_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_1360x768_60Hz_10BPC: 13>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_1280x800_60Hz_RB1_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_1280x800_60Hz_RB1_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_1280x800_60Hz_RB1_10BPC: 14>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_1400x1050_60Hz_RB1_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_1400x1050_60Hz_RB1_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_1400x1050_60Hz_RB1_8BPC: 15>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_1280x768_60Hz_RB1_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_1280x768_60Hz_RB1_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_1280x768_60Hz_RB1_10BPC: 16>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_1600x1200_60Hz_RB1_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_1600x1200_60Hz_RB1_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_1600x1200_60Hz_RB1_6BPC: 17>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_2048x1536_60Hz_RB1_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_2048x1536_60Hz_RB1_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_2048x1536_60Hz_RB1_8BPC: 18>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_1792x1344_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_1792x1344_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_1792x1344_60Hz_8BPC: 19>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_1600x1200_60Hz_RB1_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_1600x1200_60Hz_RB1_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_1600x1200_60Hz_RB1_10BPC: 20>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_2Lane.T_3840x2160_30Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_2Lane.T_3840x2160_30Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_2Lane.T_3840x2160_30Hz_8BPC: 21>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane", "kind": "class", "doc": "

Describes available timings for field hbr3_4l.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.NoneTiming", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.NoneTiming", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.NoneTiming: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_640x480_60Hz_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_640x480_60Hz_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_640x480_60Hz_6BPC: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_848x480_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_848x480_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_848x480_60Hz_8BPC: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_1280x720_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_1280x720_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_1280x720_60Hz_8BPC: 3>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_1280x960_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_1280x960_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_1280x960_60Hz_8BPC: 4>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_1920_1080_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_1920_1080_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_1920_1080_60Hz_8BPC: 5>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_1920_1440_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_1920_1440_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_1920_1440_60Hz_8BPC: 6>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_1920x1080_120Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_1920x1080_120Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_1920x1080_120Hz_8BPC: 7>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_1280x800_60Hz_RB1_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_1280x800_60Hz_RB1_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_1280x800_60Hz_RB1_6BPC: 8>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_1280x768_60Hz_RB1_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_1280x768_60Hz_RB1_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_1280x768_60Hz_RB1_6BPC: 9>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_800x600_60Hz_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_800x600_60Hz_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_800x600_60Hz_10BPC: 10>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_1024x768_60Hz_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_1024x768_60Hz_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_1024x768_60Hz_10BPC: 11>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_1280x1024_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_1280x1024_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_1280x1024_60Hz_8BPC: 12>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_1360x768_60Hz_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_1360x768_60Hz_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_1360x768_60Hz_10BPC: 13>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_1280x800_60Hz_RB1_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_1280x800_60Hz_RB1_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_1280x800_60Hz_RB1_10BPC: 14>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_1400x1050_60Hz_RB1_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_1400x1050_60Hz_RB1_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_1400x1050_60Hz_RB1_8BPC: 15>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_1280x768_60Hz_RB1_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_1280x768_60Hz_RB1_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_1280x768_60Hz_RB1_10BPC: 16>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_1600x1200_60Hz_RB1_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_1600x1200_60Hz_RB1_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_1600x1200_60Hz_RB1_6BPC: 17>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_2048x1536_60Hz_RB1_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_2048x1536_60Hz_RB1_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_2048x1536_60Hz_RB1_8BPC: 18>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_1792x1344_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_1792x1344_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_1792x1344_60Hz_8BPC: 19>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_1600x1200_60Hz_RB1_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_1600x1200_60Hz_RB1_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_1600x1200_60Hz_RB1_10BPC: 20>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_3840x2160_30Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_3840x2160_30Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_3840x2160_30Hz_8BPC: 21>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.Hbr3_4Lane.T_3840x2160_60Hz_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "Hbr3_4Lane.T_3840x2160_60Hz_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<Hbr3_4Lane.T_3840x2160_60Hz_8BPC: 22>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TestAutomationFlags", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TestAutomationFlags", "kind": "class", "doc": "

Class TestAutomationFlags allows configuring test automation flags:

\n\n
    \n
  • Set and get Test link training flag test_link_training.
  • \n
  • Set and get Test EDID read flag test_edid_read.
  • \n
  • Set and get Test video pattern flag test_video_pattern.
  • \n
  • Set and get Test audio pattern flag test_audio_pattern.
  • \n
  • Set and get Test Event indication event_indication type EventIndication.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TestAutomationFlags.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TestAutomationFlags.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TestAutomationFlags.test_link_training", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TestAutomationFlags.test_link_training", "kind": "variable", "doc": "

Set and get link training flag.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TestAutomationFlags.test_edid_read", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TestAutomationFlags.test_edid_read", "kind": "variable", "doc": "

Set and get EDID read flag.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TestAutomationFlags.test_video_pattern", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TestAutomationFlags.test_video_pattern", "kind": "variable", "doc": "

Set and get video pattern flag.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TestAutomationFlags.test_audio_pattern", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TestAutomationFlags.test_audio_pattern", "kind": "variable", "doc": "

Set and get audio pattern flag.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TestAutomationFlags.event_indication", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TestAutomationFlags.event_indication", "kind": "variable", "doc": "

Set and get link training flag.

\n\n
Returns:
\n\n
\n

object of EventIndication type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.EventIndication"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags", "kind": "class", "doc": "

Class DutCapsFlags defines the DUT capabilities as flags and allows setting:

\n\n
    \n
  • Voltage swing level 3 (1.2V) supported voltage_swing_supported.
  • \n
  • Pre-emphasis level 3 (9.5dB) supported pre_emphasis_supported.
  • \n
  • Fixed timing DUT supported fixed_timing_dut_supported.
  • \n
  • Spread Spectrum supported spread_spectrum_supported.
  • \n
  • Video format change without LT supported change_vf_without_lt_supported.
  • \n
  • Lane count reduction without LT supported lane_count_reduction_without_lt_supported.
  • \n
  • E-DDC protocol supported e_ddc_protocol_supported.
  • \n
  • Audio Info Frame for 2 channel audio transmission supported audio_transmission_supported.
  • \n
  • Define that DUT is Type-C device dut_is_type_c_device.
  • \n
  • FEC supported fec_supported.
  • \n
  • FEC disable sequence supported fec_disable_sequence_supported.
  • \n
  • Audio without Video supported audio_without_video_supported.
  • \n
  • DSC supported dsc_supported.
  • \n
  • DSC block prediction supported dsc_block_prediction_supported.
  • \n
  • DisplayID Type VII Detailed Timing Descriptor supported display_id_vii_supported.
  • \n
  • DisplayID Type VIII Detailed Timing Descriptor supported display_id_viii_supported.
  • \n
  • DisplayID Type IX Detailed Timing Descriptor supported display_id_ix_supported.
  • \n
  • DisplayID Type X Detailed Timing Descriptor supported display_id_x_supported.
  • \n
  • 2x1 tiled display and DisplayID Tiled Display Topology data block supported display_id_tiled_display_topology.
  • \n
  • Field sequential stereo and DisplayID Tiled Stereo Display Interface data block supported\ndisplay_id_tiled_stereo_display
  • \n
  • Stacked frame stereo and DisplayID Tiled Stereo Display Interface data block supported\nstacked_frame_stereo_supported.
  • \n
\n", "bases": "UniTAP.dev.modules.dut_tests.test_group_params_types.Param"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.voltage_swing_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.voltage_swing_supported", "kind": "variable", "doc": "

Set and get Voltage swing level flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.pre_emphasis_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.pre_emphasis_supported", "kind": "variable", "doc": "

Set and get Pre-emphasis level flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.fixed_timing_dut_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.fixed_timing_dut_supported", "kind": "variable", "doc": "

Set and get Fixed timing DUT flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.spread_spectrum_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.spread_spectrum_supported", "kind": "variable", "doc": "

Set and get Spread Spectrum flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.change_vf_without_lt_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.change_vf_without_lt_supported", "kind": "variable", "doc": "

Set and get Video format change without LT flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.lane_count_reduction_without_lt_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.lane_count_reduction_without_lt_supported", "kind": "variable", "doc": "

Set and get Lane count reduction without LT flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.e_ddc_protocol_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.e_ddc_protocol_supported", "kind": "variable", "doc": "

Set and get E-DDC protocol flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.audio_transmission_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.audio_transmission_supported", "kind": "variable", "doc": "

Set and get Audio Info Frame for 2 channel audio transmission flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.dut_is_type_c_device", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.dut_is_type_c_device", "kind": "variable", "doc": "

Set and get Define that DUT is Type-C device flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.fec_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.fec_supported", "kind": "variable", "doc": "

Set and get FEC flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.fec_disable_sequence_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.fec_disable_sequence_supported", "kind": "variable", "doc": "

Set and get FEC disable sequence flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.audio_without_video_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.audio_without_video_supported", "kind": "variable", "doc": "

Set and get Audio without Video flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.dsc_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.dsc_supported", "kind": "variable", "doc": "

Set and get DSC flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.dsc_block_prediction_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.dsc_block_prediction_supported", "kind": "variable", "doc": "

Set and get DSC block prediction flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.native_display_id_read", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.native_display_id_read", "kind": "variable", "doc": "

Set and get DUT supports native Display ID read flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.display_id_vii_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.display_id_vii_supported", "kind": "variable", "doc": "

Set and get DisplayID Type VII Detailed Timing Descriptor flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.display_id_viii_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.display_id_viii_supported", "kind": "variable", "doc": "

Set and get DisplayID Type VIII Detailed Timing Descriptor flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.display_id_ix_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.display_id_ix_supported", "kind": "variable", "doc": "

Set and get DisplayID Type IX Detailed Timing Descriptor flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.display_id_x_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.display_id_x_supported", "kind": "variable", "doc": "

Set and get DisplayID Type X Detailed Timing Descriptor flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.display_id_tiled_display_topology", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.display_id_tiled_display_topology", "kind": "variable", "doc": "

Set and get 2x1 tiled display and DisplayID Tiled Display Topology data block flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.display_id_tiled_stereo_display", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.display_id_tiled_stereo_display", "kind": "variable", "doc": "

Set and get Field sequential stereo and DisplayID Tiled Stereo Display Interface data block flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.stacked_frame_stereo_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.stacked_frame_stereo_supported", "kind": "variable", "doc": "

Set and get Stacked frame stereo and DisplayID Tiled Stereo Display Interface data flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags.clear_all_caps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsFlags.clear_all_caps", "kind": "function", "doc": "

Clear all settings.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsDp14", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsDp14", "kind": "class", "doc": "

Class DutCapsDp14 defines the DUT capabilities and allows setting:

\n\n
    \n
  • Defines the maximum number of lanes supported by the DUT max_lanes.
  • \n
  • Maximum link rate supported by the DUT max_link_rate.
  • \n
  • Dut capabilities flags dut_caps_flags type DutCapsFlags.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsDp14.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsDp14.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsDp14.max_lanes", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsDp14.max_lanes", "kind": "variable", "doc": "

Set and get number of maximum lanes.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsDp14.max_link_rate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsDp14.max_link_rate", "kind": "variable", "doc": "

Set and get number of maximum link rate.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsDp14.dut_caps_flags", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DutCapsDp14.dut_caps_flags", "kind": "variable", "doc": "

Set and get DUT capabilities flags.

\n\n
Returns:
\n\n
\n

object of DutCapsFlags type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DutCapsFlags"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TimeStampGenerationDp14", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TimeStampGenerationDp14", "kind": "class", "doc": "

Class TimeStampGenerationDp14 defines timings which used for different rates and allows setting:

\n\n
    \n
  • Video timings used for Reduced Bitrate (RBR, 1.62Gbps) testing for 1 lanes rbb_1l.
  • \n
  • Video timings used for Reduced Bitrate (RBR, 1.62Gbps) testing for 2 lanes rbb_2l.
  • \n
  • Video timings used for Reduced Bitrate (RBR, 1.62Gbps) testing for 4 lanes rbb_4l.
  • \n
  • Video timings used for High Bitrate (HBR, 2.7Gbps) testing for 1 lanes hbr_1l.
  • \n
  • Video timings used for High Bitrate (HBR, 2.7Gbps) testing for 2 lanes hbr_2l.
  • \n
  • Video timings used for High Bitrate (HBR, 2.7Gbps) testing for 4 lanes hbr_4l.
  • \n
  • Video timings used for High Bitrate-2 (HBR2, 5.4Gbps) testing for 1 lane hbr2_1l.
  • \n
  • Video timings used for High Bitrate-2 (HBR2, 5.4Gbps) testing for 2 lane hbr2_2l.
  • \n
  • Video timings used for High Bitrate-2 (HBR2, 5.4Gbps) testing for 4 lane hbr2_4l.
  • \n
  • Video timings used for High Bitrate-3 (HBR3, 8.1Gbps) testing for 1 lanes hbr3_1l.
  • \n
  • Video timings used for High Bitrate-3 (HBR3, 8.1Gbps) testing for 2 lanes hbr3_2l.
  • \n
  • Video timings used for High Bitrate-3 (HBR3, 8.1Gbps) testing for 4 lanes hbr3_4l.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TimeStampGenerationDp14.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TimeStampGenerationDp14.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TimeStampGenerationDp14.rbb_1l", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TimeStampGenerationDp14.rbb_1l", "kind": "variable", "doc": "

Set and get Video timings used for Reduced Bitrate (RBR, 1.62Gbps) testing for 1 lanes.

\n\n
Returns:
\n\n
\n

object of Rbb1Lane type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TimeStampGenerationDp14.rbb_2l", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TimeStampGenerationDp14.rbb_2l", "kind": "variable", "doc": "

Set and get Video timings used for Reduced Bitrate (RBR, 1.62Gbps) testing for 2 lanes.

\n\n
Returns:
\n\n
\n

object of Rbb2Lane type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TimeStampGenerationDp14.rbb_4l", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TimeStampGenerationDp14.rbb_4l", "kind": "variable", "doc": "

Set and get Video timings used for Reduced Bitrate (RBR, 1.62Gbps) testing for 4 lanes.

\n\n
Returns:
\n\n
\n

object of Rbb4Lane type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TimeStampGenerationDp14.hbr_1l", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TimeStampGenerationDp14.hbr_1l", "kind": "variable", "doc": "

Set and get Video timings used for High Bitrate (HBR, 2.7Gbps) testing for 1 lanes.

\n\n
Returns:
\n\n
\n

object of Hbr1Lane type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TimeStampGenerationDp14.hbr_2l", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TimeStampGenerationDp14.hbr_2l", "kind": "variable", "doc": "

Set and get Video timings used for High Bitrate (HBR, 2.7Gbps) testing for 2 lanes.

\n\n
Returns:
\n\n
\n

object of Hbr2Lane type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TimeStampGenerationDp14.hbr_4l", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TimeStampGenerationDp14.hbr_4l", "kind": "variable", "doc": "

Set and get Video timings used for High Bitrate (HBR, 2.7Gbps) testing for 4 lanes.

\n\n
Returns:
\n\n
\n

object of Hbr4Lane type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TimeStampGenerationDp14.hbr2_1l", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TimeStampGenerationDp14.hbr2_1l", "kind": "variable", "doc": "

Set and get Video timings used for High Bitrate-2 (HBR2, 5.4Gbps) testing for 1 lane.

\n\n
Returns:
\n\n
\n

object of Hbr2_1Lane type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TimeStampGenerationDp14.hbr2_2l", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TimeStampGenerationDp14.hbr2_2l", "kind": "variable", "doc": "

Set and get Video timings used for High Bitrate-2 (HBR2, 5.4Gbps) testing for 2 lane.

\n\n
Returns:
\n\n
\n

object of Hbr2_2Lane type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TimeStampGenerationDp14.hbr2_4l", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TimeStampGenerationDp14.hbr2_4l", "kind": "variable", "doc": "

Set and get Video timings used for High Bitrate-2 (HBR2, 5.4Gbps) testing for 4 lane.

\n\n
Returns:
\n\n
\n

object of Hbr2_4Lane type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TimeStampGenerationDp14.hbr3_1l", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TimeStampGenerationDp14.hbr3_1l", "kind": "variable", "doc": "

Set and get Video timings used for High Bitrate-3 (HBR3, 8.1Gbps) testing for 1 lanes.

\n\n
Returns:
\n\n
\n

object of Hbr3_1Lane type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TimeStampGenerationDp14.hbr3_2l", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TimeStampGenerationDp14.hbr3_2l", "kind": "variable", "doc": "

Set and get Video timings used for High Bitrate-3 (HBR3, 8.1Gbps) testing for 2 lanes.

\n\n
Returns:
\n\n
\n

object of Hbr3_2Lane type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TimeStampGenerationDp14.hbr3_4l", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "TimeStampGenerationDp14.hbr3_4l", "kind": "variable", "doc": "

Set and get Video timings used for High Bitrate-3 (HBR3, 8.1Gbps) testing for 4 lanes.

\n\n
Returns:
\n\n
\n

object of Hbr3_4Lane type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.ColorimetryDp14", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "ColorimetryDp14", "kind": "class", "doc": "

Class ColorimetryDp14 describes optional and additional color modes to be used with DP CTS tests.

\n\n
    \n
  • RGB 6 bpc VESA and RGB 8 bpc VESA - Mandatory.
  • \n
  • RGB 10 bpc VESA rgb_10bpc_vesa.
  • \n
  • RGB 8 bpc CTA rgb_8bpc_cta.
  • \n
  • RGB 10 bpc CTA rgb_10bpc_cta.
  • \n
  • YCbCr-422 8 bpc CTA ITU-601 ycbcr422_8bpc_cta_itu601.
  • \n
  • YCbCr-422 10 bpc CTA ITU-601 ycbcr422_10bpc_cta_itu601.
  • \n
  • YCbCr-422 8 bpc CTA ITU-709 ycbcr422_8bpc_cta_itu709.
  • \n
  • YCbCr-422 10 bpc CTA ITU-709 ycbcr422_10bpc_cta_itu709.
  • \n
  • YCbCr-420 8 bpc CTA ITU-601 ycbcr420_8bpc_cta_itu601.
  • \n
  • YCbCr-420 10 bpc CTA ITU-601 ycbcr420_10bpc_cta_itu601.
  • \n
  • YCbCr-420 8 bpc CTA ITU-709 ycbcr420_8bpc_cta_itu709.
  • \n
  • YCbCr-420 10 bpc CTA ITU-709 ycbcr420_10bpc_cta_itu709.
  • \n
  • YCbCr-444 8 bpc CTA ITU-601 ycbcr444_8bpc_cta_itu601.
  • \n
  • YCbCr-444 10 bpc CTA ITU-601 ycbcr444_10bpc_cta_itu601.
  • \n
  • YCbCr-444 8 bpc CTA ITU-709 ycbcr444_8bpc_cta_itu709.
  • \n
  • YCbCr-444 10 bpc CTA ITU-709 ycbcr444_10bpc_cta_itu709.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.ColorimetryDp14.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "ColorimetryDp14.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.ColorimetryDp14.rgb_10bpc_vesa", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "ColorimetryDp14.rgb_10bpc_vesa", "kind": "variable", "doc": "

Set and get RGB 10 bpc VESA flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.ColorimetryDp14.rgb_8bpc_cta", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "ColorimetryDp14.rgb_8bpc_cta", "kind": "variable", "doc": "

Set and get RGB 8 bpc CTA flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.ColorimetryDp14.rgb_10bpc_cta", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "ColorimetryDp14.rgb_10bpc_cta", "kind": "variable", "doc": "

Set and get RGB 10 bpc CTA flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.ColorimetryDp14.ycbcr422_8bpc_cta_itu601", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "ColorimetryDp14.ycbcr422_8bpc_cta_itu601", "kind": "variable", "doc": "

Set and get YCbCr-422 8 bpc CTA ITU-601 flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.ColorimetryDp14.ycbcr422_10bpc_cta_itu601", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "ColorimetryDp14.ycbcr422_10bpc_cta_itu601", "kind": "variable", "doc": "

Set and get YCbCr-422 10 bpc CTA ITU-601 flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.ColorimetryDp14.ycbcr422_8bpc_cta_itu709", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "ColorimetryDp14.ycbcr422_8bpc_cta_itu709", "kind": "variable", "doc": "

Set and get YCbCr-422 8 bpc CTA ITU-709 flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.ColorimetryDp14.ycbcr422_10bpc_cta_itu709", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "ColorimetryDp14.ycbcr422_10bpc_cta_itu709", "kind": "variable", "doc": "

Set and get YCbCr-422 10 bpc CTA ITU-709 flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.ColorimetryDp14.ycbcr444_8bpc_cta_itu601", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "ColorimetryDp14.ycbcr444_8bpc_cta_itu601", "kind": "variable", "doc": "

Set and get YCbCr-444 8 bpc CTA ITU-601 flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.ColorimetryDp14.ycbcr444_10bpc_cta_itu601", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "ColorimetryDp14.ycbcr444_10bpc_cta_itu601", "kind": "variable", "doc": "

Set and get YCbCr-444 10 bpc CTA ITU-601 flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.ColorimetryDp14.ycbcr444_8bpc_cta_itu709", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "ColorimetryDp14.ycbcr444_8bpc_cta_itu709", "kind": "variable", "doc": "

Set and get YCbCr-444 8 bpc CTA ITU-709 flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.ColorimetryDp14.ycbcr444_10bpc_cta_itu709", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "ColorimetryDp14.ycbcr444_10bpc_cta_itu709", "kind": "variable", "doc": "

Set and get YCbCr-444 10 bpc CTA ITU-709 flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.ColorimetryDp14.clear_all", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "ColorimetryDp14.clear_all", "kind": "function", "doc": "

Clear all settings.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.ColorimetryDp14.select_all", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "ColorimetryDp14.select_all", "kind": "function", "doc": "

Select all modes.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DebugOptions", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DebugOptions", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DebugOptions.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DebugOptions.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DebugOptions.continue_on_fail", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "DebugOptions.continue_on_fail", "kind": "variable", "doc": "

Set and get continue on fail flag.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.GeneralSourceDUTDp14SettingTab", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "GeneralSourceDUTDp14SettingTab", "kind": "class", "doc": "

Class GeneralSourceDUTDp14SettingTab allows working with parameters from General source part.

\n\n
    \n
  • Set and get timeout timeout.
  • \n
  • Set and get DUT capabilities dut_caps type DutCapsDp14.
  • \n
  • Set and get test automation flags test_automation type TestAutomationFlags.
  • \n
  • Set and get HPD pulse duration hpd_pulse_duration.
  • \n
  • Set and get link training start timeout lt_start_timeout.
  • \n
  • Set and get test cycle delay test_cycle_delay.
  • \n
  • Get fail safe mode fail_safe_mode.
  • \n
  • Set and get maximum supported video modes max_supported_video_mode type MaxSupportedVideoMode.
  • \n
  • Set and get packed timings for 1 lane packed_timings_1_lane type PackedTimings1Lane.
  • \n
  • Set and get packed timings for 2 lane packed_timings_2_lane type PackedTimings2Lane.
  • \n
  • Set and get packed timings for 4 lane packed_timings_4_lane type PackedTimings4Lane.
  • \n
  • Set and get time stamp generation time_stamp_generation type TimeStampGenerationDp14.
  • \n
  • Set and get colorimetry modes colorimetry type ColorimetryDp14.
  • \n
  • Set and get debug options debug_options type DebugOptions
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.GeneralSourceDUTDp14SettingTab.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "GeneralSourceDUTDp14SettingTab.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.GeneralSourceDUTDp14SettingTab.timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "GeneralSourceDUTDp14SettingTab.timeout", "kind": "variable", "doc": "

Set and get test timeout, in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.GeneralSourceDUTDp14SettingTab.dut_caps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "GeneralSourceDUTDp14SettingTab.dut_caps", "kind": "variable", "doc": "

Set and get DUT caps.

\n\n
Returns:
\n\n
\n

object DutCapsDp14

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.GeneralSourceDUTDp14SettingTab.test_automation", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "GeneralSourceDUTDp14SettingTab.test_automation", "kind": "variable", "doc": "

Set and get test automation flags.

\n\n
Returns:
\n\n
\n

object TestAutomationFlags

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TestAutomationFlags"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.GeneralSourceDUTDp14SettingTab.hpd_pulse_duration", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "GeneralSourceDUTDp14SettingTab.hpd_pulse_duration", "kind": "variable", "doc": "

Set and get HPD pulse duration.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.GeneralSourceDUTDp14SettingTab.lt_start_timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "GeneralSourceDUTDp14SettingTab.lt_start_timeout", "kind": "variable", "doc": "

Set and get link training start timeout.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.GeneralSourceDUTDp14SettingTab.test_cycle_delay", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "GeneralSourceDUTDp14SettingTab.test_cycle_delay", "kind": "variable", "doc": "

Set and get test cycle delay.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.GeneralSourceDUTDp14SettingTab.fail_safe_mode", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "GeneralSourceDUTDp14SettingTab.fail_safe_mode", "kind": "variable", "doc": "

Get fail safe mode.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.GeneralSourceDUTDp14SettingTab.max_supported_video_mode", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "GeneralSourceDUTDp14SettingTab.max_supported_video_mode", "kind": "variable", "doc": "

Set and get maximum supported video modes.

\n\n
Returns:
\n\n
\n

object MaxSupportedVideoMode

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.GeneralSourceDUTDp14SettingTab.packed_timings_1_lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "GeneralSourceDUTDp14SettingTab.packed_timings_1_lane", "kind": "variable", "doc": "

Set and get packed timings for 1 lane.

\n\n
Returns:
\n\n
\n

object PackedTimings1Lane

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.GeneralSourceDUTDp14SettingTab.packed_timings_2_lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "GeneralSourceDUTDp14SettingTab.packed_timings_2_lane", "kind": "variable", "doc": "

Set and get packed timings for 2 lane.

\n\n
Returns:
\n\n
\n

object PackedTimings2Lane

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.GeneralSourceDUTDp14SettingTab.packed_timings_4_lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "GeneralSourceDUTDp14SettingTab.packed_timings_4_lane", "kind": "variable", "doc": "

Set and get packed timings for 4 lane.

\n\n
Returns:
\n\n
\n

object PackedTimings4Lane

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.GeneralSourceDUTDp14SettingTab.time_stamp_generation", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "GeneralSourceDUTDp14SettingTab.time_stamp_generation", "kind": "variable", "doc": "

Set and get time stamp generation.

\n\n
Returns:
\n\n
\n

object TimeStampGenerationDp14

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.GeneralSourceDUTDp14SettingTab.colorimetry", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "GeneralSourceDUTDp14SettingTab.colorimetry", "kind": "variable", "doc": "

Set and get colorimetry modes.

\n\n
Returns:
\n\n
\n

object ColorimetryDp14

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.ColorimetryDp14"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.GeneralSourceDUTDp14SettingTab.debug_options", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab", "qualname": "GeneralSourceDUTDp14SettingTab.debug_options", "kind": "variable", "doc": "

Set and get debug options.

\n\n
Returns:
\n\n
\n

object of 'DebugOptions' type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.DebugOptions"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.MaxLinkBwPolicy", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "MaxLinkBwPolicy", "kind": "class", "doc": "

Describes available values for maximum link bandwidth policy.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.MaxLinkBwPolicy.Link1LRBR", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "MaxLinkBwPolicy.Link1LRBR", "kind": "variable", "doc": "

\n", "default_value": "<MaxLinkBwPolicy.Link1LRBR: 262>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.MaxLinkBwPolicy.Link1LHBR", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "MaxLinkBwPolicy.Link1LHBR", "kind": "variable", "doc": "

\n", "default_value": "<MaxLinkBwPolicy.Link1LHBR: 266>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.MaxLinkBwPolicy.Link2LRBR", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "MaxLinkBwPolicy.Link2LRBR", "kind": "variable", "doc": "

\n", "default_value": "<MaxLinkBwPolicy.Link2LRBR: 518>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.MaxLinkBwPolicy.Link2LHBR", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "MaxLinkBwPolicy.Link2LHBR", "kind": "variable", "doc": "

\n", "default_value": "<MaxLinkBwPolicy.Link2LHBR: 522>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.TestAutomationFlagsDP21", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "TestAutomationFlagsDP21", "kind": "class", "doc": "

Class TestAutomationFlagsDP21 allows configuring test automation flags:

\n\n
    \n
  • Set and get video operator input flag video_operator_input.
  • \n
  • Set and get DSC VIC flag dsc_vis_val.
  • \n
\n\n

Also has all the TestAutomationFlags functionality.

\n", "bases": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_1_4_source_general_tab.TestAutomationFlags"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.TestAutomationFlagsDP21.video_operator_input", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "TestAutomationFlagsDP21.video_operator_input", "kind": "variable", "doc": "

Set and get video operator input flag.\nIf flag == true -> If Source DUT does not generate the requested format then GUI request will be made to\noperator to generate the requested format from the EDID (request and waits for test operator input).\nIf flag == false -> If Source DUT does not generate the requested Video Format, then no GUI request will be\nmade, and test will fail if parameters does not match (request and waits for test operator input).

\n\n

Usually use for manual testing.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.TestAutomationFlagsDP21.dsc_vis_val", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "TestAutomationFlagsDP21.dsc_vis_val", "kind": "variable", "doc": "

Set and get DSC visual validation flag.\nIf flag == true -> will check timing, color depth, color space and video CRC.\nIf flag == false -> will check timing, color depth, color space without checking video CRC.

\n\n

Usually use for manual checking.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.LinkRateDp21", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "LinkRateDp21", "kind": "class", "doc": "

Class LinkRateDp21 describes support DP 2.1 rates. Allows getting and setting values.

\n\n
    \n
  • Support 10 Gbps support_10Gbps.
  • \n
  • Support 13.5 Gbps support_13_5Gbps.
  • \n
  • Support 20 Gbps support_20Gbps.
  • \n
\n", "bases": "UniTAP.dev.modules.dut_tests.test_group_params_types.Param"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.LinkRateDp21.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "LinkRateDp21.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.LinkRateDp21.support_10Gbps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "LinkRateDp21.support_10Gbps", "kind": "variable", "doc": "

Set and get 10 Gbps flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.LinkRateDp21.support_20Gbps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "LinkRateDp21.support_20Gbps", "kind": "variable", "doc": "

Set and get 20 Gbps flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.LinkRateDp21.support_13_5Gbps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "LinkRateDp21.support_13_5Gbps", "kind": "variable", "doc": "

Set and get 13.5 Gbps flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags", "kind": "class", "doc": "

Class DutCapsDp21Flags inherited of classDutCapsFlags which defines the DUT capabilities as flags and allows\nsetting:

\n\n
    \n
  • Maximum link bandwidth policy supported flag max_link_bandwidth_policy_supported.
  • \n
\n\n

Also has all the DutCapsFlags functionality.

\n", "bases": "UniTAP.dev.modules.dut_tests.test_group_params_types.Param"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.voltage_swing_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.voltage_swing_supported", "kind": "variable", "doc": "

Set and get Voltage swing level flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.pre_emphasis_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.pre_emphasis_supported", "kind": "variable", "doc": "

Set and get Pre-emphasis level flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.fixed_timing_dut_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.fixed_timing_dut_supported", "kind": "variable", "doc": "

Set and get Fixed timing DUT flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.spread_spectrum_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.spread_spectrum_supported", "kind": "variable", "doc": "

Set and get Spread Spectrum flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.change_vf_without_lt_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.change_vf_without_lt_supported", "kind": "variable", "doc": "

Set and get Video format change without LT flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.e_ddc_protocol_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.e_ddc_protocol_supported", "kind": "variable", "doc": "

Set and get E-DDC protocol flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.audio_transmission_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.audio_transmission_supported", "kind": "variable", "doc": "

Set and get Audio Info Frame for 2 channel audio transmission flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.dut_is_type_c_device", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.dut_is_type_c_device", "kind": "variable", "doc": "

Set and get Define that DUT is Type-C device flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.fec_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.fec_supported", "kind": "variable", "doc": "

Set and get FEC flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.fec_disable_sequence_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.fec_disable_sequence_supported", "kind": "variable", "doc": "

Set and get FEC disable sequence flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.audio_without_video_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.audio_without_video_supported", "kind": "variable", "doc": "

Set and get Audio without Video flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.dsc_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.dsc_supported", "kind": "variable", "doc": "

Set and get DSC flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.dsc_block_prediction_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.dsc_block_prediction_supported", "kind": "variable", "doc": "

Set and get DSC block prediction flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.max_link_bandwidth_policy_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.max_link_bandwidth_policy_supported", "kind": "variable", "doc": "

Set and get Maximum link bandwidth policy flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.use_3tap_conversion", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.use_3tap_conversion", "kind": "variable", "doc": "

Set and get 3TAP conversion flag using.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.usb4_tunnel_presented", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.usb4_tunnel_presented", "kind": "variable", "doc": "

Set and get USB4 tunnel presented flag.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.native_display_id_read", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.native_display_id_read", "kind": "variable", "doc": "

Set and get DUT supports native Display ID read flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.display_id_vii_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.display_id_vii_supported", "kind": "variable", "doc": "

Set and get DisplayID Type VII Detailed Timing Descriptor flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.display_id_viii_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.display_id_viii_supported", "kind": "variable", "doc": "

Set and get DisplayID Type VIII Detailed Timing Descriptor flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.display_id_ix_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.display_id_ix_supported", "kind": "variable", "doc": "

Set and get DisplayID Type IX Detailed Timing Descriptor flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.display_id_x_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.display_id_x_supported", "kind": "variable", "doc": "

Set and get DisplayID Type X Detailed Timing Descriptor flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.display_id_tiled_display_topology", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.display_id_tiled_display_topology", "kind": "variable", "doc": "

Set and get 2x1 tiled display and DisplayID Tiled Display Topology data block flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.display_id_tiled_stereo_display", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.display_id_tiled_stereo_display", "kind": "variable", "doc": "

Set and get Field sequential stereo and DisplayID Tiled Stereo Display Interface data block flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.stacked_frame_stereo_supported", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.stacked_frame_stereo_supported", "kind": "variable", "doc": "

Set and get Stacked frame stereo and DisplayID Tiled Stereo Display Interface data flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags.dynamic_refresh_rate_support", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21Flags.dynamic_refresh_rate_support", "kind": "variable", "doc": "

Set and get Dynamic Refresh Rate with VBlank stretch with MSA_TIMING_PAR_IGNORED flag supported.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21", "kind": "class", "doc": "

Class DutCapsDp21 defines the DUT capabilities and allows setting:

\n\n
    \n
  • Defines the maximum number of lanes supported by the DUT max_lanes.
  • \n
  • Maximum link rate supported by the DUT max_link_rate.
  • \n
  • Dut capabilities flags dut_caps_flags type DutCapsFlags.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21.max_lanes", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21.max_lanes", "kind": "variable", "doc": "

Set and get number of maximum lanes.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21.max_link_rate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21.max_link_rate", "kind": "variable", "doc": "

Set and get number of maximum link rate.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21.dut_caps_flags", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DutCapsDp21.dut_caps_flags", "kind": "variable", "doc": "

Set and get DUT capabilities flags.

\n\n
Returns:
\n\n
\n

object of DutCapsFlags type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21Flags"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DebugOptions", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DebugOptions", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DebugOptions.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DebugOptions.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DebugOptions.continue_on_fail", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DebugOptions.continue_on_fail", "kind": "variable", "doc": "

Set and get continue on fail flag.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DebugOptions.force_visual_check", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "DebugOptions.force_visual_check", "kind": "variable", "doc": "

Set and get Force manual visual check flag.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.GeneralSourceDUTDp21SettingTab", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "GeneralSourceDUTDp21SettingTab", "kind": "class", "doc": "

Class GeneralSourceDUTDp21SettingTab inherited of classGeneralSourceDUTDp14SettingTab allows working with\nparameters from General source part.

\n\n
    \n
  • Set and get timeout timeout.
  • \n
  • Set and get hpd_pulse_duration. Describes duration of long HPD pulses generated, in milliseconds.
  • \n
  • Set and get DUT capabilities dut_caps type DutCapsDp21.
  • \n
  • Set and get DUT link rates dut_link_rates type LinkRateDp21.
  • \n
  • Set and get LTTPR device count lttpr_device_count.
  • \n
  • Set and get maximum link bandwidth policy max_link_bw_policy type MaxLinkBwPolicy.
  • \n
  • Set and get DSC maximum slice number dsc_max_slice.
  • \n
  • Set and get DSC version dsc_version.
  • \n
  • Set and get debug options debug_options type DebugOptions
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.GeneralSourceDUTDp21SettingTab.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "GeneralSourceDUTDp21SettingTab.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.GeneralSourceDUTDp21SettingTab.timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "GeneralSourceDUTDp21SettingTab.timeout", "kind": "variable", "doc": "

Set and get test timeout, in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.GeneralSourceDUTDp21SettingTab.dut_caps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "GeneralSourceDUTDp21SettingTab.dut_caps", "kind": "variable", "doc": "

Set and get DUT caps.

\n\n
Returns:
\n\n
\n

object DutCapsDp21

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DutCapsDp21"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.GeneralSourceDUTDp21SettingTab.hpd_pulse_duration", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "GeneralSourceDUTDp21SettingTab.hpd_pulse_duration", "kind": "variable", "doc": "

Set and get HPD pulse duration.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.GeneralSourceDUTDp21SettingTab.test_automation", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "GeneralSourceDUTDp21SettingTab.test_automation", "kind": "variable", "doc": "

Set and get test automation flags.

\n\n
Returns:
\n\n
\n

object TestAutomationFlags

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.TestAutomationFlagsDP21"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.GeneralSourceDUTDp21SettingTab.dut_link_rates", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "GeneralSourceDUTDp21SettingTab.dut_link_rates", "kind": "variable", "doc": "

Set and get DUT link rates.

\n\n
Returns:
\n\n
\n

object LinkRateDp21

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.LinkRateDp21"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.GeneralSourceDUTDp21SettingTab.max_link_bw_policy", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "GeneralSourceDUTDp21SettingTab.max_link_bw_policy", "kind": "variable", "doc": "

Set and get maximum link bandwidth policy.

\n\n
Returns:
\n\n
\n

object int

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.GeneralSourceDUTDp21SettingTab.lttpr_device_count", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "GeneralSourceDUTDp21SettingTab.lttpr_device_count", "kind": "variable", "doc": "

Set and get LTTPR device count.

\n\n
Returns:
\n\n
\n

object int

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.GeneralSourceDUTDp21SettingTab.dsc_max_slice", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "GeneralSourceDUTDp21SettingTab.dsc_max_slice", "kind": "variable", "doc": "

Set and get DSC maximum slice number.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.GeneralSourceDUTDp21SettingTab.dsc_version", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "GeneralSourceDUTDp21SettingTab.dsc_version", "kind": "variable", "doc": "

Set and get DSC version.\nSetter: .dsc_version((1, 2))

\n\n
Returns:
\n\n
\n

object of list type

\n
\n", "annotation": ": list"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.GeneralSourceDUTDp21SettingTab.debug_options", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab", "qualname": "GeneralSourceDUTDp21SettingTab.debug_options", "kind": "variable", "doc": "

Set and get debug options.

\n\n
Returns:
\n\n
\n

object of 'DebugOptions' type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_2_1_source_general_tab.DebugOptions"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpDutTaCaps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpDutTaCaps", "kind": "class", "doc": "

Class DpDutTaCaps describes DUT Test automation capabilities flags and allows settings values.

\n\n
    \n
  • DUT is capable for test link training dut_capable_link_training.
  • \n
  • DUT is capable for test video pattern dut_capable_video_pattern
  • \n
  • DUT is capable for test EDID read dut_capable_edid_read.
  • \n
\n", "bases": "UniTAP.dev.modules.dut_tests.test_group_params_types.Param"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpDutTaCaps.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpDutTaCaps.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpDutTaCaps.dut_capable_link_training", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpDutTaCaps.dut_capable_link_training", "kind": "variable", "doc": "

Set and get DUT is capable for test link training flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpDutTaCaps.dut_capable_video_pattern", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpDutTaCaps.dut_capable_video_pattern", "kind": "variable", "doc": "

Set and get DUT is capable for test video pattern flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpDutTaCaps.dut_capable_edid_read", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpDutTaCaps.dut_capable_edid_read", "kind": "variable", "doc": "

Set and get DUT is capable for test EDID read flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam", "kind": "class", "doc": "

Class DpElectricalTestParam describes parameters for DP electrical tests.

\n\n
    \n
  • Test timeout, in milliseconds timeout.
  • \n
  • Main link low voltage limit, mV links_low_voltage.
  • \n
  • Main link high voltage limit, mV links_high_voltage.
  • \n
  • HPD line logical zero low voltage level limit, mV hpd_zero_low_voltage.
  • \n
  • HPD line logical zero high voltage level limit, mV hpd_zero_high_voltage.
  • \n
  • HPD line logical one low voltage level limit, mV hpd_one_low_voltage.
  • \n
  • HPD line logical one high voltage level limit, mV hpd_one_high_voltage.
  • \n
  • AUX + line idle low voltage level limit, mV aux_positive_idle_low_voltage.
  • \n
  • AUX + line idle high voltage level limit, mV aux_positive_idle_high_voltage.
  • \n
  • AUX - line idle low voltage level limit, mV aux_negative_idle_low_voltage.
  • \n
  • AUX - line idle high voltage level limit, mV aux_negative_idle_high_voltage.
  • \n
  • AUX + line signal trigger level, mV aux_positive_trig_voltage.
  • \n
  • AUX - line signal trigger level, mV aux_negative_trig_voltage.
  • \n
  • AUX signal capture timeout, milliseconds aux_signal_capture_timeout.
  • \n
  • AUX signal capture attempts, times aux_signal_capture_count.
  • \n
  • Maximum lanes count supported by DUT dut_max_lanes.
  • \n
  • Maximum data rate supported by DUT in 0.27Gbps dut_max_link_rate.
  • \n
  • DUT Test automation capabilities flags dut_ta_caps type DpDutTaCaps.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam.timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam.timeout", "kind": "variable", "doc": "

Set and get test timeout, in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam.links_low_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam.links_low_voltage", "kind": "variable", "doc": "

Set and get Main link low voltage limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam.links_high_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam.links_high_voltage", "kind": "variable", "doc": "

Set and get Main link high voltage limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam.hpd_zero_low_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam.hpd_zero_low_voltage", "kind": "variable", "doc": "

Set and get HPD line logical zero low voltage level limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam.hpd_zero_high_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam.hpd_zero_high_voltage", "kind": "variable", "doc": "

Set and get HPD line logical zero high voltage level limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam.hpd_one_low_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam.hpd_one_low_voltage", "kind": "variable", "doc": "

Set and get HPD line logical one low voltage level limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam.hpd_one_high_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam.hpd_one_high_voltage", "kind": "variable", "doc": "

Set and get HPD line logical one high voltage level limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam.aux_positive_idle_low_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam.aux_positive_idle_low_voltage", "kind": "variable", "doc": "

Set and get AUX + line idle low voltage level limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam.aux_positive_idle_high_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam.aux_positive_idle_high_voltage", "kind": "variable", "doc": "

Set and get AUX + line idle high voltage level limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam.aux_negative_idle_low_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam.aux_negative_idle_low_voltage", "kind": "variable", "doc": "

Set and get AUX - line idle low voltage level limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam.aux_negative_idle_high_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam.aux_negative_idle_high_voltage", "kind": "variable", "doc": "

Set and get AUX - line idle high voltage level limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam.aux_positive_trig_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam.aux_positive_trig_voltage", "kind": "variable", "doc": "

Set and get AUX + line signal trigger level.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam.aux_negative_trig_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam.aux_negative_trig_voltage", "kind": "variable", "doc": "

Set and get AUX - line signal trigger level.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam.aux_signal_capture_timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam.aux_signal_capture_timeout", "kind": "variable", "doc": "

Set and get AUX signal capture timeout, milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam.aux_signal_capture_count", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam.aux_signal_capture_count", "kind": "variable", "doc": "

Set and get AUX signal capture attempts.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam.dut_max_lanes", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam.dut_max_lanes", "kind": "variable", "doc": "

Set and get Maximum lanes count supported by DUT.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam.dut_max_link_rate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam.dut_max_link_rate", "kind": "variable", "doc": "

Set and get Maximum data rate supported by DUT in 0.27Gbps.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests.DpElectricalTestParam.dut_ta_caps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_electrical_tests", "qualname": "DpElectricalTestParam.dut_ta_caps", "kind": "variable", "doc": "

Set and get DUT Test automation capabilities flags.

\n\n
Returns:
\n\n
\n

object DpDutTaCaps

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.BitStream", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "BitStream", "kind": "class", "doc": "

Describes available values for bit stream.\nSink DUT support 444 CRC for Simple 422 bitstream

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.BitStream.YCbCr422", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "BitStream.YCbCr422", "kind": "variable", "doc": "

\n", "default_value": "<BitStream.YCbCr422: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.BitStream.YCbCr444", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "BitStream.YCbCr444", "kind": "variable", "doc": "

\n", "default_value": "<BitStream.YCbCr444: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.PackedSource", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "PackedSource", "kind": "class", "doc": "

Describes available values for packer source.\nSource of the most packet video modes table.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.PackedSource.UseTestConfig", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "PackedSource.UseTestConfig", "kind": "variable", "doc": "

\n", "default_value": "<PackedSource.UseTestConfig: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.PackedSource.UseSinkDutEdid", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "PackedSource.UseSinkDutEdid", "kind": "variable", "doc": "

\n", "default_value": "<PackedSource.UseSinkDutEdid: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.DisplayIdVisualCheck", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "DisplayIdVisualCheck", "kind": "class", "doc": "

Describes available values for visual check during DisplayID CTS tests.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.DisplayIdVisualCheck.NeverSkip", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "DisplayIdVisualCheck.NeverSkip", "kind": "variable", "doc": "

\n", "default_value": "<DisplayIdVisualCheck.NeverSkip: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.DisplayIdVisualCheck.SkipIfCrcMatches", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "DisplayIdVisualCheck.SkipIfCrcMatches", "kind": "variable", "doc": "

\n", "default_value": "<DisplayIdVisualCheck.SkipIfCrcMatches: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Timing", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Timing", "kind": "class", "doc": "

Class Timing describes available supported timings standard.

\n\n
    \n
  • CTA cta (enable/disable).
  • \n
  • RB1 rb1 (enable/disable).
  • \n
  • RB2 rb2 (enable/disable).
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Timing.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Timing.__init__", "kind": "function", "doc": "

\n", "signature": "(timing_data)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Timing.cta", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Timing.cta", "kind": "variable", "doc": "

Set and get CTA flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Timing.rb1", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Timing.rb1", "kind": "variable", "doc": "

Set and get RB1 flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Timing.rb2", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Timing.rb2", "kind": "variable", "doc": "

Set and get RB2 flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Timing.set_all", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Timing.set_all", "kind": "function", "doc": "

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Timing.clear", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Timing.clear", "kind": "function", "doc": "

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTimings", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTimings", "kind": "class", "doc": "

Class Dp14SinkTimings defines DSC video modes adn allows settings values.

\n\n
    \n
  • 1920x1080 30Hz T_1920_x_1080_30.
  • \n
  • 1920x1080 60Hz T_1920_x_1080_60.
  • \n
  • 1920x1080 120Hz T_1920_x_1080_120.
  • \n
  • 3840x2160 30Hz T_3840_x_2160_30.
  • \n
  • 3840x2160 60Hz T_3840_x_2160_60.
  • \n
  • 3840x2160 120Hz T_3840_x_2160_120.
  • \n
  • 5120x2160 30Hz T_5120_x_2160_30.
  • \n
  • 5120x2160 60Hz T_5120_x_2160_60.
  • \n
  • 5120x2160 120Hz T_5120_x_2160_120.
  • \n
  • 7680x4320 30Hz T_7680_x_4320_30.
  • \n
  • 7680x4320 60Hz T_7680_x_4320_60.
  • \n
  • 7680x4320 100Hz T_7680_x_4320_100.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTimings.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTimings.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTimings.T_1920_x_1080_30", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTimings.T_1920_x_1080_30", "kind": "variable", "doc": "

Set and get 1920x1080 30Hz timing.

\n\n
Returns:
\n\n
\n

object of Timing type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTimings.T_1920_x_1080_60", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTimings.T_1920_x_1080_60", "kind": "variable", "doc": "

Set and get 1920x1080 60Hz timing.

\n\n
Returns:
\n\n
\n

object of Timing type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTimings.T_1920_x_1080_120", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTimings.T_1920_x_1080_120", "kind": "variable", "doc": "

Set and get 1920x1080 120Hz timing.

\n\n
Returns:
\n\n
\n

object of Timing type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTimings.T_3840_x_2160_30", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTimings.T_3840_x_2160_30", "kind": "variable", "doc": "

Set and get 3840x2160 30Hz timing.

\n\n
Returns:
\n\n
\n

object of Timing type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTimings.T_3840_x_2160_60", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTimings.T_3840_x_2160_60", "kind": "variable", "doc": "

Set and get 3840x2160 60Hz timing.

\n\n
Returns:
\n\n
\n

object of Timing type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTimings.T_3840_x_2160_120", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTimings.T_3840_x_2160_120", "kind": "variable", "doc": "

Set and get 3840x2160 120Hz timing.

\n\n
Returns:
\n\n
\n

object of Timing type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTimings.T_5120_x_2160_30", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTimings.T_5120_x_2160_30", "kind": "variable", "doc": "

Set and get 5120x2160 30Hz timing.

\n\n
Returns:
\n\n
\n

object of Timing type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTimings.T_5120_x_2160_60", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTimings.T_5120_x_2160_60", "kind": "variable", "doc": "

Set and get 5120x2160 60Hz timing.

\n\n
Returns:
\n\n
\n

object of Timing type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTimings.T_5120_x_2160_120", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTimings.T_5120_x_2160_120", "kind": "variable", "doc": "

Set and get 5120x2160 120Hz timing.

\n\n
Returns:
\n\n
\n

object of Timing type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTimings.T_7680_x_4320_30", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTimings.T_7680_x_4320_30", "kind": "variable", "doc": "

Set and get 7680x4320 30Hz timing.

\n\n
Returns:
\n\n
\n

object of Timing type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTimings.T_7680_x_4320_60", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTimings.T_7680_x_4320_60", "kind": "variable", "doc": "

Set and get 7680x4320 60Hz timing.

\n\n
Returns:
\n\n
\n

object of Timing type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTimings.T_7680_x_4320_100", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTimings.T_7680_x_4320_100", "kind": "variable", "doc": "

Set and get 7680x4320 100Hz timing.

\n\n
Returns:
\n\n
\n

object of Timing type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode1LaneParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode1LaneParam", "kind": "class", "doc": "

Class ConfigVideoMode1LaneParam defines support for video mode for 1 lane and allows settings values.

\n\n
    \n
  • CVT 1280x800 cvt_1280x800.
  • \n
  • DMT 1280x768 dmt_1280x768.
  • \n
  • DMT 800x600 dmt_800x600.
  • \n
  • DMT 1024x768 dmt_1024x768.
  • \n
  • CTA 1440x480 cta_1440x480.
  • \n
  • CTA 1440x576 cta_1440x576.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode1LaneParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode1LaneParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode1LaneParam.cvt_1280x800", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode1LaneParam.cvt_1280x800", "kind": "variable", "doc": "

Set and get CVT 1280x800 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode1LaneParam.dmt_1280x768", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode1LaneParam.dmt_1280x768", "kind": "variable", "doc": "

Set and get DMT 1280x768 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode1LaneParam.dmt_800x600", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode1LaneParam.dmt_800x600", "kind": "variable", "doc": "

Set and get DMT 800x600 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode1LaneParam.dmt_1024x768", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode1LaneParam.dmt_1024x768", "kind": "variable", "doc": "

Set and get DMT 1024x768 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode1LaneParam.cta_1440x480", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode1LaneParam.cta_1440x480", "kind": "variable", "doc": "

Set and get CTA 1440x480 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode1LaneParam.cta_1440x576", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode1LaneParam.cta_1440x576", "kind": "variable", "doc": "

Set and get CTA 1440x576 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode2LaneParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode2LaneParam", "kind": "class", "doc": "

Class ConfigVideoMode2LaneParam defines support for video mode for 2 lane and allows settings values.

\n\n
    \n
  • DMT 1280x1024 dmt_1280x1024.
  • \n
  • DMT 1280x960 dmt_1280x960.
  • \n
  • DMT 1360x768 dmt_1360x768.
  • \n
  • CVT 1280x800 cvt_1280x800.
  • \n
  • DMT 1400x1050 dmt_1400x1050.
  • \n
  • DMT 1280x768 dmt_1280x768.
  • \n
  • CVT 1600x1200 cvt_1600x1200
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode2LaneParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode2LaneParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode2LaneParam.dmt_1280x1024", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode2LaneParam.dmt_1280x1024", "kind": "variable", "doc": "

Set and get DMT 1280x1024 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode2LaneParam.dmt_1280x960", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode2LaneParam.dmt_1280x960", "kind": "variable", "doc": "

Set and get DMT 1280x960 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode2LaneParam.dmt_1360x768", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode2LaneParam.dmt_1360x768", "kind": "variable", "doc": "

Set and get DMT 1360x768 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode2LaneParam.cvt_1280x800", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode2LaneParam.cvt_1280x800", "kind": "variable", "doc": "

Set and get CVT 1280x800 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode2LaneParam.dmt_1400x1050", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode2LaneParam.dmt_1400x1050", "kind": "variable", "doc": "

Set and get DMT 1400x1050 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode2LaneParam.dmt_1280x768", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode2LaneParam.dmt_1280x768", "kind": "variable", "doc": "

Set and get DMT 1280x768 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode2LaneParam.cvt_1600x1200", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode2LaneParam.cvt_1600x1200", "kind": "variable", "doc": "

Set and get CVT 1600x1200 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode4LaneParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode4LaneParam", "kind": "class", "doc": "

Class ConfigVideoMode4LaneParam defines support for video mode for 4 lane and allows settings values.

\n\n
    \n
  • CVT 2048x1536 cvt_2048x1536.
  • \n
  • DMT 1792x1344 dmt_1792x1344.
  • \n
  • DMT 1600x1200 dmt_1600x1200.
  • \n
  • CTA 1920x1080 cta_1920x1080.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode4LaneParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode4LaneParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode4LaneParam.cvt_2048x1536", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode4LaneParam.cvt_2048x1536", "kind": "variable", "doc": "

Set and get CVT 2048x1536 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode4LaneParam.dmt_1792x1344", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode4LaneParam.dmt_1792x1344", "kind": "variable", "doc": "

Set and get DMT 1792x1344 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode4LaneParam.dmt_1600x1200", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode4LaneParam.dmt_1600x1200", "kind": "variable", "doc": "

Set and get DMT 1600x1200 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.ConfigVideoMode4LaneParam.cta_1920x1080", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "ConfigVideoMode4LaneParam.cta_1920x1080", "kind": "variable", "doc": "

Set and get CTA 1920x1080 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTestParam", "kind": "class", "doc": "

Class Dp14SinkTestParam allows working with parameters for Sink DP 1.4 LLCTS tests.

\n\n
    \n
  • Set and get test timeout, in milliseconds timeout.
  • \n
  • Set and get DSC timings timings type Dp14SinkTimings.
  • \n
  • Set and get capabilities of DSC video mode dsc_video_mode.
  • \n
  • Set and get bitstream type bitstream - type BitStream.
  • \n
  • Set and get packed source packed_source - type PackedSource.
  • \n
  • Set and get configuration of video modes for 1 lane config_video_mode_1_lane type ConfigVideoMode1LaneParam.
  • \n
  • Set and get configuration of video modes for 2 lane config_video_mode_2_lane type ConfigVideoMode2LaneParam.
  • \n
  • Set and get configuration of video modes for 4 lane config_video_mode_4_lane type ConfigVideoMode4LaneParam.
  • \n
  • Set and get flag of display id visual display_id_visual type DisplayIdVisualCheck.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTestParam.timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTestParam.timeout", "kind": "variable", "doc": "

Set and get test timeout, in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTestParam.timings", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTestParam.timings", "kind": "variable", "doc": "

Set and get timings.

\n\n
Returns:
\n\n
\n

object Dp14SinkTimings

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTestParam.dsc_video_mode", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTestParam.dsc_video_mode", "kind": "variable", "doc": "

Set and get dsc video packed source.

\n\n
Returns:
\n\n
\n

object PackedSource

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.PackedSource"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTestParam.bitstream", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTestParam.bitstream", "kind": "variable", "doc": "

Set and get bitstream.

\n\n
Returns:
\n\n
\n

object BitStream

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.BitStream"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTestParam.packed_source", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTestParam.packed_source", "kind": "variable", "doc": "

Set and get packed source.

\n\n
Returns:
\n\n
\n

object PackedSource

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.PackedSource"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTestParam.config_video_mode_1_lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTestParam.config_video_mode_1_lane", "kind": "variable", "doc": "

Set and get configuration of video modes for 1 lane.

\n\n
Returns:
\n\n
\n

object ConfigVideoMode1LaneParam

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTestParam.config_video_mode_2_lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTestParam.config_video_mode_2_lane", "kind": "variable", "doc": "

Set and get configuration of video modes for 2 lane.

\n\n
Returns:
\n\n
\n

object ConfigVideoMode2LaneParam

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTestParam.config_video_mode_4_lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTestParam.config_video_mode_4_lane", "kind": "variable", "doc": "

Set and get configuration of video modes for 4 lane.

\n\n
Returns:
\n\n
\n

object ConfigVideoMode4LaneParam

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.Dp14SinkTestParam.display_id_visual", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests", "qualname": "Dp14SinkTestParam.display_id_visual", "kind": "variable", "doc": "

Set and get flag of visual check in Display ID.

\n\n
Returns:
\n\n
\n

object DisplayIdVisualCheck

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp1_4_sink_tests.DisplayIdVisualCheck"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.RangeMinRate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "RangeMinRate", "kind": "class", "doc": "

Describes available values for rate in Adaptive-Sync tests.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.RangeMinRate.Rate_59_940Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "RangeMinRate.Rate_59_940Hz", "kind": "variable", "doc": "

\n", "default_value": "<RangeMinRate.Rate_59_940Hz: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.RangeMinRate.Rate_47_952Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "RangeMinRate.Rate_47_952Hz", "kind": "variable", "doc": "

\n", "default_value": "<RangeMinRate.Rate_47_952Hz: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.RangeMinRate.Rate_29_970Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "RangeMinRate.Rate_29_970Hz", "kind": "variable", "doc": "

\n", "default_value": "<RangeMinRate.Rate_29_970Hz: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.RangeMinRate.Rate_23_976Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "RangeMinRate.Rate_23_976Hz", "kind": "variable", "doc": "

\n", "default_value": "<RangeMinRate.Rate_23_976Hz: 3>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpCaps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDpCaps", "kind": "class", "doc": "

Class AdaptiveSyncDp14Caps defines adaptive-sync capabilities and allows setting:

\n\n
    \n
  • Support Adaptive-Sync support_adaptive_sync.
  • \n
  • Support fixed average support_fixed_average.
  • \n
  • Support duration increase and decrease support_duration_increase_and_decrease.
  • \n
\n", "bases": "UniTAP.dev.modules.dut_tests.test_group_params_types.Param"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpCaps.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDpCaps.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpCaps.support_adaptive_sync", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDpCaps.support_adaptive_sync", "kind": "variable", "doc": "

Set and get adaptive-sync flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpCaps.support_fixed_average", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDpCaps.support_fixed_average", "kind": "variable", "doc": "

Set and get fixed average flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpCaps.support_duration_increase_and_decrease", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDpCaps.support_duration_increase_and_decrease", "kind": "variable", "doc": "

Set and get duration increase and decrease flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpCaps.enable_manually", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDpCaps.enable_manually", "kind": "variable", "doc": "

Set and get enable manually flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpConfigTabBase", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDpConfigTabBase", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpConfigTabBase.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDpConfigTabBase.__init__", "kind": "function", "doc": "

\n", "signature": "(\tcaps: UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpCaps,\tas_range_min_rate,\tmax_rate_1920x1080,\tmax_rate_2560x1080,\tmax_rate_2560x1440,\tmax_rate_3840x2160,\tmax_rate_4096x2160,\tmax_rate_5120x2160,\tmax_rate_7680x4320,\tmax_rate_10240x4320)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpConfigTabBase.as_caps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDpConfigTabBase.as_caps", "kind": "variable", "doc": "

Set and get adaptive-sync capabilities.

\n\n
Returns:
\n\n
\n

object AdaptiveSyncDp14Caps

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpCaps"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpConfigTabBase.as_range_min_rate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDpConfigTabBase.as_range_min_rate", "kind": "variable", "doc": "

Set and get adaptive-sync minimum rate.

\n\n
Returns:
\n\n
\n

object RangeMinRate

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpConfigTabBase.max_rate_1920x1080", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDpConfigTabBase.max_rate_1920x1080", "kind": "variable", "doc": "

Set and get maximum rate for resolution 1920x1080

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpConfigTabBase.max_rate_2560x1080", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDpConfigTabBase.max_rate_2560x1080", "kind": "variable", "doc": "

Set and get maximum rate for resolution 2560x1080

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpConfigTabBase.max_rate_2560x1440", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDpConfigTabBase.max_rate_2560x1440", "kind": "variable", "doc": "

Set and get maximum rate for resolution 2560x1440

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpConfigTabBase.max_rate_3840x2160", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDpConfigTabBase.max_rate_3840x2160", "kind": "variable", "doc": "

Set and get maximum rate for resolution 3840x2160

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpConfigTabBase.max_rate_4096x2160", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDpConfigTabBase.max_rate_4096x2160", "kind": "variable", "doc": "

Set and get maximum rate for resolution 4096x2160

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpConfigTabBase.max_rate_5120x2160", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDpConfigTabBase.max_rate_5120x2160", "kind": "variable", "doc": "

Set and get maximum rate for resolution 5120x2160

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpConfigTabBase.max_rate_7680x4320", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDpConfigTabBase.max_rate_7680x4320", "kind": "variable", "doc": "

Set and get maximum rate for resolution 7680x4320

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpConfigTabBase.max_rate_10240x4320", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDpConfigTabBase.max_rate_10240x4320", "kind": "variable", "doc": "

Set and get maximum rate for resolution 10240x4320

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDpConfigTabBase.clear_max_rates", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDpConfigTabBase.clear_max_rates", "kind": "function", "doc": "

Clear rates settings.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDp14ConfigTab", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDp14ConfigTab", "kind": "class", "doc": "

Class AdaptiveSyncDp14ConfigTab allows working with parameters for DP 1.4 Adaptive-Sync tests.

\n\n
    \n
  • Set and get capabilities as_caps type AdaptiveSyncDp14Caps.
  • \n
  • Set and get adaptive-sync range minimum rate as_range_min_rate type RangeMinRate.
  • \n
  • Set and get maximum rate for resolution 1920x1080 max_rate_1920x1080.
  • \n
  • Set and get maximum rate for resolution 2560x1080 max_rate_2560x1080.
  • \n
  • Set and get maximum rate for resolution 2560x1440 max_rate_2560x1440.
  • \n
  • Set and get maximum rate for resolution 3840x2160 max_rate_3840x2160.
  • \n
  • Set and get maximum rate for resolution 4096x2160 max_rate_4096x2160.
  • \n
  • Set and get maximum rate for resolution 5120x2160 max_rate_5120x2160.
  • \n
  • Set and get maximum rate for resolution 7680x4320 max_rate_7680x4320.
  • \n
  • Set and get maximum rate for resolution 10240x4320 max_rate_10240x4320.
  • \n
\n", "bases": "AdaptiveSyncDpConfigTabBase"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDp14ConfigTab.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDp14ConfigTab.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDp21ConfigTab", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDp21ConfigTab", "kind": "class", "doc": "

Class AdaptiveSyncDp21ConfigTab inherited of classAdaptiveSyncDp14ConfigTab allows working with\nparameters for DP 2.1 Adaptive-Sync tests\nClass AdaptiveSyncDp21ConfigTab has all the AdaptiveSyncDp14ConfigTab functionality.

\n", "bases": "AdaptiveSyncDpConfigTabBase"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab.AdaptiveSyncDp21ConfigTab.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_adaptive_sync_tab", "qualname": "AdaptiveSyncDp21ConfigTab.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioTestPattern", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioTestPattern", "kind": "class", "doc": "

Describes available values for audio test pattern.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioTestPattern.OperatorSpecificWaveform", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioTestPattern.OperatorSpecificWaveform", "kind": "variable", "doc": "

\n", "default_value": "<AudioTestPattern.OperatorSpecificWaveform: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioTestPattern.SawtoothWaveform", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioTestPattern.SawtoothWaveform", "kind": "variable", "doc": "

\n", "default_value": "<AudioTestPattern.SawtoothWaveform: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioDpChannelsConfig", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioDpChannelsConfig", "kind": "class", "doc": "

Class AudioDp14ChannelsConfig allows working with audio channel configurations.

\n\n
    \n
  • Get Channel count channels_count.
  • \n
  • Select type of audio channel select_channels.
  • \n
\n\n

List of audio channel types:

\n\n
    \n
  • FL+FR
  • \n
  • RL+RR
  • \n
  • FLH+FRH
  • \n
  • TC
  • \n
  • LFE
  • \n
  • RLC+RRC
  • \n
  • FLW+FRW
  • \n
  • FHC
  • \n
  • FC
  • \n
  • RC
  • \n
  • FLC+FRC
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioDpChannelsConfig.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioDpChannelsConfig.__init__", "kind": "function", "doc": "

\n", "signature": "(parameters)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioDpChannelsConfig.channels_count", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioDpChannelsConfig.channels_count", "kind": "variable", "doc": "

Get channels count.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioDpChannelsConfig.select_channels", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioDpChannelsConfig.select_channels", "kind": "function", "doc": "

Set channels types.

\n\n
Arguments:
\n\n
    \n
  • channels (list[str])
  • \n
  • enable (bool)
  • \n
\n", "signature": "(self, channels: List[str], enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioDpChannelsConfig.clear_all", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioDpChannelsConfig.clear_all", "kind": "function", "doc": "

Clear channel count and configs.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioSourceDpSettingTabBase", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioSourceDpSettingTabBase", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioSourceDpSettingTabBase.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioSourceDpSettingTabBase.__init__", "kind": "function", "doc": "

\n", "signature": "(\tmin_sample_rate,\tmax_sample_rate,\tmin_ch_config_min_rate,\tmax_ch_config_min_rate,\tmin_ch_config_max_rate,\tmax_ch_config_max_rate,\taudio_pattern,\tsample_size)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioSourceDpSettingTabBase.min_sample_rate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioSourceDpSettingTabBase.min_sample_rate", "kind": "variable", "doc": "

Set and get minimum sample rate.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioSourceDpSettingTabBase.max_sample_rate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioSourceDpSettingTabBase.max_sample_rate", "kind": "variable", "doc": "

Set and get maximum sample rate.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioSourceDpSettingTabBase.min_ch_config_min_rate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioSourceDpSettingTabBase.min_ch_config_min_rate", "kind": "variable", "doc": "

Get object of config minimum channels and minimum sample rate.

\n\n
Returns:
\n\n
\n

object of AudioDp14ChannelsConfig type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioDpChannelsConfig"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioSourceDpSettingTabBase.max_ch_config_min_rate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioSourceDpSettingTabBase.max_ch_config_min_rate", "kind": "variable", "doc": "

Get object of config maximum channels and minimum sample rate.

\n\n
Returns:
\n\n
\n

object of AudioDp14ChannelsConfig type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioDpChannelsConfig"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioSourceDpSettingTabBase.min_ch_config_max_rate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioSourceDpSettingTabBase.min_ch_config_max_rate", "kind": "variable", "doc": "

Get object of config minimum channels and maximum sample rate.

\n\n
Returns:
\n\n
\n

object of AudioDp14ChannelsConfig type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioDpChannelsConfig"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioSourceDpSettingTabBase.max_ch_config_max_rate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioSourceDpSettingTabBase.max_ch_config_max_rate", "kind": "variable", "doc": "

Get object of config maximum channels and maximum sample rate.

\n\n
Returns:
\n\n
\n

object of AudioDp14ChannelsConfig type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioDpChannelsConfig"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioSourceDpSettingTabBase.audio_pattern", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioSourceDpSettingTabBase.audio_pattern", "kind": "variable", "doc": "

Set and get audio pattern.

\n\n
Returns:
\n\n
\n

object of AudioTestPattern type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioSourceDpSettingTabBase.sample_size", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioSourceDpSettingTabBase.sample_size", "kind": "variable", "doc": "

Set and get sample size.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioSourceDpSettingTabBase.clear_all", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioSourceDpSettingTabBase.clear_all", "kind": "function", "doc": "

Clear all settings.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioSourceDp14SettingTab", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioSourceDp14SettingTab", "kind": "class", "doc": "

Class AudioSourceDp14SettingTab allows working with audio parameters for DP 1.4 DP LLCTS tests.

\n\n
    \n
  • Set and get minimum sample rate min_sample_rate.
  • \n
  • Set and get maximum sample rate max_sample_rate.
  • \n
  • Set and get minimum channels and minimum sample rate min_ch_config_min_rate type AudioDp14ChannelsConfig.
  • \n
  • Set and get maximum channels and minimum sample rate max_ch_config_min_rate type AudioDp14ChannelsConfig.
  • \n
  • Set and get minimum channels and maximum sample rate min_ch_config_max_rate type AudioDp14ChannelsConfig.
  • \n
  • Set and get maximum channels and maximum sample rate max_ch_config_max_rate type AudioDp14ChannelsConfig.
  • \n
  • Set and get audio pattern audio_pattern type AudioTestPattern.
  • \n
  • Set and get sample `sample_size``.
  • \n
\n", "bases": "AudioSourceDpSettingTabBase"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioSourceDp14SettingTab.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioSourceDp14SettingTab.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioSourceDp21SettingTab", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioSourceDp21SettingTab", "kind": "class", "doc": "

Class AudioSourceDp21SettingTab inherited of classAudioSourceDp14SettingTab allows working with\naudio parameters for DP 1.4 DP LLCTS tests.\nClass AudioSourceDp21SettingTab has all the AudioSourceDp14SettingTab functionality.

\n", "bases": "AudioSourceDpSettingTabBase"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab.AudioSourceDp21SettingTab.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_audio_tab", "qualname": "AudioSourceDp21SettingTab.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.AudioMode", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "AudioMode", "kind": "class", "doc": "

Class AudioMode describes audio mode for Display ID tests. Allows working with audio mode parameters.

\n\n
    \n
  • Set and get channel count channel_count.
  • \n
  • Set and get sample size sample_size.
  • \n
  • Set and get sample rate sample_rate.
  • \n
  • Set and get audio type audio_type.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.AudioMode.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "AudioMode.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.AudioMode.clear", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "AudioMode.clear", "kind": "function", "doc": "

Disable audio mode.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.AudioMode.channel_count", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "AudioMode.channel_count", "kind": "variable", "doc": "

Set and get channels count.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.AudioMode.sample_size", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "AudioMode.sample_size", "kind": "variable", "doc": "

Set and get sample size.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.AudioMode.sample_rate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "AudioMode.sample_rate", "kind": "variable", "doc": "

Set and get sample rate.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.AudioMode.audio_type", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "AudioMode.audio_type", "kind": "variable", "doc": "

Get audio type.

\n\n
Returns:
\n\n
\n

object of audio type

\n
\n", "annotation": ": UniTAP.common.audio_mode.AudioFormat"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpAudioBase", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpAudioBase", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpAudioBase.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpAudioBase.__init__", "kind": "function", "doc": "

\n", "signature": "(audio_mode_list)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpAudioBase.audio_mode_1", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpAudioBase.audio_mode_1", "kind": "variable", "doc": "

Set and get audio mode 1.

\n\n
Returns:
\n\n
\n

object of AudioMode type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.AudioMode"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpAudioBase.audio_mode_2", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpAudioBase.audio_mode_2", "kind": "variable", "doc": "

Set and get audio mode 2.

\n\n
Returns:
\n\n
\n

object of AudioMode type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.AudioMode"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpAudioBase.audio_mode_3", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpAudioBase.audio_mode_3", "kind": "variable", "doc": "

Set and get audio mode 3.

\n\n
Returns:
\n\n
\n

object of AudioMode type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.AudioMode"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpAudioBase.audio_mode_4", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpAudioBase.audio_mode_4", "kind": "variable", "doc": "

Set and get audio mode 4.

\n\n
Returns:
\n\n
\n

object of AudioMode type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.AudioMode"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpAudioBase.audio_mode_5", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpAudioBase.audio_mode_5", "kind": "variable", "doc": "

Set and get audio mode 5.

\n\n
Returns:
\n\n
\n

object of AudioMode type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.AudioMode"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpAudioBase.audio_mode_6", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpAudioBase.audio_mode_6", "kind": "variable", "doc": "

Set and get audio mode 6.

\n\n
Returns:
\n\n
\n

object of AudioMode type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.AudioMode"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpAudioBase.audio_mode_7", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpAudioBase.audio_mode_7", "kind": "variable", "doc": "

Set and get audio mode 7.

\n\n
Returns:
\n\n
\n

object of AudioMode type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.AudioMode"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpAudioBase.audio_mode_8", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpAudioBase.audio_mode_8", "kind": "variable", "doc": "

Set and get audio mode 8.

\n\n
Returns:
\n\n
\n

object of AudioMode type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.AudioMode"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpAudioBase.clear_all", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpAudioBase.clear_all", "kind": "function", "doc": "

Clear all settings.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDp14Audio", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDp14Audio", "kind": "class", "doc": "

Class DisplayIdDp14Audio contains 8 available audio modes for Display ID tests. Allows settings each mode.

\n\n
    \n
  • Audio mode 1 audio_mode_1.
  • \n
  • Audio mode 2 audio_mode_2.
  • \n
  • Audio mode 3 audio_mode_3.
  • \n
  • Audio mode 4 audio_mode_4.
  • \n
  • Audio mode 5 audio_mode_5.
  • \n
  • Audio mode 6 audio_mode_6.
  • \n
  • Audio mode 7 audio_mode_7.
  • \n
  • Audio mode 8 audio_mode_8.
  • \n
\n", "bases": "DisplayIdDpAudioBase"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDp14Audio.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDp14Audio.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDp21Audio", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDp21Audio", "kind": "class", "doc": "

Class DisplayIdDp21Audio inherited of classDisplayIdDp14Audio allows working with parameters for Display ID\nLLCTS tests.\nClass DisplayIdDp21Audio has all the DisplayIdDp14Audio functionality.

\n", "bases": "DisplayIdDpAudioBase"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDp21Audio.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDp21Audio.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DmtTiming", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DmtTiming", "kind": "class", "doc": "

Class DmtTiming describes all available DMT timings for Display ID LLCTS tests. Allows enabling and disable\ntimings.

\n\n
    \n
  • 800x600 60Hz T_800x600_60Hz.
  • \n
  • 1024x768 60Hz T_1024x768_60Hz.
  • \n
  • 1280x768 60Hz T_1280x768_60Hz.
  • \n
  • 1280x800 60Hz T_1280x800_60Hz.
  • \n
  • 1280x960 60Hz T_1280x960_60Hz.
  • \n
  • 1280x1024 60Hz T_1280x1024_60Hz.
  • \n
  • 1360x768 60Hz T_1360x768_60Hz.
  • \n
  • 1400x1050 60Hz T_1400x1050_60Hz.
  • \n
  • 1600x1200 60Hz T_1600x1200_60Hz.
  • \n
  • 1680x1050 60Hz T_1680x1050_60Hz.
  • \n
  • 1856x1392 60Hz T_1856x1392_60Hz.
  • \n
  • 1920x1080 60Hz T_1920x1080_60Hz.
  • \n
  • 1920x1200 60Hz T_1920x1200_60Hz.
  • \n
  • 1920x1440 60Hz T_1920x1440_60Hz.
  • \n
  • Disable all timings clear_all.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DmtTiming.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DmtTiming.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DmtTiming.T_800x600_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DmtTiming.T_800x600_60Hz", "kind": "variable", "doc": "

Set and get 800x600 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DmtTiming.T_1024x768_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DmtTiming.T_1024x768_60Hz", "kind": "variable", "doc": "

Set and get 1024x768 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DmtTiming.T_1280x768_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DmtTiming.T_1280x768_60Hz", "kind": "variable", "doc": "

Set and get 1280x768 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DmtTiming.T_1280x800_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DmtTiming.T_1280x800_60Hz", "kind": "variable", "doc": "

Set and get 1280x800 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DmtTiming.T_1280x960_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DmtTiming.T_1280x960_60Hz", "kind": "variable", "doc": "

Set and get 1280x960 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DmtTiming.T_1280x1024_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DmtTiming.T_1280x1024_60Hz", "kind": "variable", "doc": "

Set and get 1280x1024 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DmtTiming.T_1360x768_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DmtTiming.T_1360x768_60Hz", "kind": "variable", "doc": "

Set and get 1360x768 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DmtTiming.T_1400x1050_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DmtTiming.T_1400x1050_60Hz", "kind": "variable", "doc": "

Set and get 1400x1050 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DmtTiming.T_1600x1200_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DmtTiming.T_1600x1200_60Hz", "kind": "variable", "doc": "

Set and get 1600x1200 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DmtTiming.T_1680x1050_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DmtTiming.T_1680x1050_60Hz", "kind": "variable", "doc": "

Set and get 1680x1050 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DmtTiming.T_1856x1392_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DmtTiming.T_1856x1392_60Hz", "kind": "variable", "doc": "

Set and get 1856x1392 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DmtTiming.T_1920x1080_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DmtTiming.T_1920x1080_60Hz", "kind": "variable", "doc": "

Set and get 1920x1080 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DmtTiming.T_1920x1200_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DmtTiming.T_1920x1200_60Hz", "kind": "variable", "doc": "

Set and get 1920x1200 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DmtTiming.T_1920x1440_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DmtTiming.T_1920x1440_60Hz", "kind": "variable", "doc": "

Set and get 1920x1440 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DmtTiming.clear_all", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DmtTiming.clear_all", "kind": "function", "doc": "

Disable all timings.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CtaTiming", "kind": "class", "doc": "

Class CtaTiming describes all available DMT timings for Display ID LLCTS tests. Allows enabling and disable\ntimings.

\n\n
    \n
  • 720x480 60Hz T_720x480_60Hz
  • \n
  • 1280x720 60Hz T_1280x720_60Hz
  • \n
  • 1920x1080 60Hz T_1920x1080_60Hz
  • \n
  • 1280x720 120Hz T_1280x720_120Hz
  • \n
  • 720x480 120Hz T_720x480_120Hz
  • \n
  • 1920x1080 120Hz T_1920x1080_120Hz
  • \n
  • 1680x720 60Hz T_1680x720_60Hz
  • \n
  • 1680x720 120Hz T_1680x720_120Hz
  • \n
  • 2560x1080 60Hz T_2560x1080_60Hz
  • \n
  • 2560x1080 120Hz T_2560x1080_120Hz
  • \n
  • 3840x2160 60Hz T_3840x2160_60Hz
  • \n
  • 4096x2160 60H T_4096x2160_60Hz
  • \n
  • 3840x2160 120Hz T_3840x2160_120Hz
  • \n
  • 5120x2160 60Hz T_5120x2160_60Hz
  • \n
  • 7680x4320 24Hz T_7680x4320_24Hz
  • \n
  • 7680x4320 30Hz T_7680x4320_30Hz
  • \n
  • Disable all timings clear_all.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CtaTiming.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming.T_720x480_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CtaTiming.T_720x480_60Hz", "kind": "variable", "doc": "

Set and get 720x480 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming.T_1280x720_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CtaTiming.T_1280x720_60Hz", "kind": "variable", "doc": "

Set and get 1280x720 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming.T_1920x1080_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CtaTiming.T_1920x1080_60Hz", "kind": "variable", "doc": "

Set and get 1920x1080 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming.T_1280x720_120Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CtaTiming.T_1280x720_120Hz", "kind": "variable", "doc": "

Set and get 1280x720 120Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming.T_720x480_120Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CtaTiming.T_720x480_120Hz", "kind": "variable", "doc": "

Set and get 720x480 120Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming.T_1920x1080_120Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CtaTiming.T_1920x1080_120Hz", "kind": "variable", "doc": "

Set and get 1920x1080 120Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming.T_1680x720_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CtaTiming.T_1680x720_60Hz", "kind": "variable", "doc": "

Set and get 1680x720 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming.T_1680x720_120Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CtaTiming.T_1680x720_120Hz", "kind": "variable", "doc": "

Set and get 1680x720 120Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming.T_2560x1080_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CtaTiming.T_2560x1080_60Hz", "kind": "variable", "doc": "

Set and get 2560x1080 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming.T_2560x1080_120Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CtaTiming.T_2560x1080_120Hz", "kind": "variable", "doc": "

Set and get 2560x1080 120Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming.T_3840x2160_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CtaTiming.T_3840x2160_60Hz", "kind": "variable", "doc": "

Set and get 3840x2160 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming.T_4096x2160_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CtaTiming.T_4096x2160_60Hz", "kind": "variable", "doc": "

Set and get 4096x2160 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming.T_3840x2160_120Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CtaTiming.T_3840x2160_120Hz", "kind": "variable", "doc": "

Set and get 3840x2160 120Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming.T_5120x2160_60Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CtaTiming.T_5120x2160_60Hz", "kind": "variable", "doc": "

Set and get 5120x2160 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming.T_7680x4320_24Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CtaTiming.T_7680x4320_24Hz", "kind": "variable", "doc": "

Set and get 7680x4320 24Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming.T_7680x4320_30Hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CtaTiming.T_7680x4320_30Hz", "kind": "variable", "doc": "

Set and get 7680x4320 30Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming.clear_all", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CtaTiming.clear_all", "kind": "function", "doc": "

Disable all timings.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CvtTiming", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CvtTiming", "kind": "class", "doc": "

Class CvtTiming describes all available DMT timings for Display ID LLCTS tests. Allows enabling and disable\ntimings.

\n\n
    \n
  • 1920x1080 60Hz RB1 T_1920x1080_60Hz_RB1.
  • \n
  • 2048x1536 60Hz RB1 T_2048x1536_60Hz_RB1.
  • \n
  • 2560x1080 60Hz RB1 T_2560x1080_60Hz_RB1.
  • \n
  • 2560x1440 60Hz RB1 T_2560x1440_60Hz_RB1.
  • \n
  • 2560x1440 60Hz RB2 T_2560x1440_60Hz_RB2.
  • \n
  • 3840x2160 60Hz RB1 T_3840x2160_60Hz_RB1.
  • \n
  • 3840x2160 60Hz RB2 T_3840x2160_60Hz_RB2.
  • \n
  • 3840x2160 60Hz RB3 T_3840x2160_60Hz_RB3.
  • \n
  • 4096x2160 60Hz RB1 T_4096x2160_60Hz_RB1.
  • \n
  • 4096x2160 60Hz RB2 T_4096x2160_60Hz_RB2.
  • \n
  • 4096x2160 60Hz RB3 T_4096x2160_60Hz_RB3.
  • \n
  • 5120x2880 60Hz RB1 T_5120x2880_60Hz_RB1.
  • \n
  • 5120x2880 60Hz RB2 T_5120x2880_60Hz_RB2.
  • \n
  • 5120x2880 60Hz RB3 T_5120x2880_60Hz_RB3.
  • \n
  • Disable all timings clear_all.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CvtTiming.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CvtTiming.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CvtTiming.T_1920x1080_60Hz_RB1", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CvtTiming.T_1920x1080_60Hz_RB1", "kind": "variable", "doc": "

Set and get 1920x1080 60Hz RB1 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CvtTiming.T_2048x1536_60Hz_RB1", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CvtTiming.T_2048x1536_60Hz_RB1", "kind": "variable", "doc": "

Set and get 2048x1536 60Hz RB1 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CvtTiming.T_2560x1080_60Hz_RB1", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CvtTiming.T_2560x1080_60Hz_RB1", "kind": "variable", "doc": "

Set and get 2560x1080 60Hz RB1 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CvtTiming.T_2560x1440_60Hz_RB1", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CvtTiming.T_2560x1440_60Hz_RB1", "kind": "variable", "doc": "

Set and get 2560x1440 60Hz RB1 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CvtTiming.T_2560x1440_60Hz_RB2", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CvtTiming.T_2560x1440_60Hz_RB2", "kind": "variable", "doc": "

Set and get 2560x1440 60Hz RB2 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CvtTiming.T_3840x2160_60Hz_RB1", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CvtTiming.T_3840x2160_60Hz_RB1", "kind": "variable", "doc": "

Set and get 3840x2160 60Hz RB1 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CvtTiming.T_3840x2160_60Hz_RB2", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CvtTiming.T_3840x2160_60Hz_RB2", "kind": "variable", "doc": "

Set and get 3840x2160 60Hz RB2 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CvtTiming.T_3840x2160_60Hz_RB3", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CvtTiming.T_3840x2160_60Hz_RB3", "kind": "variable", "doc": "

Set and get 3840x2160 60Hz RB3 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CvtTiming.T_4096x2160_60Hz_RB1", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CvtTiming.T_4096x2160_60Hz_RB1", "kind": "variable", "doc": "

Set and get 4096x2160 60Hz RB1 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CvtTiming.T_4096x2160_60Hz_RB2", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CvtTiming.T_4096x2160_60Hz_RB2", "kind": "variable", "doc": "

Set and get 4096x2160 60Hz RB2 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CvtTiming.T_4096x2160_60Hz_RB3", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CvtTiming.T_4096x2160_60Hz_RB3", "kind": "variable", "doc": "

Set and get 4096x2160 60Hz RB3 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CvtTiming.T_5120x2880_60Hz_RB1", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CvtTiming.T_5120x2880_60Hz_RB1", "kind": "variable", "doc": "

Set and get 5120x2880 60Hz RB1 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CvtTiming.T_5120x2880_60Hz_RB2", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CvtTiming.T_5120x2880_60Hz_RB2", "kind": "variable", "doc": "

Set and get 5120x2880 60Hz RB2 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CvtTiming.T_5120x2880_60Hz_RB3", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CvtTiming.T_5120x2880_60Hz_RB3", "kind": "variable", "doc": "

Set and get 5120x2880 60Hz RB3 timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CvtTiming.clear_all", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "CvtTiming.clear_all", "kind": "function", "doc": "

Disable all timings.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpVideoTimingsBase", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpVideoTimingsBase", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpVideoTimingsBase.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpVideoTimingsBase.__init__", "kind": "function", "doc": "

\n", "signature": "(dmt_timings, cta_timings, cvt_timings)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpVideoTimingsBase.dmt_timings", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpVideoTimingsBase.dmt_timings", "kind": "variable", "doc": "

Set and get DMT timings.

\n\n
Returns:
\n\n
\n

object of DmtTiming type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DmtTiming"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpVideoTimingsBase.cta_timings", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpVideoTimingsBase.cta_timings", "kind": "variable", "doc": "

Set and get CTA timings.

\n\n
Returns:
\n\n
\n

object of CtaTiming type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CtaTiming"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpVideoTimingsBase.cvt_timings", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpVideoTimingsBase.cvt_timings", "kind": "variable", "doc": "

Set and get CVT timings.

\n\n
Returns:
\n\n
\n

object of CvtTiming type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.CvtTiming"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpVideoTimingsBase.clear_all", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpVideoTimingsBase.clear_all", "kind": "function", "doc": "

Disable all timings.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDp14VideoTimings", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDp14VideoTimings", "kind": "class", "doc": "

Class DisplayIdDp14VideoTimings allows working with all timings for Display ID LLCTS tests.

\n\n
    \n
  • Configure DMT timings dmt_timings.
  • \n
  • Configure CTA timings cta_timings.
  • \n
  • Configure CVT timings cvt_timings.
  • \n
  • Disable all timings clear_all.
  • \n
\n", "bases": "DisplayIdDpVideoTimingsBase"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDp14VideoTimings.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDp14VideoTimings.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDp21VideoTimings", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDp21VideoTimings", "kind": "class", "doc": "

Class DisplayIdDp21VideoTimings inherited of classDisplayIdDp14VideoTimings allows working with timings for\nDisplay ID LLCTS tests.\nClass DisplayIdDp21VideoTimings has all the DisplayIdDp14VideoTimings functionality.

\n", "bases": "DisplayIdDpVideoTimingsBase"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDp21VideoTimings.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDp21VideoTimings.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpConfigTabBase", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpConfigTabBase", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpConfigTabBase.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpConfigTabBase.__init__", "kind": "function", "doc": "

\n", "signature": "(\tmax_stream_h_active,\tmax_stream_v_active,\tmax_stream_pixel_clock,\tdisplay_id_audio,\tdisplay_id_timings)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpConfigTabBase.max_stream_h_active", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpConfigTabBase.max_stream_h_active", "kind": "variable", "doc": "

Set and get maximum stream resolution H Active.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpConfigTabBase.max_stream_v_active", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpConfigTabBase.max_stream_v_active", "kind": "variable", "doc": "

Set and get maximum stream resolution V Active.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpConfigTabBase.max_stream_pixel_clock", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpConfigTabBase.max_stream_pixel_clock", "kind": "variable", "doc": "

Set and get maximum stream pixel clock.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpConfigTabBase.audio", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpConfigTabBase.audio", "kind": "variable", "doc": "

Set and get audio settings.

\n\n
Returns:
\n\n
\n

object of DisplayIdDp14Audio type

\n
\n", "annotation": ": ~AudioDisplayIdParameters"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpConfigTabBase.general", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpConfigTabBase.general", "kind": "variable", "doc": "

Set and get timings settings.

\n\n
Returns:
\n\n
\n

object of DisplayIdDp14VideoTimings type

\n
\n", "annotation": ": ~GeneralDisplayIdParameters"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDpConfigTabBase.clear_all", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDpConfigTabBase.clear_all", "kind": "function", "doc": "

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDp14ConfigTab", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDp14ConfigTab", "kind": "class", "doc": "

Class DisplayIdDp14ConfigTab allows setting parameters for Display ID tests.

\n\n
    \n
  • Maximum stream resolution H Active max_stream_h_active.
  • \n
  • Maximum stream resolution V Active max_stream_v_active.
  • \n
  • Maximum stream pixel clock max_stream_pixel_clock.
  • \n
  • Audio modes display_id_audio type DisplayIdDp14Audio.
  • \n
  • Timings display_id_timings type DisplayIdDp14VideoTimings.
  • \n
  • Clear all settings clear_all.
  • \n
\n", "bases": "DisplayIdDpConfigTabBase"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDp14ConfigTab.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDp14ConfigTab.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDp21ConfigTab", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDp21ConfigTab", "kind": "class", "doc": "

Class DisplayIdDp21ConfigTab inherited of classDisplayIdDp14ConfigTab allows working with parameters for\nDisplay ID LLCTS tests.\nClass DisplayIdDp21ConfigTab has all the DisplayIdDp14ConfigTab functionality.

\n", "bases": "DisplayIdDpConfigTabBase"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDp21ConfigTab.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDp21ConfigTab.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDp21ConfigTab.dynamic_refresh_rate_h_active", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDp21ConfigTab.dynamic_refresh_rate_h_active", "kind": "variable", "doc": "

Set and get Dynamic Refresh Rate h active.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDp21ConfigTab.dynamic_refresh_rate_v_active", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDp21ConfigTab.dynamic_refresh_rate_v_active", "kind": "variable", "doc": "

Set and get Dynamic Refresh Rate v active.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDp21ConfigTab.dynamic_refresh_rate_pixel_clock", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDp21ConfigTab.dynamic_refresh_rate_pixel_clock", "kind": "variable", "doc": "

Set and get Dynamic Refresh Rate Pixel Clock.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDp21ConfigTab.dynamic_refresh_rate_min_vertical", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDp21ConfigTab.dynamic_refresh_rate_min_vertical", "kind": "variable", "doc": "

Set and get Dynamic Refresh Rate minimum vertical.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab.DisplayIdDp21ConfigTab.dynamic_refresh_rate_max_vertical", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_display_id_tab", "qualname": "DisplayIdDp21ConfigTab.dynamic_refresh_rate_max_vertical", "kind": "variable", "doc": "

Set and get Dynamic Refresh Rate maximum vertical.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.Timing", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "Timing", "kind": "class", "doc": "

Class Timing describes available supported timings standard.

\n\n
    \n
  • CTA cta (enable/disable).
  • \n
  • RB1 rb1 (enable/disable).
  • \n
  • RB2 rb2 (enable/disable).
  • \n
  • Set all standards set_all.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.Timing.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "Timing.__init__", "kind": "function", "doc": "

\n", "signature": "(timing_value)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.Timing.cta", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "Timing.cta", "kind": "variable", "doc": "

Set and get CTA flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.Timing.rb1", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "Timing.rb1", "kind": "variable", "doc": "

Set and get RB1 flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.Timing.rb2", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "Timing.rb2", "kind": "variable", "doc": "

Set and get RB2 flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.Timing.set_all", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "Timing.set_all", "kind": "function", "doc": "

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.Timing.clear_all", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "Timing.clear_all", "kind": "function", "doc": "

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "ColorimetryDp14", "kind": "class", "doc": "

Class ColorimetryDp14 describes optional and additional color modes to be used with DP CTS tests.

\n\n
    \n
  • RGB 8 bpc VESA rgb_8bpc_vesa.
  • \n
  • RGB 10 bpc VESA rgb_10bpc_vesa.
  • \n
  • RGB 12 bpc VESA rgb_12bpc_vesa.
  • \n
  • YCbCr-444 8 bpc CTA ITU-709 ycbcr444_8bpc_cta_itu709.
  • \n
  • YCbCr-444 10 bpc CTA ITU-709 ycbcr444_10bpc_cta_itu709.
  • \n
  • YCbCr-444 12 bpc CTA ITU-709 ycbcr444_12bpc_cta_itu709.
  • \n
  • YCbCr-422 8 bpc CTA ITU-709 ycbcr422_8bpc_cta_itu709.
  • \n
  • YCbCr-422 10 bpc CTA ITU-709 ycbcr422_10bpc_cta_itu709.
  • \n
  • YCbCr-422 12 bpc CTA ITU-709 ycbcr422_10bpc_cta_itu709.
  • \n
  • YCbCr-422 simple 8 bpc CTA ITU-709 ycbcr422_simple_8bpc_cta_itu709.
  • \n
  • YCbCr-422 simple 10 bpc CTA ITU-709 ycbcr422_simple_10bpc_cta_itu709.
  • \n
  • YCbCr-422 simple 12 bpc CTA ITU-709 ycbcr422_simple_12bpc_cta_itu709.
  • \n
  • YCbCr-420 8 bpc CTA ITU-709 ycbcr420_8bpc_cta_itu709.
  • \n
  • YCbCr-420 10 bpc CTA ITU-709 ycbcr420_10bpc_cta_itu709.
  • \n
  • YCbCr-420 12 bpc CTA ITU-709 ycbcr420_12bpc_cta_itu709.
  • \n
  • Clear all settings clear_all.
  • \n
  • Select all settings select_all.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "ColorimetryDp14.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14.clear_all", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "ColorimetryDp14.clear_all", "kind": "function", "doc": "

Clear all modes (disable).

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14.select_all", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "ColorimetryDp14.select_all", "kind": "function", "doc": "

Select all modes (enable).

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14.rgb_8bpc_vesa", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "ColorimetryDp14.rgb_8bpc_vesa", "kind": "variable", "doc": "

Set and get RGB 8 bpc VESA flag support.

\n\n
Returns:
\n\n
\n

object

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14.rgb_10bpc_vesa", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "ColorimetryDp14.rgb_10bpc_vesa", "kind": "variable", "doc": "

Set and get RGB 10 bpc VESA flag support.

\n\n
Returns:
\n\n
\n

object

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14.rgb_12bpc_vesa", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "ColorimetryDp14.rgb_12bpc_vesa", "kind": "variable", "doc": "

Set and get RGB 12 bpc VESA flag support.

\n\n
Returns:
\n\n
\n

object

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14.ycbcr444_8bpc_cta_itu709", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "ColorimetryDp14.ycbcr444_8bpc_cta_itu709", "kind": "variable", "doc": "

Set and get YCbCr-444 8 bpc CTA ITU-709 flag support.

\n\n
Returns:
\n\n
\n

object

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14.ycbcr444_10bpc_cta_itu709", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "ColorimetryDp14.ycbcr444_10bpc_cta_itu709", "kind": "variable", "doc": "

Set and get YCbCr-444 10 bpc CTA ITU-709 flag support.

\n\n
Returns:
\n\n
\n

object

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14.ycbcr444_12bpc_cta_itu709", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "ColorimetryDp14.ycbcr444_12bpc_cta_itu709", "kind": "variable", "doc": "

Set and get YCbCr-444 12 bpc CTA ITU-709 flag support.

\n\n
Returns:
\n\n
\n

object

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14.ycbcr422_8bpc_cta_itu709", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "ColorimetryDp14.ycbcr422_8bpc_cta_itu709", "kind": "variable", "doc": "

Set and get YCbCr-422 8 bpc CTA ITU-709 flag support.

\n\n
Returns:
\n\n
\n

object

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14.ycbcr422_10bpc_cta_itu709", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "ColorimetryDp14.ycbcr422_10bpc_cta_itu709", "kind": "variable", "doc": "

Set and get YCbCr-422 10 bpc CTA ITU-709 flag support.

\n\n
Returns:
\n\n
\n

object

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14.ycbcr422_12bpc_cta_itu709", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "ColorimetryDp14.ycbcr422_12bpc_cta_itu709", "kind": "variable", "doc": "

Set and get YCbCr-422 12 bpc CTA ITU-709 flag support.

\n\n
Returns:
\n\n
\n

object

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14.ycbcr422_simple_8bpc_cta_itu709", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "ColorimetryDp14.ycbcr422_simple_8bpc_cta_itu709", "kind": "variable", "doc": "

Set and get YCbCr-422 Simple 8 bpc CTA ITU-709 flag support.

\n\n
Returns:
\n\n
\n

object

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14.ycbcr422_simple_10bpc_cta_itu709", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "ColorimetryDp14.ycbcr422_simple_10bpc_cta_itu709", "kind": "variable", "doc": "

Set and get YCbCr-422 Simple 10 bpc CTA ITU-709 flag support.

\n\n
Returns:
\n\n
\n

object

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14.ycbcr422_simple_12bpc_cta_itu709", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "ColorimetryDp14.ycbcr422_simple_12bpc_cta_itu709", "kind": "variable", "doc": "

Set and get YCbCr-422 Simple 12 bpc CTA ITU-709 flag support.

\n\n
Returns:
\n\n
\n

object

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14.ycbcr420_8bpc_cta_itu709", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "ColorimetryDp14.ycbcr420_8bpc_cta_itu709", "kind": "variable", "doc": "

Set and get YCbCr-420 8 bpc CTA ITU-709 flag support.

\n\n
Returns:
\n\n
\n

object

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14.ycbcr420_10bpc_cta_itu709", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "ColorimetryDp14.ycbcr420_10bpc_cta_itu709", "kind": "variable", "doc": "

Set and get YCbCr-420 10 bpc CTA ITU-709 flag support.

\n\n
Returns:
\n\n
\n

object

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14.ycbcr420_12bpc_cta_itu709", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "ColorimetryDp14.ycbcr420_12bpc_cta_itu709", "kind": "variable", "doc": "

Set and get YCbCr-420 12 bpc CTA ITU-709 flag support.

\n\n
Returns:
\n\n
\n

object

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscVideoModesDp14", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscVideoModesDp14", "kind": "class", "doc": "

Class DscVideoModesDp14 describes available timings for DSC tests.

\n\n
    \n
  • 1920x1080 30Hz vm_1920x1080_30hz.
  • \n
  • 1920x1080 60Hz vm_1920x1080_60hz.
  • \n
  • 1920x1080 120Hz vm_1920x1080_120hz.
  • \n
  • 3840x2160 30Hz vm_3840x2160_30hz.
  • \n
  • 3840x2160 60Hz vm_3840x2160_60hz.
  • \n
  • 3840x2160 120Hz vm_3840x2160_120hz.
  • \n
  • 5120x2160 30Hz vm_5120x2160_30hz.
  • \n
  • 5120x2160 60Hz vm_5120x2160_60hz.
  • \n
  • 5120x2160 120Hz vm_5120x2160_120hz.
  • \n
  • 7680x4320 30Hz vm_7680x4320_30hz.
  • \n
  • 7680x4320 60Hz vm_7680x4320_60hz.
  • \n
  • 7680x4320 100Hz vm_7680x4320_120hz.
  • \n
  • Disable all timings clear_all.
  • \n
  • Select all timings select_all.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscVideoModesDp14.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscVideoModesDp14.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscVideoModesDp14.vm_1920x1080_30hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscVideoModesDp14.vm_1920x1080_30hz", "kind": "variable", "doc": "

Set and get 1920x1080 30Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscVideoModesDp14.vm_1920x1080_60hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscVideoModesDp14.vm_1920x1080_60hz", "kind": "variable", "doc": "

Set and get 1920x1080 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscVideoModesDp14.vm_1920x1080_120hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscVideoModesDp14.vm_1920x1080_120hz", "kind": "variable", "doc": "

Set and get 1920x1080 120Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscVideoModesDp14.vm_3840x2160_30hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscVideoModesDp14.vm_3840x2160_30hz", "kind": "variable", "doc": "

Set and get 3840x2160 30Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscVideoModesDp14.vm_3840x2160_60hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscVideoModesDp14.vm_3840x2160_60hz", "kind": "variable", "doc": "

Set and get 3840x2160 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscVideoModesDp14.vm_3840x2160_120hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscVideoModesDp14.vm_3840x2160_120hz", "kind": "variable", "doc": "

Set and get 3840x2160 120Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscVideoModesDp14.vm_5120x2160_30hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscVideoModesDp14.vm_5120x2160_30hz", "kind": "variable", "doc": "

Set and get 5120x2160 30Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscVideoModesDp14.vm_5120x2160_60hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscVideoModesDp14.vm_5120x2160_60hz", "kind": "variable", "doc": "

Set and get 5120x2160 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscVideoModesDp14.vm_5120x2160_120hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscVideoModesDp14.vm_5120x2160_120hz", "kind": "variable", "doc": "

Set and get 5120x2160 120Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscVideoModesDp14.vm_7680x4320_30hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscVideoModesDp14.vm_7680x4320_30hz", "kind": "variable", "doc": "

Set and get 7680x4320 30Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscVideoModesDp14.vm_7680x4320_60hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscVideoModesDp14.vm_7680x4320_60hz", "kind": "variable", "doc": "

Set and get 7680x4320 60Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscVideoModesDp14.vm_7680x4320_100hz", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscVideoModesDp14.vm_7680x4320_100hz", "kind": "variable", "doc": "

Set and get 7680x4320 100Hz timing flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.Timing"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscVideoModesDp14.clear_all", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscVideoModesDp14.clear_all", "kind": "function", "doc": "

Clear (disable) all timings.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscVideoModesDp14.select_all", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscVideoModesDp14.select_all", "kind": "function", "doc": "

Select (enable) all timings.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscConfigDp14Tab", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscConfigDp14Tab", "kind": "class", "doc": "

Class DscConfigDp14Tab allows working with settings for DP DSC LLCTS tests.

\n\n
    \n
  • Set and get DSC maximum slice number dsc_max_slice.
  • \n
  • Set and get DSC version dsc_version.
  • \n
  • Set and get DSC video modes dsc_video_modes type DscVideoModesDp14.
  • \n
  • Set and get colorimetry ColorimetryDp14.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscConfigDp14Tab.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscConfigDp14Tab.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscConfigDp14Tab.dsc_max_slice", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscConfigDp14Tab.dsc_max_slice", "kind": "variable", "doc": "

Set and get DSC maximum slice number.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscConfigDp14Tab.dsc_version", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscConfigDp14Tab.dsc_version", "kind": "variable", "doc": "

Set and get DSC version.

\n\n
Returns:
\n\n
\n

object of list type

\n
\n", "annotation": ": list"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscConfigDp14Tab.dsc_video_modes", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscConfigDp14Tab.dsc_video_modes", "kind": "variable", "doc": "

Set and get DSC video modes.

\n\n
Returns:
\n\n
\n

object of DscVideoModesDp14 type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscVideoModesDp14"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.DscConfigDp14Tab.colorimetry", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab", "qualname": "DscConfigDp14Tab.colorimetry", "kind": "variable", "doc": "

Set and get colorimetry.

\n\n
Returns:
\n\n
\n

object of ColorimetryDp14 type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.dp_source_dsc_tab.ColorimetryDp14"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1a_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1a_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1a_tests.Hdcp1ATestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1a_tests", "qualname": "Hdcp1ATestParam", "kind": "class", "doc": "

Class Hdcp1ATestParam describes requirement parameters for HDCP 1A tests:

\n\n
    \n
  • Set and get timeout. Describes test timeout, in milliseconds.
  • \n
  • Set and get revoke_id. Describes Revoke ID.
  • \n
  • Set and get dut_caps_flag. Describes source DUT capabilities flags.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1a_tests.Hdcp1ATestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1a_tests", "qualname": "Hdcp1ATestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1a_tests.Hdcp1ATestParam.timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1a_tests", "qualname": "Hdcp1ATestParam.timeout", "kind": "variable", "doc": "

Set and get test timeout, in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1a_tests.Hdcp1ATestParam.revoke_id", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1a_tests", "qualname": "Hdcp1ATestParam.revoke_id", "kind": "variable", "doc": "

Set and get Revoke ID.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1a_tests.Hdcp1ATestParam.dut_caps_flag", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1a_tests", "qualname": "Hdcp1ATestParam.dut_caps_flag", "kind": "variable", "doc": "

Set and get DUT caps flag support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1b_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1b_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1b_tests.Hdcp1BTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1b_tests", "qualname": "Hdcp1BTestParam", "kind": "class", "doc": "

Class Hdcp1BTestParam describes requirement parameters for HDCP 1B tests:

\n\n
    \n
  • Set and get timeout. Describes test timeout, in milliseconds.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1b_tests.Hdcp1BTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1b_tests", "qualname": "Hdcp1BTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1b_tests.Hdcp1BTestParam.timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_1b_tests", "qualname": "Hdcp1BTestParam.timeout", "kind": "variable", "doc": "

Set and get test timeout, in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_2c_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_2c_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_2c_tests.Hdcp2CTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_2c_tests", "qualname": "Hdcp2CTestParam", "kind": "class", "doc": "

Class Hdcp2CTestParam describes requirement parameters for HDCP 2C tests:

\n\n
    \n
  • Set and get timeout. Describes test timeout, in milliseconds.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_2c_tests.Hdcp2CTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_2c_tests", "qualname": "Hdcp2CTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_2c_tests.Hdcp2CTestParam.timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_2c_tests", "qualname": "Hdcp2CTestParam.timeout", "kind": "variable", "doc": "

Set and get test timeout, in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3a_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3a_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3a_tests.Hdcp3ATestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3a_tests", "qualname": "Hdcp3ATestParam", "kind": "class", "doc": "

Class Hdcp3ATestParam describes requirement parameters for HDCP 3A tests:

\n\n
    \n
  • Set and get timeout. Describes test timeout, in milliseconds.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3a_tests.Hdcp3ATestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3a_tests", "qualname": "Hdcp3ATestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3a_tests.Hdcp3ATestParam.timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3a_tests", "qualname": "Hdcp3ATestParam.timeout", "kind": "variable", "doc": "

Set and get test timeout, in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3b_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3b_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3b_tests.Hdcp3BTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3b_tests", "qualname": "Hdcp3BTestParam", "kind": "class", "doc": "

Class Hdcp3BTestParam describes requirement parameters for HDCP 3B tests:

\n\n
    \n
  • Set and get timeout. Describes test timeout, in milliseconds.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3b_tests.Hdcp3BTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3b_tests", "qualname": "Hdcp3BTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3b_tests.Hdcp3BTestParam.timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3b_tests", "qualname": "Hdcp3BTestParam.timeout", "kind": "variable", "doc": "

Set and get test timeout, in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3c_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3c_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3c_tests.Hdcp3CTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3c_tests", "qualname": "Hdcp3CTestParam", "kind": "class", "doc": "

Class Hdcp3CTestParam describes requirement parameters for HDCP 3C tests:

\n\n
    \n
  • Set and get timeout. Describes test timeout, in milliseconds.
  • \n
  • Set and get repeater_multiple_outputs. Describes repeater multiple outputs (enable/disable).
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3c_tests.Hdcp3CTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3c_tests", "qualname": "Hdcp3CTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3c_tests.Hdcp3CTestParam.timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3c_tests", "qualname": "Hdcp3CTestParam.timeout", "kind": "variable", "doc": "

Set and get test timeout, in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3c_tests.Hdcp3CTestParam.repeater_multiple_outputs", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdcp_3c_tests", "qualname": "Hdcp3CTestParam.repeater_multiple_outputs", "kind": "variable", "doc": "

Set and get repeater multiple outputs (enable/disable).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests.HdmiElectricalTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests", "qualname": "HdmiElectricalTestParam", "kind": "class", "doc": "

Class DpElectricalTestParam describes parameters for DP electrical tests.

\n\n
    \n
  • Test timeout, in milliseconds timeout.
  • \n
  • HDMI power line voltage low limit, in millivolts power_low_limit.
  • \n
  • HDMI power line voltage high limit, in millivolts power_high_limit.
  • \n
  • HDMI link line voltage low limit, in millivolts link_low_limit.
  • \n
  • HDMI link line voltage high limit, in millivolts link_high_limit.
  • \n
  • HDMI HPD logical zero voltage level, lower limit, in millivolts hpd_zero_low_limit.
  • \n
  • HDMI HPD logical zero voltage level, higher limit, in millivolts hpd_zero_high_limit.
  • \n
  • HDMI HPD logical one voltage level, lower limit, in millivolts hpd_one_low_limit.
  • \n
  • HDMI HPD logical one voltage level, higher limit, in millivolts hpd_one_high_limit.
  • \n
  • DDC Line voltage low limit, in millivolts ddc_low_limit.
  • \n
  • DDC Line voltage high limit, in millivolts _ddc_high_limit.
  • \n
  • CCE Line logical zero voltage level, lower limit, in millivolts cec_zero_low_limit.
  • \n
  • CCE Line logical zero voltage level, higher limit, in millivolts cec_zero_high_limit.
  • \n
  • CCE Line logical one voltage level, lower limit, in millivolts cec_one_low_limit.
  • \n
  • CCE Line logical one voltage level, higher limit, in millivolts cec_one_high_limit.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests.HdmiElectricalTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests", "qualname": "HdmiElectricalTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests.HdmiElectricalTestParam.timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests", "qualname": "HdmiElectricalTestParam.timeout", "kind": "variable", "doc": "

Set and get test timeout, in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests.HdmiElectricalTestParam.power_low_limit", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests", "qualname": "HdmiElectricalTestParam.power_low_limit", "kind": "variable", "doc": "

Set and get HDMI power line voltage low limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests.HdmiElectricalTestParam.power_high_limit", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests", "qualname": "HdmiElectricalTestParam.power_high_limit", "kind": "variable", "doc": "

Set and get HDMI power line voltage high limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests.HdmiElectricalTestParam.link_low_limit", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests", "qualname": "HdmiElectricalTestParam.link_low_limit", "kind": "variable", "doc": "

Set and get HDMI link line voltage low limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests.HdmiElectricalTestParam.link_high_limit", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests", "qualname": "HdmiElectricalTestParam.link_high_limit", "kind": "variable", "doc": "

Set and get HDMI link line voltage high limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests.HdmiElectricalTestParam.hpd_zero_low_limit", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests", "qualname": "HdmiElectricalTestParam.hpd_zero_low_limit", "kind": "variable", "doc": "

Set and get HDMI HPD logical zero voltage level, lower limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests.HdmiElectricalTestParam.hpd_zero_high_limit", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests", "qualname": "HdmiElectricalTestParam.hpd_zero_high_limit", "kind": "variable", "doc": "

Set and get HDMI HPD logical zero voltage level, higher limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests.HdmiElectricalTestParam.hpd_one_low_limit", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests", "qualname": "HdmiElectricalTestParam.hpd_one_low_limit", "kind": "variable", "doc": "

Set and get HDMI HPD logical one voltage level, lower limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests.HdmiElectricalTestParam.hpd_one_high_limit", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests", "qualname": "HdmiElectricalTestParam.hpd_one_high_limit", "kind": "variable", "doc": "

Set and get HDMI HPD logical one voltage level, higher limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests.HdmiElectricalTestParam.ddc_low_limit", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests", "qualname": "HdmiElectricalTestParam.ddc_low_limit", "kind": "variable", "doc": "

Set and get DDC Line voltage low limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests.HdmiElectricalTestParam.ddc_high_limit", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests", "qualname": "HdmiElectricalTestParam.ddc_high_limit", "kind": "variable", "doc": "

Set and get DDC Line voltage high limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests.HdmiElectricalTestParam.cec_zero_low_limit", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests", "qualname": "HdmiElectricalTestParam.cec_zero_low_limit", "kind": "variable", "doc": "

Set and get CCE Line logical zero voltage level, lower limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests.HdmiElectricalTestParam.cec_zero_high_limit", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests", "qualname": "HdmiElectricalTestParam.cec_zero_high_limit", "kind": "variable", "doc": "

Set and get CCE Line logical zero voltage level, higher limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests.HdmiElectricalTestParam.cec_one_low_limit", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests", "qualname": "HdmiElectricalTestParam.cec_one_low_limit", "kind": "variable", "doc": "

Set and get CCE Line logical one voltage level, lower limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests.HdmiElectricalTestParam.cec_one_high_limit", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_electrical_tests", "qualname": "HdmiElectricalTestParam.cec_one_high_limit", "kind": "variable", "doc": "

Set and get CCE Line logical one voltage level, higher limit.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdr10_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdr10_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdr10_tests.Hdr10TestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdr10_tests", "qualname": "Hdr10TestParam", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdr10_tests.Hdr10TestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdr10_tests", "qualname": "Hdr10TestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdr10_tests.Hdr10TestParam.timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdr10_tests", "qualname": "Hdr10TestParam.timeout", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdr10_tests.Hdr10TestParam.same_frame", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdr10_tests", "qualname": "Hdr10TestParam.same_frame", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test.LinkRate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test", "qualname": "LinkRate", "kind": "class", "doc": "

Class LinkRate describes available supported link rates.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test.LinkRate.Rate_1_62_Gbps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test", "qualname": "LinkRate.Rate_1_62_Gbps", "kind": "variable", "doc": "

\n", "default_value": "<LinkRate.Rate_1_62_Gbps: 6>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test.LinkRate.Rate_2_7_Gbps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test", "qualname": "LinkRate.Rate_2_7_Gbps", "kind": "variable", "doc": "

\n", "default_value": "<LinkRate.Rate_2_7_Gbps: 10>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test.LinkRate.Rate_5_4_Gbps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test", "qualname": "LinkRate.Rate_5_4_Gbps", "kind": "variable", "doc": "

\n", "default_value": "<LinkRate.Rate_5_4_Gbps: 20>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test.LinkRate.Rate_8_1_Gbpc", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test", "qualname": "LinkRate.Rate_8_1_Gbpc", "kind": "variable", "doc": "

\n", "default_value": "<LinkRate.Rate_8_1_Gbpc: 30>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test.LinkConfigTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test", "qualname": "LinkConfigTestParam", "kind": "class", "doc": "

Class LinkConfigTestParam describes parameters for Link configuration test.

\n\n
    \n
  • Test timeout, in milliseconds timeout.
  • \n
  • Defines the maximum number of lanes to be tested max_lane_count. Possible variants: 1, 2, 4.
  • \n
  • Defines the maximum link rate to be tested max_rate type LinkRate.
  • \n
  • Defines the length of the HPD pulse used to start each test iteration, in milliseconds hpd_pulse_duration.
  • \n
  • Defines how long the test waits for LT start after issuing HPD pulse, in milliseconds lt_start_timeout.
  • \n
  • Defines the additional delay inserted in between test iterations, in milliseconds test_loop_delay.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test.LinkConfigTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test", "qualname": "LinkConfigTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test.LinkConfigTestParam.timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test", "qualname": "LinkConfigTestParam.timeout", "kind": "variable", "doc": "

Set and get test timeout, in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test.LinkConfigTestParam.max_lane_count", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test", "qualname": "LinkConfigTestParam.max_lane_count", "kind": "variable", "doc": "

Set and get maximum number of lanes.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test.LinkConfigTestParam.max_rate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test", "qualname": "LinkConfigTestParam.max_rate", "kind": "variable", "doc": "

Set and get maximum link rate.

\n\n
Returns:
\n\n
\n

object LinkRate

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test.LinkConfigTestParam.hpd_pulse_duration", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test", "qualname": "LinkConfigTestParam.hpd_pulse_duration", "kind": "variable", "doc": "

Set and get length of the HPD pulse.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test.LinkConfigTestParam.lt_start_timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test", "qualname": "LinkConfigTestParam.lt_start_timeout", "kind": "variable", "doc": "

Set and get link training start timeout.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test.LinkConfigTestParam.test_loop_delay", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.link_config_test", "qualname": "LinkConfigTestParam.test_loop_delay", "kind": "variable", "doc": "

Set and get test loop delay.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestColorDepth", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestColorDepth", "kind": "class", "doc": "

Class VideoPixelTestColorDepth describes available supported color depth.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestColorDepth.ColorDepth6", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestColorDepth.ColorDepth6", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestColorDepth.ColorDepth6: 6>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestColorDepth.ColorDepth8", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestColorDepth.ColorDepth8", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestColorDepth.ColorDepth8: 8>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestColorDepth.ColorDepth10", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestColorDepth.ColorDepth10", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestColorDepth.ColorDepth10: 10>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestColorDepth.ColorDepth12", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestColorDepth.ColorDepth12", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestColorDepth.ColorDepth12: 12>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestColorDepth.ColorDepth16", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestColorDepth.ColorDepth16", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestColorDepth.ColorDepth16: 16>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestElementFormat", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestElementFormat", "kind": "class", "doc": "

Class VideoPixelTestElementFormat describes available supported color formats.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestElementFormat.RGB_6BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestElementFormat.RGB_6BPC", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestElementFormat.RGB_6BPC: 16>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestElementFormat.RGB_8BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestElementFormat.RGB_8BPC", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestElementFormat.RGB_8BPC: 17>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestElementFormat.RGB_10BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestElementFormat.RGB_10BPC", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestElementFormat.RGB_10BPC: 18>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestElementFormat.RGB_12BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestElementFormat.RGB_12BPC", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestElementFormat.RGB_12BPC: 19>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestElementFormat.RGB_16BPC", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestElementFormat.RGB_16BPC", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestElementFormat.RGB_16BPC: 20>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestElementFormat.YCbCr444_080808", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestElementFormat.YCbCr444_080808", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestElementFormat.YCbCr444_080808: 256>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestElementFormat.YCbCr444_161616", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestElementFormat.YCbCr444_161616", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestElementFormat.YCbCr444_161616: 257>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestElementFormat.YCbCr420_8BPC_080808", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestElementFormat.YCbCr420_8BPC_080808", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestElementFormat.YCbCr420_8BPC_080808: 800>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestElementFormat.YCbCr420_10BPC_080808", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestElementFormat.YCbCr420_10BPC_080808", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestElementFormat.YCbCr420_10BPC_080808: 801>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestElementFormat.YCbCr420_12BPC_161616", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestElementFormat.YCbCr420_12BPC_161616", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestElementFormat.YCbCr420_12BPC_161616: 802>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestElementFormat.YCbCr420_16BPC_161616", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestElementFormat.YCbCr420_16BPC_161616", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestElementFormat.YCbCr420_16BPC_161616: 803>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestAlignment", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestAlignment", "kind": "class", "doc": "

Class VideoPixelTestColorDepth describes available supported alignment.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestAlignment.MSB", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestAlignment.MSB", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestAlignment.MSB: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestAlignment.LSB", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestAlignment.LSB", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestAlignment.LSB: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestExportFormat", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestExportFormat", "kind": "class", "doc": "

Class VideoPixelTestColorDepth describes available supported files format.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestExportFormat.BIN", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestExportFormat.BIN", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestExportFormat.BIN: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestExportFormat.PPM", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestExportFormat.PPM", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestExportFormat.PPM: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestExportFormat.BMP", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestExportFormat.BMP", "kind": "variable", "doc": "

\n", "default_value": "<VideoPixelTestExportFormat.BMP: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestParam", "kind": "class", "doc": "

Class VideoPixelTestParam describes parameters for video pixel test.

\n\n
    \n
  • Defines frame width as number of elements image_width.
  • \n
  • Defines frame height as number of elements image_height.
  • \n
  • Defines the color depth of the image as number of bits per color channel regardless of the color format\ncolor_depth type VideoPixelTestColorDepth.
  • \n
  • Defines the element format used to encode the pixel data of the bitmap frame_data.
  • \n
  • Defines type of alignment (LSB-MSB data alignment) alignment type VideoPixelTestAlignment.
  • \n
  • Defines the length of the video test as number of frames frames_number.
  • \n
  • Defines number of frame that are allowed to be considered as 'failed' before the entire test is considered as\n'failed' frames_number_mismatch.
  • \n
  • Defines the number of pixels that allowed to be considered as 'failed' before the frame is considered as 'failed'\npixel_tolerance.
  • \n
  • Maximum number of frames failed frames saved per test run max_auto_save_failed.
  • \n
  • Contains the full path to the folder where failed frames are to be saved without trailing backslash\nfailed_frame_folder.
  • \n
  • Defines the number of failed frames to be exported from the video test max_export_failed_frames.
  • \n
  • Defines export file format export_data_format type VideoPixelTestExportFormat.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestParam.image_width", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestParam.image_width", "kind": "variable", "doc": "

Set and get frame width as number of elements.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestParam.image_height", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestParam.image_height", "kind": "variable", "doc": "

Set and get frame height as number of elements.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestParam.color_depth", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestParam.color_depth", "kind": "variable", "doc": "

Set and get color depth of the image.

\n\n
Returns:
\n\n
\n

object VideoPixelTestColorDepth

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestParam.element_format", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestParam.element_format", "kind": "variable", "doc": "

Set and get element format used to encode the pixel data.

\n\n
Returns:
\n\n
\n

object VideoPixelTestElementFormat

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestParam.frame_data", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestParam.frame_data", "kind": "variable", "doc": "

Set and get pixel data of image.

\n\n
Returns:
\n\n
\n

object bytearray | list[int] | None | str

\n
\n", "annotation": ": Union[bytearray, List[int], str, NoneType]"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestParam.alignment", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestParam.alignment", "kind": "variable", "doc": "

Set and get type of alignment.

\n\n
Returns:
\n\n
\n

object VideoPixelTestAlignment

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestParam.frames_number", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestParam.frames_number", "kind": "variable", "doc": "

Set and get length of the video test as number of frames.

\n\n
Returns:
\n\n
\n

object VideoPixelTestAlignment

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestParam.frames_number_mismatch", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestParam.frames_number_mismatch", "kind": "variable", "doc": "

Set and get number of frame that are allowed to be considered as 'failed' before the entire test is considered\nas 'failed'.

\n\n
Returns:
\n\n
\n

object VideoPixelTestAlignment

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestParam.pixel_tolerance", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestParam.pixel_tolerance", "kind": "variable", "doc": "

Set and get number of pixels that allowed to be considered as 'failed' before the frame is considered as\n'failed'.

\n\n
Returns:
\n\n
\n

object VideoPixelTestAlignment

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestParam.max_auto_save_failed", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestParam.max_auto_save_failed", "kind": "variable", "doc": "

Set and get maximum number of frames failed frames saved per test run.

\n\n
Returns:
\n\n
\n

object VideoPixelTestAlignment

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestParam.failed_frame_folder", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestParam.failed_frame_folder", "kind": "variable", "doc": "

Set and get full path to the folder where failed frames are to be saved without trailing backslash.

\n\n
Returns:
\n\n
\n

object str

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestParam.max_export_failed_frames", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestParam.max_export_failed_frames", "kind": "variable", "doc": "

Set and get number of failed frames to be exported from the video test.

\n\n
Returns:
\n\n
\n

object int

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test.VideoPixelTestParam.export_data_format", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.pixel_video_test", "qualname": "VideoPixelTestParam.export_data_format", "kind": "variable", "doc": "

Set and get file format.

\n\n
Returns:
\n\n
\n

object VideoPixelTestExportFormat

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElTestDutCaps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElTestDutCaps", "kind": "class", "doc": "

Class UsbcElTestDutCaps describes DUT capabilities flags and allows settings values.

\n\n
    \n
  • DUT Support DisplayPort Alternate mode support_dp_alt_mode.
  • \n
  • DUT can act as a power source can_act_power_source
  • \n
  • DUT can act as a power sink cab_act_power_sink.
  • \n
  • DUT does not support PD Contract not_support_pd_contract.
  • \n
\n", "bases": "UniTAP.dev.modules.dut_tests.test_group_params_types.Param"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElTestDutCaps.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElTestDutCaps.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElTestDutCaps.support_dp_alt_mode", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElTestDutCaps.support_dp_alt_mode", "kind": "variable", "doc": "

Set and get DUT Support DisplayPort Alternate mode flag support.

\n\n
Returns:
\n\n
\n

object bool

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElTestDutCaps.can_act_power_source", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElTestDutCaps.can_act_power_source", "kind": "variable", "doc": "

Set and get DUT can act as a power source flag support.

\n\n
Returns:
\n\n
\n

object bool

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElTestDutCaps.cab_act_power_sink", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElTestDutCaps.cab_act_power_sink", "kind": "variable", "doc": "

Set and get DUT can act as a power sink flag support.

\n\n
Returns:
\n\n
\n

object bool

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElTestDutCaps.not_support_pd_contract", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElTestDutCaps.not_support_pd_contract", "kind": "variable", "doc": "

Set and get DUT does not support PD Contract flag support.

\n\n
Returns:
\n\n
\n

object bool

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam", "kind": "class", "doc": "

Class DpElectricalTestParam describes parameters for DP electrical tests.

\n\n
    \n
  • Test timeout, in milliseconds timeout.
  • \n
  • Defines DUT capabilities dut_caps type UsbcElTestDutCaps.
  • \n
  • Defines the time period for USB Type-C re-plug simulation 'disconnected' state re_plug_time.
  • \n
  • Defines the time period that the TE will wait for DUT to complete power contract negotiation attach_timeout.
  • \n
  • Defines Power Contract timeout, in milliseconds pwr_contract_timeout.
  • \n
  • Defines the low limit for the voltage window when power sink current is 0.5A or 0.9A cc_low_voltage_1.
  • \n
  • Defines the high limit for the voltage window when power sink current is 0.5A or 0.9A cc_high_voltage_1.
  • \n
  • Defines the low limit for the voltage window when power sink current is 1.5A cc_low_voltage_2.
  • \n
  • Defines the high limit for the voltage window when power sink current is 1.5A cc_high_voltage_2.
  • \n
  • Defines the low limit for the voltage window when power sink current is 3.0A cc_low_voltage_3.
  • \n
  • Defines the high limit for the voltage window when power sink current is 3.0A cc_high_voltage_3.
  • \n
  • Defines the low limit for the Vcon voltage window vconn_low_voltage.
  • \n
  • Defines the high limit for the Vcon voltage window vconn_high_voltage.
  • \n
  • Defines the timeout the TE will wait for the DUT to enter into DisplayPort alternate mode dp_alt_mode_timeout.
  • \n
  • Defines the low voltage limit for the positive DP AUX line when idle aux_positive_idle_low_voltage.
  • \n
  • Defines the high voltage limit for the positive DP AUX line when idle aux_positive_idle_high_voltage.
  • \n
  • Defines the low voltage limit for the negative DP AUX line when idle aux_negative_idle_low_voltage.
  • \n
  • Defines the high voltage limit for the negative DP AUX line when idle aux_negative_idle_high_voltage.
  • \n
  • Defines the low limit for Vbus voltage window. The limit is defined in millivolts (mV) vbus_low_voltage.
  • \n
  • Defines the high limit for Vbus voltage window. The limit is defined in millivolts (mV) vbus_high_voltage.
  • \n
  • Defines the highest allowed deviation between maximum and minimum currents measured from the individual Vbus\npins as per-mill (\u2030) of total measured current. This means that if the total measured current is 3000mA, and the\nsetting 100, the maximum difference that is allowed between maximum and minimum currents is 300mA\nvbus_current_max.
  • \n
  • Defines the highest allowed deviation between maximum and minimum currents measured from the individual GND pins\nas per-mill (\u2030) of total measured current gnd_current_max.
  • \n
  • Defines delay from end of power contract negotiation to voltage / current measurements power_measure_delay.
  • \n
  • Defines the minimum current, in mA, that a Power Sink DUT must use in order to pass the test min_dut_current.
  • \n
  • Delay after load resistor on, milliseconds. This helps to skip transient processes resistor_on_delay.
  • \n
  • Delay for measure CC lines voltage after DUT plug detection, milliseconds cc_measure_delay.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.timeout", "kind": "variable", "doc": "

Set and get test timeout, in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.dut_caps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.dut_caps", "kind": "variable", "doc": "

Set and get USB-C DUT caps.

\n\n
Returns:
\n\n
\n

object of UsbcElTestDutCaps type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElTestDutCaps"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.pwr_contract_timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.pwr_contract_timeout", "kind": "variable", "doc": "

Set and get power contract timeout.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.cc_low_voltage_1", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.cc_low_voltage_1", "kind": "variable", "doc": "

Set and get low limit for the voltage window when power sink current is 0.5A or 0.9A.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.cc_high_voltage_1", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.cc_high_voltage_1", "kind": "variable", "doc": "

Set and get high limit for the voltage window when power sink current is 0.5A or 0.9A.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.cc_low_voltage_2", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.cc_low_voltage_2", "kind": "variable", "doc": "

Set and get low limit for the voltage window when power sink current is 1.5A.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.cc_high_voltage_2", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.cc_high_voltage_2", "kind": "variable", "doc": "

Set and get high limit for the voltage window when power sink current is 1.5A.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.cc_low_voltage_3", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.cc_low_voltage_3", "kind": "variable", "doc": "

Set and get low limit for the voltage window when power sink current is 3.0A.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.cc_high_voltage_3", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.cc_high_voltage_3", "kind": "variable", "doc": "

Set and get high limit for the voltage window when power sink current is 3.0A.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.vconn_low_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.vconn_low_voltage", "kind": "variable", "doc": "

Set and get low limit for the Vcon voltage window.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.vconn_high_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.vconn_high_voltage", "kind": "variable", "doc": "

Set and get high limit for the Vcon voltage window.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.dp_alt_mode_timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.dp_alt_mode_timeout", "kind": "variable", "doc": "

Set and get DP alt mode timeout.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.aux_positive_idle_low_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.aux_positive_idle_low_voltage", "kind": "variable", "doc": "

Set and get low voltage limit for the positive DP AUX.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.aux_positive_idle_high_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.aux_positive_idle_high_voltage", "kind": "variable", "doc": "

Set and get high voltage limit for the positive DP AUX.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.aux_negative_idle_low_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.aux_negative_idle_low_voltage", "kind": "variable", "doc": "

Set and get low voltage limit for the negative DP AUX.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.aux_negative_idle_high_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.aux_negative_idle_high_voltage", "kind": "variable", "doc": "

Set and get high voltage limit for the negative DP AUX.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.vbus_low_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.vbus_low_voltage", "kind": "variable", "doc": "

Set and get low limit for Vbus voltage window.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.vbus_high_voltage", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.vbus_high_voltage", "kind": "variable", "doc": "

Set and get high limit for Vbus voltage window.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.vbus_current_max", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.vbus_current_max", "kind": "variable", "doc": "

Set and get the highest allowed deviation of current VBUS.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.gnd_current_max", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.gnd_current_max", "kind": "variable", "doc": "

Set and get the highest allowed deviation of current GND.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.power_measure_delay", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.power_measure_delay", "kind": "variable", "doc": "

Set and get delay from end of power contract negotiation to voltage / current measurements.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.min_dut_current", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.min_dut_current", "kind": "variable", "doc": "

Set and get the minimum current.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.resistor_on_delay", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.resistor_on_delay", "kind": "variable", "doc": "

Set and get delay after load resistor.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests.UsbcElectricalTestParam.cc_measure_delay", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests", "qualname": "UsbcElectricalTestParam.cc_measure_delay", "kind": "variable", "doc": "

Set and get delay for measure CC lines voltage after DUT plug detection.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.VrrCaps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "VrrCaps", "kind": "class", "doc": "

Class VrrCaps describes DUT VRR capabilities flags and allows settings values.

\n\n
    \n
  • VRR enable/disable vrr_enable.
  • \n
  • Defines M_CONST m_const.
  • \n
\n", "bases": "UniTAP.dev.modules.dut_tests.test_group_params_types.Param"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.VrrCaps.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "VrrCaps.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.VrrCaps.vrr_enable", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "VrrCaps.vrr_enable", "kind": "variable", "doc": "

Set and get VRR enable/disable flag.

\n\n
Returns:
\n\n
\n

object bool

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.VrrCaps.m_const", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "VrrCaps.m_const", "kind": "variable", "doc": "

Set and get m const enable/disable flag.

\n\n
Returns:
\n\n
\n

object bool

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.BaseFront", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "BaseFront", "kind": "class", "doc": "

Class BaseFront describes DUT BaseFront capabilities flags and allows settings values.

\n\n
    \n
  • Base front value vrr_enable.
  • \n
  • Reduced blanking enable/disable m_const.
  • \n
\n", "bases": "UniTAP.dev.modules.dut_tests.test_group_params_types.Param"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.BaseFront.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "BaseFront.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.BaseFront.base_front", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "BaseFront.base_front", "kind": "variable", "doc": "

Set and get va;ue of base front.

\n\n
Returns:
\n\n
\n

object int

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.BaseFront.reduced_blanking", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "BaseFront.reduced_blanking", "kind": "variable", "doc": "

Set and get reduced blanking flag support.

\n\n
Returns:
\n\n
\n

object bool

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.VrrTestParamBase", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "VrrTestParamBase", "kind": "class", "doc": "

Class VrrTestParam describes parameters for VRR Sink and Source tests.

\n\n
    \n
  • Test timeout, in milliseconds timeout.
  • \n
  • Defines VRR Max value vrr_max.
  • \n
  • Defines VRR Min value vrr_min.
  • \n
  • Defines VRR Static value vrr_static.
  • \n
  • Defines step of changing frame rate vrr_step.
  • \n
  • Defines timer to change frame rate vrr_time_step.
  • \n
  • Defines VRR capabilities vrr_enable_cups type VrrCaps.
  • \n
  • Defines VRR Base front base_vfront type BaseFront.
  • \n
  • Defines Base Refresh Rate base_rate.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.VrrTestParamBase.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "VrrTestParamBase.__init__", "kind": "function", "doc": "

\n", "signature": "(\ttimeout,\tvrr_max,\tvrr_min,\tvrr_static,\tvrr_step,\tvrr_time_step,\tvrr_enable_cups,\tbase_vfront,\tbase_rate)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.VrrTestParamBase.timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "VrrTestParamBase.timeout", "kind": "variable", "doc": "

Set and get test timeout, in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.VrrTestParamBase.vrr_max", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "VrrTestParamBase.vrr_max", "kind": "variable", "doc": "

Set and get VRR max.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.VrrTestParamBase.vrr_min", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "VrrTestParamBase.vrr_min", "kind": "variable", "doc": "

Set and get VRR min.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.VrrTestParamBase.vrr_static", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "VrrTestParamBase.vrr_static", "kind": "variable", "doc": "

Set and get VRR static.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.VrrTestParamBase.vrr_step", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "VrrTestParamBase.vrr_step", "kind": "variable", "doc": "

Set and get VRR step.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.VrrTestParamBase.vrr_time_step", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "VrrTestParamBase.vrr_time_step", "kind": "variable", "doc": "

Set and get VRR time step.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.VrrTestParamBase.vrr_enable_cups", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "VrrTestParamBase.vrr_enable_cups", "kind": "variable", "doc": "

Set and get VRR caps.

\n\n
Returns:
\n\n
\n

object of VrrCaps type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.VrrTestParamBase.base_vfront", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "VrrTestParamBase.base_vfront", "kind": "variable", "doc": "

Set and get base vfront value.

\n\n
Returns:
\n\n
\n

object of BaseFront type

\n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.VrrTestParamBase.base_rate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "VrrTestParamBase.base_rate", "kind": "variable", "doc": "

Set and get base rate.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.VrrSinkDUTTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "VrrSinkDUTTestParam", "kind": "class", "doc": "

Class VrrSinkDUTTestParam describes parameters for VRR Sink and Source tests.

\n\n
    \n
  • Test timeout, in milliseconds timeout.
  • \n
  • Defines VRR Max value vrr_max.
  • \n
  • Defines VRR Min value vrr_min.
  • \n
  • Defines VRR Static value vrr_static.
  • \n
  • Defines step of changing frame rate vrr_step.
  • \n
  • Defines timer to change frame rate vrr_time_step.
  • \n
  • Defines VRR capabilities vrr_enable_cups type VrrCaps.
  • \n
  • Defines VRR Base front base_vfront type BaseFront.
  • \n
  • Defines Base Refresh Rate base_rate.
  • \n
\n", "bases": "VrrTestParamBase"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.VrrSinkDUTTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "VrrSinkDUTTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.VrrSourceDUTTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "VrrSourceDUTTestParam", "kind": "class", "doc": "

Class VrrSourceDUTTestParam describes parameters for VRR Sink and Source tests.

\n\n
    \n
  • Test timeout, in milliseconds timeout.
  • \n
  • Defines VRR Max value vrr_max.
  • \n
  • Defines VRR Min value vrr_min.
  • \n
  • Defines VRR Static value vrr_static.
  • \n
  • Defines step of changing frame rate vrr_step.
  • \n
  • Defines timer to change frame rate vrr_time_step.
  • \n
  • Defines VRR capabilities vrr_enable_cups type VrrCaps.
  • \n
  • Defines VRR Base front base_vfront type BaseFront.
  • \n
  • Defines Base Refresh Rate base_rate.
  • \n
\n", "bases": "VrrTestParamBase"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests.VrrSourceDUTTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.vrr_tests", "qualname": "VrrSourceDUTTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiTestMode", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiTestMode", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiTestMode.ForceVICoutput", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiTestMode.ForceVICoutput", "kind": "variable", "doc": "

\n", "default_value": "<HdmiTestMode.ForceVICoutput: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiTestMode.CTStest", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiTestMode.CTStest", "kind": "variable", "doc": "

\n", "default_value": "<HdmiTestMode.CTStest: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiFrlRate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiFrlRate", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiFrlRate.Mode_Disable", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiFrlRate.Mode_Disable", "kind": "variable", "doc": "

\n", "default_value": "<HdmiFrlRate.Mode_Disable: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiFrlRate.Mode_3lanes_3gbps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiFrlRate.Mode_3lanes_3gbps", "kind": "variable", "doc": "

\n", "default_value": "<HdmiFrlRate.Mode_3lanes_3gbps: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiFrlRate.Mode_3lanes_6gbps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiFrlRate.Mode_3lanes_6gbps", "kind": "variable", "doc": "

\n", "default_value": "<HdmiFrlRate.Mode_3lanes_6gbps: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiFrlRate.Mode_4lanes_6gbps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiFrlRate.Mode_4lanes_6gbps", "kind": "variable", "doc": "

\n", "default_value": "<HdmiFrlRate.Mode_4lanes_6gbps: 3>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiFrlRate.Mode_4lanes_8gbps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiFrlRate.Mode_4lanes_8gbps", "kind": "variable", "doc": "

\n", "default_value": "<HdmiFrlRate.Mode_4lanes_8gbps: 4>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiFrlRate.Mode_4lanes_10gbps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiFrlRate.Mode_4lanes_10gbps", "kind": "variable", "doc": "

\n", "default_value": "<HdmiFrlRate.Mode_4lanes_10gbps: 5>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiFrlRate.Mode_4lanes_12gbps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiFrlRate.Mode_4lanes_12gbps", "kind": "variable", "doc": "

\n", "default_value": "<HdmiFrlRate.Mode_4lanes_12gbps: 6>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.__init__", "kind": "function", "doc": "

\n", "signature": "(\tparam_1: UniTAP.dev.modules.dut_tests.test_group_params_types.Param,\tparam_2: UniTAP.dev.modules.dut_tests.test_group_params_types.Param)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_2560x1080_100hz_vic_91", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_2560x1080_100hz_vic_91", "kind": "variable", "doc": "

Set and get state of support timing VIC 91 2560x1080 100Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_2560x1080_120hz_vic_92", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_2560x1080_120hz_vic_92", "kind": "variable", "doc": "

Set and get state of support timing VIC 92 2560x1080 120Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_1920x1080_120hz_vic_63", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_1920x1080_120hz_vic_63", "kind": "variable", "doc": "

Set and get state of support timing VIC 63 1920x1080 120Hz (16:9).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_1920x1080_100hz_vic_64", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_1920x1080_100hz_vic_64", "kind": "variable", "doc": "

Set and get state of support timing VIC 64 1920x1080 100Hz (16:9).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_1920x1080_100hz_vic_77", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_1920x1080_100hz_vic_77", "kind": "variable", "doc": "

Set and get state of support timing VIC 77 1920x1080 100Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_1920x1080_120hz_vic_78", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_1920x1080_120hz_vic_78", "kind": "variable", "doc": "

Set and get state of support timing VIC 78 1920x1080 120Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_3840x2160_24hz_vic_93", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_3840x2160_24hz_vic_93", "kind": "variable", "doc": "

Set and get state of support timing VIC 93 3840x2160 24Hz (16:9).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_3840x2160_25hz_vic_94", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_3840x2160_25hz_vic_94", "kind": "variable", "doc": "

Set and get state of support timing VIC 94 3840x2160 25Hz (16:9).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_3840x2160_30hz_vic_95", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_3840x2160_30hz_vic_95", "kind": "variable", "doc": "

Set and get state of support timing VIC 95 3840x2160 30Hz (16:9).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_3840x2160_50hz_vic_96", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_3840x2160_50hz_vic_96", "kind": "variable", "doc": "

Set and get state of support timing VIC 96 3840x2160 50Hz (16:9).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_3840x2160_60hz_vic_97", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_3840x2160_60hz_vic_97", "kind": "variable", "doc": "

Set and get state of support timing VIC 97 3840x2160 60Hz (16:9).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_4096x2160_24hz_vic_98", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_4096x2160_24hz_vic_98", "kind": "variable", "doc": "

Set and get state of support timing VIC 98 4096x2160 24Hz (256:135).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_4096x2160_25hz_vic_99", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_4096x2160_25hz_vic_99", "kind": "variable", "doc": "

Set and get state of support timing VIC 99 4096x2160 25Hz (256:135).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_4096x2160_30hz_vic_100", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_4096x2160_30hz_vic_100", "kind": "variable", "doc": "

Set and get state of support timing VIC 100 4096x2160 30Hz (256:135).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_4096x2160_50hz_vic_101", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_4096x2160_50hz_vic_101", "kind": "variable", "doc": "

Set and get state of support timing VIC 101 4096x2160 50Hz (256:135).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_4096x2160_60hz_vic_102", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_4096x2160_60hz_vic_102", "kind": "variable", "doc": "

Set and get state of support timing VIC 102 4096x2160 60Hz (256:135).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_3840x2160_24hz_vic_103", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_3840x2160_24hz_vic_103", "kind": "variable", "doc": "

Set and get state of support timing VIC 103 3840x2160 24Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_3840x2160_25hz_vic_104", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_3840x2160_25hz_vic_104", "kind": "variable", "doc": "

Set and get state of support timing VIC 104 3840x2160 25Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_3840x2160_30hz_vic_105", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_3840x2160_30hz_vic_105", "kind": "variable", "doc": "

Set and get state of support timing VIC 105 3840x2160 30Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_3840x2160_50hz_vic_106", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_3840x2160_50hz_vic_106", "kind": "variable", "doc": "

Set and get state of support timing VIC 106 3840x2160 50Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_3840x2160_60hz_vic_107", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_3840x2160_60hz_vic_107", "kind": "variable", "doc": "

Set and get state of support timing VIC 107 3840x2160 60Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_3840x2160_48hz_vic_114", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_3840x2160_48hz_vic_114", "kind": "variable", "doc": "

Set and get state of support timing VIC 114 3840x2160 48Hz (16:9).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_4096x2160_48hz_vic_115", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_4096x2160_48hz_vic_115", "kind": "variable", "doc": "

Set and get state of support timing VIC 115 4096x2160 48Hz (256:135).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_3840x2160_48hz_vic_116", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_3840x2160_48hz_vic_116", "kind": "variable", "doc": "

Set and get state of support timing VIC 116 3840x2160 48Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_3840x2160_100hz_vic_117", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_3840x2160_100hz_vic_117", "kind": "variable", "doc": "

Set and get state of support timing VIC 117 3840x2160 100Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_3840x2160_120hz_vic_118", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_3840x2160_120hz_vic_118", "kind": "variable", "doc": "

Set and get state of support timing VIC 118 3840x2160 120Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_3840x2160_100hz_vic_119", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_3840x2160_100hz_vic_119", "kind": "variable", "doc": "

Set and get state of support timing VIC 119 3840x2160 100Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_3840x2160_120hz_vic_120", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_3840x2160_120hz_vic_120", "kind": "variable", "doc": "

Set and get state of support timing VIC 120 3840x2160 120Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_5120x2160_24hz_vic_121", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_5120x2160_24hz_vic_121", "kind": "variable", "doc": "

Set and get state of support timing VIC 121 5120x2160 24Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_5120x2160_25hz_vic_122", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_5120x2160_25hz_vic_122", "kind": "variable", "doc": "

Set and get state of support timing VIC 122 5120x2160 25Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_5120x2160_30hz_vic_123", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_5120x2160_30hz_vic_123", "kind": "variable", "doc": "

Set and get state of support timing VIC 123 5120x2160 30Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_5120x2160_48hz_vic_124", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_5120x2160_48hz_vic_124", "kind": "variable", "doc": "

Set and get state of support timing VIC 124 5120x2160 48Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_5120x2160_50hz_vic_125", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_5120x2160_50hz_vic_125", "kind": "variable", "doc": "

Set and get state of support timing VIC 125 5120x2160 50Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_5120x2160_60hz_vic_126", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_5120x2160_60hz_vic_126", "kind": "variable", "doc": "

Set and get state of support timing VIC 126 5120x2160 60Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_5120x2160_100hz_vic_127", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_5120x2160_100hz_vic_127", "kind": "variable", "doc": "

Set and get state of support timing VIC 127 5120x2160 100Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_5120x2160_120hz_vic_193", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_5120x2160_120hz_vic_193", "kind": "variable", "doc": "

Set and get state of support timing VIC 193 5120x2160 120Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_7680x4320_24hz_vic_194", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_7680x4320_24hz_vic_194", "kind": "variable", "doc": "

Set and get state of support timing VIC 194 7680x4320 24Hz (16:9).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_7680x4320_25hz_vic_195", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_7680x4320_25hz_vic_195", "kind": "variable", "doc": "

Set and get state of support timing VIC 195 7680x4320 25Hz (16:9).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_7680x4320_30hz_vic_196", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_7680x4320_30hz_vic_196", "kind": "variable", "doc": "

Set and get state of support timing VIC 196 7680x4320 30Hz (16:9).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_7680x4320_48hz_vic_197", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_7680x4320_48hz_vic_197", "kind": "variable", "doc": "

Set and get state of support timing VIC 197 7680x4320 48Hz (16:9).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_7680x4320_50hz_vic_198", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_7680x4320_50hz_vic_198", "kind": "variable", "doc": "

Set and get state of support timing VIC 198 7680x4320 50Hz (16:9).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_7680x4320_60hz_vic_199", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_7680x4320_60hz_vic_199", "kind": "variable", "doc": "

Set and get state of support timing VIC 199 7680x4320 60Hz (16:9).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_7680x4320_100hz_vic_200", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_7680x4320_100hz_vic_200", "kind": "variable", "doc": "

Set and get state of support timing VIC 200 7680x4320 100Hz (16:9).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_7680x4320_120hz_vic_201", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_7680x4320_120hz_vic_201", "kind": "variable", "doc": "

Set and get state of support timing VIC 201 7680x4320 120Hz (16:9).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_7680x4320_24hz_vic_202", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_7680x4320_24hz_vic_202", "kind": "variable", "doc": "

Set and get state of support timing VIC 202 7680x4320 24Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_7680x4320_25hz_vic_203", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_7680x4320_25hz_vic_203", "kind": "variable", "doc": "

Set and get state of support timing VIC 203 7680x4320 25Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_7680x4320_30hz_vic_204", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_7680x4320_30hz_vic_204", "kind": "variable", "doc": "

Set and get state of support timing VIC 204 7680x4320 30Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_7680x4320_48hz_vic_205", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_7680x4320_48hz_vic_205", "kind": "variable", "doc": "

Set and get state of support timing VIC 205 7680x4320 48Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_7680x4320_50hz_vic_206", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_7680x4320_50hz_vic_206", "kind": "variable", "doc": "

Set and get state of support timing VIC 206 7680x4320 50Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_7680x4320_60hz_vic_207", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_7680x4320_60hz_vic_207", "kind": "variable", "doc": "

Set and get state of support timing VIC 207 7680x4320 60Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_7680x4320_100hz_vic_208", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_7680x4320_100hz_vic_208", "kind": "variable", "doc": "

Set and get state of support timing VIC 208 7680x4320 100Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_7680x4320_120hz_vic_209", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_7680x4320_120hz_vic_209", "kind": "variable", "doc": "

Set and get state of support timing VIC 209 7680x4320 120Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_10240x4320_24hz_vic_210", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_10240x4320_24hz_vic_210", "kind": "variable", "doc": "

Set and get state of support timing VIC 210 10240x4320 24Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_10240x4320_25hz_vic_211", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_10240x4320_25hz_vic_211", "kind": "variable", "doc": "

Set and get state of support timing VIC 211 10240x4320 25Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_10240x4320_30hz_vic_212", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_10240x4320_30hz_vic_212", "kind": "variable", "doc": "

Set and get state of support timing VIC 212 10240x4320 30Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_10240x4320_48hz_vic_213", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_10240x4320_48hz_vic_213", "kind": "variable", "doc": "

Set and get state of support timing VIC 213 10240x4320 48Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_10240x4320_50hz_vic_214", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_10240x4320_50hz_vic_214", "kind": "variable", "doc": "

Set and get state of support timing VIC 214 10240x4320 50Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_10240x4320_60hz_vic_215", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_10240x4320_60hz_vic_215", "kind": "variable", "doc": "

Set and get state of support timing VIC 215 10240x4320 60Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_10240x4320_100hz_vic_216", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_10240x4320_100hz_vic_216", "kind": "variable", "doc": "

Set and get state of support timing VIC 216 10240x4320 10Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_10240x4320_120hz_vic_217", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_10240x4320_120hz_vic_217", "kind": "variable", "doc": "

Set and get state of support timing VIC 217 10240x4320 120Hz (64:27).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_4096x2160_100hz_vic_218", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_4096x2160_100hz_vic_218", "kind": "variable", "doc": "

Set and get state of support timing VIC 218 4096x2160 100Hz (256:135).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.T_4096x2160_120hz_vic_219", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.T_4096x2160_120hz_vic_219", "kind": "variable", "doc": "

Set and get state of support timing VIC 219 4096x2160 120Hz (256:135).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes.clear_all", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiAvailableVideoModes.clear_all", "kind": "function", "doc": "

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiDutCaps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiDutCaps", "kind": "class", "doc": "

Class DutCapsDp14 defines the DUT capabilities and allows setting:

\n\n
    \n
  • Set and get state of sink DSC support is_sink_dsc_support.
  • \n
  • Set and get state of sink DSC 10 BPC support is_sink_dsc_10bpc.
  • \n
  • Set and get state of sink DSC 12 BPC support is_sink_dsc_12bpc.
  • \n
  • Set and get state of sink Native 420 support is_sink_dsc_native_420.
  • \n
  • Set and get state of sink Native 420 support is_sink_dsc_16bpc.
  • \n
  • Set and get state of sink Native 420 support is_sink_dsc_all_bpp.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiDutCaps.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiDutCaps.__init__", "kind": "function", "doc": "

\n", "signature": "(param: UniTAP.dev.modules.dut_tests.test_group_params_types.Param)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiDutCaps.is_sink_dsc_support", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiDutCaps.is_sink_dsc_support", "kind": "variable", "doc": "

Set and get state of SINK DSC support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiDutCaps.is_sink_dsc_10bpc", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiDutCaps.is_sink_dsc_10bpc", "kind": "variable", "doc": "

Set and get state of SINK DSC 10 bpc support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiDutCaps.is_sink_dsc_12bpc", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiDutCaps.is_sink_dsc_12bpc", "kind": "variable", "doc": "

Set and get state of SINK DSC 12 bpc support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiDutCaps.is_sink_dsc_native_420", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiDutCaps.is_sink_dsc_native_420", "kind": "variable", "doc": "

Set and get state of SINK DSC Native 420 support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiDutCaps.is_sink_dsc_16bpc", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiDutCaps.is_sink_dsc_16bpc", "kind": "variable", "doc": "

Set and get state of SINK DSC 16 bpc support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiDutCaps.is_sink_dsc_all_bpp", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiDutCaps.is_sink_dsc_all_bpp", "kind": "variable", "doc": "

Set and get state of SINK DSC all BPP support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiDutCaps.is_sink_ycbcr_support", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiDutCaps.is_sink_ycbcr_support", "kind": "variable", "doc": "

Set and get state of SINK YCbCr support.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiSinkDUTTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiSinkDUTTestParam", "kind": "class", "doc": "

Class HdmiSinkDUTTestParam allows working with parameters from HDMI DSC source part.

\n\n
    \n
  • Seg and get test mode test_mode.
  • \n
  • Set and get timeout timeout.
  • \n
  • Set and get MAX FRL rate max_frl_rate type HdmiFrlRate.
  • \n
  • Set and get MAX TMDS Clock 'max_tmds_clock'.
  • \n
  • Set and get HDMI DUT Caps 'dut_caps' type 'HdmiDutCaps'.
  • \n
  • Set and get DSC MAX FRL rate dsc_max_frl_rate type HdmiFrlRate.
  • \n
  • Set and get available video modes video_modes.
  • \n
  • Set and get DSC max slice (from 0 to 7) 'dsc_max_slice'.
  • \n
  • Set and get Total chunk bytes total_chunk_bytes.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiSinkDUTTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiSinkDUTTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiSinkDUTTestParam.test_mode", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiSinkDUTTestParam.test_mode", "kind": "variable", "doc": "

Set and get test mode.

\n\n
Returns:
\n\n
\n

object of HdmiTestMode type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiTestMode"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiSinkDUTTestParam.timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiSinkDUTTestParam.timeout", "kind": "variable", "doc": "

Set and get test timeout, in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiSinkDUTTestParam.max_frl_rate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiSinkDUTTestParam.max_frl_rate", "kind": "variable", "doc": "

Set and get Max DSC FRL mode.

\n\n
Returns:
\n\n
\n

object of HdmiFrlRate type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiFrlRate"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiSinkDUTTestParam.max_tmds_clock", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiSinkDUTTestParam.max_tmds_clock", "kind": "variable", "doc": "

Set and get test MAX TMDS clock, in MHz.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiSinkDUTTestParam.dut_caps", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiSinkDUTTestParam.dut_caps", "kind": "variable", "doc": "

Set and get DUT caps.

\n\n
Returns:
\n\n
\n

object HdmiDutCaps

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiDutCaps"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiSinkDUTTestParam.dsc_max_frl_rate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiSinkDUTTestParam.dsc_max_frl_rate", "kind": "variable", "doc": "

Set and get Max DSC FRL mode.

\n\n
Returns:
\n\n
\n

object of HdmiFrlRate type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiFrlRate"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiSinkDUTTestParam.video_modes", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiSinkDUTTestParam.video_modes", "kind": "variable", "doc": "

Set and get supported video modes.

\n\n
Returns:
\n\n
\n

object HdmiAvailableVideoModes

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiAvailableVideoModes"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiSinkDUTTestParam.dsc_max_slice", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiSinkDUTTestParam.dsc_max_slice", "kind": "variable", "doc": "

Set and get test DSC max slice, in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiSinkDUTTestParam.total_chunk_bytes", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests", "qualname": "HdmiSinkDUTTestParam.total_chunk_bytes", "kind": "variable", "doc": "

Set and get test Total chunk bytes, in milliseconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests.HdmiSinkContinuityDUTTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests", "qualname": "HdmiSinkContinuityDUTTestParam", "kind": "class", "doc": "

Class HdmiSinkContinuityDUTTestParam allows working with parameters from HDMI Continuity part.

\n\n
    \n
  • Set and get total test time test_time, in seconds. Default value is 60s.
  • \n
  • Set and get status period status_period, in seconds.
  • \n
  • Set and get stop flag stop_flag. Stop testing when status fail.
  • \n
  • Set and get flag of enabling scdc version enable_scdc_version. Enable to check SCDC version.
  • \n
  • Set and get flag of enabling scdc status enable_scdc_status. Enable to check SCDC status flag.
  • \n
  • Set and get flag of enabling scdc error count enable_scdc_error_count. Enable to check SCDC error counters.
  • \n
  • Set and get SDCD error counter fail threshold scdc_error_count. Default value is 10.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests.HdmiSinkContinuityDUTTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests", "qualname": "HdmiSinkContinuityDUTTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests.HdmiSinkContinuityDUTTestParam.test_time", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests", "qualname": "HdmiSinkContinuityDUTTestParam.test_time", "kind": "variable", "doc": "

Set and get test time.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests.HdmiSinkContinuityDUTTestParam.status_period", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests", "qualname": "HdmiSinkContinuityDUTTestParam.status_period", "kind": "variable", "doc": "

Set and get status period.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests.HdmiSinkContinuityDUTTestParam.stop_flag", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests", "qualname": "HdmiSinkContinuityDUTTestParam.stop_flag", "kind": "variable", "doc": "

Set and get flag of stop testing when status fail.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests.HdmiSinkContinuityDUTTestParam.enable_scdc_version", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests", "qualname": "HdmiSinkContinuityDUTTestParam.enable_scdc_version", "kind": "variable", "doc": "

Set and get flag of enabling scdc version.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests.HdmiSinkContinuityDUTTestParam.enable_scdc_status", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests", "qualname": "HdmiSinkContinuityDUTTestParam.enable_scdc_status", "kind": "variable", "doc": "

Set and get flag of enabling scdc status.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests.HdmiSinkContinuityDUTTestParam.enable_scdc_error_count", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests", "qualname": "HdmiSinkContinuityDUTTestParam.enable_scdc_error_count", "kind": "variable", "doc": "

Set and get flag of enabling scdc error count.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests.HdmiSinkContinuityDUTTestParam.scdc_error_count", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_continuity_tests", "qualname": "HdmiSinkContinuityDUTTestParam.scdc_error_count", "kind": "variable", "doc": "

Set and get scdc error count.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.CableTestMode", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "CableTestMode", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.CableTestMode.HighSpeed", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "CableTestMode.HighSpeed", "kind": "variable", "doc": "

\n", "default_value": "<CableTestMode.HighSpeed: 0>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.CableTestMode.LowSpeed", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "CableTestMode.LowSpeed", "kind": "variable", "doc": "

\n", "default_value": "<CableTestMode.LowSpeed: 1>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.CableTestMode.All", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "CableTestMode.All", "kind": "variable", "doc": "

\n", "default_value": "<CableTestMode.All: 2>"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.LowSpeedLineSelection", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "LowSpeedLineSelection", "kind": "class", "doc": "

Class LowSpeedLineSelection defines variants of tests:

\n\n
    \n
  • Voltage swing level 3 (1.2V) supported voltage_swing_supported.
  • \n
  • Pre-emphasis level 3 (9.5dB) supported pre_emphasis_supported.
  • \n
\n", "bases": "UniTAP.dev.modules.dut_tests.test_group_params_types.Param"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.LowSpeedLineSelection.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "LowSpeedLineSelection.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.LowSpeedLineSelection.hpd", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "LowSpeedLineSelection.hpd", "kind": "variable", "doc": "

Configure if HPD line will be tested.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.LowSpeedLineSelection.i2c", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "LowSpeedLineSelection.i2c", "kind": "variable", "doc": "

Configure if I2C line will be tested.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.LowSpeedLineSelection.cec", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "LowSpeedLineSelection.cec", "kind": "variable", "doc": "

Configure if CEC line will be tested.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.LowSpeedLineSelection.voltage_5v", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "LowSpeedLineSelection.voltage_5v", "kind": "variable", "doc": "

Configure if 5V line will be tested.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.LowSpeedLineSelection.utility", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "LowSpeedLineSelection.utility", "kind": "variable", "doc": "

Configure if utility line will be tested.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.HdmiSinkCableCheckTestParam", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "HdmiSinkCableCheckTestParam", "kind": "class", "doc": "

Class HdmiSinkDUTTestParam allows working with parameters from HDMI DSC source part.

\n\n
    \n
  • Set and get test timeout test_timeout.
  • \n
  • Seg and get test mode test_mode type CableTestMode.
  • \n
  • Set and get MIN FRL rate min_frl_rate type HdmiFrlRate.
  • \n
  • Set and get MAX FRL rate max_frl_rate type HdmiFrlRate.
  • \n
  • Set and get amount of allowed errors per lane allowed_errors_per_lane.
  • \n
  • Set and get errors capture timeout errors_capture_timeout.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.HdmiSinkCableCheckTestParam.__init__", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "HdmiSinkCableCheckTestParam.__init__", "kind": "function", "doc": "

\n", "signature": "(json_obj)"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.HdmiSinkCableCheckTestParam.test_timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "HdmiSinkCableCheckTestParam.test_timeout", "kind": "variable", "doc": "

Set and get test timeout, in seconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.HdmiSinkCableCheckTestParam.test_mode", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "HdmiSinkCableCheckTestParam.test_mode", "kind": "variable", "doc": "

Set and get test mode.

\n\n
Returns:
\n\n
\n

object of CableTestMode type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.CableTestMode"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.HdmiSinkCableCheckTestParam.min_frl_rate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "HdmiSinkCableCheckTestParam.min_frl_rate", "kind": "variable", "doc": "

Set and get the minimum FRL rate supported by the cable.

\n\n
Returns:
\n\n
\n

object of HdmiFrlRate type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiFrlRate"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.HdmiSinkCableCheckTestParam.max_frl_rate", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "HdmiSinkCableCheckTestParam.max_frl_rate", "kind": "variable", "doc": "

Set and get the maximum FRL rate supported by the cable.

\n\n
Returns:
\n\n
\n

object of HdmiFrlRate type

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_tests.HdmiFrlRate"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.HdmiSinkCableCheckTestParam.allowed_errors_per_lane", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "HdmiSinkCableCheckTestParam.allowed_errors_per_lane", "kind": "variable", "doc": "

Set and get allowed errors per lane.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.HdmiSinkCableCheckTestParam.errors_capture_timeout", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "HdmiSinkCableCheckTestParam.errors_capture_timeout", "kind": "variable", "doc": "

Set and get errors capture timeout, in seconds.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.HdmiSinkCableCheckTestParam.low_speed_line_selection", "modulename": "UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests", "qualname": "HdmiSinkCableCheckTestParam.low_speed_line_selection", "kind": "variable", "doc": "

Set and get low speed lines for testing.

\n\n
Returns:
\n\n
\n

object LowSpeedLineSelection

\n
\n", "annotation": ": UniTAP.dev.modules.dut_tests.dut_default_params.hdmi_sink_cable_check_tests.LowSpeedLineSelection"}, {"fullname": "UniTAP.dev.modules.opf.handler", "modulename": "UniTAP.dev.modules.opf.handler", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.modules.opf.handler.OperatorFeedbackHandler", "modulename": "UniTAP.dev.modules.opf.handler", "qualname": "OperatorFeedbackHandler", "kind": "class", "doc": "

Class OperatorFeedbackHandler helps to do required actions during DUT tests. Contains object of OpfHandlerBase,\nthat can be overridden.

\n\n
    \n
  • handler - set and get OPF Handler. OpfHandlerBase does OPF number 19 and 103,\nOpfHandlerInternal does all OPF, OpfHandlerDefault does overridden OPF by user.
  • \n
\n"}, {"fullname": "UniTAP.dev.modules.opf.handler.OperatorFeedbackHandler.__init__", "modulename": "UniTAP.dev.modules.opf.handler", "qualname": "OperatorFeedbackHandler.__init__", "kind": "function", "doc": "

\n", "signature": "(device_io: UniTAP.libs.lib_tsi.tsi_io.DeviceIO)"}, {"fullname": "UniTAP.dev.modules.opf.handler.OperatorFeedbackHandler.handler", "modulename": "UniTAP.dev.modules.opf.handler", "qualname": "OperatorFeedbackHandler.handler", "kind": "variable", "doc": "

Return current OPF handler. Can be overriden in set method.

\n\n
Returns:
\n\n
\n

object of OpfHandlerBase type

\n
\n", "annotation": ": UniTAP.dev.modules.opf.handlers.base.OpfHandlerBase"}, {"fullname": "UniTAP.dev.ports.dprx", "modulename": "UniTAP.dev.ports.dprx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.dprx.DPRX", "modulename": "UniTAP.dev.ports.dprx", "qualname": "DPRX", "kind": "class", "doc": "

Main class of DPRX object.\nInherited from class RX.\nClass describes capabilities of 300th (3XX) series of DP and USB-C devices in Sink (RX - receiver) role.

\n\n
Attributes:
\n\n
    \n
  • __link (LinkDisplayPortRx): object of LinkDisplayPortRx.
  • \n
  • __dpcd (DPCDRegisters): object of DPCDRegisters.
  • \n
  • __edid (EdidSink): object of EdidSink.
  • \n
  • __hdcp (HdcpSink): object of HdcpSink.
  • \n
  • __event_capturer (EventCapturer): object of EventCapturer.
  • \n
  • __video_capturer (VideoCapturer): object of VideoCapturerDP.
  • \n
\n", "bases": "UniTAP.dev.ports.rx.RX"}, {"fullname": "UniTAP.dev.ports.dprx.DPRX.__init__", "modulename": "UniTAP.dev.ports.dprx", "qualname": "DPRX.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.ports.dprx.DPRX.link", "modulename": "UniTAP.dev.ports.dprx", "qualname": "DPRX.link", "kind": "variable", "doc": "

Should be used to control link capabilities on Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of LinkDisplayPortRx type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.dp.link_rx.LinkDisplayPortRx"}, {"fullname": "UniTAP.dev.ports.dprx.DPRX.dpcd", "modulename": "UniTAP.dev.ports.dprx", "qualname": "DPRX.dpcd", "kind": "variable", "doc": "

Should be used to work with DPCD registers on Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of DPCDRegisters type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegisters"}, {"fullname": "UniTAP.dev.ports.dprx.DPRX.edid", "modulename": "UniTAP.dev.ports.dprx", "qualname": "DPRX.edid", "kind": "variable", "doc": "

Should be used to work with EDID on Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of EdidSink type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.edid.edid.EdidSink"}, {"fullname": "UniTAP.dev.ports.dprx.DPRX.hdcp", "modulename": "UniTAP.dev.ports.dprx", "qualname": "DPRX.hdcp", "kind": "variable", "doc": "

Should be used to work with HDCP on Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of HdcpSink.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.hdcp.hdcp_rx.HdcpSink"}, {"fullname": "UniTAP.dev.ports.dprx.DPRX.event_capturer", "modulename": "UniTAP.dev.ports.dprx", "qualname": "DPRX.event_capturer", "kind": "variable", "doc": "

Should be used to control EventCapturer on Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of EventCapturer type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.event.event_capturer.EventCapturer"}, {"fullname": "UniTAP.dev.ports.dprx.DPRX.video_capturer", "modulename": "UniTAP.dev.ports.dprx", "qualname": "DPRX.video_capturer", "kind": "variable", "doc": "

Should be used to control VideoCapturerDP on Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of VideoCapturerDP type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturerDP"}, {"fullname": "UniTAP.dev.ports.dprx4xx", "modulename": "UniTAP.dev.ports.dprx4xx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.dprx4xx.DPRX4xx", "modulename": "UniTAP.dev.ports.dprx4xx", "qualname": "DPRX4xx", "kind": "class", "doc": "

Main class of DPRX4xx object.\nInherited from class DPRX.\nClass describes capabilities of 400th (4XX) series of DP and USB-C devices in Sink (RX - receiver) role.

\n\n
Attributes:
\n\n
    \n
  • __fec (FecTx): object of FecTx.
  • \n
  • __bulk_capturer (BulkCapturer): object of BulkCapturer
  • \n
  • __display_id (DisplayIdSink): object of DisplayIdSink
  • \n
  • __panel_replay (SinkPanelReplay): object of SinkPanelReplay
  • \n
  • __psr (SinkPanelSelfRefresh): object of SinkPanelSelfRefresh
  • \n
\n", "bases": "UniTAP.dev.ports.dprx.DPRX"}, {"fullname": "UniTAP.dev.ports.dprx4xx.DPRX4xx.__init__", "modulename": "UniTAP.dev.ports.dprx4xx", "qualname": "DPRX4xx.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.ports.dprx4xx.DPRX4xx.fec", "modulename": "UniTAP.dev.ports.dprx4xx", "qualname": "DPRX4xx.fec", "kind": "variable", "doc": "

Should be used to control FEC functionality on Sink (RX - receiver) side.

\n\n
Returns:
\n\n
\n

object of FecRx type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.fec.fec_rx.FecRx"}, {"fullname": "UniTAP.dev.ports.dprx4xx.DPRX4xx.bulk_capturer", "modulename": "UniTAP.dev.ports.dprx4xx", "qualname": "DPRX4xx.bulk_capturer", "kind": "variable", "doc": "

Should be used to control Bulk capturer functionality on Sink (RX - receiver) side.

\n\n
Returns:
\n\n
\n

object of BulkCapturer type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer.BulkCapturer"}, {"fullname": "UniTAP.dev.ports.dprx4xx.DPRX4xx.display_id", "modulename": "UniTAP.dev.ports.dprx4xx", "qualname": "DPRX4xx.display_id", "kind": "variable", "doc": "

Should be used to control DisplayID functionality on Sink (RX - receiver) side.

\n\n
Returns:
\n\n
\n

object of DisplayIdSink type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.edid.edid.DisplayIdSink"}, {"fullname": "UniTAP.dev.ports.dprx4xx.DPRX4xx.panel_replay", "modulename": "UniTAP.dev.ports.dprx4xx", "qualname": "DPRX4xx.panel_replay", "kind": "variable", "doc": "

Should be used to control Panel Replay on Sink (RX - receiver) side.

\n\n
Returns:
\n\n
\n

object of SinkPanelReplay type.

\n
\n", "annotation": ": Optional[UniTAP.dev.ports.modules.panel_replay.pr_sink.SinkPanelReplay]"}, {"fullname": "UniTAP.dev.ports.dprx4xx.DPRX4xx.panel_self_refresh", "modulename": "UniTAP.dev.ports.dprx4xx", "qualname": "DPRX4xx.panel_self_refresh", "kind": "variable", "doc": "

Should be used to control Panel Self Refresh on Sink (RX - receiver) side.

\n\n
Returns:
\n\n
\n

object of SinkPanelSelfRefresh type.

\n
\n", "annotation": ": Optional[UniTAP.dev.ports.modules.panel_replay.pr_sink.SinkPanelSelfRefresh]"}, {"fullname": "UniTAP.dev.ports.dprx5xx", "modulename": "UniTAP.dev.ports.dprx5xx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.dprx5xx.DPRX5xx", "modulename": "UniTAP.dev.ports.dprx5xx", "qualname": "DPRX5xx", "kind": "class", "doc": "

Main class of DPRX5xx object.\nInherited from class DPRX4xx.\nClass describes capabilities of 500th (5XX) series of DP and USB-C devices in Sink (RX - receiver) role.

\n\n
Attributes:
\n\n
    \n
  • __panel_replay (SinkPanelReplay): object of SinkPanelReplay.
  • \n
  • __psr (SinkPanelSelfRefresh): object of SinkPanelSelfRefresh.
  • \n
\n", "bases": "UniTAP.dev.ports.dprx4xx.DPRX4xx"}, {"fullname": "UniTAP.dev.ports.dprx5xx.DPRX5xx.__init__", "modulename": "UniTAP.dev.ports.dprx5xx", "qualname": "DPRX5xx.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.ports.dptx", "modulename": "UniTAP.dev.ports.dptx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.dptx.DPTX", "modulename": "UniTAP.dev.ports.dptx", "qualname": "DPTX", "kind": "class", "doc": "

Main class of DPTX object.\nInherited from class TX.\nClass describes capabilities of 300th (3XX) series of DP and USB-C devices in Source (TX - transmitter) role.

\n\n
Attributes:
\n\n
    \n
  • __link (LinkDisplayPortTx): object of LinkDisplayPortTx.
  • \n
  • __dpcd (DPCDRegisters): object of DPCDRegisters.
  • \n
  • __edid (EdidSource): object of EdidSource.
  • \n
  • __hdcp (HdcpSource): object of HdcpSource.
  • \n
  • __pg (DpPatternGenerator): object of DpPatternGenerator.
  • \n
  • __event_capturer (EventCapturer): object of EventCapturer.
  • \n
\n", "bases": "UniTAP.dev.ports.tx.TX"}, {"fullname": "UniTAP.dev.ports.dptx.DPTX.__init__", "modulename": "UniTAP.dev.ports.dptx", "qualname": "DPTX.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.ports.dptx.DPTX.dpcd", "modulename": "UniTAP.dev.ports.dptx", "qualname": "DPTX.dpcd", "kind": "variable", "doc": "

Should be used to work with DPCD registers on Source (TX - transmitter) side.

\n\n
Returns:
\n\n
\n

object of DPCDRegisters type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegisters"}, {"fullname": "UniTAP.dev.ports.dptx.DPTX.pg", "modulename": "UniTAP.dev.ports.dptx", "qualname": "DPTX.pg", "kind": "variable", "doc": "

Should be used to control Pattern generator functionality on Source (TX - transmitter) side.

\n\n
Returns:
\n\n
\n

object of DpPatternGenerator type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.vtg.pg.DpPatternGenerator"}, {"fullname": "UniTAP.dev.ports.dptx.DPTX.link", "modulename": "UniTAP.dev.ports.dptx", "qualname": "DPTX.link", "kind": "variable", "doc": "

Should be used to control link settings on Source (TX - transmitter) side.

\n\n
Returns:
\n\n
\n

object of LinkDisplayPortTx type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx"}, {"fullname": "UniTAP.dev.ports.dptx.DPTX.edid", "modulename": "UniTAP.dev.ports.dptx", "qualname": "DPTX.edid", "kind": "variable", "doc": "

Should be used to work with EDID on Source (TX - transmitter) side.

\n\n
Returns:
\n\n
\n

object of EdidSource type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.edid.edid.EdidSource"}, {"fullname": "UniTAP.dev.ports.dptx.DPTX.hdcp", "modulename": "UniTAP.dev.ports.dptx", "qualname": "DPTX.hdcp", "kind": "variable", "doc": "

Should be used to work with HDCP on Source (TX - transmitter) side.

\n\n
Returns:
\n\n
\n

object of HdcpSource.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.hdcp.hdcp_tx.HdcpSource"}, {"fullname": "UniTAP.dev.ports.dptx.DPTX.event_capturer", "modulename": "UniTAP.dev.ports.dptx", "qualname": "DPTX.event_capturer", "kind": "variable", "doc": "

Should be used to control EventCapturer on Source (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of EventCapturer type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.event.event_capturer.EventCapturer"}, {"fullname": "UniTAP.dev.ports.dptx4xx", "modulename": "UniTAP.dev.ports.dptx4xx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.dptx4xx.DPTX4xx", "modulename": "UniTAP.dev.ports.dptx4xx", "qualname": "DPTX4xx", "kind": "class", "doc": "

Main class of DPTX4xx object.\nInherited from class DPTX.\nClass describes capabilities of 400th (4XX) series of DP and USB-C devices in Source (TX - transmitter) role.

\n\n
Attributes:
\n\n
    \n
  • __fec (FecTx): object of FecTx.
  • \n
  • __pg (DpMstPatternGenerator): object of DpMstPatternGenerator
  • \n
\n", "bases": "UniTAP.dev.ports.dptx.DPTX"}, {"fullname": "UniTAP.dev.ports.dptx4xx.DPTX4xx.__init__", "modulename": "UniTAP.dev.ports.dptx4xx", "qualname": "DPTX4xx.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.ports.dptx4xx.DPTX4xx.fec", "modulename": "UniTAP.dev.ports.dptx4xx", "qualname": "DPTX4xx.fec", "kind": "variable", "doc": "

Should be used to control FEC functionality on Source (TX - transmitter) side.

\n\n
Returns:
\n\n
\n

object of FecTx type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.fec.fec_tx.FecTx"}, {"fullname": "UniTAP.dev.ports.dptx4xx.DPTX4xx.pg", "modulename": "UniTAP.dev.ports.dptx4xx", "qualname": "DPTX4xx.pg", "kind": "variable", "doc": "

Should be used to control Pattern generator functionality on Source (TX - transmitter) side.\nDpMstPatternGenerator contain list of DpPatternGenerator objects. For access to element in list,\nuse expression pg.[index].

\n\n
Returns:
\n\n
\n

object of DpMstPatternGenerator type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.vtg.pg.DpMstPatternGenerator"}, {"fullname": "UniTAP.dev.ports.dptx4xx.DPTX4xx.display_id", "modulename": "UniTAP.dev.ports.dptx4xx", "qualname": "DPTX4xx.display_id", "kind": "variable", "doc": "

Should be used to control DisplayID functionality on Source (TX - transmitter) side.

\n\n
Returns:
\n\n
\n

object of DisplayIdSource type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.edid.edid.DisplayIdSource"}, {"fullname": "UniTAP.dev.ports.dptx5xx", "modulename": "UniTAP.dev.ports.dptx5xx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.dptx5xx.DPTX5xx", "modulename": "UniTAP.dev.ports.dptx5xx", "qualname": "DPTX5xx", "kind": "class", "doc": "

Main class of DPTX5xx object.\nInherited from class DPTX4xx.\nClass describes capabilities of 500th (5XX) series of DP and USB-C devices in Source (TX - transmitter) role.

\n", "bases": "UniTAP.dev.ports.dptx4xx.DPTX4xx"}, {"fullname": "UniTAP.dev.ports.dptx5xx.DPTX5xx.__init__", "modulename": "UniTAP.dev.ports.dptx5xx", "qualname": "DPTX5xx.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.ports.hdrx", "modulename": "UniTAP.dev.ports.hdrx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.hdrx.HDRX", "modulename": "UniTAP.dev.ports.hdrx", "qualname": "HDRX", "kind": "class", "doc": "

Main class of HDRX object.\nInherited from class RX.\nClass describes capabilities of 300th (3XX) series of HDMI devices in Sink (RX - receiver) role.

\n\n
Attributes:
\n\n
    \n
  • __link (HdmiLinkRx): object of HdmiLinkRx.
  • \n
  • __edid (EdidSink): object of EdidSink.
  • \n
  • __hdcp (HdcpSink): object of HdcpSink.
  • \n
  • __event_capturer (EventCapturer): object of EventCapturer.
  • \n
  • __video_capturer (VideoCapturer): object of VideoCapturerHDMI.
  • \n
  • __cec (CecRx): object of CecRx.
  • \n
\n", "bases": "UniTAP.dev.ports.rx.RX"}, {"fullname": "UniTAP.dev.ports.hdrx.HDRX.__init__", "modulename": "UniTAP.dev.ports.hdrx", "qualname": "HDRX.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.ports.hdrx.HDRX.link", "modulename": "UniTAP.dev.ports.hdrx", "qualname": "HDRX.link", "kind": "variable", "doc": "

Should be used to control link capabilities on Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of HdmiLinkRx type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.link.HdmiLinkRx"}, {"fullname": "UniTAP.dev.ports.hdrx.HDRX.edid", "modulename": "UniTAP.dev.ports.hdrx", "qualname": "HDRX.edid", "kind": "variable", "doc": "

Should be used to work with EDID on Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of EdidSink type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.edid.edid.EdidSink"}, {"fullname": "UniTAP.dev.ports.hdrx.HDRX.hdcp", "modulename": "UniTAP.dev.ports.hdrx", "qualname": "HDRX.hdcp", "kind": "variable", "doc": "

Should be used to work with HDCP on Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of HdcpSink.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.hdcp.hdcp_rx.HdcpSink"}, {"fullname": "UniTAP.dev.ports.hdrx.HDRX.event_capturer", "modulename": "UniTAP.dev.ports.hdrx", "qualname": "HDRX.event_capturer", "kind": "variable", "doc": "

Should be used to control EventCapturer on Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of EventCapturer type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.event.event_capturer.EventCapturer"}, {"fullname": "UniTAP.dev.ports.hdrx.HDRX.video_capturer", "modulename": "UniTAP.dev.ports.hdrx", "qualname": "HDRX.video_capturer", "kind": "variable", "doc": "

Should be used to control VideoCapturerHDMI on Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of VideoCapturerHDMI type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturerHDMI"}, {"fullname": "UniTAP.dev.ports.hdrx.HDRX.cec", "modulename": "UniTAP.dev.ports.hdrx", "qualname": "HDRX.cec", "kind": "variable", "doc": "

Should be used to control CecRx on Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of CecRx type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.cec.cec_rx.CecRx"}, {"fullname": "UniTAP.dev.ports.hdrx4xx", "modulename": "UniTAP.dev.ports.hdrx4xx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.hdrx4xx.HDRX4xx", "modulename": "UniTAP.dev.ports.hdrx4xx", "qualname": "HDRX4xx", "kind": "class", "doc": "

Main class of HDRX4xx object.\nInherited from class HDRX.\nClass describes capabilities of 400th (4XX) series of HDMI devices in Sink (RX - receiver) rolee.

\n", "bases": "UniTAP.dev.ports.hdrx.HDRX"}, {"fullname": "UniTAP.dev.ports.hdrx4xx.HDRX4xx.__init__", "modulename": "UniTAP.dev.ports.hdrx4xx", "qualname": "HDRX4xx.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.ports.hdtx", "modulename": "UniTAP.dev.ports.hdtx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.hdtx.HDTX", "modulename": "UniTAP.dev.ports.hdtx", "qualname": "HDTX", "kind": "class", "doc": "

Main class of HDTX object.\nInherited from class TX.\nClass describes capabilities of 300th (3XX) series of HDMI devices in Source (TX - transmitter) role.

\n\n
Attributes:
\n\n
    \n
  • __link (HdmiLinkTx): object of HdmiLinkTx.
  • \n
  • __edid (EdidSource): object of EdidSource.
  • \n
  • __hdcp (HdcpSource): object of HdcpSource.
  • \n
  • __pg (HdmiPatternGenerator): object of HdmiPatternGenerator.
  • \n
  • __event_capturer (EventCapturer): object of EventCapturer.
  • \n
  • __cec (CecTx): object of CecTx.
  • \n
\n", "bases": "UniTAP.dev.ports.tx.TX"}, {"fullname": "UniTAP.dev.ports.hdtx.HDTX.__init__", "modulename": "UniTAP.dev.ports.hdtx", "qualname": "HDTX.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.ports.hdtx.HDTX.link", "modulename": "UniTAP.dev.ports.hdtx", "qualname": "HDTX.link", "kind": "variable", "doc": "

Should be used to control link settings on Source (TX - transmitter) side.

\n\n
Returns:
\n\n
\n

object of HdmiLinkTx type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.link.HdmiLinkTx"}, {"fullname": "UniTAP.dev.ports.hdtx.HDTX.pg", "modulename": "UniTAP.dev.ports.hdtx", "qualname": "HDTX.pg", "kind": "variable", "doc": "

Should be used to control Pattern generator functionality on Source (TX - transmitter) side.

\n\n
Returns:
\n\n
\n

object of HdmiPatternGenerator type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.vtg.pg.HdmiPatternGenerator"}, {"fullname": "UniTAP.dev.ports.hdtx.HDTX.edid", "modulename": "UniTAP.dev.ports.hdtx", "qualname": "HDTX.edid", "kind": "variable", "doc": "

Should be used to work with EDID on Source (TX - transmitter) side.

\n\n
Returns:
\n\n
\n

object of EdidSource type.

\n
\n"}, {"fullname": "UniTAP.dev.ports.hdtx.HDTX.hdcp", "modulename": "UniTAP.dev.ports.hdtx", "qualname": "HDTX.hdcp", "kind": "variable", "doc": "

Should be used to work with HDCP on Source (TX - transmitter) side.

\n\n
Returns:
\n\n
\n

object of HdcpSource.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.hdcp.hdcp_tx.HdcpSource"}, {"fullname": "UniTAP.dev.ports.hdtx.HDTX.event_capturer", "modulename": "UniTAP.dev.ports.hdtx", "qualname": "HDTX.event_capturer", "kind": "variable", "doc": "

Should be used to control EventCapturer on Source (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of EventCapturer type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.event.event_capturer.EventCapturer"}, {"fullname": "UniTAP.dev.ports.hdtx.HDTX.cec", "modulename": "UniTAP.dev.ports.hdtx", "qualname": "HDTX.cec", "kind": "variable", "doc": "

Should be used to control CecTx on Source (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of CecTx type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.cec.cec_tx.CecTx"}, {"fullname": "UniTAP.dev.ports.hdtx4xx", "modulename": "UniTAP.dev.ports.hdtx4xx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.hdtx4xx.HDTX4xx", "modulename": "UniTAP.dev.ports.hdtx4xx", "qualname": "HDTX4xx", "kind": "class", "doc": "

Main class of HDTX4xx object.\nInherited from class HDTX.\nClass describes capabilities of 400th (4XX) series of HDMI devices in Source (TX - transmitter) role.

\n", "bases": "UniTAP.dev.ports.hdtx.HDTX"}, {"fullname": "UniTAP.dev.ports.hdtx4xx.HDTX4xx.__init__", "modulename": "UniTAP.dev.ports.hdtx4xx", "qualname": "HDTX4xx.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.ports.pdc_port", "modulename": "UniTAP.dev.ports.pdc_port", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC", "kind": "class", "doc": "

Class PDC describes capabilities of power delivery controller.\nContains following field:

\n\n
    \n
  • Power contract control power_contract_control, type PowerContractControlBase.
  • \n
  • Power Sink power_sink, type PowerSink.
  • \n
  • Power Source power_source, type PowerSource.
  • \n
  • DP Alt mode dp_alt_mode, type DpAltMode340.
  • \n
  • PDC Capabilities capabilities, type PdcCapabilities.
  • \n
  • BUS electrical status bus_electrical_status, type BusElectricalStatus.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC.__init__", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO)"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC.power_contract_control", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC.power_contract_control", "kind": "variable", "doc": "

Returns Power contract control.

\n\n
Returns:
\n\n
\n

object of PowerContractControlBase type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_contract_control.PowerContractControlBase"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC.power_sink", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC.power_sink", "kind": "variable", "doc": "

Returns Power Sink.

\n\n
Returns:
\n\n
\n

object of PowerSink type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_power_sink.PowerSink"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC.power_source", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC.power_source", "kind": "variable", "doc": "

Returns Power Source.

\n\n
Returns:
\n\n
\n

object of PowerSource type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_power_source.PowerSource"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC.dp_alt_mode", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC.dp_alt_mode", "kind": "variable", "doc": "

Returns DP Alt mode.

\n\n
Returns:
\n\n
\n

object of DpAltMode340 type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltMode340"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC.capabilities", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC.capabilities", "kind": "variable", "doc": "

Returns PDC capabilities.

\n\n
Returns:
\n\n
\n

object of PdcCapabilities type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_capabilities.PdcCapabilities"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC.bus_electrical_status", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC.bus_electrical_status", "kind": "variable", "doc": "

Returns BUS electrical status.

\n\n
Returns:
\n\n
\n

object of BusElectricalStatus type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_bus_status.BusElectricalStatus"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC340", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC340", "kind": "class", "doc": "

Class PDC340 inherited from class PDC.\nClass PDC340 allows working with overriding PDc controls and power contract control.\nAlso has all the PDC functionality.

\n\n
    \n
  • Power Contract control power_contract_control, type PowerContractControl340.
  • \n
  • PDC Controls controls, type PdcControls340.
  • \n
\n", "bases": "PDC"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC340.__init__", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC340.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO)"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC340.capabilities", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC340.capabilities", "kind": "variable", "doc": "

Returns PDC capabilities.

\n\n
Returns:
\n\n
\n

object of PdcCapabilities340 type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_capabilities.PdcCapabilities340"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC340.power_contract_control", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC340.power_contract_control", "kind": "variable", "doc": "

Returns Power contract control.

\n\n
Returns:
\n\n
\n

object of PowerContractControl340 type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_contract_control.PowerContractControl340"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC340.controls", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC340.controls", "kind": "variable", "doc": "

Returns PDC Controls.

\n\n
Returns:
\n\n
\n

object of PdcControls340 type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControls340"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC424", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC424", "kind": "class", "doc": "

Class PDC424 inherited from class PDC.\nClass PDC424 allows working with overriding controls.\nAlso has all the PDC functionality.

\n\n
    \n
  • PDC Controls controls, type PdcControls340.
  • \n
\n", "bases": "PDC"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC424.__init__", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC424.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO)"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC424.controls", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC424.controls", "kind": "variable", "doc": "

Returns PDC Controls.

\n\n
Returns:
\n\n
\n

object of PdcControls424 type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControls424"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC500", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC500", "kind": "class", "doc": "

Class PDC500 inherited from class PDC.\nClass PDC500 allows working with overriding controls and DP Alt mode.\nAlso has all the PDC functionality.

\n\n
    \n
  • PDC Controls controls, type PdcControls500.
  • \n
  • DP Alt mode dp_alt_mode, type DpAltMode500.
  • \n
\n", "bases": "PDC"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC500.__init__", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC500.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO)"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC500.controls", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC500.controls", "kind": "variable", "doc": "

Returns PDC Controls.

\n\n
Returns:
\n\n
\n

object of PdcControls500 type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControls500"}, {"fullname": "UniTAP.dev.ports.pdc_port.PDC500.dp_alt_mode", "modulename": "UniTAP.dev.ports.pdc_port", "qualname": "PDC500.dp_alt_mode", "kind": "variable", "doc": "

Returns DP Alt mode.

\n\n
Returns:
\n\n
\n

object of DpAltMode500 type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltMode500"}, {"fullname": "UniTAP.dev.ports.port", "modulename": "UniTAP.dev.ports.port", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.port.TSIPort", "modulename": "UniTAP.dev.ports.port", "qualname": "TSIPort", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.port.TSIPort.__init__", "modulename": "UniTAP.dev.ports.port", "qualname": "TSIPort.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.ports.rx", "modulename": "UniTAP.dev.ports.rx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.rx.RX", "modulename": "UniTAP.dev.ports.rx", "qualname": "RX", "kind": "class", "doc": "

Class describe base capabilities of Sink (RX - receiver).\nThis functionality is used by child classes DPRX and HDRX.\nYou cannot use a class RX object directly.

\n", "bases": "UniTAP.dev.ports.port.TSIPort"}, {"fullname": "UniTAP.dev.ports.rx.RX.__init__", "modulename": "UniTAP.dev.ports.rx", "qualname": "RX.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.ports.rx.RX.audio_capturer", "modulename": "UniTAP.dev.ports.rx", "qualname": "RX.audio_capturer", "kind": "variable", "doc": "

Should be used to control AudioCapturer on Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of AudioCapturer type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.audio.audio_capturer.AudioCapturer"}, {"fullname": "UniTAP.dev.ports.tx", "modulename": "UniTAP.dev.ports.tx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.tx.TX", "modulename": "UniTAP.dev.ports.tx", "qualname": "TX", "kind": "class", "doc": "

Class describe base capabilities of Source (TX - transmitter).\nThis functionality is used by child classes DPTX and HDTX.\nYou cannot use a class TX object directly.

\n", "bases": "UniTAP.dev.ports.port.TSIPort"}, {"fullname": "UniTAP.dev.ports.tx.TX.__init__", "modulename": "UniTAP.dev.ports.tx", "qualname": "TX.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.ports.tx.TX.ag", "modulename": "UniTAP.dev.ports.tx", "qualname": "TX.ag", "kind": "variable", "doc": "

Should be used to control AudioGenerator on Source (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of AudioGenerator type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.ag.ag.AudioGenerator"}, {"fullname": "UniTAP.dev.ports.modules.ag.ag", "modulename": "UniTAP.dev.ports.modules.ag.ag", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.ag.ag.AudioGenerator", "modulename": "UniTAP.dev.ports.modules.ag.ag", "qualname": "AudioGenerator", "kind": "class", "doc": "

Class AudioGenerator allows working with generating audio from Source (TX - transmitter). You can configure\naudio generator setup, apply settings and start generate audio apply, stop generate audio stop_generate,\nread audio generator status and get current audio_mode.

\n"}, {"fullname": "UniTAP.dev.ports.modules.ag.ag.AudioGenerator.__init__", "modulename": "UniTAP.dev.ports.modules.ag.ag", "qualname": "AudioGenerator.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager)"}, {"fullname": "UniTAP.dev.ports.modules.ag.ag.AudioGenerator.setup", "modulename": "UniTAP.dev.ports.modules.ag.ag", "qualname": "AudioGenerator.setup", "kind": "function", "doc": "

Configure audio generator. Possible two variants of configuration:

\n\n
    \n
  • From 'wav' or 'bin' file.
  • \n
  • From AudioPattern parameters.
  • \n
\n\n
Arguments:
\n\n
    \n
  • audio_mode (AudioMode) - object of AudioMode
  • \n
  • audio_pattern (Union[AudioPattern, str]) - object of AudioPattern or path to audio file ('bin' or 'wave')
  • \n
  • signal_frequency (int)
  • \n
  • amplitude (int)
  • \n
\n", "signature": "(\tself,\taudio_mode: UniTAP.common.audio_mode.AudioMode = <UniTAP.common.audio_mode.AudioMode object>,\taudio_pattern: Union[UniTAP.dev.ports.modules.ag.types.AudioPattern, str] = <AudioPattern.SignalSine: 0>,\tsignal_frequency: int = 1000,\tamplitude: int = 60):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.ag.ag.AudioGenerator.apply", "modulename": "UniTAP.dev.ports.modules.ag.ag", "qualname": "AudioGenerator.apply", "kind": "function", "doc": "

Apply settings and start generate audio.

\n\n
Returns:
\n\n
\n

object of bool type - generation was enabled successfully or not.

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.ag.ag.AudioGenerator.stop_generate", "modulename": "UniTAP.dev.ports.modules.ag.ag", "qualname": "AudioGenerator.stop_generate", "kind": "function", "doc": "

Stop generate audio.

\n\n
Returns:
\n\n
\n

object of bool type - generation was disabled successfully or not.

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.ag.ag.AudioGenerator.status", "modulename": "UniTAP.dev.ports.modules.ag.ag", "qualname": "AudioGenerator.status", "kind": "variable", "doc": "

Return audio generator status.

\n\n
Returns:
\n\n
\n

object of AGStatus type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.ag.types.AGStatus"}, {"fullname": "UniTAP.dev.ports.modules.ag.ag.AudioGenerator.audio_mode", "modulename": "UniTAP.dev.ports.modules.ag.ag", "qualname": "AudioGenerator.audio_mode", "kind": "variable", "doc": "

Return current audio mode.

\n\n
Returns:
\n\n
\n

object of AudioMode type

\n
\n", "annotation": ": UniTAP.common.audio_mode.AudioMode"}, {"fullname": "UniTAP.dev.ports.modules.ag.types", "modulename": "UniTAP.dev.ports.modules.ag.types", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.ag.types.AudioPattern", "modulename": "UniTAP.dev.ports.modules.ag.types", "qualname": "AudioPattern", "kind": "class", "doc": "

Class AudioPattern contains all possible variants of audio templates.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.ag.types.AudioPattern.SignalSine", "modulename": "UniTAP.dev.ports.modules.ag.types", "qualname": "AudioPattern.SignalSine", "kind": "variable", "doc": "

\n", "default_value": "<AudioPattern.SignalSine: 0>"}, {"fullname": "UniTAP.dev.ports.modules.ag.types.AudioPattern.SignalSawtooth", "modulename": "UniTAP.dev.ports.modules.ag.types", "qualname": "AudioPattern.SignalSawtooth", "kind": "variable", "doc": "

\n", "default_value": "<AudioPattern.SignalSawtooth: 1>"}, {"fullname": "UniTAP.dev.ports.modules.ag.types.AudioPattern.SignalSquare", "modulename": "UniTAP.dev.ports.modules.ag.types", "qualname": "AudioPattern.SignalSquare", "kind": "variable", "doc": "

\n", "default_value": "<AudioPattern.SignalSquare: 2>"}, {"fullname": "UniTAP.dev.ports.modules.ag.types.AudioPattern.CustomAudio", "modulename": "UniTAP.dev.ports.modules.ag.types", "qualname": "AudioPattern.CustomAudio", "kind": "variable", "doc": "

\n", "default_value": "<AudioPattern.CustomAudio: 3>"}, {"fullname": "UniTAP.dev.ports.modules.ag.types.AudioPattern.SignalIncremental", "modulename": "UniTAP.dev.ports.modules.ag.types", "qualname": "AudioPattern.SignalIncremental", "kind": "variable", "doc": "

\n", "default_value": "<AudioPattern.SignalIncremental: 4>"}, {"fullname": "UniTAP.dev.ports.modules.ag.types.AudioPattern.Unknown", "modulename": "UniTAP.dev.ports.modules.ag.types", "qualname": "AudioPattern.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<AudioPattern.Unknown: 5>"}, {"fullname": "UniTAP.dev.ports.modules.ag.types.AGStatus", "modulename": "UniTAP.dev.ports.modules.ag.types", "qualname": "AGStatus", "kind": "class", "doc": "

Class AGStatus contains all possible variants of Audio generator states.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.ag.types.AGStatus.Unknown", "modulename": "UniTAP.dev.ports.modules.ag.types", "qualname": "AGStatus.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<AGStatus.Unknown: -1>"}, {"fullname": "UniTAP.dev.ports.modules.ag.types.AGStatus.Stop", "modulename": "UniTAP.dev.ports.modules.ag.types", "qualname": "AGStatus.Stop", "kind": "variable", "doc": "

\n", "default_value": "<AGStatus.Stop: 0>"}, {"fullname": "UniTAP.dev.ports.modules.ag.types.AGStatus.Running", "modulename": "UniTAP.dev.ports.modules.ag.types", "qualname": "AGStatus.Running", "kind": "variable", "doc": "

\n", "default_value": "<AGStatus.Running: 1>"}, {"fullname": "UniTAP.dev.ports.modules.ag.ag_utils", "modulename": "UniTAP.dev.ports.modules.ag.ag_utils", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.ag.ag_utils.save_to_wave_file", "modulename": "UniTAP.dev.ports.modules.ag.ag_utils", "qualname": "save_to_wave_file", "kind": "function", "doc": "

\n", "signature": "(\tpath: str,\taudio_mode: UniTAP.common.audio_mode.AudioMode,\tdata: bytearray):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.ag.ag_utils.save_to_bin_file", "modulename": "UniTAP.dev.ports.modules.ag.ag_utils", "qualname": "save_to_bin_file", "kind": "function", "doc": "

\n", "signature": "(path: str, data: bytearray):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.ag.ag_utils.load_from_bin_file", "modulename": "UniTAP.dev.ports.modules.ag.ag_utils", "qualname": "load_from_bin_file", "kind": "function", "doc": "

\n", "signature": "(path: str):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.ag.ag_utils.load_from_wave_file", "modulename": "UniTAP.dev.ports.modules.ag.ag_utils", "qualname": "load_from_wave_file", "kind": "function", "doc": "

\n", "signature": "(path: str):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.ag.ag_utils.check_file_format", "modulename": "UniTAP.dev.ports.modules.ag.ag_utils", "qualname": "check_file_format", "kind": "function", "doc": "

\n", "signature": "(path: str):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.ag.ag_utils.create_audio_sts", "modulename": "UniTAP.dev.ports.modules.ag.ag_utils", "qualname": "create_audio_sts", "kind": "function", "doc": "

\n", "signature": "(audio_mode: UniTAP.common.audio_mode.AudioMode):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.audio.audio_capturer", "modulename": "UniTAP.dev.ports.modules.capturer.audio.audio_capturer", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.audio.audio_capturer.AudioCapturer", "modulename": "UniTAP.dev.ports.modules.capturer.audio.audio_capturer", "qualname": "AudioCapturer", "kind": "class", "doc": "

Class AudioCapturer allows working with capturing audio frames on Sink (RX - receiver) side.\nYou can start capturing in several modes, stop capturing, getting current status and result of capturing\ncapture_result.

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.audio.audio_capturer.AudioCapturer.__init__", "modulename": "UniTAP.dev.ports.modules.capturer.audio.audio_capturer", "qualname": "AudioCapturer.__init__", "kind": "function", "doc": "

\n", "signature": "(capturer: UniTAP.dev.modules.capturer.capture.Capturer)"}, {"fullname": "UniTAP.dev.ports.modules.capturer.audio.audio_capturer.AudioCapturer.status", "modulename": "UniTAP.dev.ports.modules.capturer.audio.audio_capturer", "qualname": "AudioCapturer.status", "kind": "variable", "doc": "

Returns current audio capturer status.

\n\n
Returns:
\n\n
\n

object of AudioCaptureStatus type

\n
\n", "annotation": ": UniTAP.dev.modules.capturer.statuses.AudioCaptureStatus"}, {"fullname": "UniTAP.dev.ports.modules.capturer.audio.audio_capturer.AudioCapturer.capture_result", "modulename": "UniTAP.dev.ports.modules.capturer.audio.audio_capturer", "qualname": "AudioCapturer.capture_result", "kind": "variable", "doc": "

Returns result of audio capturing.

\n\n
Returns:
\n\n
\n

object of ResultAudioObject type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.audio.result_audio.ResultAudioObject"}, {"fullname": "UniTAP.dev.ports.modules.capturer.audio.audio_capturer.AudioCapturer.start", "modulename": "UniTAP.dev.ports.modules.capturer.audio.audio_capturer", "qualname": "AudioCapturer.start", "kind": "function", "doc": "

Start capturing. Possible some variants of capturing:

\n\n
    \n
  • Capture with fixed frames count (will be captured fixed frames count and capturing will be stopped).
  • \n
  • Capture with fixed audio duration (captures audio for the specified duration in milliseconds).
  • \n
  • Capture without parameters - Live capturing (for getting frames you need to use functions pop_element)
  • \n
  • Capture with timeout (maximum duration for capturing operations before stopping, in seconds).
  • \n
\n\n

All results can be obtained using the function capture_result.

\n\n
Arguments:
\n\n
    \n
  • frames_count (int)
  • \n
  • m_sec (int)
  • \n
\n", "signature": "(self, frames_count=0, m_sec=0, timeout=None):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.audio.audio_capturer.AudioCapturer.stop", "modulename": "UniTAP.dev.ports.modules.capturer.audio.audio_capturer", "qualname": "AudioCapturer.stop", "kind": "function", "doc": "

Stop capture audio.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.audio.audio_capturer.AudioCapturer.pop_element", "modulename": "UniTAP.dev.ports.modules.capturer.audio.audio_capturer", "qualname": "AudioCapturer.pop_element", "kind": "function", "doc": "

Return first object of AudioFrameData.

\n\n
Returns:
\n\n
\n

object of AudioFrameData type

\n
\n", "signature": "(self) -> List[UniTAP.common.audio_mode.AudioFrameData]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.audio.audio_capturer.AudioCapturer.pop_element_as_result_object", "modulename": "UniTAP.dev.ports.modules.capturer.audio.audio_capturer", "qualname": "AudioCapturer.pop_element_as_result_object", "kind": "function", "doc": "

Return captured audio frame(objects of AudioFrameData) as ResultAudioObject.

\n\n
Returns:
\n\n
\n

object of ResultAudioObject type

\n
\n", "signature": "(\tself) -> UniTAP.dev.ports.modules.capturer.audio.result_audio.ResultAudioObject:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.audio.result_audio", "modulename": "UniTAP.dev.ports.modules.capturer.audio.result_audio", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.audio.result_audio.ResultAudioObject", "modulename": "UniTAP.dev.ports.modules.capturer.audio.result_audio", "qualname": "ResultAudioObject", "kind": "class", "doc": "

Class ResultAudioObject inherited from class ResultObject.\nClass ResultAudioObject allows saving captured frames to image save_image_to_file.\nAlso has all the ResultObject functionality.

\n", "bases": "UniTAP.dev.modules.capturer.result_object.ResultObject"}, {"fullname": "UniTAP.dev.ports.modules.capturer.audio.result_audio.ResultAudioObject.audio_mode", "modulename": "UniTAP.dev.ports.modules.capturer.audio.result_audio", "qualname": "ResultAudioObject.audio_mode", "kind": "variable", "doc": "

Returns current audio mode for captured audio frames.

\n\n
Returns:
\n\n
\n

object of AudioMode type

\n
\n", "annotation": ": UniTAP.common.audio_mode.AudioMode"}, {"fullname": "UniTAP.dev.ports.modules.capturer.audio.result_audio.ResultAudioObject.save_to_file", "modulename": "UniTAP.dev.ports.modules.capturer.audio.result_audio", "qualname": "ResultAudioObject.save_to_file", "kind": "function", "doc": "

Saving audio frames to file. Supported file formats describe in AudioFileFormat.

\n\n
Arguments:
\n\n
    \n
  • file_format (AudioFileFormat) - file format
  • \n
  • path (str) - path to save
  • \n
\n", "signature": "(\tself,\tfile_format: UniTAP.common.audio_mode.AudioFileFormat,\tpath: str):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer.megabyte", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer", "qualname": "megabyte", "kind": "variable", "doc": "

\n", "default_value": "1048576"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer.BulkCapturer", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer", "qualname": "BulkCapturer", "kind": "class", "doc": "

Class BulkCapturer allows working with capturing Bulk data on Sink (RX - receiver) side.\nYou can start capturing in several modes, stop capturing, getting current status and result of\ncapturing capture_result.

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer.BulkCapturer.__init__", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer", "qualname": "BulkCapturer.__init__", "kind": "function", "doc": "

\n", "signature": "(\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager)"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer.BulkCapturer.status", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer", "qualname": "BulkCapturer.status", "kind": "variable", "doc": "

Returns current bulk capturer status.

\n\n
Returns:
\n\n
\n

object of VideoCaptureStatus type

\n
\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer.BulkCapturer.capture_result", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer", "qualname": "BulkCapturer.capture_result", "kind": "variable", "doc": "

Returns result of bulk capturing.

\n\n
Returns:
\n\n
\n

object of ResultBulkObject type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.bulk.result_bulk.ResultBulkObject"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer.BulkCapturer.encoding_type", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer", "qualname": "BulkCapturer.encoding_type", "kind": "variable", "doc": "

Returns current encoding type of capturing.

\n\n
Returns:
\n\n
\n

object of EncodingTypeEnum type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.bulk.bulk_types.EncodingTypeEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer.BulkCapturer.lane_count", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer", "qualname": "BulkCapturer.lane_count", "kind": "variable", "doc": "

Returns current lane count for capturing.

\n\n
Returns:
\n\n
\n

object of LaneCountEnum type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.bulk.bulk_types.LaneCountEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer.BulkCapturer.start", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer", "qualname": "BulkCapturer.start", "kind": "function", "doc": "

Start capturing. All results can be obtained using the function capture_result.

\n\n
Arguments:
\n\n
    \n
  • bulk_size (int) - bulk data size in megabytes
  • \n
  • trigger_position (TriggerPosition)
  • \n
  • trigger_config (TriggerVarType|None)
  • \n
  • assume_scrambler (bool)
  • \n
  • gpio (bool)
  • \n
  • encoding_type (EncodingTypeEnum|None)
  • \n
  • lane_count (LaneCountEnum|None)
  • \n
\n", "signature": "(\tself,\tbulk_size: int = 1,\ttrigger_position: UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerPosition = <TriggerPosition.TP_Start: 0>,\ttrigger_config: Optional[~TriggerVarType] = None,\tassume_scrambler: bool = False,\tgpio: bool = False,\tencoding_type: Optional[UniTAP.dev.ports.modules.capturer.bulk.bulk_types.EncodingTypeEnum] = None,\tlane_count: Optional[UniTAP.dev.ports.modules.capturer.bulk.bulk_types.LaneCountEnum] = None):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer.BulkCapturer.stop", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_capturer", "qualname": "BulkCapturer.stop", "kind": "function", "doc": "

Stop capture video.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.EncodingTypeEnum", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "EncodingTypeEnum", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.EncodingTypeEnum.Encoding_Auto", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "EncodingTypeEnum.Encoding_Auto", "kind": "variable", "doc": "

\n", "default_value": "<EncodingTypeEnum.Encoding_Auto: 0>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.EncodingTypeEnum.Encoding_10Bit", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "EncodingTypeEnum.Encoding_10Bit", "kind": "variable", "doc": "

\n", "default_value": "<EncodingTypeEnum.Encoding_10Bit: 1>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.EncodingTypeEnum.Encoding_32Bit", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "EncodingTypeEnum.Encoding_32Bit", "kind": "variable", "doc": "

\n", "default_value": "<EncodingTypeEnum.Encoding_32Bit: 2>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.LaneCountEnum", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "LaneCountEnum", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.LaneCountEnum.Auto", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "LaneCountEnum.Auto", "kind": "variable", "doc": "

\n", "default_value": "<LaneCountEnum.Auto: 0>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.LaneCountEnum.Lane_1", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "LaneCountEnum.Lane_1", "kind": "variable", "doc": "

\n", "default_value": "<LaneCountEnum.Lane_1: 1>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.LaneCountEnum.Lane_2", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "LaneCountEnum.Lane_2", "kind": "variable", "doc": "

\n", "default_value": "<LaneCountEnum.Lane_2: 2>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.LaneCountEnum.Lane_4", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "LaneCountEnum.Lane_4", "kind": "variable", "doc": "

\n", "default_value": "<LaneCountEnum.Lane_4: 4>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerPosition", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerPosition", "kind": "class", "doc": "

Trigger position relative to the start of capture, in percent of total capture size.

\n\n
    \n
  • TP_Start \u2013 0%
  • \n
  • TP_25 \u2013 25%
  • \n
  • TP_50 \u2013 50%
  • \n
  • TP_75 \u2013 75%
  • \n
  • TP_End - 100%
  • \n
\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerPosition.TP_Start", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerPosition.TP_Start", "kind": "variable", "doc": "

\n", "default_value": "<TriggerPosition.TP_Start: 0>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerPosition.TP_25", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerPosition.TP_25", "kind": "variable", "doc": "

\n", "default_value": "<TriggerPosition.TP_25: 1>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerPosition.TP_50", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerPosition.TP_50", "kind": "variable", "doc": "

\n", "default_value": "<TriggerPosition.TP_50: 2>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerPosition.TP_75", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerPosition.TP_75", "kind": "variable", "doc": "

\n", "default_value": "<TriggerPosition.TP_75: 3>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerPosition.TP_End", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerPosition.TP_End", "kind": "variable", "doc": "

\n", "default_value": "<TriggerPosition.TP_End: 4>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum", "kind": "class", "doc": "

Class TriggerTypeEnum contains all necessary enum types for describing values.

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceType", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceType", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceType.TPS1", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceType.TPS1", "kind": "variable", "doc": "

\n", "default_value": "<SourceType.TPS1: 0>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceType.TPS2", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceType.TPS2", "kind": "variable", "doc": "

\n", "default_value": "<SourceType.TPS2: 1>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceType.TPS3", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceType.TPS3", "kind": "variable", "doc": "

\n", "default_value": "<SourceType.TPS3: 2>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceType.TPS4", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceType.TPS4", "kind": "variable", "doc": "

\n", "default_value": "<SourceType.TPS4: 3>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceTypePosition", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceTypePosition", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceTypePosition.InitialLT", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceTypePosition.InitialLT", "kind": "variable", "doc": "

\n", "default_value": "<SourceTypePosition.InitialLT: 0>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceTypePosition.AfterALPM", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceTypePosition.AfterALPM", "kind": "variable", "doc": "

\n", "default_value": "<SourceTypePosition.AfterALPM: 1>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceTypePosition.InitialLTORAfterALPM", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceTypePosition.InitialLTORAfterALPM", "kind": "variable", "doc": "

\n", "default_value": "<SourceTypePosition.InitialLTORAfterALPM: 2>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceMLPHY", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceMLPHY", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceMLPHY.Standby", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceMLPHY.Standby", "kind": "variable", "doc": "

\n", "default_value": "<SourceMLPHY.Standby: 0>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceMLPHY.Sleep", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceMLPHY.Sleep", "kind": "variable", "doc": "

\n", "default_value": "<SourceMLPHY.Sleep: 1>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceVBIDWithMask", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceVBIDWithMask", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceVBIDWithMask.AnyVB_IDChange", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceVBIDWithMask.AnyVB_IDChange", "kind": "variable", "doc": "

\n", "default_value": "<SourceVBIDWithMask.AnyVB_IDChange: 0>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceVBIDWithMask.VB_IDMatchWithMask", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceVBIDWithMask.VB_IDMatchWithMask", "kind": "variable", "doc": "

\n", "default_value": "<SourceVBIDWithMask.VB_IDMatchWithMask: 1>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceVBIDWithMask.ChangeAnyBitSetInMask", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceVBIDWithMask.ChangeAnyBitSetInMask", "kind": "variable", "doc": "

\n", "default_value": "<SourceVBIDWithMask.ChangeAnyBitSetInMask: 2>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceVBID", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceVBID", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceVBID.BS", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceVBID.BS", "kind": "variable", "doc": "

\n", "default_value": "<SourceVBID.BS: 0>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceVBID.SR", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceVBID.SR", "kind": "variable", "doc": "

\n", "default_value": "<SourceVBID.SR: 1>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceVBID.CPBS", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceVBID.CPBS", "kind": "variable", "doc": "

\n", "default_value": "<SourceVBID.CPBS: 2>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceVBID.CPSR", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SourceVBID.CPSR", "kind": "variable", "doc": "

\n", "default_value": "<SourceVBID.CPSR: 3>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SDPTypeReceived", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SDPTypeReceived", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SDPTypeReceived.MatchHB0", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SDPTypeReceived.MatchHB0", "kind": "variable", "doc": "

\n", "default_value": "<SDPTypeReceived.MatchHB0: 1>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SDPTypeReceived.MatchHB1", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SDPTypeReceived.MatchHB1", "kind": "variable", "doc": "

\n", "default_value": "<SDPTypeReceived.MatchHB1: 2>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SDPTypeReceived.MatchHB0AndHB1", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.SDPTypeReceived.MatchHB0AndHB1", "kind": "variable", "doc": "

\n", "default_value": "<SDPTypeReceived.MatchHB0AndHB1: 3>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.MSA", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.MSA", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.MSA.AnyMSAChange", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.MSA.AnyMSAChange", "kind": "variable", "doc": "

\n", "default_value": "<MSA.AnyMSAChange: 0>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.MSA.ChangeMSAAttribute", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.MSA.ChangeMSAAttribute", "kind": "variable", "doc": "

\n", "default_value": "<MSA.ChangeMSAAttribute: 1>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.MSA.MatchMSAAttribute", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.MSA.MatchMSAAttribute", "kind": "variable", "doc": "

\n", "default_value": "<MSA.MatchMSAAttribute: 2>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.Error8b_10b", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.Error8b_10b", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.Error8b_10b.CodeError", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.Error8b_10b.CodeError", "kind": "variable", "doc": "

\n", "default_value": "<Error8b_10b.CodeError: 0>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.Error8b_10b.DisparityError", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.Error8b_10b.DisparityError", "kind": "variable", "doc": "

\n", "default_value": "<Error8b_10b.CodeError: 0>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.Error8b_10b.Both", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.Error8b_10b.Both", "kind": "variable", "doc": "

\n", "default_value": "<Error8b_10b.CodeError: 0>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.TypeAUX", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.TypeAUX", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.TypeAUX.NativeWrite", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.TypeAUX.NativeWrite", "kind": "variable", "doc": "

\n", "default_value": "<TypeAUX.NativeWrite: 8>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.TypeAUX.NativeRead", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerTypeEnum.TypeAUX.NativeRead", "kind": "variable", "doc": "

\n", "default_value": "<TypeAUX.NativeRead: 9>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType", "kind": "class", "doc": "

Main class TriggerType defines possible variants of trigger types.

\n\n
    \n
  • U1 - Start of TPS1/TPS2/TPS3/TPS4 - initial LT, after ALPM exit, both.
  • \n
  • U2 - Exit of TPS1/TPS2/TPS3/TPS4 - initial LT, after ALPM exit, both.
  • \n
  • U3 - Start of ML_PHY_STANDBY or ML_PHY_SLEEP.
  • \n
  • U4 - Exit of ML_PHY_STANDBY or ML_PHY_SLEEP.
  • \n
  • U5 - Start of EIEOS - initial LT, after ALPM exit, both.
  • \n
  • U6 - Exit of EIEOS - initial LT, after ALPM exit, both.
  • \n
  • U7 - VB-ID with the MASK - any change, match, selected bit transition.
  • \n
  • U8 - VB-ID on TYPE - BS/SR/CPBS/CPSR.
  • \n
  • U9 - Up to 8 control or data symbols, 8b/10b encoded.
  • \n
  • U10 - SDP Type received \u2013 HB0 and/or HB1 match.
  • \n
  • U11 - MSA \u2013 any change, change by mask, match by mask.
  • \n
  • U12 - 8b/10b error \u2013 code error, disparity error, both.
  • \n
  • U13 - Any AUX transaction - initial LT, after ALPM exit, both.
  • \n
  • U17 - AUX read or write of specific address.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U1", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U1", "kind": "class", "doc": "

Class U1 describes one of the possible trigger type. Allows:

\n\n
    \n
  • Get trigger mask trigger_mask.
  • \n
  • Set and get source type source_type - TriggerTypeEnum.SourceType.
  • \n
  • Set and get position position - `TriggerTypeEnum.SourceTypePosition.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U1.trigger_mask", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U1.trigger_mask", "kind": "variable", "doc": "

Returns trigger mask.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U1.source_type", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U1.source_type", "kind": "variable", "doc": "

Returns source type.

\n\n
Returns:
\n\n
\n

object of TriggerTypeEnum.SourceType value

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceType"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U1.position", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U1.position", "kind": "variable", "doc": "

Returns position.

\n\n
Returns:
\n\n
\n

object of TriggerTypeEnum.SourceTypePosition value

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceTypePosition"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U2", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U2", "kind": "class", "doc": "

Class U2 describes one of the possible trigger type. Allows:

\n\n
    \n
  • Get trigger mask trigger_mask.
  • \n
  • Set and get source type source_type - TriggerTypeEnum.SourceType.
  • \n
  • Set and get position position - `TriggerTypeEnum.SourceTypePosition.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U2.trigger_mask", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U2.trigger_mask", "kind": "variable", "doc": "

Returns trigger mask.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U2.source_type", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U2.source_type", "kind": "variable", "doc": "

Returns source type.

\n\n
Returns:
\n\n
\n

object of TriggerTypeEnum.SourceType value

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceType"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U2.position", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U2.position", "kind": "variable", "doc": "

Returns position.

\n\n
Returns:
\n\n
\n

object of TriggerTypeEnum.SourceTypePosition value

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceTypePosition"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U3", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U3", "kind": "class", "doc": "

Class U3 describes one of the possible trigger type. Allows:

\n\n
    \n
  • Get trigger mask trigger_mask.
  • \n
  • Set and get source source - TriggerTypeEnum.SourceMLPHY.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U3.trigger_mask", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U3.trigger_mask", "kind": "variable", "doc": "

Returns trigger mask.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U3.source", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U3.source", "kind": "variable", "doc": "

Returns source.

\n\n
Returns:
\n\n
\n

object of TriggerTypeEnum.SourceMLPHY value

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceMLPHY"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U4", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U4", "kind": "class", "doc": "

Class U4 describes one of the possible trigger type. Allows:

\n\n
    \n
  • Get trigger mask trigger_mask.
  • \n
  • Set and get source source - TriggerTypeEnum.SourceMLPHY.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U4.trigger_mask", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U4.trigger_mask", "kind": "variable", "doc": "

Returns trigger mask.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U4.source", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U4.source", "kind": "variable", "doc": "

Returns source.

\n\n
Returns:
\n\n
\n

object of TriggerTypeEnum.SourceMLPHY value

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceMLPHY"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U5", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U5", "kind": "class", "doc": "

Class U5 describes one of the possible trigger type. Allows:

\n\n
    \n
  • Get trigger mask trigger_mask.
  • \n
  • Set and get position position - TriggerTypeEnum.SourceTypePosition.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U5.trigger_mask", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U5.trigger_mask", "kind": "variable", "doc": "

Returns trigger mask.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U5.position", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U5.position", "kind": "variable", "doc": "

Returns position.

\n\n
Returns:
\n\n
\n

object of TriggerTypeEnum.SourceTypePosition value

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceTypePosition"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U6", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U6", "kind": "class", "doc": "

Class U6 describes one of the possible trigger type. Allows:

\n\n
    \n
  • Get trigger mask trigger_mask.
  • \n
  • Set and get position position - TriggerTypeEnum.SourceTypePosition.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U6.trigger_mask", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U6.trigger_mask", "kind": "variable", "doc": "

Returns trigger mask.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U6.position", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U6.position", "kind": "variable", "doc": "

Returns position.

\n\n
Returns:
\n\n
\n

object of TriggerTypeEnum.SourceTypePosition value

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceTypePosition"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U7", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U7", "kind": "class", "doc": "

Class U7 describes one of the possible trigger type. Allows:

\n\n
    \n
  • Get trigger mask trigger_mask.
  • \n
  • Set and get mask mask.
  • \n
  • Set and get source source - TriggerTypeEnum.SourceVBIDWithMask.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U7.trigger_mask", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U7.trigger_mask", "kind": "variable", "doc": "

Returns trigger mask.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U7.source", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U7.source", "kind": "variable", "doc": "

Returns source.

\n\n
Returns:
\n\n
\n

object of TriggerTypeEnum.SourceVBIDWithMask value

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceVBIDWithMask"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U7.mask", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U7.mask", "kind": "variable", "doc": "

Returns mask.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U8", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U8", "kind": "class", "doc": "

Class U8 describes one of the possible trigger type. Allows:

\n\n
    \n
  • Get trigger mask trigger_mask.
  • \n
  • Set and get source source - TriggerTypeEnum.SourceVBID.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U8.trigger_mask", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U8.trigger_mask", "kind": "variable", "doc": "

Returns trigger mask.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U8.source", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U8.source", "kind": "variable", "doc": "

Returns source.

\n\n
Returns:
\n\n
\n

object of TriggerTypeEnum.SourceVBID value

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceVBID"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U9", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U9", "kind": "class", "doc": "

Class U9 describes one of the possible trigger type. Allows:

\n\n
    \n
  • Get trigger mask trigger_mask.
  • \n
  • Set and get value for count of symbols count.
  • \n
  • Set and get value for symbol 0 symbol_0.
  • \n
  • Set and get value for symbol 1 symbol_1.
  • \n
  • Set and get value for symbol 2 symbol_2.
  • \n
  • Set and get value for symbol 3 symbol_3.
  • \n
  • Set and get value for symbol 4 symbol_4.
  • \n
  • Set and get value for symbol 5 symbol_5.
  • \n
  • Set and get value for symbol 6 symbol_6.
  • \n
  • Set and get value for symbol 7 symbol_7.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U9.trigger_mask", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U9.trigger_mask", "kind": "variable", "doc": "

Returns trigger mask.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U9.count", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U9.count", "kind": "variable", "doc": "

Returns count of symbols.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U9.symbol_0", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U9.symbol_0", "kind": "variable", "doc": "

Returns value of symbol 0.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U9.symbol_1", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U9.symbol_1", "kind": "variable", "doc": "

Returns value of symbol 1.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U9.symbol_2", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U9.symbol_2", "kind": "variable", "doc": "

Returns value of symbol 2.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U9.symbol_3", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U9.symbol_3", "kind": "variable", "doc": "

Returns value of symbol 3.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U9.symbol_4", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U9.symbol_4", "kind": "variable", "doc": "

Returns value of symbol 4.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U9.symbol_5", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U9.symbol_5", "kind": "variable", "doc": "

Returns value of symbol 5.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U9.symbol_6", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U9.symbol_6", "kind": "variable", "doc": "

Returns value of symbol 6.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U9.symbol_7", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U9.symbol_7", "kind": "variable", "doc": "

Returns value of symbol 7.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U10", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U10", "kind": "class", "doc": "

Class U10 describes one of the possible trigger type. Allows:

\n\n
    \n
  • Get trigger mask trigger_mask.
  • \n
  • Set and get SDP type sdp_type - TriggerTypeEnum.SDPTypeReceived.
  • \n
  • Set and get value for HB 0 hb0.
  • \n
  • Set and get value for HB 1 hb1.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U10.trigger_mask", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U10.trigger_mask", "kind": "variable", "doc": "

Returns trigger mask.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U10.sdp_type", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U10.sdp_type", "kind": "variable", "doc": "

Returns SDP type.

\n\n
Returns:
\n\n
\n

object of TriggerTypeEnum.SDPTypeReceived value

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SDPTypeReceived"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U10.hb0", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U10.hb0", "kind": "variable", "doc": "

Returns value of HB0.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U10.hb1", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U10.hb1", "kind": "variable", "doc": "

Returns value of HB1.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11", "kind": "class", "doc": "

Class U11 describes one of the possible trigger type. Allows:

\n\n
    \n
  • Get trigger mask trigger_mask.
  • \n
  • Set and get source source - TriggerTypeEnum.MSA.
  • \n
  • Set and get MSa attributes (mvid, nvid, hactive, vactive and so on.)
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.mvid_flag", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.mvid_flag", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.nvid_flag", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.nvid_flag", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.hactive_flag", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.hactive_flag", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.vactive_flag", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.vactive_flag", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.htotal_flag", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.htotal_flag", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.vtotal_flag", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.vtotal_flag", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.hsyncw_flag", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.hsyncw_flag", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.vsyncw_flag", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.vsyncw_flag", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.hsyncp_flag", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.hsyncp_flag", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.vsyncp_flag", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.vsyncp_flag", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.hsyncs_flag", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.hsyncs_flag", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.vsyncs_flag", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.vsyncs_flag", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.misc0_flag", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.misc0_flag", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.misc1_flag", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.misc1_flag", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.mvid", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.mvid", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.nvid", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.nvid", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.hactive", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.hactive", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.vactive", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.vactive", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.htotal", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.htotal", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.vtotal", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.vtotal", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.hsyncw", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.hsyncw", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.vsyncw", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.vsyncw", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.hsyncs", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.hsyncs", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.vsyncs", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.vsyncs", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.misc0", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.misc0", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.misc1", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.misc1", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.trigger_mask", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.trigger_mask", "kind": "variable", "doc": "

Returns trigger mask.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U11.source", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U11.source", "kind": "variable", "doc": "

Returns source.

\n\n
Returns:
\n\n
\n

object of TriggerTypeEnum.MSA value

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.MSA"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U12", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U12", "kind": "class", "doc": "

Class U12 describes one of the possible trigger type. Allows:

\n\n
    \n
  • Get trigger mask trigger_mask.
  • \n
  • Set and get source source - TriggerTypeEnum.Error8b_10b.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U12.trigger_mask", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U12.trigger_mask", "kind": "variable", "doc": "

Returns trigger mask.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U12.source", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U12.source", "kind": "variable", "doc": "

Returns source.

\n\n
Returns:
\n\n
\n

object of TriggerTypeEnum.Error8b_10b value

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.Error8b_10b"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U13", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U13", "kind": "class", "doc": "

Class U13 describes one of the possible trigger type. Allows:

\n\n
    \n
  • Get trigger mask trigger_mask.
  • \n
  • Set and get position position - TriggerTypeEnum.SourceTypePosition.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U13.trigger_mask", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U13.trigger_mask", "kind": "variable", "doc": "

Returns trigger mask.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U13.position", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U13.position", "kind": "variable", "doc": "

Returns position.

\n\n
Returns:
\n\n
\n

object of TriggerTypeEnum.SourceTypePosition value

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.SourceTypePosition"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U17", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U17", "kind": "class", "doc": "

Class U17 describes one of the possible trigger type. Allows:

\n\n
    \n
  • Get trigger mask trigger_mask.
  • \n
  • Set and get address address.
  • \n
  • Set and get type type - TriggerTypeEnum.TypeAUX.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U17.trigger_mask", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U17.trigger_mask", "kind": "variable", "doc": "

Returns trigger mask.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U17.address", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U17.address", "kind": "variable", "doc": "

Returns address.

\n\n
Returns:
\n\n
\n

object of int value

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerType.U17.type", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.bulk_types", "qualname": "TriggerType.U17.type", "kind": "variable", "doc": "

Returns type.

\n\n
Returns:
\n\n
\n

object of TriggerTypeEnum.TypeAUX value

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.bulk.bulk_types.TriggerTypeEnum.TypeAUX"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.result_bulk", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.result_bulk", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.result_bulk.ResultBulkObject", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.result_bulk", "qualname": "ResultBulkObject", "kind": "class", "doc": "

Class ResultBulkObject inherited from class ResultObject.\nClass ResultBulkObject allows saving captured data to file save_to_bin_file.\nAlso has all the ResultObject functionality.

\n", "bases": "UniTAP.dev.modules.capturer.result_object.ResultObject"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.result_bulk.ResultBulkObject.__init__", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.result_bulk", "qualname": "ResultBulkObject.__init__", "kind": "function", "doc": "

\n", "signature": "(assume_scrambler_disabled: bool = False)"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.result_bulk.ResultBulkObject.assume_scrambler_disabled", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.result_bulk", "qualname": "ResultBulkObject.assume_scrambler_disabled", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.bulk.result_bulk.ResultBulkObject.save_to_bin_file", "modulename": "UniTAP.dev.ports.modules.capturer.bulk.result_bulk", "qualname": "ResultBulkObject.save_to_bin_file", "kind": "function", "doc": "

Saving captured bulk data to file.

\n\n
Arguments:
\n\n
    \n
  • directory_name (str) - path to save
  • \n
\n", "signature": "(self, directory_name: str):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_capturer", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_capturer", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_capturer.EventCapturer", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_capturer", "qualname": "EventCapturer", "kind": "class", "doc": "

Class EventCapturer allows working with capturing events on Sink (RX - receiver) side.\nYou can start capturing in several modes, stop capturing, getting current status and result of capturing\ncapture_result.

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_capturer.EventCapturer.__init__", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_capturer", "qualname": "EventCapturer.__init__", "kind": "function", "doc": "

\n", "signature": "(\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer,\tport_id: int,\tevent_filter: list)"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_capturer.EventCapturer.status", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_capturer", "qualname": "EventCapturer.status", "kind": "variable", "doc": "

Returns current event capturer status.

\n\n
Returns:
\n\n
\n

object of VideoCaptureStatus type

\n
\n", "annotation": ": UniTAP.dev.modules.capturer.statuses.EventCaptureStatus"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_capturer.EventCapturer.capture_result", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_capturer", "qualname": "EventCapturer.capture_result", "kind": "variable", "doc": "

Returns result of event capturing.

\n\n
Returns:
\n\n
\n

object of ResultEventObject type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.event.result_event.ResultEventObject"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_capturer.EventCapturer.event_filter", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_capturer", "qualname": "EventCapturer.event_filter", "kind": "function", "doc": "

Returns event filter for current EventCapturer.

\n\n
Returns:
\n\n
\n

object of one of available [EventFilterDpRx, EventFilterDpTx, EventFilterHdRx, EventFilterHdTx,\n EventFilterUsbc] type

\n
\n", "signature": "(self, event_filter_type: Type[~EventFilterType]) -> ~EventFilterType:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_capturer.EventCapturer.configure_capturer", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_capturer", "qualname": "EventCapturer.configure_capturer", "kind": "function", "doc": "

Configure

\n\n
Arguments:
\n\n
    \n
  • event_filter (Union[EventFilterDpRx, EventFilterDpTx, EventFilterHdRx, EventFilterHdTx, EventFilterUsbc])
  • \n
\n", "signature": "(\tself,\tevent_filter: Union[UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterDpRx, UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterDpTx, UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterHdRx, UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterHdTx, UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterUsbc]):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_capturer.EventCapturer.clear_capturer_config", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_capturer", "qualname": "EventCapturer.clear_capturer_config", "kind": "function", "doc": "

Clear event captuter configuration (filter).

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_capturer.EventCapturer.start", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_capturer", "qualname": "EventCapturer.start", "kind": "function", "doc": "

Start capturing. Possible some variants of capturing:

\n\n
    \n
  • Capture with fixed event count (will be captured fixed event count and capturing will be stopped)
  • \n
  • Capture with fixed time (capturing will be continued fixed seconds and capturing will be stopped).
  • \n
  • Capture without parameters Live capturing (for getting events you need to use functions pop_element and\npop_all_elements). Here you need to manually call the stop after capture.
  • \n
\n\n

All results can be obtained using the function capture_result.

\n\n
Arguments:
\n\n
    \n
  • n_elements (int)
  • \n
  • sec (int)
  • \n
\n", "signature": "(self, sec=0, n_elements=0):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_capturer.EventCapturer.stop", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_capturer", "qualname": "EventCapturer.stop", "kind": "function", "doc": "

Stop capture events.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_capturer.EventCapturer.pop_element", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_capturer", "qualname": "EventCapturer.pop_element", "kind": "function", "doc": "

Return first captured object of EventData.

\n\n
Returns:
\n\n
\n

object of EventData type or ResultEventObject

\n
\n", "signature": "(self) -> UniTAP.dev.ports.modules.capturer.event.event_types.EventData:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_capturer.EventCapturer.pop_all_elements", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_capturer", "qualname": "EventCapturer.pop_all_elements", "kind": "function", "doc": "

Return all captured event frames(objects of EventData).

\n\n
Returns:
\n\n
\n

object of list[EventData] type

\n
\n", "signature": "(\tself) -> List[UniTAP.dev.ports.modules.capturer.event.event_types.EventData]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_capturer.EventCapturer.pop_all_elements_as_result_object", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_capturer", "qualname": "EventCapturer.pop_all_elements_as_result_object", "kind": "function", "doc": "

Return all captured event frames(objects of EventData) as ResultEventObject.

\n\n
Returns:
\n\n
\n

object of ResultEventObject type

\n
\n", "signature": "(\tself) -> UniTAP.dev.ports.modules.capturer.event.result_event.ResultEventObject:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFileFormat", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFileFormat", "kind": "class", "doc": "

Describe all supported file formats for saving events:

\n\n
    \n
  • BIN.
  • \n
  • TXT (Support will be added later).
  • \n
\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFileFormat.UNKNOWN", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFileFormat.UNKNOWN", "kind": "variable", "doc": "

\n", "default_value": "<EventFileFormat.UNKNOWN: -1>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFileFormat.BIN", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFileFormat.BIN", "kind": "variable", "doc": "

\n", "default_value": "<EventFileFormat.BIN: 0>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFileFormat.TXT", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFileFormat.TXT", "kind": "variable", "doc": "

\n", "default_value": "<EventFileFormat.TXT: 1>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFileFormat.HTML", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFileFormat.HTML", "kind": "variable", "doc": "

\n", "default_value": "<EventFileFormat.HTML: 2>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFileFormat.CSV", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFileFormat.CSV", "kind": "variable", "doc": "

\n", "default_value": "<EventFileFormat.CSV: 3>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP", "kind": "class", "doc": "

Describe all supported SDP packets types:

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.AudioTimeStamp", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.AudioTimeStamp", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.AudioTimeStamp: 1>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.AudioStream", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.AudioStream", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.AudioStream: 2>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.Extension", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.Extension", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.Extension: 4>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.AudioCopyManagement", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.AudioCopyManagement", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.AudioCopyManagement: 5>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.ISRC", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.ISRC", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.ISRC: 6>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.VSC", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.VSC", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.VSC: 7>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.CG0", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.CG0", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.CG0: 8>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.CG1", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.CG1", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.CG1: 9>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.CG2", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.CG2", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.CG2: 10>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.CG3", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.CG3", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.CG3: 11>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.CG4", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.CG4", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.CG4: 12>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.CG5", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.CG5", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.CG5: 13>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.CG6", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.CG6", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.CG6: 14>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.CG7", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.CG7", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.CG7: 15>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.PictureParamSet", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.PictureParamSet", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.PictureParamSet: 16>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.VSC_EXT_VESA", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.VSC_EXT_VESA", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.VSC_EXT_VESA: 32>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.VSC_EXT_CTA", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.VSC_EXT_CTA", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.VSC_EXT_CTA: 33>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.Adaptive_Sync", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.Adaptive_Sync", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.Adaptive_Sync: 34>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.VS", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.VS", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.VS: 129>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.AVI", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.AVI", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.AVI: 130>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.SPD", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.SPD", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.SPD: 131>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.Audio", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.Audio", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.Audio: 132>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.MPEG", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.MPEG", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.MPEG: 133>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.NTSC_VBI", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.NTSC_VBI", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.NTSC_VBI: 134>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP.DRM", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventSDP.DRM", "kind": "variable", "doc": "

\n", "default_value": "<EventSDP.DRM: 135>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern", "kind": "class", "doc": "

Describe all supported Link Pattern packets types:

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.TPS1Begin", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.TPS1Begin", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.TPS1Begin: 0>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.TPS1End", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.TPS1End", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.TPS1End: 1>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.TPS2Begin", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.TPS2Begin", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.TPS2Begin: 2>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.TPS2End", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.TPS2End", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.TPS2End: 3>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.TPS3Begin", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.TPS3Begin", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.TPS3Begin: 4>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.TPS3End", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.TPS3End", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.TPS3End: 5>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.TPS4Begin", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.TPS4Begin", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.TPS4Begin: 6>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.TPS4End", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.TPS4End", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.TPS4End: 7>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.IdleBegin", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.IdleBegin", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.IdleBegin: 10>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.IdleEnd", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.IdleEnd", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.IdleEnd: 11>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.ActiveBegin", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.ActiveBegin", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.ActiveBegin: 12>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.ActiveEnd", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.ActiveEnd", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.ActiveEnd: 13>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.SleepBegin", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.SleepBegin", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.SleepBegin: 14>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.SleepEnd", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.SleepEnd", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.SleepEnd: 15>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.StandbyBegin", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.StandbyBegin", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.StandbyBegin: 16>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.StandbyEnd", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.StandbyEnd", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.StandbyEnd: 17>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.EIEOSBegin", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.EIEOSBegin", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.EIEOSBegin: 18>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.EIEOSEnd", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.EIEOSEnd", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.EIEOSEnd: 19>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.CustomBegin", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.CustomBegin", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.CustomBegin: 20>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.CustomEnd", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.CustomEnd", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.CustomEnd: 21>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.Begin25201", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.Begin25201", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.Begin25201: 22>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.End25201", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.End25201", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.End25201: 23>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.Begin25202", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.Begin25202", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.Begin25202: 24>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.End25202", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.End25202", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.End25202: 25>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.PRBS7Begin", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.PRBS7Begin", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.PRBS7Begin: 26>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.PRBS7End", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.PRBS7End", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.PRBS7End: 27>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.PRBS31Begin", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.PRBS31Begin", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.PRBS31Begin: 28>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern.PRBS31End", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLinkPattern.PRBS31End", "kind": "variable", "doc": "

\n", "default_value": "<EventLinkPattern.PRBS31End: 29>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID", "kind": "class", "doc": "

Describe all supported VBID packets types:

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.SetVBlank", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.SetVBlank", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.SetVBlank: 1>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.ClearVBlank", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.ClearVBlank", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.ClearVBlank: 2>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.AnyVBlank", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.AnyVBlank", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.AnyVBlank: 3>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.SetFieldID", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.SetFieldID", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.SetFieldID: 4>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.CleatFieldID", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.CleatFieldID", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.CleatFieldID: 8>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.AnyFieldID", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.AnyFieldID", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.AnyFieldID: 12>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.SetInterface", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.SetInterface", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.SetInterface: 16>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.CleatInterface", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.CleatInterface", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.CleatInterface: 32>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.AnyInterface", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.AnyInterface", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.AnyInterface: 48>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.SetNoVideo", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.SetNoVideo", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.SetNoVideo: 64>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.CleatNoVideo", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.CleatNoVideo", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.CleatNoVideo: 128>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.AnyNoVideo", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.AnyNoVideo", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.AnyNoVideo: 192>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.SetNoAudio", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.SetNoAudio", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.SetNoAudio: 256>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.CleatNoAudio", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.CleatNoAudio", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.CleatNoAudio: 512>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.AnyNoAudio", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.AnyNoAudio", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.AnyNoAudio: 768>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.SetHDCPSYNC", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.SetHDCPSYNC", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.SetHDCPSYNC: 1024>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.CleatHDCPSYNC", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.CleatHDCPSYNC", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.CleatHDCPSYNC: 2048>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.AnyHDCPSYNC", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.AnyHDCPSYNC", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.AnyHDCPSYNC: 3072>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.SetCompressed", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.SetCompressed", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.SetCompressed: 4096>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.CleatCompressed", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.CleatCompressed", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.CleatCompressed: 8192>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.AnyCompressed", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.AnyCompressed", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.AnyCompressed: 12288>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.SetReserved", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.SetReserved", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.SetReserved: 16384>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.CleatReserved", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.CleatReserved", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.CleatReserved: 32768>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.AnyReserved", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.AnyReserved", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.AnyReserved: 49152>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.MVID", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.MVID", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.MVID: 65536>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID.MAUD", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventVBID.MAUD", "kind": "variable", "doc": "

\n", "default_value": "<EventVBID.MAUD: 131072>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventMSA", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventMSA", "kind": "class", "doc": "

Describe all supported MSA packets types:

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventMSA.MVID", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventMSA.MVID", "kind": "variable", "doc": "

\n", "default_value": "<EventMSA.MVID: 1>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventMSA.NVID", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventMSA.NVID", "kind": "variable", "doc": "

\n", "default_value": "<EventMSA.NVID: 2>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventMSA.HTOTAL", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventMSA.HTOTAL", "kind": "variable", "doc": "

\n", "default_value": "<EventMSA.HTOTAL: 4>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventMSA.VTOTAL", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventMSA.VTOTAL", "kind": "variable", "doc": "

\n", "default_value": "<EventMSA.VTOTAL: 8>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventMSA.HSTART", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventMSA.HSTART", "kind": "variable", "doc": "

\n", "default_value": "<EventMSA.HSTART: 16>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventMSA.VSTART", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventMSA.VSTART", "kind": "variable", "doc": "

\n", "default_value": "<EventMSA.VSTART: 32>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventMSA.HSP", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventMSA.HSP", "kind": "variable", "doc": "

\n", "default_value": "<EventMSA.HSP: 64>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventMSA.HSW", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventMSA.HSW", "kind": "variable", "doc": "

\n", "default_value": "<EventMSA.HSW: 128>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventMSA.VSP", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventMSA.VSP", "kind": "variable", "doc": "

\n", "default_value": "<EventMSA.VSP: 256>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventMSA.VSW", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventMSA.VSW", "kind": "variable", "doc": "

\n", "default_value": "<EventMSA.VSW: 512>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventMSA.HWIDTH", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventMSA.HWIDTH", "kind": "variable", "doc": "

\n", "default_value": "<EventMSA.HWIDTH: 1024>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventMSA.VHEIGHT", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventMSA.VHEIGHT", "kind": "variable", "doc": "

\n", "default_value": "<EventMSA.VHEIGHT: 2048>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventMSA.MISC0", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventMSA.MISC0", "kind": "variable", "doc": "

\n", "default_value": "<EventMSA.MISC0: 4096>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventMSA.MISC1", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventMSA.MISC1", "kind": "variable", "doc": "

\n", "default_value": "<EventMSA.MISC1: 8192>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventInfoFrame", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventInfoFrame", "kind": "class", "doc": "

Describe all supported Info Frame packets types:

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventInfoFrame.VS", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventInfoFrame.VS", "kind": "variable", "doc": "

\n", "default_value": "<EventInfoFrame.VS: 129>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventInfoFrame.AVI", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventInfoFrame.AVI", "kind": "variable", "doc": "

\n", "default_value": "<EventInfoFrame.AVI: 130>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventInfoFrame.SPD", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventInfoFrame.SPD", "kind": "variable", "doc": "

\n", "default_value": "<EventInfoFrame.SPD: 131>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventInfoFrame.Audio", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventInfoFrame.Audio", "kind": "variable", "doc": "

\n", "default_value": "<EventInfoFrame.Audio: 132>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventInfoFrame.MPEG", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventInfoFrame.MPEG", "kind": "variable", "doc": "

\n", "default_value": "<EventInfoFrame.MPEG: 133>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventInfoFrame.NTSC_VBI", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventInfoFrame.NTSC_VBI", "kind": "variable", "doc": "

\n", "default_value": "<EventInfoFrame.NTSC_VBI: 134>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventInfoFrame.DRM", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventInfoFrame.DRM", "kind": "variable", "doc": "

\n", "default_value": "<EventInfoFrame.DRM: 135>"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventData", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventData", "kind": "class", "doc": "

Class EventData describe one event. Contains following information:

\n\n
    \n
  • source
  • \n
  • type
  • \n
  • brief info
  • \n
  • info
  • \n
  • time
  • \n
  • duration
  • \n
  • data
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventData.source", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventData.source", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventData.type", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventData.type", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventData.brief", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventData.brief", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventData.info", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventData.info", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventData.time", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventData.time", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventData.duration", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventData.duration", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventData.data", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventData.data", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLCE", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLCE", "kind": "class", "doc": "

Describe settings for LCE USB-C events:

\n\n
    \n
  • v_bus
  • \n
  • iv_bus
  • \n
  • vcc
  • \n
  • vsbu
  • \n
  • i_vconn
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLCE.__init__", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLCE.__init__", "kind": "function", "doc": "

\n", "signature": "(v_bus: int, iv_bus: int, vcc: int, vsbu: int, i_vconn: int)"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLCE.v_bus", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLCE.v_bus", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLCE.iv_bus", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLCE.iv_bus", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLCE.vcc", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLCE.vcc", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLCE.vsbu", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLCE.vsbu", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLCE.i_vconn", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLCE.i_vconn", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventLCE.values", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventLCE.values", "kind": "function", "doc": "

Returns all values how list.

\n\n
Returns:
\n\n
\n

object of list type

\n
\n", "signature": "(self) -> list:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilter", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilter", "kind": "class", "doc": "

Base class of all filters.

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilter.__init__", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilter.__init__", "kind": "function", "doc": "

\n", "signature": "(hw_caps=None)"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilter.config", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilter.config", "kind": "variable", "doc": "

Returns current configuration value of filter.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilter.additional_filter", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilter.additional_filter", "kind": "variable", "doc": "

Returns current additional filters for main filter.

\n\n
Returns:
\n\n
\n

object of list type

\n
\n", "annotation": ": list"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilter.clear", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilter.clear", "kind": "function", "doc": "

Clear all config.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterDpRx", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterDpRx", "kind": "class", "doc": "

Class EventFilterDpRx allows setting filter for DPRX available events: config_hpd_events, config_aux_events,\nconfig_sdp_events, config_link_pattern_events, config_vb_id_events, config_msa_events,\nconfig_aux_bw_events.\nInherited from class EventFilter.

\n", "bases": "EventFilter"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterDpRx.__init__", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterDpRx.__init__", "kind": "function", "doc": "

\n", "signature": "(hw_caps)"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterDpRx.additional_filter", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterDpRx.additional_filter", "kind": "variable", "doc": "

Returns current additional filters for main filter.

\n\n
Returns:
\n\n
\n

object of list type

\n
\n", "annotation": ": list"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterDpRx.config_hpd_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterDpRx.config_hpd_events", "kind": "function", "doc": "

Configure HDP events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable HDP events
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterDpRx.config_aux_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterDpRx.config_aux_events", "kind": "function", "doc": "

Configure AUX events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable AUX events
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterDpRx.config_sdp_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterDpRx.config_sdp_events", "kind": "function", "doc": "

Configure SDP events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable SDP events
  • \n
  • *args (EventSDP) - SDP packet types
  • \n
\n", "signature": "(\tself,\tenable: bool,\t*args: UniTAP.dev.ports.modules.capturer.event.event_types.EventSDP):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterDpRx.config_link_pattern_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterDpRx.config_link_pattern_events", "kind": "function", "doc": "

Configure Link Pattern events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable Link Pattern events
  • \n
  • *args (EventLinkPattern) - Link Pattern packet types
  • \n
\n", "signature": "(\tself,\tenable: bool,\t*args: UniTAP.dev.ports.modules.capturer.event.event_types.EventLinkPattern):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterDpRx.config_vb_id_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterDpRx.config_vb_id_events", "kind": "function", "doc": "

Configure VB ID events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable VB ID events
  • \n
  • *args (EventVBID) - VB ID packet types
  • \n
\n", "signature": "(\tself,\tenable: bool,\t*args: UniTAP.dev.ports.modules.capturer.event.event_types.EventVBID):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterDpRx.config_msa_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterDpRx.config_msa_events", "kind": "function", "doc": "

Configure MSA events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable MSA events
  • \n
  • *args (EventMSA) - MSA packet types
  • \n
\n", "signature": "(\tself,\tenable: bool,\t*args: UniTAP.dev.ports.modules.capturer.event.event_types.EventMSA):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterDpRx.config_aux_bw_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterDpRx.config_aux_bw_events", "kind": "function", "doc": "

Configure AUX BW events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable AUX BW events
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterDpTx", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterDpTx", "kind": "class", "doc": "

Class EventFilterDpTx allows setting filter for DPTX available events: config_hpd_events, config_aux_events.\nInherited from class EventFilter.

\n", "bases": "EventFilter"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterDpTx.__init__", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterDpTx.__init__", "kind": "function", "doc": "

\n", "signature": "(hw_caps)"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterDpTx.config_hpd_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterDpTx.config_hpd_events", "kind": "function", "doc": "

Configure HDP events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable HDP events
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterDpTx.config_aux_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterDpTx.config_aux_events", "kind": "function", "doc": "

Configure AUX events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable AUX events
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterHdRx", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterHdRx", "kind": "class", "doc": "

Class EventFilterHdRx allows setting filter for HDRX available events: config_hpd_events,\nconfig_packets_events, config_i2c_events, config_cec_events.\nInherited from class EventFilter.

\n", "bases": "EventFilter"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterHdRx.__init__", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterHdRx.__init__", "kind": "function", "doc": "

\n", "signature": "(hw_caps)"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterHdRx.additional_filter", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterHdRx.additional_filter", "kind": "variable", "doc": "

Returns current additional filters for main filter.

\n\n
Returns:
\n\n
\n

object of list type

\n
\n", "annotation": ": list"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterHdRx.config_hpd_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterHdRx.config_hpd_events", "kind": "function", "doc": "

Configure HPD events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable HPD events
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterHdRx.config_packets_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterHdRx.config_packets_events", "kind": "function", "doc": "

Configure InfoFrame events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable InfoFrame events
  • \n
  • *args (EventInfoFrame) - InfoFrame packet types
  • \n
\n", "signature": "(\tself,\tenable: bool,\t*args: UniTAP.dev.ports.modules.capturer.event.event_types.EventInfoFrame):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterHdRx.config_i2c_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterHdRx.config_i2c_events", "kind": "function", "doc": "

Configure I2C events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable I2C events
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterHdRx.config_cec_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterHdRx.config_cec_events", "kind": "function", "doc": "

Configure CEC events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable CEC events
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterHdTx", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterHdTx", "kind": "class", "doc": "

Class EventFilterHdTx allows setting filter for HDTX available events: config_hpd_events, config_i2c_events,\nconfig_cec_events.\nInherited from class EventFilter.

\n", "bases": "EventFilter"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterHdTx.__init__", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterHdTx.__init__", "kind": "function", "doc": "

\n", "signature": "(hw_caps)"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterHdTx.config_hpd_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterHdTx.config_hpd_events", "kind": "function", "doc": "

Configure HPD events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable HPD events
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterHdTx.config_i2c_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterHdTx.config_i2c_events", "kind": "function", "doc": "

Configure I2C events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable I2C events
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterHdTx.config_cec_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterHdTx.config_cec_events", "kind": "function", "doc": "

Configure CEC events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable CEC events
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterUsbc", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterUsbc", "kind": "class", "doc": "

Class EventFilterUsbc allows setting filter for USB-C available events: config_pd_events,\nconfig_voltage_events, config_usbc_events, config_port_state_events.\nInherited from class EventFilter.

\n", "bases": "EventFilter"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterUsbc.__init__", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterUsbc.__init__", "kind": "function", "doc": "

\n", "signature": "(hw_caps)"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterUsbc.config_pd_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterUsbc.config_pd_events", "kind": "function", "doc": "

Configure PD events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable PD events
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterUsbc.config_voltage_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterUsbc.config_voltage_events", "kind": "function", "doc": "

Configure LCE (voltage) events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable LCE events
  • \n
  • value (EventLCE) - LCE packet types
  • \n
\n", "signature": "(\tself,\tenable: bool,\tvalue: UniTAP.dev.ports.modules.capturer.event.event_types.EventLCE):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterUsbc.config_usbc_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterUsbc.config_usbc_events", "kind": "function", "doc": "

Configure USB-C events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable USB-C events
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.event_types.EventFilterUsbc.config_port_state_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.event_types", "qualname": "EventFilterUsbc.config_port_state_events", "kind": "function", "doc": "

Configure USB-C state events.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable/disable USB-C state events
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.result_event", "modulename": "UniTAP.dev.ports.modules.capturer.event.result_event", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.result_event.ResultEventObject", "modulename": "UniTAP.dev.ports.modules.capturer.event.result_event", "qualname": "ResultEventObject", "kind": "class", "doc": "

Class ResultEventObject inherited from class ResultObject.\nClass ResultEventObject allows saving captured events to file save_to_file_selected_event or\nsave_to_file_all_events.\nAlso has all the ResultObject functionality.

\n", "bases": "UniTAP.dev.modules.capturer.result_object.ResultObject"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.result_event.ResultEventObject.__init__", "modulename": "UniTAP.dev.ports.modules.capturer.event.result_event", "qualname": "ResultEventObject.__init__", "kind": "function", "doc": "

\n", "signature": "(fw_info: dict)"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.result_event.ResultEventObject.save_to_file_selected_event", "modulename": "UniTAP.dev.ports.modules.capturer.event.result_event", "qualname": "ResultEventObject.save_to_file_selected_event", "kind": "function", "doc": "

Saving selected event to file. Supported file formats describe in EventFileFormat.

\n\n
Arguments:
\n\n
    \n
  • file_format (PictureFileFormat) - file format
  • \n
  • path (str) - path to save
  • \n
  • index (int) - number of event in list
  • \n
\n", "signature": "(\tself,\tfile_format: UniTAP.dev.ports.modules.capturer.event.event_types.EventFileFormat,\tpath: str,\tindex: int):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.event.result_event.ResultEventObject.save_to_file_all_events", "modulename": "UniTAP.dev.ports.modules.capturer.event.result_event", "qualname": "ResultEventObject.save_to_file_all_events", "kind": "function", "doc": "

Saving all events to file. Supported file formats describe in EventFileFormat.

\n\n
Arguments:
\n\n
    \n
  • file_format (EventFileFormat) - file format
  • \n
  • path (str) - path to save
  • \n
\n", "signature": "(\tself,\tfile_format: UniTAP.dev.ports.modules.capturer.event.event_types.EventFileFormat,\tpath: str):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.result_video", "modulename": "UniTAP.dev.ports.modules.capturer.video.result_video", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.result_video.ResultVideoObject", "modulename": "UniTAP.dev.ports.modules.capturer.video.result_video", "qualname": "ResultVideoObject", "kind": "class", "doc": "

Class ResultVideoObject inherited from class ResultObject.\nClass ResultVideoObject allows saving captured frames to image save_image_to_file.\nAlso has all the ResultObject functionality.

\n", "bases": "UniTAP.dev.modules.capturer.result_object.ResultObject"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.result_video.ResultVideoObject.save_image_to_file", "modulename": "UniTAP.dev.ports.modules.capturer.video.result_video", "qualname": "ResultVideoObject.save_image_to_file", "kind": "function", "doc": "

Saving selected video frame to file. Supported file formats describe in PictureFileFormat.

\n\n
Arguments:
\n\n
    \n
  • file_format (PictureFileFormat) - file format
  • \n
  • path (str) - path to save
  • \n
  • index (int) - number of video frame in list
  • \n
\n", "signature": "(\tself,\tfile_format: UniTAP.dev.ports.modules.internal_utils.image_formats.PictureFileFormat,\tpath: str,\tindex: int):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "modulename": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturer", "modulename": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "qualname": "VideoCapturer", "kind": "class", "doc": "

Class VideoCapturer allows working with capturing video frames on Sink (RX - receiver) side.\nYou can start capturing in several modes, stop capturing, getting current status and result of\ncapturing capture_result.

\n"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturer.__init__", "modulename": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "qualname": "VideoCapturer.__init__", "kind": "function", "doc": "

\n", "signature": "(\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer,\tmax_stream_number: int)"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturer.status", "modulename": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "qualname": "VideoCapturer.status", "kind": "variable", "doc": "

Returns current video capturer status.

\n\n
Returns:
\n\n
\n

object of VideoCaptureStatus type

\n
\n", "annotation": ": UniTAP.dev.modules.capturer.statuses.VideoCaptureStatus"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturer.capture_result", "modulename": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "qualname": "VideoCapturer.capture_result", "kind": "variable", "doc": "

Returns result of video capturing.

\n\n
Returns:
\n\n
\n

object of ResultVideoObject type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.capturer.video.result_video.ResultVideoObject"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturer.max_stream_number", "modulename": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "qualname": "VideoCapturer.max_stream_number", "kind": "variable", "doc": "

Returns max stream number supported for capturing.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturer.stop", "modulename": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "qualname": "VideoCapturer.stop", "kind": "function", "doc": "

Stop capture video.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturer.pop_element", "modulename": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "qualname": "VideoCapturer.pop_element", "kind": "function", "doc": "

Return first object of VideoFrame or VideoFrameDSC.

\n\n
Returns:
\n\n
\n

object of VideoFrame or VideoFrameDSC type

\n
\n", "signature": "(\tself) -> Union[UniTAP.common.video_frame.VideoFrame, UniTAP.common.dsc_video_frame.VideoFrameDSC]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturer.pop_element_as_result_object", "modulename": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "qualname": "VideoCapturer.pop_element_as_result_object", "kind": "function", "doc": "

Return captured video frame(objects of VideoFrame or VideoFrameDSC) asResultVideoObject`.

\n\n
Returns:
\n\n
\n

object of ResultVideoObject type

\n
\n", "signature": "(\tself) -> UniTAP.dev.ports.modules.capturer.video.result_video.ResultVideoObject:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturer.pop_all_elements", "modulename": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "qualname": "VideoCapturer.pop_all_elements", "kind": "function", "doc": "

Return all captured video frames(objects of VideoFrame or VideoFrameDSC).

\n\n
Returns:
\n\n
\n

object of list[VideoFrame or VideoFrameDSC] type

\n
\n", "signature": "(\tself) -> Union[List[UniTAP.common.video_frame.VideoFrame], List[UniTAP.common.dsc_video_frame.VideoFrameDSC]]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturer.get_crc", "modulename": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "qualname": "VideoCapturer.get_crc", "kind": "function", "doc": "

Returns captured crc values.

\n\n
Returns:
\n\n
\n

list[tuple[int, int, int]]

\n
\n", "signature": "(self, crc_frame_count: int = 1) -> List[tuple[int, int, int]]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturerDP", "modulename": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "qualname": "VideoCapturerDP", "kind": "class", "doc": "

Class VideoCapturerDP inherited from class VideoCapturer and also allows working with capturing video frames\non DP Sink (RX - receiver) side.\nYou can start capturing in several modes, stop capturing, getting current status and result of\ncapturing capture_result.

\n", "bases": "VideoCapturer"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturerDP.__init__", "modulename": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "qualname": "VideoCapturerDP.__init__", "kind": "function", "doc": "

\n", "signature": "(\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer,\tmax_stream_number: int)"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturerDP.start", "modulename": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "qualname": "VideoCapturerDP.start", "kind": "function", "doc": "

Start capturing. Possible some variants of capturing:

\n\n
    \n
  • Capture with fixed frames count (will be captured fixed frames count and capturing will be stopped).
  • \n
  • Capture with fixed time (capturing will be continued fixed seconds and capturing will be stopped).
  • \n
  • Capture without parameters - Live capturing (for getting frames you need to use functions pop_element and\npop_all_elements)
  • \n
\n\n

All results can be obtained using the function capture_result.

\n\n
Arguments:
\n\n
    \n
  • frames_count (int)
  • \n
  • sec (int)
  • \n
  • stream_number (int)
  • \n
  • capture_type (CaptureConfig.Type)
  • \n
\n", "signature": "(\tself,\tframes_count: int = 0,\tsec: int = 0,\tstream_number: int = 0,\tcapture_type: UniTAP.dev.modules.capturer.capture.CaptureConfig.Type = <Type.LIVE: 0>):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturerDP.get_buffer_capacity", "modulename": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "qualname": "VideoCapturerDP.get_buffer_capacity", "kind": "function", "doc": "

\n", "signature": "(self, stream_number: int = 0):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturerHDMI", "modulename": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "qualname": "VideoCapturerHDMI", "kind": "class", "doc": "

Class VideoCapturerHDMI inherited from class VideoCapturer and also allows working with capturing video frames\non HDMI Sink (RX - receiver) side.\nYou can start capturing in several modes, stop capturing, getting current status and result of\ncapturing capture_result.

\n", "bases": "VideoCapturer"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturerHDMI.__init__", "modulename": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "qualname": "VideoCapturerHDMI.__init__", "kind": "function", "doc": "

\n", "signature": "(\tcapturer: UniTAP.dev.modules.capturer.capture.Capturer,\tmax_stream_number: int)"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturerHDMI.start", "modulename": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "qualname": "VideoCapturerHDMI.start", "kind": "function", "doc": "

Start capturing. Possible some variants of capturing:

\n\n
    \n
  • Capture with fixed frames count (will be captured fixed frames count and capturing will be stopped).
  • \n
  • Capture with fixed time (capturing will be continued fixed seconds and capturing will be stopped).
  • \n
  • Capture without parameters - Live capturing (for getting frames you need to use functions pop_element and\npop_all_elements)
  • \n
\n\n

All results can be obtained using the function capture_result.

\n\n
Arguments:
\n\n
    \n
  • frames_count (int)
  • \n
  • sec (int)
  • \n
  • stream_number (int)
  • \n
\n", "signature": "(self, frames_count: int = 0, sec: int = 0, stream_number: int = 0):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.capturer.video.video_capturer.VideoCapturerHDMI.get_buffer_capacity", "modulename": "UniTAP.dev.ports.modules.capturer.video.video_capturer", "qualname": "VideoCapturerHDMI.get_buffer_capacity", "kind": "function", "doc": "

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.dpcd.dpcd", "modulename": "UniTAP.dev.ports.modules.dpcd.dpcd", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegion", "modulename": "UniTAP.dev.ports.modules.dpcd.dpcd", "qualname": "DPCDRegion", "kind": "class", "doc": "

Class DPCDRegion describe a byte range of DPCD registers.\nAllows saving DPCD data to dpd file format save_to_dpd, hex files format save_to_hex,\ndsc file format save_to_csv.

\n\n
Arguments:
\n\n
    \n
  • base - start DPCD address of byte range.
  • \n
  • data - DPCD data of byte range.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegion.__init__", "modulename": "UniTAP.dev.ports.modules.dpcd.dpcd", "qualname": "DPCDRegion.__init__", "kind": "function", "doc": "

\n", "signature": "(base: int, data: Union[bytearray, int])"}, {"fullname": "UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegion.base", "modulename": "UniTAP.dev.ports.modules.dpcd.dpcd", "qualname": "DPCDRegion.base", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegion.size", "modulename": "UniTAP.dev.ports.modules.dpcd.dpcd", "qualname": "DPCDRegion.size", "kind": "variable", "doc": "

Returns length fo data.

\n\n
Returns:
\n\n
\n

result of int object

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegion.save_to_dpd", "modulename": "UniTAP.dev.ports.modules.dpcd.dpcd", "qualname": "DPCDRegion.save_to_dpd", "kind": "function", "doc": "

Save DPCD data to 'dpd' file format.

\n\n
Arguments:
\n\n
    \n
  • path (str) - full path to file
  • \n
\n", "signature": "(self, path: str):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegion.save_to_hex", "modulename": "UniTAP.dev.ports.modules.dpcd.dpcd", "qualname": "DPCDRegion.save_to_hex", "kind": "function", "doc": "

Save DPCD data to 'hex' file format.

\n\n
Arguments:
\n\n
    \n
  • path (str) - full path to file
  • \n
\n", "signature": "(self, path: str):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegion.save_to_csv", "modulename": "UniTAP.dev.ports.modules.dpcd.dpcd", "qualname": "DPCDRegion.save_to_csv", "kind": "function", "doc": "

Save DPCD data to 'csv' file format.

\n\n
Arguments:
\n\n
    \n
  • path (str) - full path to file
  • \n
\n", "signature": "(self, path: str):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegisters", "modulename": "UniTAP.dev.ports.modules.dpcd.dpcd", "qualname": "DPCDRegisters", "kind": "class", "doc": "

Class DPCDRegisters allows working with DPCD registers: writing write DPCD data to device,\nreading read DPCD data from device, loading load_from_file DPCD data from file.

\n"}, {"fullname": "UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegisters.__init__", "modulename": "UniTAP.dev.ports.modules.dpcd.dpcd", "qualname": "DPCDRegisters.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tbase_ci: int,\tdata_ci: int)"}, {"fullname": "UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegisters.write", "modulename": "UniTAP.dev.ports.modules.dpcd.dpcd", "qualname": "DPCDRegisters.write", "kind": "function", "doc": "

Write transferred DPCD data to device from base address.

\n\n
Arguments:
\n\n
    \n
  • base (int) - start (base) address.
  • \n
  • data (Union[bytearray, int]) - DPCD data.
  • \n
\n\n
Returns:
\n\n
\n

result of operation

\n
\n", "signature": "(self, base: int, data: Union[bytearray, int, list]) -> int:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegisters.read", "modulename": "UniTAP.dev.ports.modules.dpcd.dpcd", "qualname": "DPCDRegisters.read", "kind": "function", "doc": "

Read DPCD data from base address in a certain quantity.

\n\n
Arguments:
\n\n
    \n
  • base (int) - start (base) address.
  • \n
  • count (int) - quantity of DPCD bytes.
  • \n
\n\n
Returns:
\n\n
\n

object of DPCDRegion

\n
\n", "signature": "(\tself,\tbase: int,\tcount: int) -> UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegion:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegisters.load_from_file", "modulename": "UniTAP.dev.ports.modules.dpcd.dpcd", "qualname": "DPCDRegisters.load_from_file", "kind": "function", "doc": "

Read DPCD data from file.\nSupported formats:

\n\n
    \n
  • DPD.
  • \n
\n\n
Arguments:
\n\n
    \n
  • path (str) - full path to file.
  • \n
\n\n
Returns:
\n\n
\n

object of tuple with two DPCDRegion objects

\n
\n", "signature": "(\tpath: str) -> Tuple[UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegion, UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegion]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid", "modulename": "UniTAP.dev.ports.modules.edid.edid", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.Edid", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "Edid", "kind": "class", "doc": "

Main class for working with EDID.\nAllows reading and saving EDID. This functionality is used by child classes EdidSource and EdidSink.\nYou cannot use a class Edid object directly.

\n"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.Edid.__init__", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "Edid.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tcontrol_ci: int,\tmax_stream_count: int,\tselect_stream_ci: int)"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.Edid.read_i2c", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "Edid.read_i2c", "kind": "function", "doc": "

Allows reading from DUT EdidSource or TE EdidSink side EDID block(s) over connecting signal cable.

\n\n
Returns:
\n\n
\n

object of bytearray

\n
\n", "signature": "(self) -> bytearray:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.Edid.save_edid", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "Edid.save_edid", "kind": "function", "doc": "

Save received EDID data into file.\nSupported formats:

\n\n
    \n
  • BIN.
  • \n
  • HEX.
  • \n
\n\n
Arguments:
\n\n
    \n
  • path (str) - full path to file
  • \n
  • file_type (EdidFileType) - one of the Supported formats.
  • \n
  • data (bytearray) - EDID data for saving
  • \n
\n", "signature": "(\tself,\tpath: str,\tfile_type: UniTAP.dev.ports.modules.edid.edid_utils.EdidFileType,\tdata: bytearray):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.Edid.read_timings", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "Edid.read_timings", "kind": "function", "doc": "

\n", "signature": "(self) -> List[UniTAP.common.timing.Timing]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.EdidSource", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "EdidSource", "kind": "class", "doc": "

Class EdidSource inherited from class Edid.\nAllows read EDID from remote devices read_sbm, save received EDID data to file save_edid and\nread EDID from DUT read_i2c

\n", "bases": "Edid"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.EdidSource.__init__", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "EdidSource.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO, max_stream_count: int)"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.EdidSource.read_sbm", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "EdidSource.read_sbm", "kind": "function", "doc": "

Allows reading remote EDID block(s) of remote device(s) attached to DUT over connecting signal cable.\nstream = 0 - UCD local EDID\nstream > 0 - Virtual Sink's EDID

\n\n
Arguments:
\n\n
    \n
  • stream (int) - Virtual Sink index.
  • \n
\n", "signature": "(self, stream: int):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.EdidSink", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "EdidSink", "kind": "class", "doc": "

Class EdidSink inherited from class Edid.\nAllows writing EDID to device write_edid, load EDID data from file load_edid,\nsave received EDID data to file save_edid and read EDID from TE read_i2c.

\n", "bases": "Edid"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.EdidSink.__init__", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "EdidSink.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO, max_stream_count: int)"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.EdidSink.write_edid", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "EdidSink.write_edid", "kind": "function", "doc": "

Write transferred EDID to device.

\n\n
Arguments:
\n\n
    \n
  • data (bytearray) - EDID data for writing
  • \n
  • stream (int) - Virtual Sink's EDID index
  • \n
\n", "signature": "(self, data: bytearray, stream: int = 0):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.EdidSink.load_edid", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "EdidSink.load_edid", "kind": "function", "doc": "

Read EDID data from file. If needed to write data to device, select load_on_device = True.\nSupported formats:

\n\n
    \n
  • BIN.
  • \n
  • HEX.
  • \n
\n\n
Arguments:
\n\n
    \n
  • path (str) - full path to file.
  • \n
  • load_on_device (bool) - write loaded data to device or not.
  • \n
  • stream (int) - Virtual Sink's EDID index
  • \n
\n\n
Returns:
\n\n
\n

object of bytearray

\n
\n", "signature": "(self, path: str, load_on_device: bool, stream: int = 0) -> bytearray:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.EdidSink.read_sbm", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "EdidSink.read_sbm", "kind": "function", "doc": "

Allows reading remote EDID block(s) of remote device(s) attached to DUT over connecting signal cable.\nstream = 0 - UCD local EDID\nstream > 0 - Virtual Sink's EDID

\n\n
Arguments:
\n\n
    \n
  • stream (int) - Virtual Sink index.
  • \n
\n", "signature": "(self, stream: int):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.DisplayIdSource", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "DisplayIdSource", "kind": "class", "doc": "

Class DisplayIdSource inherited from class Edid.\nAllows read DisplayId from remote devices read_sbm, save received DisplayId data to file save_edid and\nread DisplayId from DUT read_i2c

\n", "bases": "Edid"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.DisplayIdSource.__init__", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "DisplayIdSource.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO, max_stream_count: int)"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.DisplayIdSource.read_sbm", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "DisplayIdSource.read_sbm", "kind": "function", "doc": "

Allows reading remote DisplayId block(s) of remote device(s) attached to DUT over connecting signal cable.\nstream = 0 - UCD local EDID\nstream > 0 - Virtual Sink's EDID

\n\n
Arguments:
\n\n
    \n
  • stream (int) - Virtual Sink index.
  • \n
\n", "signature": "(self, stream: int):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.DisplayIdSource.set_display_id_mode", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "DisplayIdSource.set_display_id_mode", "kind": "function", "doc": "

Set DisplayID read mode

\n\n
Arguments:
\n\n
    \n
  • mode (DisplayIDReadMode)
  • \n
\n", "signature": "(\tself,\tmode: UniTAP.dev.ports.modules.edid.edid_types.DisplayIDReadMode):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.DisplayIdSource.get_display_id_mode", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "DisplayIdSource.get_display_id_mode", "kind": "function", "doc": "

Returns DisplayID read mode.

\n\n
Returns:
\n\n
\n

object of DisplayIDReadMode type.

\n
\n", "signature": "(self) -> UniTAP.dev.ports.modules.edid.edid_types.DisplayIDReadMode:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.DisplayIdSink", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "DisplayIdSink", "kind": "class", "doc": "

Class DisplayIdSink inherited from class Edid.\nAllows writing DisplayId to device write_display_id, load DisplayId data from file load_display_id,\nsave received DisplayId data to file save_edid and read DisplayId from TE read_i2c.

\n", "bases": "Edid"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.DisplayIdSink.__init__", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "DisplayIdSink.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO, max_stream_count: int)"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.DisplayIdSink.is_enabled", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "DisplayIdSink.is_enabled", "kind": "function", "doc": "

Returns status of DisplayId, is enabled or not.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.DisplayIdSink.enable", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "DisplayIdSink.enable", "kind": "function", "doc": "

Enable/Disable DisplayId.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable (True) or disable (False)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.DisplayIdSink.write_display_id", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "DisplayIdSink.write_display_id", "kind": "function", "doc": "

Write transferred EDID to device.

\n\n
Arguments:
\n\n
    \n
  • data (bytearray) - EDID data for writing
  • \n
\n", "signature": "(self, data: bytearray):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid.DisplayIdSink.load_display_id", "modulename": "UniTAP.dev.ports.modules.edid.edid", "qualname": "DisplayIdSink.load_display_id", "kind": "function", "doc": "

Read EDID data from file. If needed to write data to device, select load_on_device = True.\nSupported formats:

\n\n
    \n
  • BIN.
  • \n
  • HEX.
  • \n
\n\n
Arguments:
\n\n
    \n
  • path (str) - full path to file.
  • \n
  • load_on_device (bool) - write loaded data to device or not.
  • \n
\n\n
Returns:
\n\n
\n

object of bytearray

\n
\n", "signature": "(self, path: str, load_on_device: bool) -> bytearray:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid_types", "modulename": "UniTAP.dev.ports.modules.edid.edid_types", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid_types.MainBlockType", "modulename": "UniTAP.dev.ports.modules.edid.edid_types", "qualname": "MainBlockType", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid_types.MainBlockType.VESA", "modulename": "UniTAP.dev.ports.modules.edid.edid_types", "qualname": "MainBlockType.VESA", "kind": "variable", "doc": "

\n", "default_value": "<MainBlockType.VESA: 0>"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid_types.MainBlockType.CTA", "modulename": "UniTAP.dev.ports.modules.edid.edid_types", "qualname": "MainBlockType.CTA", "kind": "variable", "doc": "

\n", "default_value": "<MainBlockType.CTA: 2>"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid_types.MainBlockType.DisplayID", "modulename": "UniTAP.dev.ports.modules.edid.edid_types", "qualname": "MainBlockType.DisplayID", "kind": "variable", "doc": "

\n", "default_value": "<MainBlockType.DisplayID: 112>"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid_types.AdditionalBlockType", "modulename": "UniTAP.dev.ports.modules.edid.edid_types", "qualname": "AdditionalBlockType", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid_types.AdditionalBlockType.AdaptiveSync", "modulename": "UniTAP.dev.ports.modules.edid.edid_types", "qualname": "AdditionalBlockType.AdaptiveSync", "kind": "variable", "doc": "

\n", "default_value": "<AdditionalBlockType.AdaptiveSync: 43>"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid_types.DisplayIDReadMode", "modulename": "UniTAP.dev.ports.modules.edid.edid_types", "qualname": "DisplayIDReadMode", "kind": "class", "doc": "

Disabled - Disable native DisplayID read\nTry - Prefer native DisplayID (if failed to read use EDID instead)\nBoth - Read both DisplayID and EDID

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid_types.DisplayIDReadMode.Disabled", "modulename": "UniTAP.dev.ports.modules.edid.edid_types", "qualname": "DisplayIDReadMode.Disabled", "kind": "variable", "doc": "

\n", "default_value": "<DisplayIDReadMode.Disabled: 0>"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid_types.DisplayIDReadMode.Try", "modulename": "UniTAP.dev.ports.modules.edid.edid_types", "qualname": "DisplayIDReadMode.Try", "kind": "variable", "doc": "

\n", "default_value": "<DisplayIDReadMode.Try: 1>"}, {"fullname": "UniTAP.dev.ports.modules.edid.edid_types.DisplayIDReadMode.Both", "modulename": "UniTAP.dev.ports.modules.edid.edid_types", "qualname": "DisplayIDReadMode.Both", "kind": "variable", "doc": "

\n", "default_value": "<DisplayIDReadMode.Both: 2>"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_rx", "modulename": "UniTAP.dev.ports.modules.fec.fec_rx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_rx.FecRx", "modulename": "UniTAP.dev.ports.modules.fec.fec_rx", "qualname": "FecRx", "kind": "class", "doc": "

Class FecRx allows working with FEC functionality from Sink (RX - receiver) side. You can:

\n\n
    \n
  • Check capable FEC or not is_capable.
  • \n
  • Check enabled FEC or not is_enabled.
  • \n
  • Enable/Disable FEC enable.
  • \n
  • Enable/Disable calculating sum of errors aggregate_errors.
  • \n
  • Get error counters get_error_counters.
  • \n
  • Clear all errors clear.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_rx.FecRx.__init__", "modulename": "UniTAP.dev.ports.modules.fec.fec_rx", "qualname": "FecRx.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tdpcd: UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegisters)"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_rx.FecRx.is_enabled", "modulename": "UniTAP.dev.ports.modules.fec.fec_rx", "qualname": "FecRx.is_enabled", "kind": "function", "doc": "

Returns status of FEC, is enabled or not.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_rx.FecRx.is_capable", "modulename": "UniTAP.dev.ports.modules.fec.fec_rx", "qualname": "FecRx.is_capable", "kind": "function", "doc": "

Returns status of FEC, is capable or not.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_rx.FecRx.enable", "modulename": "UniTAP.dev.ports.modules.fec.fec_rx", "qualname": "FecRx.enable", "kind": "function", "doc": "

Enable/Disable FEC.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable (True) or disable (False)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_rx.FecRx.aggregate_errors", "modulename": "UniTAP.dev.ports.modules.fec.fec_rx", "qualname": "FecRx.aggregate_errors", "kind": "function", "doc": "

Enable/Disable calculating sum of errors.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable (True) or disable (False)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_rx.FecRx.get_error_counters", "modulename": "UniTAP.dev.ports.modules.fec.fec_rx", "qualname": "FecRx.get_error_counters", "kind": "function", "doc": "

Get current error counters.

\n\n
Returns:
\n\n
\n

object of FECCounters type

\n
\n", "signature": "(self) -> UniTAP.dev.ports.modules.fec.fec_shared.FECCounters:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_rx.FecRx.clear", "modulename": "UniTAP.dev.ports.modules.fec.fec_rx", "qualname": "FecRx.clear", "kind": "function", "doc": "

Clear all errors.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_shared", "modulename": "UniTAP.dev.ports.modules.fec.fec_shared", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_shared.FECCounters", "modulename": "UniTAP.dev.ports.modules.fec.fec_shared", "qualname": "FECCounters", "kind": "class", "doc": "

Class FECCounters possible errors:

\n\n
    \n
  • Uncorrected block errors.
  • \n
  • Corrected block errors.
  • \n
  • Bit errors.
  • \n
  • Parity block errors.
  • \n
  • Parity bit errors.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_shared.FECCounters.uncorrectedBlockErrors", "modulename": "UniTAP.dev.ports.modules.fec.fec_shared", "qualname": "FECCounters.uncorrectedBlockErrors", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_shared.FECCounters.correctedBlockErrors", "modulename": "UniTAP.dev.ports.modules.fec.fec_shared", "qualname": "FECCounters.correctedBlockErrors", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_shared.FECCounters.bitErrors", "modulename": "UniTAP.dev.ports.modules.fec.fec_shared", "qualname": "FECCounters.bitErrors", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_shared.FECCounters.parityBlockErrors", "modulename": "UniTAP.dev.ports.modules.fec.fec_shared", "qualname": "FECCounters.parityBlockErrors", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_shared.FECCounters.parityBitErrors", "modulename": "UniTAP.dev.ports.modules.fec.fec_shared", "qualname": "FECCounters.parityBitErrors", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_shared.FECErrorType8b10b", "modulename": "UniTAP.dev.ports.modules.fec.fec_shared", "qualname": "FECErrorType8b10b", "kind": "class", "doc": "

Describes possible FEC 8b/10b errors.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_shared.FECErrorType8b10b.UNCORRECTED_BLOCK", "modulename": "UniTAP.dev.ports.modules.fec.fec_shared", "qualname": "FECErrorType8b10b.UNCORRECTED_BLOCK", "kind": "variable", "doc": "

\n", "default_value": "<FECErrorType8b10b.UNCORRECTED_BLOCK: 0>"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_shared.FECErrorType8b10b.CORRECTED_BLOCK", "modulename": "UniTAP.dev.ports.modules.fec.fec_shared", "qualname": "FECErrorType8b10b.CORRECTED_BLOCK", "kind": "variable", "doc": "

\n", "default_value": "<FECErrorType8b10b.CORRECTED_BLOCK: 1>"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_shared.FECErrorType8b10b.CORRECTED_PARITY", "modulename": "UniTAP.dev.ports.modules.fec.fec_shared", "qualname": "FECErrorType8b10b.CORRECTED_PARITY", "kind": "variable", "doc": "

\n", "default_value": "<FECErrorType8b10b.CORRECTED_PARITY: 2>"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_shared.FECErrorType8b10b.CORRECTED_BLOCK_1", "modulename": "UniTAP.dev.ports.modules.fec.fec_shared", "qualname": "FECErrorType8b10b.CORRECTED_BLOCK_1", "kind": "variable", "doc": "

\n", "default_value": "<FECErrorType8b10b.CORRECTED_BLOCK_1: 3>"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_shared.FECErrorType8b10b.CORRECTED_PARITY_1", "modulename": "UniTAP.dev.ports.modules.fec.fec_shared", "qualname": "FECErrorType8b10b.CORRECTED_PARITY_1", "kind": "variable", "doc": "

\n", "default_value": "<FECErrorType8b10b.CORRECTED_PARITY_1: 4>"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_shared.FECErrorType128b132b", "modulename": "UniTAP.dev.ports.modules.fec.fec_shared", "qualname": "FECErrorType128b132b", "kind": "class", "doc": "

Describes possible FEC 128b/132b errors.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_shared.FECErrorType128b132b.UNCORRECTED_BLOCK", "modulename": "UniTAP.dev.ports.modules.fec.fec_shared", "qualname": "FECErrorType128b132b.UNCORRECTED_BLOCK", "kind": "variable", "doc": "

\n", "default_value": "<FECErrorType128b132b.UNCORRECTED_BLOCK: 0>"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_shared.FECErrorType128b132b.CORRECTED_BLOCK_4", "modulename": "UniTAP.dev.ports.modules.fec.fec_shared", "qualname": "FECErrorType128b132b.CORRECTED_BLOCK_4", "kind": "variable", "doc": "

\n", "default_value": "<FECErrorType128b132b.CORRECTED_BLOCK_4: 1>"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_shared.FECErrorType128b132b.CORRECTED_BLOCK_2", "modulename": "UniTAP.dev.ports.modules.fec.fec_shared", "qualname": "FECErrorType128b132b.CORRECTED_BLOCK_2", "kind": "variable", "doc": "

\n", "default_value": "<FECErrorType128b132b.CORRECTED_BLOCK_2: 3>"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_tx", "modulename": "UniTAP.dev.ports.modules.fec.fec_tx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_tx.FecTx", "modulename": "UniTAP.dev.ports.modules.fec.fec_tx", "qualname": "FecTx", "kind": "class", "doc": "

Class FecTx allows working with FEC functionality from Source (TX - transmitter) side. You can:

\n\n
    \n
  • Check enabled FEC or not is_enabled.
  • \n
  • Check state that FEC is prefers after link training is_prefer_after_lt.
  • \n
  • Enable/Disable FEC enable.
  • \n
  • Enable/Disable intent FEC enable_intent.
  • \n
  • Enable/Disable calculating sum of errors aggregate_errors.
  • \n
  • Get error counters get_error_counters.
  • \n
  • Clear all errors clear.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_tx.FecTx.__init__", "modulename": "UniTAP.dev.ports.modules.fec.fec_tx", "qualname": "FecTx.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tdpcd: UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegisters)"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_tx.FecTx.is_enabled", "modulename": "UniTAP.dev.ports.modules.fec.fec_tx", "qualname": "FecTx.is_enabled", "kind": "function", "doc": "

Returns status of FEC, is enabled or not.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_tx.FecTx.is_prefer_after_lt", "modulename": "UniTAP.dev.ports.modules.fec.fec_tx", "qualname": "FecTx.is_prefer_after_lt", "kind": "function", "doc": "

Check state that FEC is prefers after link training.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_tx.FecTx.enable", "modulename": "UniTAP.dev.ports.modules.fec.fec_tx", "qualname": "FecTx.enable", "kind": "function", "doc": "

Enable/Disable FEC.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable (True) or disable (False)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_tx.FecTx.enable_intent", "modulename": "UniTAP.dev.ports.modules.fec.fec_tx", "qualname": "FecTx.enable_intent", "kind": "function", "doc": "

Enable/Disable intent FEC.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable (True) or disable (False)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_tx.FecTx.aggregate_errors", "modulename": "UniTAP.dev.ports.modules.fec.fec_tx", "qualname": "FecTx.aggregate_errors", "kind": "function", "doc": "

Enable/Disable calculating sum of errors.

\n\n
Arguments:
\n\n
    \n
  • enable (bool) - enable (True) or disable (False)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_tx.FecTx.generate_errors", "modulename": "UniTAP.dev.ports.modules.fec.fec_tx", "qualname": "FecTx.generate_errors", "kind": "function", "doc": "

Generate FEC errors.

\n\n
Arguments:
\n\n
    \n
  • error_type (Union[FECErrorType8b10b, FECErrorType128b132b])
  • \n
  • lane (list)
  • \n
  • ms (int) - time in m seconds
  • \n
\n", "signature": "(\tself,\terror_type: Union[UniTAP.dev.ports.modules.fec.fec_shared.FECErrorType8b10b, UniTAP.dev.ports.modules.fec.fec_shared.FECErrorType128b132b],\tlane: list,\tms: int = 100):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_tx.FecTx.get_error_counters", "modulename": "UniTAP.dev.ports.modules.fec.fec_tx", "qualname": "FecTx.get_error_counters", "kind": "function", "doc": "

Get current error counters.

\n\n
Returns:
\n\n
\n

object of FECCounters type

\n
\n", "signature": "(self) -> UniTAP.dev.ports.modules.fec.fec_shared.FECCounters:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.fec.fec_tx.FecTx.clear", "modulename": "UniTAP.dev.ports.modules.fec.fec_tx", "qualname": "FecTx.clear", "kind": "function", "doc": "

Clear all errors.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_rx", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_rx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_rx.HdcpSinkStatus", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_rx", "qualname": "HdcpSinkStatus", "kind": "class", "doc": "

Class HdcpSinkStatus contains information about HDCP 1.4 and 2.3 statuses.\nIf you want to get object of one the status, use function get.

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_rx.HdcpSinkStatus.__init__", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_rx", "qualname": "HdcpSinkStatus.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tci_status_control: int,\tcaps_1x: UniTAP.dev.ports.modules.hdcp.types.HdcpHwSinkCaps,\tcaps_2x: UniTAP.dev.ports.modules.hdcp.types.HdcpHwSinkCaps)"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_rx.HdcpSinkStatus.get", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_rx", "qualname": "HdcpSinkStatus.get", "kind": "function", "doc": "

Returns one of possible HDCP Status Type:

\n\n
    \n
  • Status1x (HDCP 1.4).
  • \n
  • StatusRx2x (HDCP 2.3).
  • \n
\n\n

Object contains info about:

\n\n
    \n
  • HDCP keys (HdcpSink1XKeys if HDCP type 1.4; HdcpSink2XKeys if HDCP type 2.3).
  • \n
  • Active state (True or False).
  • \n
  • Authenticated state (True or False).
  • \n
  • Capable state (True or False).
  • \n
\n\n
Returns:
\n\n
\n

object of HdcpStatusType (Status1x or StatusRx2x)

\n
\n", "signature": "(self, hdcp_mode: Type[~HdcpStatusType]) -> ~HdcpStatusType:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_rx.HdcpSinkConfig", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_rx", "qualname": "HdcpSinkConfig", "kind": "class", "doc": "

Class HdcpSinkConfig contains information about HDCP 1.4 and 2.3 configurations.\nIf you want to set configuration, use function set.\nIf you want to get current config, use function get.

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_rx.HdcpSinkConfig.__init__", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_rx", "qualname": "HdcpSinkConfig.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tcaps_1x: UniTAP.dev.ports.modules.hdcp.types.HdcpHwSinkCaps,\tcaps_2x: UniTAP.dev.ports.modules.hdcp.types.HdcpHwSinkCaps,\tstatus: UniTAP.dev.ports.modules.hdcp.hdcp_rx.HdcpSinkStatus)"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_rx.HdcpSinkConfig.set", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_rx", "qualname": "HdcpSinkConfig.set", "kind": "function", "doc": "

This function is used to set the HDCP on Sink (RX - receiver) side.\nPossible to load HDCP keys and enable/disable HDCP.

\n\n
Arguments:
\n\n
    \n
  • config (HdcpRxConfigType) - one of the available HDCP config type: Config1x (HDCP 1.4), Config2x (HDCP 2.3)
  • \n
\n", "signature": "(self, config: ~HdcpRxConfigType):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_rx.HdcpSinkConfig.get", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_rx", "qualname": "HdcpSinkConfig.get", "kind": "function", "doc": "

This function is used to get current HDCP configuration on Sink (RX - receiver) side.

\n\n
Returns:
\n\n
\n

object of HdcpRxConfigType - one of the available HDCP config type: Config1x (HDCP 1.4), Config2x (HDCP 2.3)

\n
\n", "signature": "(self, hdcp_mode: Type[~HdcpRxConfigType]) -> ~HdcpRxConfigType:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_rx.HdcpSink", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_rx", "qualname": "HdcpSink", "kind": "class", "doc": "

Main class contains info of HDCP on Sink (RX - receiver) side.\nIf you need to configurate HDCP, use config for getting object responsible for the configuration.\nIf you need to read HDCP status, use status for getting object responsible for the reading current status.

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_rx.HdcpSink.__init__", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_rx", "qualname": "HdcpSink.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tci_caps_control: int,\tci_status_control: int)"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_rx.HdcpSink.config", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_rx", "qualname": "HdcpSink.config", "kind": "variable", "doc": "

Should be used to configure HDCP on Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of HdcpSinkConfig.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.hdcp.hdcp_rx.HdcpSinkConfig"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_rx.HdcpSink.status", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_rx", "qualname": "HdcpSink.status", "kind": "variable", "doc": "

Should be used to read HDCP current status on Sink (RX - receiver) role.

\n\n
Returns:
\n\n
\n

object of HdcpSinkStatus.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.hdcp.hdcp_rx.HdcpSinkStatus"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_tx", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_tx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_tx.HdcpSourceStatus", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_tx", "qualname": "HdcpSourceStatus", "kind": "class", "doc": "

Class HdcpSourceStatus contains information about HDCP 1.4 and 2.3 statuses.\nIf you want to get object of one the status, use function get.

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_tx.HdcpSourceStatus.__init__", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_tx", "qualname": "HdcpSourceStatus.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tci_status_control: int,\tcaps_1x: UniTAP.dev.ports.modules.hdcp.types.HdcpHwSourceCaps,\tcaps_2x: UniTAP.dev.ports.modules.hdcp.types.HdcpHwSourceCaps)"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_tx.HdcpSourceStatus.get", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_tx", "qualname": "HdcpSourceStatus.get", "kind": "function", "doc": "

Returns one of possible HDCP Status Type:

\n\n
    \n
  • Status1x (HDCP 1.4).
  • \n
  • StatusTx2x (HDCP 2.3).
  • \n
\n\n

Object contains info about:

\n\n
    \n
  • HDCP keys (HdcpSource1XKeys if HDCP type 1.4; HdcpSource2XKeys if HDCP type 2.3).
  • \n
  • Active state (True or False).
  • \n
  • Authenticated state (True or False).
  • \n
  • Capable state (True or False).
  • \n
\n\n

If HDCP type is 2.3, then it contains more information:

\n\n
    \n
  • KM stored state (True or False).
  • \n
  • Try to authenticate state (True or False).
  • \n
  • Try to encrypt state (True or False).
  • \n
  • Content level.
  • \n
\n\n
Returns:
\n\n
\n

object of HdcpStatusType (Status1x or StatusTx2x)

\n
\n", "signature": "(self, hdcp_mode: Type[~HdcpStatusType]) -> ~HdcpStatusType:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_tx.HdcpSourceConfig", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_tx", "qualname": "HdcpSourceConfig", "kind": "class", "doc": "

Class HdcpSourceConfig contains information about HDCP 1.4 and 2.3 configurations.\nIf you want to set configuration, use function set.\nIf you want to get current config, use function get.

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_tx.HdcpSourceConfig.__init__", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_tx", "qualname": "HdcpSourceConfig.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tcaps_1x: UniTAP.dev.ports.modules.hdcp.types.HdcpHwSourceCaps,\tcaps_2x: UniTAP.dev.ports.modules.hdcp.types.HdcpHwSourceCaps,\tstatus: UniTAP.dev.ports.modules.hdcp.hdcp_tx.HdcpSourceStatus)"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_tx.HdcpSourceConfig.set", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_tx", "qualname": "HdcpSourceConfig.set", "kind": "function", "doc": "

This function is used to set the HDCP on Source (TX - transmitter) side.\nPossible to load HDCP keys and enable/disable HDCP.

\n\n
Arguments:
\n\n
    \n
  • config (HdcpTxConfigType) - one of the available HDCP config type: Config1x (HDCP 1.4), Config2x (HDCP 2.3)
  • \n
\n", "signature": "(self, config: ~HdcpTxConfigType):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_tx.HdcpSourceConfig.get", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_tx", "qualname": "HdcpSourceConfig.get", "kind": "function", "doc": "

This function is used to get current HDCP configuration on Source (TX - transmitter) side.

\n\n
Returns:
\n\n
\n

object of HdcpTxConfigType - one of the available HDCP config type: Config1x (HDCP 1.4), Config2x (HDCP 2.3)

\n
\n", "signature": "(self, hdcp_mode: Type[~HdcpTxConfigType]) -> ~HdcpTxConfigType:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_tx.HdcpSource", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_tx", "qualname": "HdcpSource", "kind": "class", "doc": "

Main class contains info of HDCP on Source (TX - transmitter) side.\nIf you need to configurate HDCP, use config for getting object responsible for the configuration.\nIf you need to read HDCP status, use status for getting object responsible for the reading current status.

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_tx.HdcpSource.__init__", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_tx", "qualname": "HdcpSource.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tci_caps_control: int,\tci_status_control: int)"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_tx.HdcpSource.config", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_tx", "qualname": "HdcpSource.config", "kind": "variable", "doc": "

Should be used to configure HDCP on Source (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of HdcpSourceConfig.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.hdcp.hdcp_tx.HdcpSourceConfig"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.hdcp_tx.HdcpSource.status", "modulename": "UniTAP.dev.ports.modules.hdcp.hdcp_tx", "qualname": "HdcpSource.status", "kind": "variable", "doc": "

Should be used to read HDCP current status onSource (TX - transmitter) role.

\n\n
Returns:
\n\n
\n

object of HdcpSourceStatus.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.hdcp.hdcp_tx.HdcpSourceStatus"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSink1XKeys", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSink1XKeys", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSink1XKeys.Unknown", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSink1XKeys.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<HdcpSink1XKeys.Unknown: -1>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSink1XKeys.Unload", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSink1XKeys.Unload", "kind": "variable", "doc": "

\n", "default_value": "<HdcpSink1XKeys.Unload: 3>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSink1XKeys.Test", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSink1XKeys.Test", "kind": "variable", "doc": "

\n", "default_value": "<HdcpSink1XKeys.Test: 1>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSink1XKeys.Production", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSink1XKeys.Production", "kind": "variable", "doc": "

\n", "default_value": "<HdcpSink1XKeys.Production: 2>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSink2XKeys", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSink2XKeys", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSink2XKeys.Unknown", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSink2XKeys.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<HdcpSink2XKeys.Unknown: -1>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSink2XKeys.Unload", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSink2XKeys.Unload", "kind": "variable", "doc": "

\n", "default_value": "<HdcpSink2XKeys.Unload: 3>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSink2XKeys.Production", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSink2XKeys.Production", "kind": "variable", "doc": "

\n", "default_value": "<HdcpSink2XKeys.Production: 2>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSink2XKeys.TestR1", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSink2XKeys.TestR1", "kind": "variable", "doc": "

\n", "default_value": "<HdcpSink2XKeys.TestR1: 0>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSink2XKeys.TestR2", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSink2XKeys.TestR2", "kind": "variable", "doc": "

\n", "default_value": "<HdcpSink2XKeys.TestR2: 1>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSource1XKeys", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSource1XKeys", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSource1XKeys.Unknown", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSource1XKeys.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<HdcpSource1XKeys.Unknown: -1>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSource1XKeys.Unload", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSource1XKeys.Unload", "kind": "variable", "doc": "

\n", "default_value": "<HdcpSource1XKeys.Unload: 259>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSource1XKeys.Test", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSource1XKeys.Test", "kind": "variable", "doc": "

\n", "default_value": "<HdcpSource1XKeys.Test: 257>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSource1XKeys.Production", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSource1XKeys.Production", "kind": "variable", "doc": "

\n", "default_value": "<HdcpSource1XKeys.Production: 258>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSource2XKeys", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSource2XKeys", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSource2XKeys.Unknown", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSource2XKeys.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<HdcpSource2XKeys.Unknown: -1>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSource2XKeys.Unload", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSource2XKeys.Unload", "kind": "variable", "doc": "

\n", "default_value": "<HdcpSource2XKeys.Unload: 259>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSource2XKeys.Production", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSource2XKeys.Production", "kind": "variable", "doc": "

\n", "default_value": "<HdcpSource2XKeys.Production: 258>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSource2XKeys.TestR1", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSource2XKeys.TestR1", "kind": "variable", "doc": "

\n", "default_value": "<HdcpSource2XKeys.TestR1: 256>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpSource2XKeys.TestR2", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpSource2XKeys.TestR2", "kind": "variable", "doc": "

\n", "default_value": "<HdcpSource2XKeys.TestR2: 257>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpMode", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpMode", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpMode.Unknown", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpMode.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<HdcpMode.Unknown: -1>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpMode.Mode1_4", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpMode.Mode1_4", "kind": "variable", "doc": "

\n", "default_value": "<HdcpMode.Mode1_4: 0>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpMode.Mode2_3", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpMode.Mode2_3", "kind": "variable", "doc": "

\n", "default_value": "<HdcpMode.Mode2_3: 1>"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpHwCaps", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpHwCaps", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpHwCaps.hw_supported", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpHwCaps.hw_supported", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpHwCaps.production_keys_available", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpHwCaps.production_keys_available", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpHwCaps.test_keys_available", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpHwCaps.test_keys_available", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpHwSinkCaps", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpHwSinkCaps", "kind": "class", "doc": "

\n", "bases": "HdcpHwCaps"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpHwSinkCaps.__init__", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpHwSinkCaps.__init__", "kind": "function", "doc": "

\n", "signature": "(caps: int, hdcp_mode: UniTAP.dev.ports.modules.hdcp.types.HdcpMode)"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpHwSourceCaps", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpHwSourceCaps", "kind": "class", "doc": "

\n", "bases": "HdcpHwCaps"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpHwSourceCaps.__init__", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpHwSourceCaps.__init__", "kind": "function", "doc": "

\n", "signature": "(caps: int, hdcp_mode: UniTAP.dev.ports.modules.hdcp.types.HdcpMode)"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.Status1x", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.Status1x", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.Status1x.active", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.Status1x.active", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.Status1x.keys", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.Status1x.keys", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.Status1x.capable", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.Status1x.capable", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.Status1x.authenticated", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.Status1x.authenticated", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.StatusRx2x", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.StatusRx2x", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.StatusRx2x.active", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.StatusRx2x.active", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.StatusRx2x.keys", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.StatusRx2x.keys", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.StatusRx2x.capable", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.StatusRx2x.capable", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.StatusRx2x.authenticated", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.StatusRx2x.authenticated", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.StatusRx2x.km_is_stored", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.StatusRx2x.km_is_stored", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.StatusRx2x.content_level", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.StatusRx2x.content_level", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.StatusTx2x", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.StatusTx2x", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.StatusTx2x.active", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.StatusTx2x.active", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.StatusTx2x.keys", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.StatusTx2x.keys", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.StatusTx2x.capable", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.StatusTx2x.capable", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.StatusTx2x.authenticated", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.StatusTx2x.authenticated", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.StatusTx2x.km_is_stored", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.StatusTx2x.km_is_stored", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.StatusTx2x.content_level", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.StatusTx2x.content_level", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.StatusTx2x.try_authenticate", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.StatusTx2x.try_authenticate", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpStatus.StatusTx2x.try_encrypt", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpStatus.StatusTx2x.try_encrypt", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpRxConfig", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpRxConfig", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpRxConfig.Config1x", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpRxConfig.Config1x", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpRxConfig.Config1x.keys", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpRxConfig.Config1x.keys", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpRxConfig.Config1x.capable", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpRxConfig.Config1x.capable", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpRxConfig.Config2x", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpRxConfig.Config2x", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpRxConfig.Config2x.keys", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpRxConfig.Config2x.keys", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpRxConfig.Config2x.capable", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpRxConfig.Config2x.capable", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpTxConfig", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpTxConfig", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpTxConfig.Config1x", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpTxConfig.Config1x", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpTxConfig.Config1x.encryption", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpTxConfig.Config1x.encryption", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpTxConfig.Config1x.authenticate", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpTxConfig.Config1x.authenticate", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpTxConfig.Config1x.keys", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpTxConfig.Config1x.keys", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpTxConfig.Config2x", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpTxConfig.Config2x", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpTxConfig.Config2x.encryption", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpTxConfig.Config2x.encryption", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpTxConfig.Config2x.authenticate", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpTxConfig.Config2x.authenticate", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpTxConfig.Config2x.keys", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpTxConfig.Config2x.keys", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpTxConfig.Config2x.store_km", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpTxConfig.Config2x.store_km", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.hdcp.types.HdcpTxConfig.Config2x.content_level", "modulename": "UniTAP.dev.ports.modules.hdcp.types", "qualname": "HdcpTxConfig.Config2x.content_level", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx.LinkDisplayPortRx", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx", "qualname": "LinkDisplayPortRx", "kind": "class", "doc": "

Class LinkDisplayPortRx contains information about DP link.

\n\n
    \n
  • Read link status status.
  • \n
  • Configure and read link capabilities capabilities.
  • \n
  • Make hpd_pulse.
  • \n
  • Assert/Deassert HPD state set_assert_state.
  • \n
  • Read and write scrambler seed value scrambler_seed.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx.LinkDisplayPortRx.__init__", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx", "qualname": "LinkDisplayPortRx.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\thw_caps: UniTAP.dev.ports.modules.link.dp.private_link_rx_types.DPRXHWCaps,\tdpcd: UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegisters)"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx.LinkDisplayPortRx.status", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx", "qualname": "LinkDisplayPortRx.status", "kind": "variable", "doc": "

Returns object of class LinkDisplayPortStatusSink for working with link status.

\n\n
Returns:
\n\n
\n

object of LinkDisplayPortStatusSink type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx.LinkDisplayPortRx.capabilities", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx", "qualname": "LinkDisplayPortRx.capabilities", "kind": "variable", "doc": "

Returns object of class LinkDisplayPortCaps for working with link capabilities.

\n\n
Returns:
\n\n
\n

object of LinkDisplayPortStatusSink type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.dp.link_rx_caps.LinkDisplayPortCaps"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx.LinkDisplayPortRx.aux_controller", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx", "qualname": "LinkDisplayPortRx.aux_controller", "kind": "variable", "doc": "

Returns object of class DisplayPortAUXController for working with DP AUX Controller.

\n\n
Returns:
\n\n
\n

object of DisplayPortAUXController type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.dp.link_rx_aux_controller.DisplayPortAUXController"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx.LinkDisplayPortRx.hpd_pulse", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx", "qualname": "LinkDisplayPortRx.hpd_pulse", "kind": "function", "doc": "

Start HPD pulse.

\n\n
Arguments:
\n\n
    \n
  • duration_us (int)
  • \n
\n", "signature": "(self, duration_us: int = 500000):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx.LinkDisplayPortRx.set_assert_state", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx", "qualname": "LinkDisplayPortRx.set_assert_state", "kind": "function", "doc": "

Assert/Deassert HPD state.

\n\n
Arguments:
\n\n
    \n
  • state (bool)
  • \n
\n", "signature": "(self, state: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx.LinkDisplayPortRx.scrambler_seed", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx", "qualname": "LinkDisplayPortRx.scrambler_seed", "kind": "variable", "doc": "

Returns scrambler seed value.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx.LinkDisplayPortRx.cable_rx_type", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx", "qualname": "LinkDisplayPortRx.cable_rx_type", "kind": "function", "doc": "

Get cable type from the RX side.

\n\n
Returns:
\n\n
\n

object of CableCapabilitiesEnum type

\n
\n", "signature": "(\tself) -> UniTAP.dev.ports.modules.link.dp.link_rx_types.CableCapabilitiesEnum:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx.LinkDisplayPortRx.cable_tx_type", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx", "qualname": "LinkDisplayPortRx.cable_tx_type", "kind": "function", "doc": "

Get cable type from the TX side.

\n\n
Returns:
\n\n
\n

object of CableCapabilitiesEnum type

\n
\n", "signature": "(\tself) -> UniTAP.dev.ports.modules.link.dp.link_rx_types.CableCapabilitiesEnum:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_caps", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_caps", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_caps.LinkDisplayPortCaps", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_caps", "qualname": "LinkDisplayPortCaps", "kind": "class", "doc": "

Class LinkDisplayPortCaps allows settings link capabilities on Sink (RX - receiver) side.

\n\n
    \n
  • Set configuration set.
  • \n
  • Get current configuration on link link_caps_status.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_caps.LinkDisplayPortCaps.__init__", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_caps", "qualname": "LinkDisplayPortCaps.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tcaps: UniTAP.dev.ports.modules.link.dp.private_link_rx_types.DPRXHWCaps)"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_caps.LinkDisplayPortCaps.set", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_caps", "qualname": "LinkDisplayPortCaps.set", "kind": "function", "doc": "

Set new settings on link. Only those values will be written that were specified.

\n\n
Arguments:
\n\n
    \n
  • capabilities (LinkCapabilities or LinkEDPCapabilities)
  • \n
\n", "signature": "(\tself,\tcapabilities: Union[UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkCapabilities, UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkEDPCapabilities]):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_caps.LinkDisplayPortCaps.link_caps_status", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_caps", "qualname": "LinkDisplayPortCaps.link_caps_status", "kind": "function", "doc": "

Returns current configuration on link LinkCapabilities.

\n\n
Returns:
\n\n
\n

object of LinkCapabilities type

\n
\n", "signature": "(\tself,\tconfig_type: Optional[Type[~DisplayPortLinkCaps]] = None) -> ~DisplayPortLinkCaps:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink", "kind": "class", "doc": "

Class LinkDisplayPortStatusSink describes information about DP link status. Contains following info:

\n\n
    \n
  • MST stream count mst_stream_count.
  • \n
  • Lane count lane_count.
  • \n
  • Link encoding link_encoding.
  • \n
  • Link rate link_rate.
  • \n
  • State of HPD hpd_asserted.
  • \n
  • Cable state cable_state.
  • \n
  • State of framing enhanced_framing.
  • \n
  • State of scrambling scrambling_enabled.
  • \n
  • State of DSC dsc_enabled
  • \n
  • State of FEC fec_enabled.
  • \n
  • State of MST mst_enabled.
  • \n
  • State of SSC ssc_enabled.
  • \n
  • State of ILA ila.
  • \n
  • State of EQ ILA eq_ila.
  • \n
  • State of CDS ILA cds_ila.
  • \n
  • State of LT fail lt_fail.
  • \n
  • State of selected lane lane.
  • \n
  • State of VCP vcp.
  • \n
  • State of selected stream stream.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.__init__", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tcaps: UniTAP.dev.ports.modules.link.dp.private_link_rx_types.DPRXHWCaps)"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.mst_stream_count", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.mst_stream_count", "kind": "variable", "doc": "

Returns current MST count.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.lane_count", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.lane_count", "kind": "variable", "doc": "

Returns current lane count.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.link_encoding", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.link_encoding", "kind": "variable", "doc": "

Returns current link encoding DpLinkEncoding.

\n\n
Returns:
\n\n
\n

object of DpLinkEncoding type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.dp.link_status_common.DpLinkEncoding"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.link_rate", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.link_rate", "kind": "variable", "doc": "

Returns current link rate.

\n\n
Returns:
\n\n
\n

object of float type

\n
\n", "annotation": ": float"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.hpd_asserted", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.hpd_asserted", "kind": "variable", "doc": "

Returns current state of HDP asserted.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.cable_state", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.cable_state", "kind": "variable", "doc": "

Returns current cable state.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.enhanced_framing", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.enhanced_framing", "kind": "variable", "doc": "

Returns current enhanced framing state.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.scrambling_enabled", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.scrambling_enabled", "kind": "variable", "doc": "

Returns current scrambling enabled state.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.dsc_enabled", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.dsc_enabled", "kind": "variable", "doc": "

Returns current DSC state.

\n\n
Returns:
\n\n
\n

object of bool|None type

\n
\n", "annotation": ": Optional[bool]"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.fec_enabled", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.fec_enabled", "kind": "variable", "doc": "

Returns current FEC state.

\n\n
Returns:
\n\n
\n

object of bool|None type

\n
\n", "annotation": ": Optional[bool]"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.mst_enabled", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.mst_enabled", "kind": "variable", "doc": "

Returns current MST state.

\n\n
Returns:
\n\n
\n

object of bool|None type

\n
\n", "annotation": ": Optional[bool]"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.ssc_enabled", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.ssc_enabled", "kind": "variable", "doc": "

Returns current SSC state.

\n\n
Returns:
\n\n
\n

object of bool|None type

\n
\n", "annotation": ": Optional[bool]"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.ila", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.ila", "kind": "variable", "doc": "

Returns current ILA state.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.eq_ila", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.eq_ila", "kind": "variable", "doc": "

Returns current EQ ILA state.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.cds_ila", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.cds_ila", "kind": "variable", "doc": "

Returns current CDS ILA state.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.lt_fail", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.lt_fail", "kind": "variable", "doc": "

Returns current LT fail state.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.lane", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.lane", "kind": "function", "doc": "

Returns status of lane LaneStatus.

\n\n
Arguments:
\n\n
    \n
  • lane_number (int) - number of selected number
  • \n
\n\n
Returns:
\n\n
\n

object of LaneStatus type

\n
\n", "signature": "(\tself,\tlane_number: int) -> UniTAP.dev.ports.modules.link.dp.link_status_common.LaneStatus:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.vcp", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.vcp", "kind": "function", "doc": "

Returns VCP status of selected stream VCPStatus.

\n\n
Arguments:
\n\n
    \n
  • stream_index (int) - number of selected number
  • \n
\n\n
Returns:
\n\n
\n

object of VCPStatus | None type

\n
\n", "signature": "(\tself,\tstream_index: int = 0) -> Optional[UniTAP.dev.ports.modules.link.dp.link_status_common.VCPStatus]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.stream", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.stream", "kind": "function", "doc": "

Returns status of selected stream StreamStatusDP.

\n\n
Arguments:
\n\n
    \n
  • stream_index (int) - number of selected number
  • \n
\n\n
Returns:
\n\n
\n

object of StreamStatusDP type

\n
\n", "signature": "(\tself,\tstream_index: int) -> UniTAP.dev.ports.modules.link.dp.link_status_common.StreamStatusDP:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_status.LinkDisplayPortStatusSink.reset_sdp_crc16_errors", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_status", "qualname": "LinkDisplayPortStatusSink.reset_sdp_crc16_errors", "kind": "function", "doc": "

Reset SDP CRC16 errors.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkCapabilities", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkCapabilities", "kind": "class", "doc": "

Class LinkCapabilities describes capabilities of DP link.

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkCapabilities.max_lane", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkCapabilities.max_lane", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkCapabilities.bit_rate", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkCapabilities.bit_rate", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkCapabilities.dp_128_132_bitrates", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkCapabilities.dp_128_132_bitrates", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkCapabilities.override_10g", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkCapabilities.override_10g", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkCapabilities.old_dp_2_0_lt", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkCapabilities.old_dp_2_0_lt", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkCapabilities.force_cable_status_to_plugged", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkCapabilities.force_cable_status_to_plugged", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkCapabilities.mst", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkCapabilities.mst", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkCapabilities.ss_sbm", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkCapabilities.ss_sbm", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkCapabilities.fec", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkCapabilities.fec", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkCapabilities.tps4", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkCapabilities.tps4", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkCapabilities.tps3", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkCapabilities.tps3", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkCapabilities.dsc", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkCapabilities.dsc", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkCapabilities.mst_sink_count", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkCapabilities.mst_sink_count", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkEDPCapabilities", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkEDPCapabilities", "kind": "class", "doc": "

Class LinkEDPCapabilities describes capabilities of eDP link.

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkEDPCapabilities.max_lane", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkEDPCapabilities.max_lane", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkEDPCapabilities.eDp_cur_rate", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkEDPCapabilities.eDp_cur_rate", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkEDPCapabilities.eDp_supported_rates", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkEDPCapabilities.eDp_supported_rates", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkEDPCapabilities.eDp_aux_preamble", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkEDPCapabilities.eDp_aux_preamble", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.LinkEDPCapabilities.eDp_support", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "LinkEDPCapabilities.eDp_support", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.CableCapabilitiesEnum", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "CableCapabilitiesEnum", "kind": "class", "doc": "

Enum where members are also (and must be) ints

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.CableCapabilitiesEnum.Unknown", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "CableCapabilitiesEnum.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<CableCapabilitiesEnum.Unknown: 0>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.CableCapabilitiesEnum.DP40", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "CableCapabilitiesEnum.DP40", "kind": "variable", "doc": "

\n", "default_value": "<CableCapabilitiesEnum.DP40: 1>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.CableCapabilitiesEnum.DP54", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "CableCapabilitiesEnum.DP54", "kind": "variable", "doc": "

\n", "default_value": "<CableCapabilitiesEnum.DP54: 2>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.CableCapabilitiesEnum.DP80", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "CableCapabilitiesEnum.DP80", "kind": "variable", "doc": "

\n", "default_value": "<CableCapabilitiesEnum.DP80: 3>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.RoutedLTConfig", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "RoutedLTConfig", "kind": "class", "doc": "

Class RoutedLTConfig describes configuration fields for Routed LinkTraining.

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.RoutedLTConfig.is128b132b", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "RoutedLTConfig.is128b132b", "kind": "variable", "doc": "

\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.RoutedLTConfig.is_old_dp20_lt", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "RoutedLTConfig.is_old_dp20_lt", "kind": "variable", "doc": "

\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.RoutedLTConfig.vs", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "RoutedLTConfig.vs", "kind": "variable", "doc": "

\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.RoutedLTConfig.pe", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "RoutedLTConfig.pe", "kind": "variable", "doc": "

\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.RoutedLTConfig.ffe", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "RoutedLTConfig.ffe", "kind": "variable", "doc": "

\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.RoutedLTConfig.link_bw", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "RoutedLTConfig.link_bw", "kind": "variable", "doc": "

\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.RoutedLTConfig.lane_count", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "RoutedLTConfig.lane_count", "kind": "variable", "doc": "

\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.RoutedLTConfig.int_value", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "RoutedLTConfig.int_value", "kind": "function", "doc": "

\n", "signature": "(self) -> int:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.RoutedLTStatus", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "RoutedLTStatus", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.RoutedLTStatus.__init__", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "RoutedLTStatus.__init__", "kind": "function", "doc": "

\n", "signature": "(\tenabled: bool,\tdp20_old_lt: bool,\tstate: int,\tsuccess: bool,\tstep: int)"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.RoutedLTStatus.enabled", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "RoutedLTStatus.enabled", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.RoutedLTStatus.dp20_old_lt", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "RoutedLTStatus.dp20_old_lt", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.RoutedLTStatus.state", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "RoutedLTStatus.state", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.RoutedLTStatus.success", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "RoutedLTStatus.success", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_types.RoutedLTStatus.step", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_types", "qualname": "RoutedLTStatus.step", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.VCPStatus", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "VCPStatus", "kind": "class", "doc": "

Class VCPStatus describes \u041c\u0421\u0417 status. Contains following information:

\n\n
    \n
  • Port number.
  • \n
  • Stream ID.
  • \n
  • Requested PBN.
  • \n
  • Allocated PBN.
  • \n
  • Number of slots allocated for VC.
  • \n
  • Number of first time slot allocated for VC.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.VCPStatus.port_number", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "VCPStatus.port_number", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.VCPStatus.stream_id", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "VCPStatus.stream_id", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.VCPStatus.req_pbn", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "VCPStatus.req_pbn", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.VCPStatus.alloc_pbn", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "VCPStatus.alloc_pbn", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.VCPStatus.first_slot", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "VCPStatus.first_slot", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.VCPStatus.slot_num", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "VCPStatus.slot_num", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.DpLinkEncoding", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "DpLinkEncoding", "kind": "class", "doc": "

Class DpLinkEncoding contains all possible variants of DP link encoding.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.DpLinkEncoding.LE_NONE", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "DpLinkEncoding.LE_NONE", "kind": "variable", "doc": "

\n", "default_value": "<DpLinkEncoding.LE_NONE: 0>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.DpLinkEncoding.LE_8b10b", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "DpLinkEncoding.LE_8b10b", "kind": "variable", "doc": "

\n", "default_value": "<DpLinkEncoding.LE_8b10b: 1>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.DpLinkEncoding.LE_128b132b", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "DpLinkEncoding.LE_128b132b", "kind": "variable", "doc": "

\n", "default_value": "<DpLinkEncoding.LE_128b132b: 2>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.DpLinkTrainingResult", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "DpLinkTrainingResult", "kind": "class", "doc": "

Class DpLinkTrainingResult contains all possible variants of Link training results.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.DpLinkTrainingResult.LTR_NOT_STARTED", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "DpLinkTrainingResult.LTR_NOT_STARTED", "kind": "variable", "doc": "

\n", "default_value": "<DpLinkTrainingResult.LTR_NOT_STARTED: 0>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.DpLinkTrainingResult.LTR_IN_PROGRESS", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "DpLinkTrainingResult.LTR_IN_PROGRESS", "kind": "variable", "doc": "

\n", "default_value": "<DpLinkTrainingResult.LTR_IN_PROGRESS: 1>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.DpLinkTrainingResult.LTR_FAIL", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "DpLinkTrainingResult.LTR_FAIL", "kind": "variable", "doc": "

\n", "default_value": "<DpLinkTrainingResult.LTR_FAIL: 2>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.DpLinkTrainingResult.LTR_SUCCESS", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "DpLinkTrainingResult.LTR_SUCCESS", "kind": "variable", "doc": "

\n", "default_value": "<DpLinkTrainingResult.LTR_SUCCESS: 3>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.LaneStatus", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "LaneStatus", "kind": "class", "doc": "

Class LaneStatus describes lane status. Contains following information:

\n\n
    \n
  • CR state.
  • \n
  • SL state.
  • \n
  • EQ state.
  • \n
  • Voltage swing value.
  • \n
  • Pre Emphasis value.
  • \n
  • FFE preset value.
  • \n
  • Error count.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.LaneStatus.cr", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "LaneStatus.cr", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.LaneStatus.sl", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "LaneStatus.sl", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.LaneStatus.eq", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "LaneStatus.eq", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.LaneStatus.voltage_swing", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "LaneStatus.voltage_swing", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.LaneStatus.pre_emphasis", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "LaneStatus.pre_emphasis", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.LaneStatus.ffe_preset", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "LaneStatus.ffe_preset", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.LaneStatus.error_count", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "LaneStatus.error_count", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.SdpCrc16", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "SdpCrc16", "kind": "class", "doc": "

Class SdpCrc16 describes SDP CRC16 errors on the stream. It contains 'State' - enabled or disabled, and errors -\ncount of the errors on the stream.

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.SdpCrc16.state", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "SdpCrc16.state", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.SdpCrc16.errors", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "SdpCrc16.errors", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.StreamStatus", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "StreamStatus", "kind": "class", "doc": "

Class StreamStatus describes stream status. Contains following information:

\n\n
    \n
  • Video mode VideoMode.
  • \n
  • CRC value of stream.
  • \n
  • DSC CRC value of stream.
  • \n
  • SDP CRC16 error of stream
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.StreamStatus.video_mode", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "StreamStatus.video_mode", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.StreamStatus.crc", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "StreamStatus.crc", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.StreamStatus.dsc_crc", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "StreamStatus.dsc_crc", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.StreamStatus.sdp_crc16", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "StreamStatus.sdp_crc16", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.StreamStatusDP", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "StreamStatusDP", "kind": "class", "doc": "

The StreamStatusDP class inherited from the StreamStatus class and contains all the functionality.

\n\n
    \n
  • MVID
  • \n
  • NVID
  • \n
  • VFREQ vfreq
  • \n
\n", "bases": "StreamStatus"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.StreamStatusDP.mvid", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "StreamStatusDP.mvid", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.StreamStatusDP.nvid", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "StreamStatusDP.nvid", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.StreamStatusDP.vfreq", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "StreamStatusDP.vfreq", "kind": "variable", "doc": "

Return value of VFREQ.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.DP21_LinkRate", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "DP21_LinkRate", "kind": "variable", "doc": "

\n", "default_value": "{1: 10.0, 2: 20.0, 4: 13.5}"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_status_common.DP21_LinkRateRev", "modulename": "UniTAP.dev.ports.modules.link.dp.link_status_common", "qualname": "DP21_LinkRateRev", "kind": "variable", "doc": "

\n", "default_value": "{10.0: 1, 20.0: 2, 13.5: 4}"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx", "kind": "class", "doc": "

Class LinkDisplayPortTx contains information about DP link.

\n\n
    \n
  • Read link status status.
  • \n
  • Configure and read link configuration config.
  • \n
  • Get maximum stream count max_stream_count.
  • \n
  • Do link training link_training.
  • \n
  • Get last result of link training last_lt_result.
  • \n
  • Read and write scrambler seed value scrambler_seed.
  • \n
  • Set set_override_voltage and get get_override_voltage override voltage.
  • \n
  • Set set_override_pre_emp and get get_override_pre_emp override pre-emphasis.
  • \n
  • Set and get override FFE presets override_ffe_presets.
  • \n
  • Set and get link pattern link_pattern 'set_link_pattern'.
  • \n
  • Set and get force link config LinkDisplayPortForceConfig.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx.__init__", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tdpcd: UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegisters,\thw_caps: UniTAP.dev.ports.modules.link.dp.private_link_tx_types.DPTXHWCaps)"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx.status", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx.status", "kind": "variable", "doc": "

Returns object of class LinkDisplayPortStatusSource for working with link status.

\n\n
Returns:
\n\n
\n

object of LinkDisplayPortStatusSource type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx.config", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx.config", "kind": "variable", "doc": "

Returns object of class LinkDisplayPortConfig for working with link configuration.

\n\n
Returns:
\n\n
\n

object of LinkDisplayPortConfig type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.dp.link_tx_config.LinkDisplayPortConfig"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx.force_config", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx.force_config", "kind": "variable", "doc": "

Returns object of class LinkDisplayPortForceConfig for working with link configuration.

\n\n
Returns:
\n\n
\n

object of LinkDisplayPortForceConfig type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.dp.link_tx_force_config.LinkDisplayPortForceConfig"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx.max_stream_count", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx.max_stream_count", "kind": "variable", "doc": "

Returns maximum supported stream count.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx.start_link_training", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx.start_link_training", "kind": "function", "doc": "

Make link training. Returns 'True' state if link training was success, 'False' - if not.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx.last_lt_result", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx.last_lt_result", "kind": "function", "doc": "

Returns last result of link training.

\n\n
Returns:
\n\n
\n

object of DpLinkTrainingResult type

\n
\n", "signature": "(\tself) -> UniTAP.dev.ports.modules.link.dp.link_status_common.DpLinkTrainingResult:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx.scrambler_seed", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx.scrambler_seed", "kind": "variable", "doc": "

Returns scrambler seed value.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx.get_override_voltage", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx.get_override_voltage", "kind": "function", "doc": "

Returns override voltage of selected stream.

\n\n
Arguments:
\n\n
    \n
  • stream_index (int) - number of selected stream
  • \n
\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "signature": "(self, stream_index: int) -> int:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx.set_override_voltage", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx.set_override_voltage", "kind": "function", "doc": "

Returns override voltage of selected stream.

\n\n
Arguments:
\n\n
    \n
  • stream_index (int) - number of selected stream
  • \n
  • value (int) - new override voltage value
  • \n
\n", "signature": "(self, stream_index: int, value: int):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx.get_override_pre_emp", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx.get_override_pre_emp", "kind": "function", "doc": "

Returns override pre-emphasis of selected stream.

\n\n
Arguments:
\n\n
    \n
  • stream_index (int) - number of selected stream
  • \n
\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "signature": "(self, stream_index: int) -> int:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx.set_override_pre_emp", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx.set_override_pre_emp", "kind": "function", "doc": "

Returns override pre-emphasis of selected stream.

\n\n
Arguments:
\n\n
    \n
  • stream_index (int) - number of selected stream
  • \n
  • value (int) - new override pre-emphasis value
  • \n
\n", "signature": "(self, stream_index: int, value: int):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx.override_ffe_presets", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx.override_ffe_presets", "kind": "variable", "doc": "

Returns override FFE presets values.

\n\n
Returns:
\n\n
\n

object of list type

\n
\n", "annotation": ": list"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx.link_pattern", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx.link_pattern", "kind": "variable", "doc": "

Returns current DP link pattern DPLinkPattern.

\n\n
Returns:
\n\n
\n

object of DPLinkPattern type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx.set_link_pattern", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx.set_link_pattern", "kind": "function", "doc": "

Write DP link pattern value DPLinkPattern.

\n\n
Arguments:
\n\n
    \n
  • pattern (DPLinkPattern) - new pattern value.
  • \n
  • additional_param (int)
  • \n
\n", "signature": "(\tself,\tpattern: UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern,\tadditional_param: int = 1):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx.set_force_link_mode", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx.set_force_link_mode", "kind": "function", "doc": "

\n", "signature": "(\tself,\tlink_mode: UniTAP.dev.ports.modules.link.dp.link_tx_types.DPOutLinkMode):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx.get_force_link_mode", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx.get_force_link_mode", "kind": "function", "doc": "

\n", "signature": "(self) -> UniTAP.dev.ports.modules.link.dp.link_tx_types.DPOutLinkMode:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx.cable_rx_type", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx.cable_rx_type", "kind": "function", "doc": "

Get cable type from the RX side.

\n\n
Returns:
\n\n
\n

object of CableCapabilitiesEnum type

\n
\n", "signature": "(\tself) -> UniTAP.dev.ports.modules.link.dp.link_rx_types.CableCapabilitiesEnum:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx.LinkDisplayPortTx.cable_tx_type", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx", "qualname": "LinkDisplayPortTx.cable_tx_type", "kind": "function", "doc": "

Get cable type from the TX side.

\n\n
Returns:
\n\n
\n

object of CableCapabilitiesEnum type

\n
\n", "signature": "(\tself) -> UniTAP.dev.ports.modules.link.dp.link_rx_types.CableCapabilitiesEnum:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_config", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_config", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_config.LinkDisplayPortConfig", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_config", "qualname": "LinkDisplayPortConfig", "kind": "class", "doc": "

Class LinkDisplayPortConfig allows settings link configuration on Source (TX - transmitter) side.

\n\n
    \n
  • Set configuration set.
  • \n
  • Get current configuration on link get.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_config.LinkDisplayPortConfig.__init__", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_config", "qualname": "LinkDisplayPortConfig.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tcaps: UniTAP.dev.ports.modules.link.dp.private_link_tx_types.DPTXHWCaps)"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_config.LinkDisplayPortConfig.set", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_config", "qualname": "LinkDisplayPortConfig.set", "kind": "function", "doc": "

Write new configuration on DP link.

\n\n
Arguments:
\n\n
    \n
  • config (DisplayPortLinkConfig) - LinkConfig.DP8b10b, LinkConfig.DP128b132b or LinkConfig.eDP.
  • \n
\n", "signature": "(self, config: ~DisplayPortLinkConfig):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_config.LinkDisplayPortConfig.get", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_config", "qualname": "LinkDisplayPortConfig.get", "kind": "function", "doc": "

Returns current DP source link configuration.

\n\n
Returns:
\n\n
\n

object of DisplayPortLinkConfig type

\n
\n", "signature": "(\tself,\tconfig_type: Optional[Type[~DisplayPortLinkConfig]] = None) -> ~DisplayPortLinkConfig:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource", "kind": "class", "doc": "

Class LinkDisplayPortStatusSource describes information about DP link status. Contains following info:

\n\n
    \n
  • MST stream count mst_stream_count.
  • \n
  • Link encoding link_encoding.
  • \n
  • Link rate link_rate.
  • \n
  • Lane count lane_count.
  • \n
  • State of HPD hpd_asserted.
  • \n
  • State of framing enhanced_framing.
  • \n
  • State of scrambling scrambling_enabled.
  • \n
  • State of DSC dsc_enabled
  • \n
  • State of FEC fec_enabled.
  • \n
  • State of MST mst_enabled.
  • \n
  • State of SSC ssc_enabled.
  • \n
  • State of ILA ila.
  • \n
  • State of EQ ILA eq_ila.
  • \n
  • State of CDS ILA cds_ila.
  • \n
  • State of LT fail lt_fail.
  • \n
  • State of selected lane lane.
  • \n
  • State of VCP vcp.
  • \n
  • State of selected stream stream.
  • \n
  • Send ACT command send_act.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.__init__", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tcaps: UniTAP.dev.ports.modules.link.dp.private_link_tx_types.DPTXHWCaps,\tdpcd: UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegisters)"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.mst_stream_count", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.mst_stream_count", "kind": "variable", "doc": "

Returns current mst stream count.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.link_encoding", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.link_encoding", "kind": "variable", "doc": "

Returns current link encoding DpLinkEncoding.

\n\n
Returns:
\n\n
\n

object of DpLinkEncoding type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.dp.link_status_common.DpLinkEncoding"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.link_rate", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.link_rate", "kind": "variable", "doc": "

Returns current link rate.

\n\n
Returns:
\n\n
\n

object of float type

\n
\n", "annotation": ": float"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.lane_count", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.lane_count", "kind": "variable", "doc": "

Returns current lane count.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.hpd_asserted", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.hpd_asserted", "kind": "variable", "doc": "

Returns current state of HPD asserted.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.available_link_rate", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.available_link_rate", "kind": "variable", "doc": "

Returns available link rate.

\n\n
Returns:
\n\n
\n

object of float type

\n
\n", "annotation": ": float"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.lane", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.lane", "kind": "function", "doc": "

Returns current status of selected lane LaneStatus.

\n\n
Arguments:
\n\n
    \n
  • lane_number (int) - number of selected lane
  • \n
\n\n
Returns:
\n\n
\n

object of LaneStatus type

\n
\n", "signature": "(\tself,\tlane_number: int) -> UniTAP.dev.ports.modules.link.dp.link_status_common.LaneStatus:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.dsc_enabled", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.dsc_enabled", "kind": "variable", "doc": "

Returns current state of DSC (enabled or disabled).\nNone if DSC does not support.

\n\n
Returns:
\n\n
\n

object of bool or None type

\n
\n", "annotation": ": Optional[bool]"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.mst_enabled", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.mst_enabled", "kind": "variable", "doc": "

Returns current state of MST (enabled or disabled).\nNone if MST does not support.

\n\n
Returns:
\n\n
\n

object of bool or None type

\n
\n", "annotation": ": Optional[bool]"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.ssc_enabled", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.ssc_enabled", "kind": "variable", "doc": "

Returns current state of SSC (enabled or disabled).\nNone if SSC does not support.

\n\n
Returns:
\n\n
\n

object of bool or None type

\n
\n", "annotation": ": Optional[bool]"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.fec_enabled", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.fec_enabled", "kind": "variable", "doc": "

Returns current state of FEC (enabled or disabled).\nNone if FEC does not support.

\n\n
Returns:
\n\n
\n

object of bool or None type

\n
\n", "annotation": ": Optional[bool]"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.enhanced_framing", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.enhanced_framing", "kind": "variable", "doc": "

Returns current state of enhanced framing (enabled or disabled).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.scrambling_enabled", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.scrambling_enabled", "kind": "variable", "doc": "

Returns current state of scrambling (enabled or disabled).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.lttpr_active", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.lttpr_active", "kind": "variable", "doc": "

Returns current state of LTTPR (enabled or disabled).\nNone if LTTPR does not support.

\n\n
Returns:
\n\n
\n

object of bool or None type

\n
\n", "annotation": ": Optional[bool]"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.ila", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.ila", "kind": "variable", "doc": "

Returns current ILA state.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.eq_ila", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.eq_ila", "kind": "variable", "doc": "

Returns current EQ ILA state.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.cds_ila", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.cds_ila", "kind": "variable", "doc": "

Returns current CDS ILA state.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.lt_fail", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.lt_fail", "kind": "variable", "doc": "

Returns current LT fail state.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.stream", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.stream", "kind": "function", "doc": "

Returns status of selected stream StreamStatusDP.

\n\n
Arguments:
\n\n
    \n
  • stream_index (int) - number of selected number
  • \n
\n\n
Returns:
\n\n
\n

object of StreamStatusDP type

\n
\n", "signature": "(\tself,\tstream_index: int) -> UniTAP.dev.ports.modules.link.dp.link_status_common.StreamStatusDP:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.vcp", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.vcp", "kind": "function", "doc": "

Returns VCP status of selected stream VCPStatus.

\n\n
Arguments:
\n\n
    \n
  • stream_index (int) - number of selected number
  • \n
\n\n
Returns:
\n\n
\n

object of VCPStatus | None type

\n
\n", "signature": "(\tself,\tstream_index: int = 0) -> Optional[UniTAP.dev.ports.modules.link.dp.link_status_common.VCPStatus]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_status.LinkDisplayPortStatusSource.send_act", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_status", "qualname": "LinkDisplayPortStatusSource.send_act", "kind": "function", "doc": "

Send ACT command.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern", "kind": "class", "doc": "

Class DPLinkPattern contains all possible variants of DP link patterns.\nNames TrainingPattern1, TrainingPattern2, TrainingPattern3, TrainingPattern4 will be deleted in RC 3.7

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.ActiveVideo", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.ActiveVideo", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.ActiveVideo: 0>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.IdlePattern", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.IdlePattern", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.IdlePattern: 1>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.TrainingPattern1", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.TrainingPattern1", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.TrainingPattern1: 2>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.TrainingPattern2", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.TrainingPattern2", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.TrainingPattern2: 3>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.TrainingPattern3", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.TrainingPattern3", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.TrainingPattern3: 4>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.TrainingPattern4", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.TrainingPattern4", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.TrainingPattern4: 5>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.PRBS7", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.PRBS7", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.PRBS7: 6>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.HBR2", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.HBR2", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.HBR2: 7>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.SER", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.SER", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.SER: 8>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.ForceVideo", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.ForceVideo", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.ForceVideo: 10>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.ForceIdle", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.ForceIdle", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.ForceIdle: 11>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.PRBS9", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.PRBS9", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.PRBS9: 12>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.PRBS11", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.PRBS11", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.PRBS11: 13>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.PRBS15", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.PRBS15", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.PRBS15: 14>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.PRBS23", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.PRBS23", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.PRBS23: 15>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.PRBS31", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.PRBS31", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.PRBS31: 16>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.LinkSquarePattern", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.LinkSquarePattern", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.LinkSquarePattern: 17>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.Undefined", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.Undefined", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.Undefined: 18>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.TPS1", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.TPS1", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.TrainingPattern1: 2>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.TSP2", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.TSP2", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.TrainingPattern2: 3>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.TSP3", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.TSP3", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.TrainingPattern3: 4>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPLinkPattern.TSP4", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPLinkPattern.TSP4", "kind": "variable", "doc": "

\n", "default_value": "<DPLinkPattern.TrainingPattern4: 5>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DP128b132bLinkPattern", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DP128b132bLinkPattern", "kind": "class", "doc": "

Class DP128b132bLinkPattern contains all possible output patterns in DP2.0 force link mode.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DP128b132bLinkPattern.ActiveVideo", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DP128b132bLinkPattern.ActiveVideo", "kind": "variable", "doc": "

\n", "default_value": "<DP128b132bLinkPattern.ActiveVideo: 0>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DP128b132bLinkPattern.IdlePattern", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DP128b132bLinkPattern.IdlePattern", "kind": "variable", "doc": "

\n", "default_value": "<DP128b132bLinkPattern.IdlePattern: 1>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DP128b132bLinkPattern.TPS1", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DP128b132bLinkPattern.TPS1", "kind": "variable", "doc": "

\n", "default_value": "<DP128b132bLinkPattern.TPS1: 2>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DP128b132bLinkPattern.TPS2", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DP128b132bLinkPattern.TPS2", "kind": "variable", "doc": "

\n", "default_value": "<DP128b132bLinkPattern.TPS2: 3>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DP128b132bLinkPattern.PRBS9", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DP128b132bLinkPattern.PRBS9", "kind": "variable", "doc": "

\n", "default_value": "<DP128b132bLinkPattern.PRBS9: 4>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DP128b132bLinkPattern.PRBS11", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DP128b132bLinkPattern.PRBS11", "kind": "variable", "doc": "

\n", "default_value": "<DP128b132bLinkPattern.PRBS11: 5>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DP128b132bLinkPattern.PRBS15", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DP128b132bLinkPattern.PRBS15", "kind": "variable", "doc": "

\n", "default_value": "<DP128b132bLinkPattern.PRBS15: 6>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DP128b132bLinkPattern.PRBS23", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DP128b132bLinkPattern.PRBS23", "kind": "variable", "doc": "

\n", "default_value": "<DP128b132bLinkPattern.PRBS23: 7>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DP128b132bLinkPattern.PRBS31", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DP128b132bLinkPattern.PRBS31", "kind": "variable", "doc": "

\n", "default_value": "<DP128b132bLinkPattern.PRBS31: 8>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DP128b132bLinkPattern.Custom80bit", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DP128b132bLinkPattern.Custom80bit", "kind": "variable", "doc": "

\n", "default_value": "<DP128b132bLinkPattern.Custom80bit: 9>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DP128b132bLinkPattern.LinkSquarePattern", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DP128b132bLinkPattern.LinkSquarePattern", "kind": "variable", "doc": "

\n", "default_value": "<DP128b132bLinkPattern.LinkSquarePattern: 10>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DP128b132bLinkPattern.PRBS7", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DP128b132bLinkPattern.PRBS7", "kind": "variable", "doc": "

\n", "default_value": "<DP128b132bLinkPattern.PRBS7: 11>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPOutLinkMode", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPOutLinkMode", "kind": "class", "doc": "

Class DPOutLinkMode contains all possible out link modes.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPOutLinkMode.Normal", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPOutLinkMode.Normal", "kind": "variable", "doc": "

\n", "default_value": "<DPOutLinkMode.Normal: 0>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPOutLinkMode.Force8b10b", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPOutLinkMode.Force8b10b", "kind": "variable", "doc": "

\n", "default_value": "<DPOutLinkMode.Force8b10b: 1>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.DPOutLinkMode.Force128b132b", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "DPOutLinkMode.Force128b132b", "kind": "variable", "doc": "

\n", "default_value": "<DPOutLinkMode.Force128b132b: 2>"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.SSCConfig", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "SSCConfig", "kind": "class", "doc": "

Class SSCConfig contains information about SSC configuration parameters.

\n\n
    \n
  • Set and get amplitude amplitude.
  • \n
  • Set and get frequency frequency.
  • \n
  • Enable flag.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.SSCConfig.enabled", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "SSCConfig.enabled", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.SSCConfig.amplitude", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "SSCConfig.amplitude", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.SSCConfig.frequency", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "SSCConfig.frequency", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig", "kind": "class", "doc": "

Main class contains variants of link configuration:

\n\n
    \n
  • DP 1.4 config DP8b10b.
  • \n
  • DP 2.1 config DP128b132b.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP8b10b", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP8b10b", "kind": "class", "doc": "

Class DP8b10b contains information of possible DP 1.4 configuration. Contains following field:

\n\n
    \n
  • lane count
  • \n
  • link bit rate
  • \n
  • MST
  • \n
  • MST stream count
  • \n
  • set enhanced framing mode
  • \n
  • Auto seed
  • \n
  • SSC
  • \n
  • FEC
  • \n
  • Force EDID timings after link training
  • \n
  • Adaptive-Sync auto enable
  • \n
  • Split SDP (if supported)
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP8b10b.lane_count", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP8b10b.lane_count", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP8b10b.bit_rate", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP8b10b.bit_rate", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP8b10b.mst", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP8b10b.mst", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP8b10b.mst_stream_count", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP8b10b.mst_stream_count", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP8b10b.enhanced_framing_mode", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP8b10b.enhanced_framing_mode", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP8b10b.auto_seed", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP8b10b.auto_seed", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP8b10b.ssc", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP8b10b.ssc", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP8b10b.fec", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP8b10b.fec", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP8b10b.force_edid_timings_after_lt", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP8b10b.force_edid_timings_after_lt", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP8b10b.adaptive_sync_auto_enable", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP8b10b.adaptive_sync_auto_enable", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP8b10b.split_sdp", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP8b10b.split_sdp", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP128b132b", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP128b132b", "kind": "class", "doc": "

Class DP128b132b contains information of possible DP 2.1 configuration. Contains following field:

\n\n
    \n
  • lane count
  • \n
  • link bit rate
  • \n
  • Force DP 128/132
  • \n
  • Maximum link bandwidth supported
  • \n
  • Set enhanced framing mode
  • \n
  • Auto seed
  • \n
  • SSC
  • \n
  • LLTPR
  • \n
  • Try (enable/disable) DP 128/132
  • \n
  • Old DP2 link training
  • \n
  • Force EDID timings after link training
  • \n
  • Adaptive-Sync auto enable
  • \n
  • Split SDP (if supported)
  • \n
  • Force eDP rates
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP128b132b.lane_count", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP128b132b.lane_count", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP128b132b.bit_rate", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP128b132b.bit_rate", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP128b132b.force_dp_128_132", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP128b132b.force_dp_128_132", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP128b132b.enhanced_framing_mode", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP128b132b.enhanced_framing_mode", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP128b132b.max_link_bandwidth_supported", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP128b132b.max_link_bandwidth_supported", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP128b132b.old_dp2_lt", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP128b132b.old_dp2_lt", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP128b132b.lttpr", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP128b132b.lttpr", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP128b132b.try_dp_128_132", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP128b132b.try_dp_128_132", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP128b132b.auto_seed", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP128b132b.auto_seed", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP128b132b.ssc", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP128b132b.ssc", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP128b132b.force_edid_timings_after_lt", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP128b132b.force_edid_timings_after_lt", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP128b132b.adaptive_sync_auto_enable", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP128b132b.adaptive_sync_auto_enable", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP128b132b.mst", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP128b132b.mst", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP128b132b.mst_stream_count", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP128b132b.mst_stream_count", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.DP128b132b.crc_16", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.DP128b132b.crc_16", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.Force8b10b", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.Force8b10b", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.Force8b10b.lane_count", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.Force8b10b.lane_count", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.Force8b10b.bit_rate", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.Force8b10b.bit_rate", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.Force8b10b.pattern", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.Force8b10b.pattern", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.Force128b132b", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.Force128b132b", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.Force128b132b.lane_count", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.Force128b132b.lane_count", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.Force128b132b.bit_rate", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.Force128b132b.bit_rate", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.Force128b132b.pattern", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.Force128b132b.pattern", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.eDP", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.eDP", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.eDP.lane_count", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.eDP.lane_count", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.eDP.force_edp", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.eDP.force_edp", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.eDP.eDp_cur_rate", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.eDP.eDp_cur_rate", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.eDP.eDp_supported_rates", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.eDP.eDp_supported_rates", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkConfig.eDP.eDp_aux_preamble", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkConfig.eDP.eDp_aux_preamble", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkStatus", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkStatus", "kind": "class", "doc": "

Main class describes current link status. Contains following field:

\n\n
    \n
  • Lane count
  • \n
  • BIt rate
  • \n
  • State of enhanced framing
  • \n
  • State of MST mode
  • \n
  • State of DSC mode
  • \n
  • LTTPR
  • \n
  • Link encoding DpLinkEncoding
  • \n
  • State of scrambling
  • \n
  • State of SSC
  • \n
  • State of FEC
  • \n
  • State of eDP
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkStatus.lane_count", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkStatus.lane_count", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkStatus.bit_rate", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkStatus.bit_rate", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkStatus.enhanced_framing", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkStatus.enhanced_framing", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkStatus.mst_enabled", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkStatus.mst_enabled", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkStatus.dsc_enabled", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkStatus.dsc_enabled", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkStatus.lttpr", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkStatus.lttpr", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkStatus.link_encoding", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkStatus.link_encoding", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkStatus.scrambling_enabled", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkStatus.scrambling_enabled", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkStatus.ssc_enabled", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkStatus.ssc_enabled", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkStatus.fec_enabled", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkStatus.fec_enabled", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_tx_types.LinkStatus.force_edp_enabled", "modulename": "UniTAP.dev.ports.modules.link.dp.link_tx_types", "qualname": "LinkStatus.force_edp_enabled", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_aux_controller", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_aux_controller", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_aux_controller.DisplayPortAUXController", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_aux_controller", "qualname": "DisplayPortAUXController", "kind": "class", "doc": "

Class DisplayPortAUXController describes information about DP AUX Controller. Contains following info:

\n\n
    \n
  • configure routed LT exec_routed_lt
  • \n
  • read routed T status status
  • \n
  • request PHY test pattern request_phy_test_pattern
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_aux_controller.DisplayPortAUXController.__init__", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_aux_controller", "qualname": "DisplayPortAUXController.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tdpcd: UniTAP.dev.ports.modules.dpcd.dpcd.DPCDRegisters)"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_aux_controller.DisplayPortAUXController.enable", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_aux_controller", "qualname": "DisplayPortAUXController.enable", "kind": "function", "doc": "

Enable or disable Routed LT.

\n\n
Arguments:
\n\n
    \n
  • enable ('bool')
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_aux_controller.DisplayPortAUXController.exec_routed_lt", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_aux_controller", "qualname": "DisplayPortAUXController.exec_routed_lt", "kind": "function", "doc": "

Execute routed link training with transferred configuration.

\n\n
Arguments:
\n\n
    \n
  • config ('RoutedLTConfig')
  • \n
  • use_ta_request (bool)
  • \n
\n", "signature": "(\tself,\tconfig: UniTAP.dev.ports.modules.link.dp.link_rx_types.RoutedLTConfig,\tuse_ta_request: bool = False):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_aux_controller.DisplayPortAUXController.request_phy_test_pattern", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_aux_controller", "qualname": "DisplayPortAUXController.request_phy_test_pattern", "kind": "function", "doc": "

Request PHY test pattern.

\n\n
Arguments:
\n\n
    \n
  • config ('RoutedLTConfig')
  • \n
  • pattern (int)
  • \n
  • sq_num (int)
  • \n
\n", "signature": "(\tself,\tpattern: int,\tsq_num: int,\tconfig: UniTAP.dev.ports.modules.link.dp.link_rx_types.RoutedLTConfig):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.dp.link_rx_aux_controller.DisplayPortAUXController.status", "modulename": "UniTAP.dev.ports.modules.link.dp.link_rx_aux_controller", "qualname": "DisplayPortAUXController.status", "kind": "function", "doc": "

Get Routed link training status.

\n\n
Returns:
\n\n
\n

object of RoutedLTStatus

\n
\n", "signature": "(self) -> UniTAP.dev.ports.modules.link.dp.link_rx_types.RoutedLTStatus:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "modulename": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcLoopbackAudioSource", "modulename": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "qualname": "ArcLoopbackAudioSource", "kind": "class", "doc": "

Class ArcLoopbackAudioSource contains all possible variants of ARC loopback audio source type.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcLoopbackAudioSource.Unknown", "modulename": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "qualname": "ArcLoopbackAudioSource.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<ArcLoopbackAudioSource.Unknown: -1>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcLoopbackAudioSource.TPG", "modulename": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "qualname": "ArcLoopbackAudioSource.TPG", "kind": "variable", "doc": "

\n", "default_value": "<ArcLoopbackAudioSource.TPG: 0>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcLoopbackAudioSource.HDMI", "modulename": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "qualname": "ArcLoopbackAudioSource.HDMI", "kind": "variable", "doc": "

\n", "default_value": "<ArcLoopbackAudioSource.HDMI: 1>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcLoopbackAudioSource.DVI", "modulename": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "qualname": "ArcLoopbackAudioSource.DVI", "kind": "variable", "doc": "

\n", "default_value": "<ArcLoopbackAudioSource.DVI: 2>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcLoopbackAudioSource.DP", "modulename": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "qualname": "ArcLoopbackAudioSource.DP", "kind": "variable", "doc": "

\n", "default_value": "<ArcLoopbackAudioSource.DP: 3>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcLoopbackAudioSource.SPDIF", "modulename": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "qualname": "ArcLoopbackAudioSource.SPDIF", "kind": "variable", "doc": "

\n", "default_value": "<ArcLoopbackAudioSource.SPDIF: 4>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcRx", "modulename": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "qualname": "ArcRx", "kind": "class", "doc": "

Class ArcRx contains information about caps and states of Audio return channel.

\n\n
    \n
  • Support ARC supported.
  • \n
  • Loopback support TGP loopback_supported_tpg.
  • \n
  • Loopback support HDMI loopback_supported_hdmi.
  • \n
  • Loopback support DVI loopback_supported_dvi.
  • \n
  • Loopback support DP loopback_supported_dp.
  • \n
  • Loopback support SPDIF loopback_supported_spdif.
  • \n
  • Current state (enabled/disabled) - enabled.
  • \n
  • Control of ARC Source arc_source.
  • \n
  • Control of single mode single_mode.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcRx.__init__", "modulename": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "qualname": "ArcRx.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO)"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcRx.supported", "modulename": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "qualname": "ArcRx.supported", "kind": "variable", "doc": "

\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcRx.loopback_supported_tpg", "modulename": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "qualname": "ArcRx.loopback_supported_tpg", "kind": "variable", "doc": "

\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcRx.loopback_supported_hdmi", "modulename": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "qualname": "ArcRx.loopback_supported_hdmi", "kind": "variable", "doc": "

\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcRx.loopback_supported_dvi", "modulename": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "qualname": "ArcRx.loopback_supported_dvi", "kind": "variable", "doc": "

\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcRx.loopback_supported_dp", "modulename": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "qualname": "ArcRx.loopback_supported_dp", "kind": "variable", "doc": "

\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcRx.loopback_supported_spdif", "modulename": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "qualname": "ArcRx.loopback_supported_spdif", "kind": "variable", "doc": "

\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcRx.enabled", "modulename": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "qualname": "ArcRx.enabled", "kind": "variable", "doc": "

\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcRx.arc_source", "modulename": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "qualname": "ArcRx.arc_source", "kind": "variable", "doc": "

\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcLoopbackAudioSource"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcRx.single_mode", "modulename": "UniTAP.dev.ports.modules.link.hdmi.arc_rx", "qualname": "ArcRx.single_mode", "kind": "variable", "doc": "

\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.capabilities", "modulename": "UniTAP.dev.ports.modules.link.hdmi.capabilities", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.capabilities.HdmiCapabilities", "modulename": "UniTAP.dev.ports.modules.link.hdmi.capabilities", "qualname": "HdmiCapabilities", "kind": "class", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.capabilities.HdmiCapabilities.__init__", "modulename": "UniTAP.dev.ports.modules.link.hdmi.capabilities", "qualname": "HdmiCapabilities.__init__", "kind": "function", "doc": "

\n", "signature": "(ci_control: int, port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO)"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.capabilities.HdmiCapabilities.support_tmds", "modulename": "UniTAP.dev.ports.modules.link.hdmi.capabilities", "qualname": "HdmiCapabilities.support_tmds", "kind": "variable", "doc": "

\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.capabilities.HdmiCapabilities.support_frl", "modulename": "UniTAP.dev.ports.modules.link.hdmi.capabilities", "qualname": "HdmiCapabilities.support_frl", "kind": "variable", "doc": "

\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.capabilities.HdmiCapabilities.support_arc", "modulename": "UniTAP.dev.ports.modules.link.hdmi.capabilities", "qualname": "HdmiCapabilities.support_arc", "kind": "variable", "doc": "

\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.capabilities.HdmiCapabilities.support_hdcp", "modulename": "UniTAP.dev.ports.modules.link.hdmi.capabilities", "qualname": "HdmiCapabilities.support_hdcp", "kind": "variable", "doc": "

\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.capabilities.HdmiCapabilities.support_hdmi_mode_14", "modulename": "UniTAP.dev.ports.modules.link.hdmi.capabilities", "qualname": "HdmiCapabilities.support_hdmi_mode_14", "kind": "variable", "doc": "

\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.capabilities.HdmiCapabilities.support_hdmi_mode_20", "modulename": "UniTAP.dev.ports.modules.link.hdmi.capabilities", "qualname": "HdmiCapabilities.support_hdmi_mode_20", "kind": "variable", "doc": "

\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.capabilities.HdmiCapabilities.support_hdmi_mode_21", "modulename": "UniTAP.dev.ports.modules.link.hdmi.capabilities", "qualname": "HdmiCapabilities.support_hdmi_mode_21", "kind": "variable", "doc": "

\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_caps_rx", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_caps_rx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_caps_rx.FrlControlRx", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_caps_rx", "qualname": "FrlControlRx", "kind": "class", "doc": "

Class FrlControlRx contains information about FRL on Sink (RX - receiver) side.\nallows working with:

\n\n
    \n
  • Set and get FRL mode frl_mode.
  • \n
  • Set and get FRL capabilities frl_caps.
  • \n
  • Set and get LTP requested ltp_request and additional ltp_additional.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_caps_rx.FrlControlRx.__init__", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_caps_rx", "qualname": "FrlControlRx.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO)"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_caps_rx.FrlControlRx.frl_mode", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_caps_rx", "qualname": "FrlControlRx.frl_mode", "kind": "variable", "doc": "

Returns current FRL mode.

\n\n
Returns:
\n\n
\n

object of FrlMode type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.types.FrlMode"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_caps_rx.FrlControlRx.frl_caps", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_caps_rx", "qualname": "FrlControlRx.frl_caps", "kind": "variable", "doc": "

Returns current FRL capabilities.

\n\n
Returns:
\n\n
\n

object of FrlCaps type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.types.FrlCaps"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_caps_rx.FrlControlRx.ltp_request", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_caps_rx", "qualname": "FrlControlRx.ltp_request", "kind": "variable", "doc": "

Returns current LTP lanes pattern. Current Pattern that is being checking during Link Training.\nEach lane can request different pattern.

\n\n
Returns:
\n\n
\n

object of LtpLanesPattern type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.types.LtpLanesPattern"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_caps_rx.FrlControlRx.ltp_additional", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_caps_rx", "qualname": "FrlControlRx.ltp_additional", "kind": "variable", "doc": "

Returns current additional LTP lanes pattern. Current Pattern that is being checking during Link Training.\nEach lane can request different pattern.

\n\n
Returns:
\n\n
\n

object of LtpLanesPattern type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.types.LtpLanesPattern"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_caps_rx.FrlControlRx.re_train", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_caps_rx", "qualname": "FrlControlRx.re_train", "kind": "function", "doc": "

DO re train.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FfeMax", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "qualname": "FfeMax", "kind": "class", "doc": "

Class FfeMax allows working with FFE on HDMI.\nPossible to configure:

\n\n
    \n
  • Set and get Value for mode 3 lanes and 3 Gbps mode_3lanes_3gbps.
  • \n
  • Set and get Value for mode 3 lanes and 6 Gbps mode_3lanes_6gbps.
  • \n
  • Set and get Value for mode 4 lanes and 6 Gbps mode_4lanes_6gbps.
  • \n
  • Set and get Value for mode 4 lanes and 8 Gbps mode_4lanes_8gbps.
  • \n
  • Set and get Value for mode 4 lanes and 10 Gbps mode_4lanes_10gbps.
  • \n
  • Set and get Value for mode 4 lanes and 12 Gbps mode_4lanes_12gbps.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FfeMax.__init__", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "qualname": "FfeMax.__init__", "kind": "function", "doc": "

\n", "signature": "(\tmode_3lanes_3gbps: int = 0,\tmode_3lanes_6gbps: int = 0,\tmode_4lanes_6gbps: int = 0,\tmode_4lanes_8gbps: int = 0,\tmode_4lanes_10gbps: int = 0,\tmode_4lanes_12gbps: int = 0)"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FfeMax.mode_3lanes_3gbps", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "qualname": "FfeMax.mode_3lanes_3gbps", "kind": "variable", "doc": "

Returns current value for mode 3 lanes and 3 Gbps.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FfeMax.mode_3lanes_6gbps", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "qualname": "FfeMax.mode_3lanes_6gbps", "kind": "variable", "doc": "

Returns current value for mode 3 lanes and 6 Gbps.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FfeMax.mode_4lanes_6gbps", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "qualname": "FfeMax.mode_4lanes_6gbps", "kind": "variable", "doc": "

Returns current value for mode 6 lanes and 6 Gbps.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FfeMax.mode_4lanes_8gbps", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "qualname": "FfeMax.mode_4lanes_8gbps", "kind": "variable", "doc": "

Returns current value for mode 6 lanes and 8 Gbps.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FfeMax.mode_4lanes_10gbps", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "qualname": "FfeMax.mode_4lanes_10gbps", "kind": "variable", "doc": "

Returns current value for mode 6 lanes and 10 Gbps.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FfeMax.mode_4lanes_12gbps", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "qualname": "FfeMax.mode_4lanes_12gbps", "kind": "variable", "doc": "

Returns current value for mode 6 lanes and 12 Gbps.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FfeMax.value", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "qualname": "FfeMax.value", "kind": "function", "doc": "

Returns current combined value from all modes.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "signature": "(self) -> int:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FrlControlTx", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "qualname": "FrlControlTx", "kind": "class", "doc": "

Class FrlControlTx contains information about FRL on Source (TX - transmitter) side.\nallows working with:

\n\n
    \n
  • Set and get FRL mode frl_mode.
  • \n
  • Set and get FRL capabilities frl_caps.
  • \n
  • Set and get FFE max ffe_max.
  • \n
  • Set and get LTP requested ltp_pattern and additional ltp_additional_pattern.
  • \n
  • Set link training timeout lt_timeout and link training poll timeout lt_poll_timeout.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FrlControlTx.__init__", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "qualname": "FrlControlTx.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO)"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FrlControlTx.ltp_pattern", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "qualname": "FrlControlTx.ltp_pattern", "kind": "variable", "doc": "

Returns current LTP lanes pattern. Current Pattern that is being checking during Link Training.\nEach lane can request different pattern.

\n\n
Returns:
\n\n
\n

object of LtpLanesPattern type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.types.LtpLanesPattern"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FrlControlTx.ltp_additional_pattern", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "qualname": "FrlControlTx.ltp_additional_pattern", "kind": "variable", "doc": "

Returns current additional LTP lanes pattern. Current Pattern that is being checking during Link Training.\nEach lane can request different pattern.

\n\n
Returns:
\n\n
\n

object of LtpLanesPattern type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.types.LtpLanesPattern"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FrlControlTx.frl_caps", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "qualname": "FrlControlTx.frl_caps", "kind": "variable", "doc": "

Returns current FRL capabilities.

\n\n
Returns:
\n\n
\n

object of FrlCaps type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.types.FrlCaps"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FrlControlTx.frl_mode", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "qualname": "FrlControlTx.frl_mode", "kind": "variable", "doc": "

Returns current FRL mode.

\n\n
Returns:
\n\n
\n

object of FrlMode type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.types.FrlMode"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FrlControlTx.ffe_max", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "qualname": "FrlControlTx.ffe_max", "kind": "variable", "doc": "

Returns current FFE MAX values.

\n\n
Returns:
\n\n
\n

object of FfeMax type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FfeMax"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FrlControlTx.lt_timeout", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "qualname": "FrlControlTx.lt_timeout", "kind": "variable", "doc": "

Returns current value of link training timeout.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FrlControlTx.lt_poll_timeout", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "qualname": "FrlControlTx.lt_poll_timeout", "kind": "variable", "doc": "

Returns current value of link training poll timeout.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FrlControlTx.link_training", "modulename": "UniTAP.dev.ports.modules.link.hdmi.frl_control_tx", "qualname": "FrlControlTx.link_training", "kind": "function", "doc": "

Do link training.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.link", "modulename": "UniTAP.dev.ports.modules.link.hdmi.link", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.link.HdmiLinkTx", "modulename": "UniTAP.dev.ports.modules.link.hdmi.link", "qualname": "HdmiLinkTx", "kind": "class", "doc": "

Main class describes HDMI link on Source (TX - transmitter) side. Contains following objects for working with link:

\n\n
    \n
  • TMDS tmds.
  • \n
  • FRL frl.
  • \n
  • Status status.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.link.HdmiLinkTx.__init__", "modulename": "UniTAP.dev.ports.modules.link.hdmi.link", "qualname": "HdmiLinkTx.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO)"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.link.HdmiLinkTx.tmds", "modulename": "UniTAP.dev.ports.modules.link.hdmi.link", "qualname": "HdmiLinkTx.tmds", "kind": "variable", "doc": "

Returns object of class TmdsTx for working with TMDS.\nNone if TMDS does not support on the device.

\n\n
Returns:
\n\n
\n

object of TmdsTx|None type

\n
\n", "annotation": ": Optional[UniTAP.dev.ports.modules.link.hdmi.tmds_tx.TmdsTx]"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.link.HdmiLinkTx.frl", "modulename": "UniTAP.dev.ports.modules.link.hdmi.link", "qualname": "HdmiLinkTx.frl", "kind": "variable", "doc": "

Returns object of class FrlControlTx for working with FRL.\nNone if FRL does not support on the device.

\n\n
Returns:
\n\n
\n

object of FrlControlTx|None type

\n
\n", "annotation": ": Optional[UniTAP.dev.ports.modules.link.hdmi.frl_control_tx.FrlControlTx]"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.link.HdmiLinkTx.status", "modulename": "UniTAP.dev.ports.modules.link.hdmi.link", "qualname": "HdmiLinkTx.status", "kind": "variable", "doc": "

Returns object of class StatusTx for working with link status.

\n\n
Returns:
\n\n
\n

object of StatusTx type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.status_tx.StatusTx"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.link.HdmiLinkRx", "modulename": "UniTAP.dev.ports.modules.link.hdmi.link", "qualname": "HdmiLinkRx", "kind": "class", "doc": "

Main class describes HDMI link on Sink (RX - receiver) side. Contains following objects for working with link:

\n\n
    \n
  • TMDS tmds.
  • \n
  • FRL frl.
  • \n
  • ARC arc.
  • \n
  • Status status.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.link.HdmiLinkRx.__init__", "modulename": "UniTAP.dev.ports.modules.link.hdmi.link", "qualname": "HdmiLinkRx.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO)"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.link.HdmiLinkRx.tmds", "modulename": "UniTAP.dev.ports.modules.link.hdmi.link", "qualname": "HdmiLinkRx.tmds", "kind": "variable", "doc": "

Returns object of class TmdsRx for working with TMDS.\nNone if TMDS does not support on the device.

\n\n
Returns:
\n\n
\n

object of TmdsRx|None type

\n
\n", "annotation": ": Optional[UniTAP.dev.ports.modules.link.hdmi.tmds_rx.TmdsRx]"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.link.HdmiLinkRx.frl", "modulename": "UniTAP.dev.ports.modules.link.hdmi.link", "qualname": "HdmiLinkRx.frl", "kind": "variable", "doc": "

Returns object of class FrlControlRx for working with FRL.\nNone if FRL does not support on the device.

\n\n
Returns:
\n\n
\n

object of FrlControlRx|None type

\n
\n", "annotation": ": Optional[UniTAP.dev.ports.modules.link.hdmi.frl_caps_rx.FrlControlRx]"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.link.HdmiLinkRx.arc", "modulename": "UniTAP.dev.ports.modules.link.hdmi.link", "qualname": "HdmiLinkRx.arc", "kind": "variable", "doc": "

Returns object of class ArcRx for working with ARC.\nNone if ARC does not support on the device.

\n\n
Returns:
\n\n
\n

object of ArcRx|None type

\n
\n", "annotation": ": Optional[UniTAP.dev.ports.modules.link.hdmi.arc_rx.ArcRx]"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.link.HdmiLinkRx.status", "modulename": "UniTAP.dev.ports.modules.link.hdmi.link", "qualname": "HdmiLinkRx.status", "kind": "variable", "doc": "

Returns object of class StatusRx for working with link status.

\n\n
Returns:
\n\n
\n

object of StatusRx type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.status_rx.StatusRx"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.status_rx", "modulename": "UniTAP.dev.ports.modules.link.hdmi.status_rx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.status_rx.StatusRx", "modulename": "UniTAP.dev.ports.modules.link.hdmi.status_rx", "qualname": "StatusRx", "kind": "class", "doc": "

Class StatusRx describes information about HDMI link status on Sink (RX - receiver) side. Contains following info:

\n\n
    \n
  • HDMI mode hdmi_mode.
  • \n
  • Link Error counters error_counters.
  • \n
  • Channel lock channel_lock.
  • \n
  • HPD status hpd_status and HPD assert set_assert_state.
  • \n
  • Stream info stream.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.status_rx.StatusRx.__init__", "modulename": "UniTAP.dev.ports.modules.link.hdmi.status_rx", "qualname": "StatusRx.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO)"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.status_rx.StatusRx.hdmi_mode", "modulename": "UniTAP.dev.ports.modules.link.hdmi.status_rx", "qualname": "StatusRx.hdmi_mode", "kind": "variable", "doc": "

Returns current HDMI mode.

\n\n
Returns:
\n\n
\n

object of HdmiModeRx type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.types.HdmiModeRx"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.status_rx.StatusRx.error_counters", "modulename": "UniTAP.dev.ports.modules.link.hdmi.status_rx", "qualname": "StatusRx.error_counters", "kind": "variable", "doc": "

Returns values of current errors on link.

\n\n
Returns:
\n\n
\n

object of list type

\n
\n", "annotation": ": list"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.status_rx.StatusRx.set_assert_state", "modulename": "UniTAP.dev.ports.modules.link.hdmi.status_rx", "qualname": "StatusRx.set_assert_state", "kind": "function", "doc": "

Assert/Deassert HPD state.

\n\n
Arguments:
\n\n
    \n
  • asserted (bool)
  • \n
\n", "signature": "(self, asserted: bool = True):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.status_rx.StatusRx.channel_lock", "modulename": "UniTAP.dev.ports.modules.link.hdmi.status_rx", "qualname": "StatusRx.channel_lock", "kind": "variable", "doc": "

Returns channel lock states of current link.

\n\n
Returns:
\n\n
\n

object of list type

\n
\n", "annotation": ": list"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.status_rx.StatusRx.hpd_status", "modulename": "UniTAP.dev.ports.modules.link.hdmi.status_rx", "qualname": "StatusRx.hpd_status", "kind": "variable", "doc": "

Returns True if HDP is enabled, False - if not.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.status_rx.StatusRx.stream", "modulename": "UniTAP.dev.ports.modules.link.hdmi.status_rx", "qualname": "StatusRx.stream", "kind": "function", "doc": "

Returns status of selected stream StreamStatus.

\n\n
Arguments:
\n\n
    \n
  • stream_index (int) - number of selected number
  • \n
\n\n
Returns:
\n\n
\n

object of StreamStatus type

\n
\n", "signature": "(\tself,\tstream_index: int = 0) -> UniTAP.dev.ports.modules.link.dp.link_status_common.StreamStatus:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.status_tx", "modulename": "UniTAP.dev.ports.modules.link.hdmi.status_tx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.status_tx.StatusTx", "modulename": "UniTAP.dev.ports.modules.link.hdmi.status_tx", "qualname": "StatusTx", "kind": "class", "doc": "

Class StatusTx describes information about HDMI link status on Source (TX - transmitter) side.\nContains following info:

\n\n
    \n
  • Set and get HDMI mode hdmi_mode.
  • \n
  • Link Error counters error_counters.
  • \n
  • Video status video_status.
  • \n
  • Channel lock channel_lock.
  • \n
  • HPD status hpd_status.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.status_tx.StatusTx.__init__", "modulename": "UniTAP.dev.ports.modules.link.hdmi.status_tx", "qualname": "StatusTx.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO)"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.status_tx.StatusTx.video_status", "modulename": "UniTAP.dev.ports.modules.link.hdmi.status_tx", "qualname": "StatusTx.video_status", "kind": "variable", "doc": "

Returns current video status (video enable or not).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.status_tx.StatusTx.error_counters", "modulename": "UniTAP.dev.ports.modules.link.hdmi.status_tx", "qualname": "StatusTx.error_counters", "kind": "variable", "doc": "

Returns values of current errors on link.

\n\n
Returns:
\n\n
\n

object of list type

\n
\n", "annotation": ": list"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.status_tx.StatusTx.channel_lock", "modulename": "UniTAP.dev.ports.modules.link.hdmi.status_tx", "qualname": "StatusTx.channel_lock", "kind": "variable", "doc": "

Returns channel lock states of current link.

\n\n
Returns:
\n\n
\n

object of list type

\n
\n", "annotation": ": list"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.status_tx.StatusTx.hpd_status", "modulename": "UniTAP.dev.ports.modules.link.hdmi.status_tx", "qualname": "StatusTx.hpd_status", "kind": "variable", "doc": "

Returns True if HDP is enabled, False - if not.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.status_tx.StatusTx.hdmi_mode", "modulename": "UniTAP.dev.ports.modules.link.hdmi.status_tx", "qualname": "StatusTx.hdmi_mode", "kind": "variable", "doc": "

Returns current HDMI mode.

\n\n
Returns:
\n\n
\n

object of HdmiModeTx type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.types.HdmiModeTx"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.status_tx.StatusTx.available_link_rate", "modulename": "UniTAP.dev.ports.modules.link.hdmi.status_tx", "qualname": "StatusTx.available_link_rate", "kind": "variable", "doc": "

Returns available link rate.

\n\n
Returns:
\n\n
\n

object of float type

\n
\n", "annotation": ": float"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.tmds_rx", "modulename": "UniTAP.dev.ports.modules.link.hdmi.tmds_rx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.tmds_rx.TmdsRx", "modulename": "UniTAP.dev.ports.modules.link.hdmi.tmds_rx", "qualname": "TmdsRx", "kind": "class", "doc": "

CLass TmdsRx allows working with TMDS on Sink (RX - receiver) side.

\n\n
    \n
  • Get link mode link_mode.
  • \n
  • Get clock rate clock_rate.
  • \n
  • Get input stream lock state input_stream_lock.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.tmds_rx.TmdsRx.__init__", "modulename": "UniTAP.dev.ports.modules.link.hdmi.tmds_rx", "qualname": "TmdsRx.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO)"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.tmds_rx.TmdsRx.clock_rate", "modulename": "UniTAP.dev.ports.modules.link.hdmi.tmds_rx", "qualname": "TmdsRx.clock_rate", "kind": "variable", "doc": "

Returns current clock rate.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.tmds_rx.TmdsRx.link_mode", "modulename": "UniTAP.dev.ports.modules.link.hdmi.tmds_rx", "qualname": "TmdsRx.link_mode", "kind": "variable", "doc": "

Returns current link mode.

\n\n
Returns:
\n\n
\n

object of LinkMode type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.types.LinkMode"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.tmds_rx.TmdsRx.input_stream_lock", "modulename": "UniTAP.dev.ports.modules.link.hdmi.tmds_rx", "qualname": "TmdsRx.input_stream_lock", "kind": "variable", "doc": "

Returns current state of input stream lock.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.tmds_tx", "modulename": "UniTAP.dev.ports.modules.link.hdmi.tmds_tx", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.tmds_tx.TmdsTx", "modulename": "UniTAP.dev.ports.modules.link.hdmi.tmds_tx", "qualname": "TmdsTx", "kind": "class", "doc": "

CLass TmdsRx allows working with TMDS on Source (TX - transmitter) side.

\n\n
    \n
  • Get link mode link_mode.
  • \n
  • Set and get clock rate clock_rate.
  • \n
  • Set and get scrambler scrambler.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.tmds_tx.TmdsTx.__init__", "modulename": "UniTAP.dev.ports.modules.link.hdmi.tmds_tx", "qualname": "TmdsTx.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO)"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.tmds_tx.TmdsTx.clock_rate", "modulename": "UniTAP.dev.ports.modules.link.hdmi.tmds_tx", "qualname": "TmdsTx.clock_rate", "kind": "variable", "doc": "

Returns current clock rate.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.tmds_tx.TmdsTx.link_mode", "modulename": "UniTAP.dev.ports.modules.link.hdmi.tmds_tx", "qualname": "TmdsTx.link_mode", "kind": "variable", "doc": "

Returns current link mode.

\n\n
Returns:
\n\n
\n

object of LinkMode type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.types.LinkMode"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.tmds_tx.TmdsTx.scrambler", "modulename": "UniTAP.dev.ports.modules.link.hdmi.tmds_tx", "qualname": "TmdsTx.scrambler", "kind": "variable", "doc": "

Returns current scrambler state.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.FrlMode", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "FrlMode", "kind": "class", "doc": "

Class FrlMode contains all possible variants of FRL modes.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.FrlMode.Mode_Unknown", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "FrlMode.Mode_Unknown", "kind": "variable", "doc": "

\n", "default_value": "<FrlMode.Mode_Unknown: -1>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.FrlMode.Mode_Disable", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "FrlMode.Mode_Disable", "kind": "variable", "doc": "

\n", "default_value": "<FrlMode.Mode_Disable: 0>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.FrlMode.Mode_3lanes_3gbps", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "FrlMode.Mode_3lanes_3gbps", "kind": "variable", "doc": "

\n", "default_value": "<FrlMode.Mode_3lanes_3gbps: 1>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.FrlMode.Mode_3lanes_6gbps", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "FrlMode.Mode_3lanes_6gbps", "kind": "variable", "doc": "

\n", "default_value": "<FrlMode.Mode_3lanes_6gbps: 2>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.FrlMode.Mode_4lanes_6gbps", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "FrlMode.Mode_4lanes_6gbps", "kind": "variable", "doc": "

\n", "default_value": "<FrlMode.Mode_4lanes_6gbps: 3>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.FrlMode.Mode_4lanes_8gbps", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "FrlMode.Mode_4lanes_8gbps", "kind": "variable", "doc": "

\n", "default_value": "<FrlMode.Mode_4lanes_8gbps: 4>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.FrlMode.Mode_4lanes_10gbps", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "FrlMode.Mode_4lanes_10gbps", "kind": "variable", "doc": "

\n", "default_value": "<FrlMode.Mode_4lanes_10gbps: 5>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.FrlMode.Mode_4lanes_12gbps", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "FrlMode.Mode_4lanes_12gbps", "kind": "variable", "doc": "

\n", "default_value": "<FrlMode.Mode_4lanes_12gbps: 6>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LtpPattern", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LtpPattern", "kind": "class", "doc": "

Class LtpPattern contains all possible variants of LTP pattern types.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LtpPattern.Unknown", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LtpPattern.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<LtpPattern.Unknown: -1>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LtpPattern.NoLinkPattern", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LtpPattern.NoLinkPattern", "kind": "variable", "doc": "

\n", "default_value": "<LtpPattern.NoLinkPattern: 0>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LtpPattern.All_1s", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LtpPattern.All_1s", "kind": "variable", "doc": "

\n", "default_value": "<LtpPattern.All_1s: 1>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LtpPattern.All_0s", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LtpPattern.All_0s", "kind": "variable", "doc": "

\n", "default_value": "<LtpPattern.All_0s: 2>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LtpPattern.NyquistClockPattern", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LtpPattern.NyquistClockPattern", "kind": "variable", "doc": "

\n", "default_value": "<LtpPattern.NyquistClockPattern: 3>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LtpPattern.SourceTxFFECompliance", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LtpPattern.SourceTxFFECompliance", "kind": "variable", "doc": "

\n", "default_value": "<LtpPattern.SourceTxFFECompliance: 4>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LtpPattern.LFSR0", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LtpPattern.LFSR0", "kind": "variable", "doc": "

\n", "default_value": "<LtpPattern.LFSR0: 5>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LtpPattern.LFSR1", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LtpPattern.LFSR1", "kind": "variable", "doc": "

\n", "default_value": "<LtpPattern.LFSR1: 6>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LtpPattern.LFSR2", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LtpPattern.LFSR2", "kind": "variable", "doc": "

\n", "default_value": "<LtpPattern.LFSR2: 7>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LtpPattern.LFSR3", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LtpPattern.LFSR3", "kind": "variable", "doc": "

\n", "default_value": "<LtpPattern.LFSR3: 8>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.ScramblerState", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "ScramblerState", "kind": "class", "doc": "

Class ScramblerState contains all possible variants of scrambler states.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.ScramblerState.Unknown", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "ScramblerState.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<ScramblerState.Unknown: -1>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.ScramblerState.Disable", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "ScramblerState.Disable", "kind": "variable", "doc": "

\n", "default_value": "<ScramblerState.Disable: 0>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.ScramblerState.Enable", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "ScramblerState.Enable", "kind": "variable", "doc": "

\n", "default_value": "<ScramblerState.Enable: 1>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LinkMode", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LinkMode", "kind": "class", "doc": "

Class LinkMode contains all possible variants of Link modes.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LinkMode.Unknown", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LinkMode.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<LinkMode.Unknown: -1>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LinkMode.HDMI", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LinkMode.HDMI", "kind": "variable", "doc": "

\n", "default_value": "<LinkMode.HDMI: 0>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LinkMode.DVI", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LinkMode.DVI", "kind": "variable", "doc": "

\n", "default_value": "<LinkMode.DVI: 1>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.ClockRate", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "ClockRate", "kind": "class", "doc": "

Class ClockRate contains all possible variants of clock rate.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.ClockRate.Unknown", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "ClockRate.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<ClockRate.Unknown: -1>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.ClockRate.Rate3G", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "ClockRate.Rate3G", "kind": "variable", "doc": "

\n", "default_value": "<ClockRate.Rate3G: 0>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.ClockRate.Rate6G", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "ClockRate.Rate6G", "kind": "variable", "doc": "

\n", "default_value": "<ClockRate.Rate6G: 1>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.HdmiModeTx", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "HdmiModeTx", "kind": "class", "doc": "

Class HdmiModeTx contains all possible variants of HDMI modes on TX side.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.HdmiModeTx.Unknown", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "HdmiModeTx.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<HdmiModeTx.Unknown: -1>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.HdmiModeTx.HDMI_2_0", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "HdmiModeTx.HDMI_2_0", "kind": "variable", "doc": "

\n", "default_value": "<HdmiModeTx.HDMI_2_0: 0>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.HdmiModeTx.HDMI_1_4", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "HdmiModeTx.HDMI_1_4", "kind": "variable", "doc": "

\n", "default_value": "<HdmiModeTx.HDMI_1_4: 1>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.HdmiModeTx.HDMI_2_1", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "HdmiModeTx.HDMI_2_1", "kind": "variable", "doc": "

\n", "default_value": "<HdmiModeTx.HDMI_2_1: 2>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.HdmiModeRx", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "HdmiModeRx", "kind": "class", "doc": "

Class HdmiModeRx contains all possible variants of HDMI modes on RX side.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.HdmiModeRx.Unknown", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "HdmiModeRx.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<HdmiModeRx.Unknown: -1>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.HdmiModeRx.HDMI_1_4", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "HdmiModeRx.HDMI_1_4", "kind": "variable", "doc": "

\n", "default_value": "<HdmiModeRx.HDMI_1_4: 0>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.HdmiModeRx.HDMI_2_0", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "HdmiModeRx.HDMI_2_0", "kind": "variable", "doc": "

\n", "default_value": "<HdmiModeRx.HDMI_2_0: 1>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.HdmiModeRx.HDMI_2_1", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "HdmiModeRx.HDMI_2_1", "kind": "variable", "doc": "

\n", "default_value": "<HdmiModeRx.HDMI_2_1: 2>"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LtpLanesPattern", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LtpLanesPattern", "kind": "class", "doc": "

Class LtpLanesPattern describes LTP pattern values on all lanes.

\n\n
    \n
  • Lane 0 lane0.
  • \n
  • Lane 1 lane1.
  • \n
  • Lane 2 lane2.
  • \n
  • Lane 3 lane3.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LtpLanesPattern.lane0", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LtpLanesPattern.lane0", "kind": "variable", "doc": "

Returns LtpPattern value of line 0.

\n\n
Returns:
\n\n
\n

object of LtpPattern type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.types.LtpPattern"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LtpLanesPattern.lane1", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LtpLanesPattern.lane1", "kind": "variable", "doc": "

Returns LtpPattern value of line 1.

\n\n
Returns:
\n\n
\n

object of LtpPattern type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.types.LtpPattern"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LtpLanesPattern.lane2", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LtpLanesPattern.lane2", "kind": "variable", "doc": "

Returns LtpPattern value of line 2.

\n\n
Returns:
\n\n
\n

object of LtpPattern type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.types.LtpPattern"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LtpLanesPattern.lane3", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LtpLanesPattern.lane3", "kind": "variable", "doc": "

Returns LtpPattern value of line 3.

\n\n
Returns:
\n\n
\n

object of LtpPattern type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.link.hdmi.types.LtpPattern"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.LtpLanesPattern.value", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "LtpLanesPattern.value", "kind": "function", "doc": "

Returns combines value of all lines.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "signature": "(self) -> int:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.FrlCaps", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "FrlCaps", "kind": "class", "doc": "

Class FrlCaps describes FRL capabilities.

\n\n
    \n
  • FRL start frl_start.
  • \n
  • FLT no timeout flt_no_timeout.
  • \n
  • FLT ready flt_ready
  • \n
  • FRL max frl_max.
  • \n
  • Check patterns state check_patterns.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.FrlCaps.frl_start", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "FrlCaps.frl_start", "kind": "variable", "doc": "

Returns state of FRL start.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.FrlCaps.flt_no_timeout", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "FrlCaps.flt_no_timeout", "kind": "variable", "doc": "

Returns state of FLT no timeout.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.FrlCaps.flt_ready", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "FrlCaps.flt_ready", "kind": "variable", "doc": "

Returns state of FLT ready.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.FrlCaps.frl_max", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "FrlCaps.frl_max", "kind": "variable", "doc": "

Returns state of FLT max.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.FrlCaps.check_patterns", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "FrlCaps.check_patterns", "kind": "variable", "doc": "

Returns state of check patterns.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.link.hdmi.types.FrlCaps.value", "modulename": "UniTAP.dev.ports.modules.link.hdmi.types", "qualname": "FrlCaps.value", "kind": "function", "doc": "

Returns combined value of all flags.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "signature": "(self) -> int:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr.PanelReplay", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr", "qualname": "PanelReplay", "kind": "class", "doc": "

Class PanelReplay contains information about Panel Replay feature.

\n\n
    \n
  • Read Panel Replay status.
  • \n
  • Configure Panel Replay config.
  • \n
  • Disable Panel Replay disable.
  • \n
  • Enable Active mode active_mode.
  • \n
  • Enable Inactive mode inactive_mode.
  • \n
  • Enable selective update selective_update.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr.PanelReplay.__init__", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr", "qualname": "PanelReplay.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO, pg_caps)"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr.PanelReplay.status", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr", "qualname": "PanelReplay.status", "kind": "variable", "doc": "

Returns object of class PanelReplayStatus for working with Panel Replay Status.

\n\n
Returns:
\n\n
\n

object of PanelReplayStatus type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.panel_replay.pr_status.PanelReplayStatus"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr.PanelReplay.config", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr", "qualname": "PanelReplay.config", "kind": "variable", "doc": "

Returns object of class PanelReplayConfig for configuration PR.

\n\n
Returns:
\n\n
\n

object of PanelReplayStatus type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.panel_replay.pr_config.PanelReplayConfig"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr.PanelReplay.disable", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr", "qualname": "PanelReplay.disable", "kind": "function", "doc": "

Disable Panel Replay

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr.PanelReplay.active_mode", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr", "qualname": "PanelReplay.active_mode", "kind": "function", "doc": "

Enable active mode

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr.PanelReplay.inactive_mode", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr", "qualname": "PanelReplay.inactive_mode", "kind": "function", "doc": "

Enable inactive mode

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr.PanelReplay.selective_update", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr", "qualname": "PanelReplay.selective_update", "kind": "function", "doc": "

Enable selective update mode (if device supports this feature)

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_config", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_config", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_config.PanelReplayConfig", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_config", "qualname": "PanelReplayConfig", "kind": "class", "doc": "

Class PanelReplayConfig contains information about Panel Replay Configuration.

\n\n
    \n
  • Set configuration object PrSettings, function set.
  • \n
  • Get configuration object PrSettings, function get.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_config.PanelReplayConfig.__init__", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_config", "qualname": "PanelReplayConfig.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO, pg_caps)"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_config.PanelReplayConfig.pr_caps", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_config", "qualname": "PanelReplayConfig.pr_caps", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_config.PanelReplayConfig.set", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_config", "qualname": "PanelReplayConfig.set", "kind": "function", "doc": "

Write new configuration.

\n\n
Arguments:
\n\n
    \n
  • config (PrSettings).
  • \n
\n", "signature": "(\tself,\tconfig: UniTAP.dev.ports.modules.panel_replay.pr_types.PrSettings):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_config.PanelReplayConfig.get", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_config", "qualname": "PanelReplayConfig.get", "kind": "function", "doc": "

Returns current Panel Replay Configuration.

\n\n
Returns:
\n\n
\n

object of PrSettings type

\n
\n", "signature": "(self) -> UniTAP.dev.ports.modules.panel_replay.pr_types.PrSettings:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_config.PanelReplayConfig.get_available_y_granularity_values", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_config", "qualname": "PanelReplayConfig.get_available_y_granularity_values", "kind": "function", "doc": "

Get available values for Y Granularity.

\n\n
Returns:
\n\n
\n

list of YGranularity type

\n
\n", "signature": "(\tself) -> List[UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRCommand", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRCommand", "kind": "class", "doc": "

Class PRCommand contains all possible variants of Panel Replay Command.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRCommand.No", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRCommand.No", "kind": "variable", "doc": "

\n", "default_value": "<PRCommand.No: 0>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRCommand.EnablingInactive", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRCommand.EnablingInactive", "kind": "variable", "doc": "

\n", "default_value": "<PRCommand.EnablingInactive: 1>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRCommand.EnablingActive", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRCommand.EnablingActive", "kind": "variable", "doc": "

\n", "default_value": "<PRCommand.EnablingActive: 2>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRCommand.RFB", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRCommand.RFB", "kind": "variable", "doc": "

\n", "default_value": "<PRCommand.RFB: 3>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRStatus", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRStatus", "kind": "class", "doc": "

Class PRStatus contains all possible variants of Panel Replay Status.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRStatus.Disabled", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRStatus.Disabled", "kind": "variable", "doc": "

\n", "default_value": "<PRStatus.Disabled: 0>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRStatus.EnabledInactive", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRStatus.EnabledInactive", "kind": "variable", "doc": "

\n", "default_value": "<PRStatus.EnabledInactive: 1>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRStatus.EnabledActive", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRStatus.EnabledActive", "kind": "variable", "doc": "

\n", "default_value": "<PRStatus.EnabledActive: 2>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRError", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRError", "kind": "class", "doc": "

Class PRError contains all possible variants of Panel Replay Error type.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRError.No", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRError.No", "kind": "variable", "doc": "

\n", "default_value": "<PRError.No: 0>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRError.Internal", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRError.Internal", "kind": "variable", "doc": "

\n", "default_value": "<PRError.Internal: 1>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRError.IncorrectCommandReceived", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRError.IncorrectCommandReceived", "kind": "variable", "doc": "

\n", "default_value": "<PRError.IncorrectCommandReceived: 2>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRError.FailedAccess", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRError.FailedAccess", "kind": "variable", "doc": "

\n", "default_value": "<PRError.FailedAccess: 3>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRError.LTFailed", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRError.LTFailed", "kind": "variable", "doc": "

\n", "default_value": "<PRError.LTFailed: 4>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRError.SelUpdIncorrect", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRError.SelUpdIncorrect", "kind": "variable", "doc": "

\n", "default_value": "<PRError.SelUpdIncorrect: 5>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRMode", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRMode", "kind": "class", "doc": "

Class PRMode contains all possible variants of Panel Replay mode.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRMode.PR", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRMode.PR", "kind": "variable", "doc": "

\n", "default_value": "<PRMode.PR: 0>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRMode.PSR1", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRMode.PSR1", "kind": "variable", "doc": "

\n", "default_value": "<PRMode.PSR1: 1>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRMode.PSR2", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRMode.PSR2", "kind": "variable", "doc": "

\n", "default_value": "<PRMode.PSR2: 2>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PRMode.Res", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PRMode.Res", "kind": "variable", "doc": "

\n", "default_value": "<PRMode.Res: 3>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "YGranularity", "kind": "class", "doc": "

Class YGranularity contains all possible variants of SU Y granularity.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity.Value_8", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "YGranularity.Value_8", "kind": "variable", "doc": "

\n", "default_value": "<YGranularity.Value_8: 0>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity.Value_10", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "YGranularity.Value_10", "kind": "variable", "doc": "

\n", "default_value": "<YGranularity.Value_10: 1>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity.Value_12", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "YGranularity.Value_12", "kind": "variable", "doc": "

\n", "default_value": "<YGranularity.Value_12: 2>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity.Value_14", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "YGranularity.Value_14", "kind": "variable", "doc": "

\n", "default_value": "<YGranularity.Value_14: 3>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity.Value_15", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "YGranularity.Value_15", "kind": "variable", "doc": "

\n", "default_value": "<YGranularity.Value_15: 4>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity.Value_16", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "YGranularity.Value_16", "kind": "variable", "doc": "

\n", "default_value": "<YGranularity.Value_16: 5>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity.Value_18", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "YGranularity.Value_18", "kind": "variable", "doc": "

\n", "default_value": "<YGranularity.Value_18: 6>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity.Value_20", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "YGranularity.Value_20", "kind": "variable", "doc": "

\n", "default_value": "<YGranularity.Value_20: 7>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity.Value_24", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "YGranularity.Value_24", "kind": "variable", "doc": "

\n", "default_value": "<YGranularity.Value_24: 8>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity.Value_30", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "YGranularity.Value_30", "kind": "variable", "doc": "

\n", "default_value": "<YGranularity.Value_30: 9>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity.Value_32", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "YGranularity.Value_32", "kind": "variable", "doc": "

\n", "default_value": "<YGranularity.Value_32: 10>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity.Value_36", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "YGranularity.Value_36", "kind": "variable", "doc": "

\n", "default_value": "<YGranularity.Value_36: 11>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity.Value_40", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "YGranularity.Value_40", "kind": "variable", "doc": "

\n", "default_value": "<YGranularity.Value_40: 12>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity.Value_48", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "YGranularity.Value_48", "kind": "variable", "doc": "

\n", "default_value": "<YGranularity.Value_48: 13>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity.Value_54", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "YGranularity.Value_54", "kind": "variable", "doc": "

\n", "default_value": "<YGranularity.Value_54: 14>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity.Value_64", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "YGranularity.Value_64", "kind": "variable", "doc": "

\n", "default_value": "<YGranularity.Value_64: 15>"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.Region", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "Region", "kind": "class", "doc": "

Class Region contains information about each PR Region (Frame).

\n\n
    \n
  • Set and get X coordinate 'x'.
  • \n
  • Set and get Y coordinate 'y'.
  • \n
  • Set and get Width 'width'.
  • \n
  • Set and get Height height
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.Region.__init__", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "Region.__init__", "kind": "function", "doc": "

\n", "signature": "(x: int = 0, y: int = 0, width: int = 0, height: int = 0)"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.Region.x", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "Region.x", "kind": "variable", "doc": "

Returns current X coordinate value.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.Region.y", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "Region.y", "kind": "variable", "doc": "

Returns current Y coordinate value.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.Region.width", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "Region.width", "kind": "variable", "doc": "

Returns current Width value.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.Region.height", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "Region.height", "kind": "variable", "doc": "

Returns current Height value.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.Flags", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "Flags", "kind": "class", "doc": "

Class Flags contains information about Panel Replay flags capabilities.

\n\n
    \n
  • Set and get early_transport Early transport during selective update is supported.
  • \n
  • Set and get crc_in_vsc_sdp. CRC for selective update region/full active frame in VSC SDP is supported.
  • \n
  • Set and get mode. PanelReplay mode.
  • \n
  • Set and get hpd_irq. Generate HPD_IRQ with Adaptive-Sync SDP missing (PR).
  • \n
  • Set and get hpd_irq_vsc_sdp. IRQ_HPD with VSC SDP uncorrectable error (PR).
  • \n
  • Set and get hpd_irq_rfb. IRQ_HPD with RFB storage error (PR).
  • \n
  • Set and get hpd_irq_crc. IRQ_HPD with active frame CRC error.
  • \n
  • Set and get refresh_rate_unlock. Sink refresh rate unlock granted.
  • \n
  • Set and get ext_y_gran. Use SU extended Y granularity (PSR2 and PR).
  • \n
  • Set and get main_link_remain_on. Main-link remains ON during PSR1/PSR2 active states.
  • \n
  • Set and get y_granularity. SU Y granularity extended value selection.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.Flags.__init__", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "Flags.__init__", "kind": "function", "doc": "

\n", "signature": "(\tearly_transport: bool = False,\tcrc_in_vsc_sdp: bool = False,\tpr_mode: UniTAP.dev.ports.modules.panel_replay.pr_types.PRMode = <PRMode.PR: 0>,\thpd_irq: bool = False,\thpd_irq_vsc_sdp: bool = False,\thpd_irq_rfb: bool = False,\thpd_irq_crc: bool = False,\trefresh_rate_unlock: bool = False,\text_y_gran: bool = False,\tmain_link_remain_on: bool = False,\ty_granularity: UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity = <YGranularity.Value_8: 0>)"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.Flags.early_transport", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "Flags.early_transport", "kind": "variable", "doc": "

Returns current early transport value.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.Flags.crc_in_vsc_sdp", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "Flags.crc_in_vsc_sdp", "kind": "variable", "doc": "

Returns current crc in vsc sdp value.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.Flags.mode", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "Flags.mode", "kind": "variable", "doc": "

Returns current PR mode.

\n\n
Returns:
\n\n
\n

object of PRMode type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.panel_replay.pr_types.PRMode"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.Flags.hpd_irq", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "Flags.hpd_irq", "kind": "variable", "doc": "

Returns current state of HPD_IRQ with Adaptive-Sync SDP missing (PR).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.Flags.hpd_irq_vsc_sdp", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "Flags.hpd_irq_vsc_sdp", "kind": "variable", "doc": "

Returns current state of IRQ_HPD with VSC SDP uncorrectable error (PR).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.Flags.hpd_irq_rfb", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "Flags.hpd_irq_rfb", "kind": "variable", "doc": "

Returns current state of IRQ_HPD with RFB storage error (PR).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.Flags.hpd_irq_crc", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "Flags.hpd_irq_crc", "kind": "variable", "doc": "

Returns current state of IRQ_HPD with active frame CRC error.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.Flags.refresh_rate_unlock", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "Flags.refresh_rate_unlock", "kind": "variable", "doc": "

Returns current state of Sink refresh rate unlock granted.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.Flags.ext_y_gran", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "Flags.ext_y_gran", "kind": "variable", "doc": "

Returns current state of SU extended Y granularity (PSR2 and PR).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.Flags.main_link_remain_on", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "Flags.main_link_remain_on", "kind": "variable", "doc": "

Returns current state of Main-link remains ON during PSR1/PSR2 active states.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.Flags.y_granularity", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "Flags.y_granularity", "kind": "variable", "doc": "

Returns current value of SU Y granularity.

\n\n
Returns:
\n\n
\n

object of YGranularity type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.panel_replay.pr_types.YGranularity"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PrSettings", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PrSettings", "kind": "class", "doc": "

Class PrSettings contains information about Panel Replay capabilities.

\n\n
    \n
  • Set and get flags Flags capabilities.
  • \n
  • Set and get regions. Regions capabilities.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PrSettings.flags", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PrSettings.flags", "kind": "variable", "doc": "

Returns current Flags caps.

\n\n
Returns:
\n\n
\n

object of Flags type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.panel_replay.pr_types.Flags"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_types.PrSettings.regions", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_types", "qualname": "PrSettings.regions", "kind": "variable", "doc": "

Returns current Regions caps.

\n\n
Returns:
\n\n
\n

object of Region list type

\n
\n", "annotation": ": List[UniTAP.dev.ports.modules.panel_replay.pr_types.Region]"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_status", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_status", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_status.PanelReplayStatus", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_status", "qualname": "PanelReplayStatus", "kind": "class", "doc": "

Class PanelReplayStatus contains information about Panel Replay Status.

\n\n
    \n
  • Get PR command command.
  • \n
  • Get current state (enabled/disabled) status.
  • \n
  • Get PR Error error.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_status.PanelReplayStatus.__init__", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_status", "qualname": "PanelReplayStatus.__init__", "kind": "function", "doc": "

\n", "signature": "(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO)"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_status.PanelReplayStatus.command", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_status", "qualname": "PanelReplayStatus.command", "kind": "function", "doc": "

Returns current command of PR.

\n\n
Returns:
\n\n
\n

object of PRCommand type

\n
\n", "signature": "(self) -> UniTAP.dev.ports.modules.panel_replay.pr_types.PRCommand:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_status.PanelReplayStatus.status", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_status", "qualname": "PanelReplayStatus.status", "kind": "function", "doc": "

Returns current status of PR (enabled/disabled).

\n\n
Returns:
\n\n
\n

object of PRStatus type

\n
\n", "signature": "(self) -> UniTAP.dev.ports.modules.panel_replay.pr_types.PRStatus:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.panel_replay.pr_status.PanelReplayStatus.error", "modulename": "UniTAP.dev.ports.modules.panel_replay.pr_status", "qualname": "PanelReplayStatus.error", "kind": "function", "doc": "

Returns current error of PR.

\n\n
Returns:
\n\n
\n

object of PRError type

\n
\n", "signature": "(self) -> UniTAP.dev.ports.modules.panel_replay.pr_types.PRError:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus", "kind": "class", "doc": "

Class PGStatus describes possible states of PatternGenerator.

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.__init__", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.__init__", "kind": "function", "doc": "

\n", "signature": "(value: int)"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.PGError", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.PGError", "kind": "class", "doc": "

Class PGError contains codes of errors with the possibility of string representation.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.PGError.NotReady", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.PGError.NotReady", "kind": "variable", "doc": "

\n", "default_value": "<PGError.NotReady: -1>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.PGError.OK", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.PGError.OK", "kind": "variable", "doc": "

\n", "default_value": "<PGError.OK: 0>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.PGError.HWFault", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.PGError.HWFault", "kind": "variable", "doc": "

\n", "default_value": "<PGError.HWFault: 1>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.PGError.PixelClock", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.PGError.PixelClock", "kind": "variable", "doc": "

\n", "default_value": "<PGError.PixelClock: 2>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.PGError.MemoryError", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.PGError.MemoryError", "kind": "variable", "doc": "

\n", "default_value": "<PGError.MemoryError: 3>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.PGError.DscFileZero", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.PGError.DscFileZero", "kind": "variable", "doc": "

\n", "default_value": "<PGError.DscFileZero: 4>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.PGError.DscPixelClockExceeds", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.PGError.DscPixelClockExceeds", "kind": "variable", "doc": "

\n", "default_value": "<PGError.DscPixelClockExceeds: 5>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.PGError.DscSourceNotSupport", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.PGError.DscSourceNotSupport", "kind": "variable", "doc": "

\n", "default_value": "<PGError.DscSourceNotSupport: 6>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.PGError.DscSinkNotSupport", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.PGError.DscSinkNotSupport", "kind": "variable", "doc": "

\n", "default_value": "<PGError.DscSinkNotSupport: 7>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.PGError.DscFailReadDpcd", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.PGError.DscFailReadDpcd", "kind": "variable", "doc": "

\n", "default_value": "<PGError.DscFailReadDpcd: 8>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.PGError.DscFailWriteDpcd", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.PGError.DscFailWriteDpcd", "kind": "variable", "doc": "

\n", "default_value": "<PGError.DscFailWriteDpcd: 9>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.PGError.WrongColorFormat", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.PGError.WrongColorFormat", "kind": "variable", "doc": "

\n", "default_value": "<PGError.WrongColorFormat: 10>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.PGError.WrongColorimetry", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.PGError.WrongColorimetry", "kind": "variable", "doc": "

\n", "default_value": "<PGError.WrongColorimetry: 11>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.PGError.WrongBitsPerComponent", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.PGError.WrongBitsPerComponent", "kind": "variable", "doc": "

\n", "default_value": "<PGError.WrongBitsPerComponent: 12>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.PGError.WrongDynamicRange", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.PGError.WrongDynamicRange", "kind": "variable", "doc": "

\n", "default_value": "<PGError.WrongDynamicRange: 13>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.PGError.NotEnoughMemoryForPattern", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.PGError.NotEnoughMemoryForPattern", "kind": "variable", "doc": "

\n", "default_value": "<PGError.NotEnoughMemoryForPattern: 14>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.error", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.error", "kind": "variable", "doc": "

Returns pg error.

\n\n
Returns:
\n\n
\n

object of PGError

\n
\n", "annotation": ": UniTAP.dev.ports.modules.vtg.pg.PGStatus.PGError"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.is_video_produced", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.is_video_produced", "kind": "variable", "doc": "

Returns state of video produced.

\n\n
Returns:
\n\n
\n

object of bool - is video produced or not

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PGStatus.non_applied_changes", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PGStatus.non_applied_changes", "kind": "variable", "doc": "

Returns state of applied changes.

\n\n
Returns:
\n\n
\n

object of bool - were there any changes or not

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PatternGenerator", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PatternGenerator", "kind": "class", "doc": "

Main class PatternGenerator allows working with PG functionality on the device: set different types of pattern\nset_pattern, set different video modes set_vm, set additional parameters for some patterns set_pattern_params,\nget information about current video mode on stream get_stream_video_mode, apply all transferred setting,\nreset settings and read pattern generator status.

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PatternGenerator.__init__", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PatternGenerator.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tstream: int)"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PatternGenerator.set_pattern", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PatternGenerator.set_pattern", "kind": "function", "doc": "

Allows setting video pattern on current stream.\nPossible variants:

\n\n
    \n
  • type VideoPattern - value from enum VideoPattern (one of th e possible predefined patterns).
  • \n
  • type str - path to image (bmp, png, jpeg, dsc and so on).
  • \n
  • type bytearray - raw image data, which will be loaded to device memory.
  • \n
  • type VideoFrame - object of class that contains the image data.
  • \n
  • type VideoFrameDSC - object of class that contains dsc image data.
  • \n
\n\n
Arguments:
\n\n
    \n
  • pattern (Union[VideoPattern, str, bytearray, VideoFrame, VideoFrameDSC])
  • \n
\n", "signature": "(\tself,\tpattern: Union[UniTAP.dev.ports.modules.vtg.types.VideoPattern, str, bytearray, UniTAP.common.video_frame.VideoFrame, UniTAP.common.dsc_video_frame.VideoFrameDSC]):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PatternGenerator.set_vm", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PatternGenerator.set_vm", "kind": "function", "doc": "

Allows setting VideoMode on current stream.

\n\n
Arguments:
\n\n
    \n
  • vm (VideoMode)
  • \n
\n", "signature": "(self, vm: UniTAP.common.video_mode.VideoMode):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PatternGenerator.set_pattern_params", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PatternGenerator.set_pattern_params", "kind": "function", "doc": "

Allows setting additional parameters for some patters on current stream.\nSee available PGPatternParams types: SolidColorParams, WhiteVStripsParams, GradientStripsParams,\nMotionParams,SquareWindowParams (see in pg pattern params).

\n\n
Arguments:
\n\n
    \n
  • pattern_params (PGPatternParams)
  • \n
\n", "signature": "(self, pattern_params: ~PGPatternParams):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PatternGenerator.get_stream_video_mode", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PatternGenerator.get_stream_video_mode", "kind": "function", "doc": "

Returns VideoMode information about current stream.

\n\n
Returns:
\n\n
\n

object of VideoMode type

\n
\n", "signature": "(self) -> UniTAP.common.video_mode.VideoMode:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PatternGenerator.apply", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PatternGenerator.apply", "kind": "function", "doc": "

Apply all settings on current stream.

\n\n
Returns:
\n\n
\n

object of bool type - settings were set successfully or not

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PatternGenerator.status", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PatternGenerator.status", "kind": "function", "doc": "

Returns PGStatus of current stream.

\n\n
Returns:
\n\n
\n

object of PGStatus type.

\n
\n", "signature": "(self) -> UniTAP.dev.ports.modules.vtg.pg.PGStatus:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PatternGenerator.reset", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PatternGenerator.reset", "kind": "function", "doc": "

Reset all setting on current stream.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PatternGenerator.get_pixel_rate", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PatternGenerator.get_pixel_rate", "kind": "function", "doc": "

Returns current pixel rate.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "signature": "(self) -> int:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.PatternGenerator.panel_replay", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "PatternGenerator.panel_replay", "kind": "function", "doc": "

Returns object of PanelReplay if device supports this feature.

\n\n
Returns:
\n\n
\n

object of 'PanelReplay' type or None

\n
\n", "signature": "(self) -> Optional[UniTAP.dev.ports.modules.panel_replay.pr.PanelReplay]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.HdmiPatternGenerator", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "HdmiPatternGenerator", "kind": "class", "doc": "

Class HdmiPatternGenerator inherited from class PatternGenerator.\nAllows getting timing_manager, max_stream_count, apply PG settings.\nAlso has all the PatternGenerator functionality.

\n", "bases": "PatternGenerator"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.HdmiPatternGenerator.__init__", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "HdmiPatternGenerator.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager)"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.HdmiPatternGenerator.timing_manager", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "HdmiPatternGenerator.timing_manager", "kind": "variable", "doc": "

Should be used for working with available timings on device.

\n\n
Returns:
\n\n
\n

object of TimingManager type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.vtg.timing_manager.TimingManager"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.HdmiPatternGenerator.max_stream_count", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "HdmiPatternGenerator.max_stream_count", "kind": "variable", "doc": "

Returns maximum count of available streams.

\n\n
Returns:
\n\n
\n

object of int type.

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.HdmiPatternGenerator.apply", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "HdmiPatternGenerator.apply", "kind": "function", "doc": "

Apply all settings.

\n\n
Returns:
\n\n
\n

object of bool type - settings were set successfully or not

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpPatternGenerator", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpPatternGenerator", "kind": "class", "doc": "

Class DpPatternGenerator inherited from class PatternGenerator.\nAllows getting timing_manager, adaptive_sync_status, apply and reset PG settings and set additional settings:\nset_as_config, set_scrolling_params.\nAlso has all the PatternGenerator functionality.

\n", "bases": "PatternGenerator"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpPatternGenerator.__init__", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpPatternGenerator.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tstream: int)"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpPatternGenerator.timing_manager", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpPatternGenerator.timing_manager", "kind": "variable", "doc": "

Should be used for working with available timings on device.

\n\n
Returns:
\n\n
\n

object of TimingManager type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.vtg.timing_manager.TimingManager"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpPatternGenerator.set_as_config", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpPatternGenerator.set_as_config", "kind": "function", "doc": "

Allows setting adaptive sync configuration.\nSee available ASParams types: ConstantASParams, SquareASParams, ZigzagASParams, FixedASParams\n(see in types).

\n\n
Arguments:
\n\n
    \n
  • as_config (ASParams)
  • \n
\n", "signature": "(self, as_config: ~ASParams):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpPatternGenerator.set_scrolling_params", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpPatternGenerator.set_scrolling_params", "kind": "function", "doc": "

Allows setting additional configuration for \"Scrolling pattern\". See available PGScrollingParams types:\nStepsScrollingParams (see in pg pattern params).

\n\n
Arguments:
\n\n
    \n
  • scrolling_params (PGScrollingParams)
  • \n
\n", "signature": "(self, scrolling_params: ~PGScrollingParams):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpPatternGenerator.adaptive_sync_status", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpPatternGenerator.adaptive_sync_status", "kind": "function", "doc": "

Returns work status of adaptive sync.

\n\n
Returns:
\n\n
\n

object of bool type - adaptive sync enabled or not

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpPatternGenerator.apply", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpPatternGenerator.apply", "kind": "function", "doc": "

Apply all settings.

\n\n
Returns:
\n\n
\n

object of bool type - settings were set successfully or not

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpPatternGenerator.reset", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpPatternGenerator.reset", "kind": "function", "doc": "

Reset all setting.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpMstPatternGenerator", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpMstPatternGenerator", "kind": "class", "doc": "

Class DpMstPatternGenerator allows working with one of the supported streams on the device (contains list of the\nDpPatternGenerator objects). To access the selected stream, use an override of [ ].\nAlso, allows working with stream number 0 directly and applying all settings of all streams together.

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpMstPatternGenerator.__init__", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpMstPatternGenerator.__init__", "kind": "function", "doc": "

\n", "signature": "(\tport_io: UniTAP.libs.lib_tsi.tsi_io.PortIO,\tmemory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager,\tmax_stream_count: int)"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpMstPatternGenerator.timing_manager", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpMstPatternGenerator.timing_manager", "kind": "variable", "doc": "

Should be used for working with available timings on device.

\n\n
Returns:
\n\n
\n

object of TimingManager type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.vtg.timing_manager.TimingManager"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpMstPatternGenerator.max_stream_count", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpMstPatternGenerator.max_stream_count", "kind": "variable", "doc": "

Returns maximum count of available streams.

\n\n
Returns:
\n\n
\n

object of int type.

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpMstPatternGenerator.set_pattern", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpMstPatternGenerator.set_pattern", "kind": "function", "doc": "

Allows setting video pattern on stream number 0 of pattern generator.\nPossible variants:

\n\n
    \n
  • type VideoPattern - value from enum VideoPattern (one of th e possible predefined patterns).
  • \n
  • type str - path to image (bmp, png, jpeg, dsc and so on).
  • \n
  • type bytearray - raw image data, which will be loaded to device memory.
  • \n
  • type VideoFrame - object of class that contains the image data.
  • \n
  • type VideoFrameDSC - object of class that contains the dsc image data.
  • \n
\n\n
Arguments:
\n\n
    \n
  • pattern (Union[VideoPattern, str, bytearray, VideoFrame, VideoFrameDSC])
  • \n
\n", "signature": "(\tself,\tpattern: Union[UniTAP.dev.ports.modules.vtg.types.VideoPattern, str, bytearray, UniTAP.common.video_frame.VideoFrame, UniTAP.common.dsc_video_frame.VideoFrameDSC]):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpMstPatternGenerator.set_vm", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpMstPatternGenerator.set_vm", "kind": "function", "doc": "

Allows setting VideoMode on stream number 0 of pattern generator.

\n\n
Arguments:
\n\n
    \n
  • vm (VideoMode)
  • \n
\n", "signature": "(self, vm: UniTAP.common.video_mode.VideoMode):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpMstPatternGenerator.set_pattern_params", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpMstPatternGenerator.set_pattern_params", "kind": "function", "doc": "

Allows setting additional parameters for some patters on stream number 0 of pattern generator.\nSee available PGPatternParams types: SolidColorParams, WhiteVStripsParams, GradientStripsParams,\nMotionParams,SquareWindowParams (see in pg pattern params).

\n\n
Arguments:
\n\n
    \n
  • pattern_params (PGPatternParams)
  • \n
\n", "signature": "(self, pattern_params: ~PGPatternParams):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpMstPatternGenerator.set_as_config", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpMstPatternGenerator.set_as_config", "kind": "function", "doc": "

Allows setting adaptive sync configuration on stream number 0 of pattern generator.\nSee available ASParams types: ConstantASParams, SquareASParams, ZigzagASParams, FixedASParams.\n(see in types).

\n\n
Arguments:
\n\n
    \n
  • as_config (ASParams)
  • \n
\n", "signature": "(self, as_config: ~ASParams):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpMstPatternGenerator.set_scrolling_params", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpMstPatternGenerator.set_scrolling_params", "kind": "function", "doc": "

Allows setting additional configuration for \"Scrolling pattern\" on stream number 0 of pattern generator.\nSee available PGScrollingParams types: StepsScrollingParams (see in pg pattern params).

\n\n
Arguments:
\n\n
    \n
  • scrolling_params (PGScrollingParams)
  • \n
\n", "signature": "(self, scrolling_params: ~PGScrollingParams):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpMstPatternGenerator.get_stream_video_mode", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpMstPatternGenerator.get_stream_video_mode", "kind": "function", "doc": "

Returns VideoMode information about current configuration of PG on stream 0.

\n\n
Returns:
\n\n
\n

object of VideoMode type

\n
\n", "signature": "(self) -> UniTAP.common.video_mode.VideoMode:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpMstPatternGenerator.apply", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpMstPatternGenerator.apply", "kind": "function", "doc": "

Apply all setting on stream number 0 of pattern generator.

\n\n
Returns:
\n\n
\n

object of bool type - settings were set successfully or not

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpMstPatternGenerator.status", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpMstPatternGenerator.status", "kind": "function", "doc": "

Returns PGStatus on stream number 0 of pattern generator.

\n\n
Returns:
\n\n
\n

object of PGStatus type.

\n
\n", "signature": "(self) -> UniTAP.dev.ports.modules.vtg.pg.PGStatus:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpMstPatternGenerator.reset", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpMstPatternGenerator.reset", "kind": "function", "doc": "

Reset all setting on stream number 0 of pattern generator.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpMstPatternGenerator.apply_all", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpMstPatternGenerator.apply_all", "kind": "function", "doc": "

Apply all setting on all supported streams of pattern generator.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpMstPatternGenerator.get_pixel_rate", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpMstPatternGenerator.get_pixel_rate", "kind": "function", "doc": "

Returns current pixel rate for selected stream.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "signature": "(self, stream: int = 0) -> int:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg.DpMstPatternGenerator.panel_replay", "modulename": "UniTAP.dev.ports.modules.vtg.pg", "qualname": "DpMstPatternGenerator.panel_replay", "kind": "variable", "doc": "

Returns object of PanelReplay if device supports this feature (first stream).

\n\n
Returns:
\n\n
\n

object of 'PanelReplay' type or None

\n
\n", "annotation": ": UniTAP.dev.ports.modules.panel_replay.pr.PanelReplay"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.SolidColorParams", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "SolidColorParams", "kind": "class", "doc": "

Special configuration class for configure Solid color pattern. Contains information about R (Y) - first,\nG (Cb) - second, B(Cr) - third components.

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.SolidColorParams.__init__", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "SolidColorParams.__init__", "kind": "function", "doc": "

\n", "signature": "(first: int = 0, second: int = 0, third: int = 0)"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.SolidColorParams.first", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "SolidColorParams.first", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.SolidColorParams.second", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "SolidColorParams.second", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.SolidColorParams.third", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "SolidColorParams.third", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.WhiteVStripsParams", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "WhiteVStripsParams", "kind": "class", "doc": "

Special configuration class for configure White V Strips pattern. Contains information about white stripes width\nand black stripes width.

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.WhiteVStripsParams.__init__", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "WhiteVStripsParams.__init__", "kind": "function", "doc": "

\n", "signature": "(white_stripes_width: int = 1, black_stripes_width: int = 1)"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.WhiteVStripsParams.white_stripes_width", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "WhiteVStripsParams.white_stripes_width", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.WhiteVStripsParams.black_stripes_width", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "WhiteVStripsParams.black_stripes_width", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.GradientStripsParams", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "GradientStripsParams", "kind": "class", "doc": "

Special configuration class for configure Gradient Strips pattern. Contains information about color steps conut.

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.GradientStripsParams.__init__", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "GradientStripsParams.__init__", "kind": "function", "doc": "

\n", "signature": "(color_step: int = 10000)"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.GradientStripsParams.color_step", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "GradientStripsParams.color_step", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.MotionParams", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "MotionParams", "kind": "class", "doc": "

Special configuration class for configure Motion pattern. Contains information about frames conut.

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.MotionParams.__init__", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "MotionParams.__init__", "kind": "function", "doc": "

\n", "signature": "(frames_count: int = 10000)"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.MotionParams.frames_count", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "MotionParams.frames_count", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.SquareWindowParams", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "SquareWindowParams", "kind": "class", "doc": "

Special configuration class for configure Square Window pattern. Contains information about white square size.

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.SquareWindowParams.__init__", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "SquareWindowParams.__init__", "kind": "function", "doc": "

\n", "signature": "(white_square: int = 30)"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.SquareWindowParams.white_square", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "SquareWindowParams.white_square", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.StepsScrollingParams", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "StepsScrollingParams", "kind": "class", "doc": "

Special configuration class for configure Scrolling (Steps type) pattern. Contains information about horizontally\ndelta, vertically delta and frames count.

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.StepsScrollingParams.__init__", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "StepsScrollingParams.__init__", "kind": "function", "doc": "

\n", "signature": "(horizontally: int = 0, vertically: int = 0, frames: int = 0)"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.StepsScrollingParams.horizontally", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "StepsScrollingParams.horizontally", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.StepsScrollingParams.vertically", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "StepsScrollingParams.vertically", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.StepsScrollingParams.frames", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "StepsScrollingParams.frames", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.pg_pattern_params.DistanceScrollingParams", "modulename": "UniTAP.dev.ports.modules.vtg.pg_pattern_params", "qualname": "DistanceScrollingParams", "kind": "class", "doc": "

Support of DistanceScrolling will be added later.

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.timing_manager", "modulename": "UniTAP.dev.ports.modules.vtg.timing_manager", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.timing_manager.TimingManager", "modulename": "UniTAP.dev.ports.modules.vtg.timing_manager", "qualname": "TimingManager", "kind": "class", "doc": "

Class TimingManager allows working with all available predefined timings from device.\nYou can get cvt timing by index get_cvt, dmt timing by index get_dmt, cta timing by index get_cta,\nget list of all timing get_all ot search timing by parameters search.

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.timing_manager.TimingManager.__init__", "modulename": "UniTAP.dev.ports.modules.vtg.timing_manager", "qualname": "TimingManager.__init__", "kind": "function", "doc": "

\n", "signature": "(available_list: List[UniTAP.common.timing.Timing])"}, {"fullname": "UniTAP.dev.ports.modules.vtg.timing_manager.TimingManager.get_cvt", "modulename": "UniTAP.dev.ports.modules.vtg.timing_manager", "qualname": "TimingManager.get_cvt", "kind": "function", "doc": "

Returns cvt Timing by index.

\n\n
Arguments:
\n\n
    \n
  • index (int): CVT timing index
  • \n
\n\n
Returns:
\n\n
\n

timing (Timing | None) - type Timing if search was success, None if not.

\n
\n", "signature": "(self, index: int) -> Optional[UniTAP.common.timing.Timing]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.timing_manager.TimingManager.get_dmt", "modulename": "UniTAP.dev.ports.modules.vtg.timing_manager", "qualname": "TimingManager.get_dmt", "kind": "function", "doc": "

Returns cvt Timing by index.

\n\n
Arguments:
\n\n
    \n
  • index (int): DMT timing index
  • \n
\n\n
Returns:
\n\n
\n

timing (Timing | None) - type Timing if search was success, None if not.

\n
\n", "signature": "(self, index: int) -> Optional[UniTAP.common.timing.Timing]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.timing_manager.TimingManager.get_cta", "modulename": "UniTAP.dev.ports.modules.vtg.timing_manager", "qualname": "TimingManager.get_cta", "kind": "function", "doc": "

Returns cvt Timing by index.

\n\n
Arguments:
\n\n
    \n
  • index (int): CTA timing index
  • \n
\n\n
Returns:
\n\n
\n

timing (Timing | None) - type Timing if search was success, None if not.

\n
\n", "signature": "(self, index: int) -> Optional[UniTAP.common.timing.Timing]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.timing_manager.TimingManager.get_all", "modulename": "UniTAP.dev.ports.modules.vtg.timing_manager", "qualname": "TimingManager.get_all", "kind": "function", "doc": "

Returns list of Timing objects.

\n\n
Returns:
\n\n
\n

timing (list[Timing])

\n
\n", "signature": "(self) -> List[UniTAP.common.timing.Timing]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.timing_manager.TimingManager.get_by_list_index", "modulename": "UniTAP.dev.ports.modules.vtg.timing_manager", "qualname": "TimingManager.get_by_list_index", "kind": "function", "doc": "

Returns Timing objects by index in timings list.

\n\n
Arguments:
\n\n
    \n
  • index (int) index of timing in list
  • \n
\n\n
Returns:
\n\n
\n

timing (Timing)

\n
\n", "signature": "(self, index: int) -> Optional[UniTAP.common.timing.Timing]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.timing_manager.TimingManager.print_all", "modulename": "UniTAP.dev.ports.modules.vtg.timing_manager", "qualname": "TimingManager.print_all", "kind": "function", "doc": "

Print list of Timing objects.

\n\n
Returns:
\n\n
\n

str

\n
\n", "signature": "(self) -> str:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.timing_manager.TimingManager.search", "modulename": "UniTAP.dev.ports.modules.vtg.timing_manager", "qualname": "TimingManager.search", "kind": "function", "doc": "

Search timing by transferred parameters.

\n\n
Arguments:
\n\n
    \n
  • h_active (int | None): h active resolution of timing
  • \n
  • v_active (int | None): v active resolution of timing
  • \n
  • f_rate (int | None): frame rate of timing
  • \n
  • standard (Standard | None): timing Standard
  • \n
  • rb (ReduceBlanking | None): timing ReduceBlanking
  • \n
\n\n
Returns:
\n\n
\n

timing (Timing | None) - type Timing if search was success, None if not.

\n
\n", "signature": "(\tself,\th_active: Optional[int] = None,\tv_active: Optional[int] = None,\tf_rate: Optional[int] = None,\tstandard: Optional[UniTAP.common.timing.Timing.Standard] = None,\trb: Optional[UniTAP.common.timing.Timing.ReduceBlanking] = None) -> Optional[UniTAP.common.timing.Timing]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types", "modulename": "UniTAP.dev.ports.modules.vtg.types", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.VideoPattern", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "VideoPattern", "kind": "class", "doc": "

Class VideoPattern contains all possible variants of patterns which can be set in the function set_pattern.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.VideoPattern.Disabled", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "VideoPattern.Disabled", "kind": "variable", "doc": "

\n", "default_value": "<VideoPattern.Disabled: 0>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.VideoPattern.ColorBars", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "VideoPattern.ColorBars", "kind": "variable", "doc": "

\n", "default_value": "<VideoPattern.ColorBars: 1>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.VideoPattern.Chessboard", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "VideoPattern.Chessboard", "kind": "variable", "doc": "

\n", "default_value": "<VideoPattern.Chessboard: 2>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.VideoPattern.SolidColor", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "VideoPattern.SolidColor", "kind": "variable", "doc": "

\n", "default_value": "<VideoPattern.SolidColor: 3>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.VideoPattern.SolidWhite", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "VideoPattern.SolidWhite", "kind": "variable", "doc": "

\n", "default_value": "<VideoPattern.SolidWhite: 4>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.VideoPattern.SolidRed", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "VideoPattern.SolidRed", "kind": "variable", "doc": "

\n", "default_value": "<VideoPattern.SolidRed: 5>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.VideoPattern.SolidGreen", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "VideoPattern.SolidGreen", "kind": "variable", "doc": "

\n", "default_value": "<VideoPattern.SolidGreen: 6>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.VideoPattern.SolidBlue", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "VideoPattern.SolidBlue", "kind": "variable", "doc": "

\n", "default_value": "<VideoPattern.SolidBlue: 7>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.VideoPattern.WhiteVStrips", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "VideoPattern.WhiteVStrips", "kind": "variable", "doc": "

\n", "default_value": "<VideoPattern.WhiteVStrips: 8>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.VideoPattern.GradientRGBStripes", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "VideoPattern.GradientRGBStripes", "kind": "variable", "doc": "

\n", "default_value": "<VideoPattern.GradientRGBStripes: 9>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.VideoPattern.ColorRamp", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "VideoPattern.ColorRamp", "kind": "variable", "doc": "

\n", "default_value": "<VideoPattern.ColorRamp: 10>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.VideoPattern.ColorSquares", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "VideoPattern.ColorSquares", "kind": "variable", "doc": "

\n", "default_value": "<VideoPattern.ColorSquares: 11>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.VideoPattern.MotionPattern", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "VideoPattern.MotionPattern", "kind": "variable", "doc": "

\n", "default_value": "<VideoPattern.MotionPattern: 12>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.VideoPattern.SquareWindow", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "VideoPattern.SquareWindow", "kind": "variable", "doc": "

\n", "default_value": "<VideoPattern.SquareWindow: 15>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGDynamicRange", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGDynamicRange", "kind": "class", "doc": "

Class PGDynamicRange contains all possible variants of Dynamic Range.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGDynamicRange.VESA", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGDynamicRange.VESA", "kind": "variable", "doc": "

\n", "default_value": "<PGDynamicRange.VESA: 0>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGDynamicRange.CTA", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGDynamicRange.CTA", "kind": "variable", "doc": "

\n", "default_value": "<PGDynamicRange.CTA: 1>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGStandard", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGStandard", "kind": "class", "doc": "

Class PGStandard contains all possible variants of Standard.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGStandard.CVT", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGStandard.CVT", "kind": "variable", "doc": "

\n", "default_value": "<PGStandard.CVT: 1>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGStandard.DMT", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGStandard.DMT", "kind": "variable", "doc": "

\n", "default_value": "<PGStandard.DMT: 2>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGStandard.CTA", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGStandard.CTA", "kind": "variable", "doc": "

\n", "default_value": "<PGStandard.CTA: 3>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGVideoMode", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGVideoMode", "kind": "class", "doc": "

Class PGVideoMode contains all possible variants of Video mode.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGVideoMode.CTA", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGVideoMode.CTA", "kind": "variable", "doc": "

\n", "default_value": "<PGVideoMode.CTA: 0>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGVideoMode.RB1", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGVideoMode.RB1", "kind": "variable", "doc": "

\n", "default_value": "<PGVideoMode.RB1: 1>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGVideoMode.RB2", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGVideoMode.RB2", "kind": "variable", "doc": "

\n", "default_value": "<PGVideoMode.RB2: 2>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGVideoMode.RB3", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGVideoMode.RB3", "kind": "variable", "doc": "

\n", "default_value": "<PGVideoMode.RB3: 3>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGAspectRatio", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGAspectRatio", "kind": "class", "doc": "

Class PGVideoMode contains all possible variants of Aspect ratio.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGAspectRatio.NoData", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGAspectRatio.NoData", "kind": "variable", "doc": "

\n", "default_value": "<PGAspectRatio.NoData: 0>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGAspectRatio.Ratio4x3", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGAspectRatio.Ratio4x3", "kind": "variable", "doc": "

\n", "default_value": "<PGAspectRatio.Ratio4x3: 1>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGAspectRatio.Ratio16x9", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGAspectRatio.Ratio16x9", "kind": "variable", "doc": "

\n", "default_value": "<PGAspectRatio.Ratio16x9: 2>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorInfo", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorInfo", "kind": "class", "doc": "

Class PGColorInfo contains all possible variants of Color info.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorInfo.Unknown", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorInfo.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<PGColorInfo.Unknown: -1>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorInfo.RGB", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorInfo.RGB", "kind": "variable", "doc": "

\n", "default_value": "<PGColorInfo.RGB: 0>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorInfo.YCbCr444", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorInfo.YCbCr444", "kind": "variable", "doc": "

\n", "default_value": "<PGColorInfo.YCbCr444: 1>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorInfo.YCbCr422", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorInfo.YCbCr422", "kind": "variable", "doc": "

\n", "default_value": "<PGColorInfo.YCbCr422: 2>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorInfo.YCbCr420", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorInfo.YCbCr420", "kind": "variable", "doc": "

\n", "default_value": "<PGColorInfo.YCbCr420: 3>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorInfo.Y_only", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorInfo.Y_only", "kind": "variable", "doc": "

\n", "default_value": "<PGColorInfo.Y_only: 4>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorInfo.RAW", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorInfo.RAW", "kind": "variable", "doc": "

\n", "default_value": "<PGColorInfo.RAW: 5>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorimetry", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorimetry", "kind": "class", "doc": "

Class PGColorimetry contains all possible variants of Colorimetry.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorimetry.Unknown", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorimetry.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<PGColorimetry.Unknown: 0>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorimetry.ITU601", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorimetry.ITU601", "kind": "variable", "doc": "

\n", "default_value": "<PGColorimetry.Unknown: 0>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorimetry.ITU709", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorimetry.ITU709", "kind": "variable", "doc": "

\n", "default_value": "<PGColorimetry.ITU709: 1>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorDepth", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorDepth", "kind": "class", "doc": "

Class PGColorDepth contains all possible variants of Color Depth.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorDepth.Unknown", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorDepth.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<PGColorDepth.Unknown: -1>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorDepth.BPC6", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorDepth.BPC6", "kind": "variable", "doc": "

\n", "default_value": "<PGColorDepth.BPC6: 0>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorDepth.BPC8", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorDepth.BPC8", "kind": "variable", "doc": "

\n", "default_value": "<PGColorDepth.BPC8: 1>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorDepth.BPC10", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorDepth.BPC10", "kind": "variable", "doc": "

\n", "default_value": "<PGColorDepth.BPC10: 2>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorDepth.BPC12", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorDepth.BPC12", "kind": "variable", "doc": "

\n", "default_value": "<PGColorDepth.BPC12: 3>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorDepth.BPC16", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorDepth.BPC16", "kind": "variable", "doc": "

\n", "default_value": "<PGColorDepth.BPC16: 4>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorDepth.BPC7", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorDepth.BPC7", "kind": "variable", "doc": "

\n", "default_value": "<PGColorDepth.BPC7: 5>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGColorDepth.BPC14", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGColorDepth.BPC14", "kind": "variable", "doc": "

\n", "default_value": "<PGColorDepth.BPC14: 6>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGAdaptiveSyncPatternType", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGAdaptiveSyncPatternType", "kind": "class", "doc": "

Class PGAdaptiveSyncPatternType contains all possible variants of Adaptive Sync Pattern.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGAdaptiveSyncPatternType.AS_None", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGAdaptiveSyncPatternType.AS_None", "kind": "variable", "doc": "

\n", "default_value": "<PGAdaptiveSyncPatternType.AS_None: 0>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGAdaptiveSyncPatternType.AS_Constant", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGAdaptiveSyncPatternType.AS_Constant", "kind": "variable", "doc": "

\n", "default_value": "<PGAdaptiveSyncPatternType.AS_Constant: 1>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGAdaptiveSyncPatternType.AS_Square", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGAdaptiveSyncPatternType.AS_Square", "kind": "variable", "doc": "

\n", "default_value": "<PGAdaptiveSyncPatternType.AS_Square: 2>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGAdaptiveSyncPatternType.AS_Zigzag", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGAdaptiveSyncPatternType.AS_Zigzag", "kind": "variable", "doc": "

\n", "default_value": "<PGAdaptiveSyncPatternType.AS_Zigzag: 3>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.PGAdaptiveSyncPatternType.AS_Fixed", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "PGAdaptiveSyncPatternType.AS_Fixed", "kind": "variable", "doc": "

\n", "default_value": "<PGAdaptiveSyncPatternType.AS_Fixed: 4>"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.ConstantASParams", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "ConstantASParams", "kind": "class", "doc": "

Special configuration class for configure Adaptive-Sync. Contains information about blank lines count.

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.ConstantASParams.__init__", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "ConstantASParams.__init__", "kind": "function", "doc": "

\n", "signature": "(lines: int = 0)"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.ConstantASParams.lines", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "ConstantASParams.lines", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.SquareASParams", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "SquareASParams", "kind": "class", "doc": "

Special configuration class for configure Adaptive-Sync. Contains information about blank lines minimum and maximum\ncount and period frames count.

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.SquareASParams.__init__", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "SquareASParams.__init__", "kind": "function", "doc": "

\n", "signature": "(min_lanes: int = 0, max_lanes: int = 1000, period_frames: int = 10)"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.SquareASParams.min_lanes", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "SquareASParams.min_lanes", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.SquareASParams.max_lanes", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "SquareASParams.max_lanes", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.SquareASParams.period_frames", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "SquareASParams.period_frames", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.ZigzagASParams", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "ZigzagASParams", "kind": "class", "doc": "

Special configuration class for configure Adaptive-Sync. Contains information about blank lines minimum and maximum\ncount, increase and decrease lanes count.

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.ZigzagASParams.__init__", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "ZigzagASParams.__init__", "kind": "function", "doc": "

\n", "signature": "(\tmin_lanes: int = 0,\tmax_lanes: int = 1000,\tincrease_lines: int = 100,\tdecrease_lines: int = 100)"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.ZigzagASParams.min_lanes", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "ZigzagASParams.min_lanes", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.ZigzagASParams.max_lanes", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "ZigzagASParams.max_lanes", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.ZigzagASParams.increase_lines", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "ZigzagASParams.increase_lines", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.ZigzagASParams.decrease_lines", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "ZigzagASParams.decrease_lines", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.FixedASParams", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "FixedASParams", "kind": "class", "doc": "

Special configuration class for configure Adaptive-Sync. Contains information about refresh rate count, increase\nand decrease lanes count.

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.FixedASParams.__init__", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "FixedASParams.__init__", "kind": "function", "doc": "

\n", "signature": "(\trefresh_rate: int = 60,\tdivide_by_1_001: bool = False,\tincrease_lines: int = 100,\tdecrease_lines: int = 100)"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.FixedASParams.refresh_rate", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "FixedASParams.refresh_rate", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.FixedASParams.divide_by_1_001", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "FixedASParams.divide_by_1_001", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.FixedASParams.increase_lines", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "FixedASParams.increase_lines", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.vtg.types.FixedASParams.decrease_lines", "modulename": "UniTAP.dev.ports.modules.vtg.types", "qualname": "FixedASParams.decrease_lines", "kind": "variable", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_bus_status", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_bus_status", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_bus_status.BusElectricalStatus", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_bus_status", "qualname": "BusElectricalStatus", "kind": "class", "doc": "

Class BusElectricalStatus contains information about current BUU Electrical status.

\n\n
    \n
  • Get VBus voltage vbus_voltage, type int.
  • \n
  • Get VBus current vbus_current, type int.
  • \n
  • Get CC1 voltage cc1_voltage, type int.
  • \n
  • Get CC2 voltage cc2_voltage, type int.
  • \n
  • Get VCONN voltage vconn_voltage, type int.
  • \n
  • Get VCONN current vconn_current, type int.
  • \n
  • Get SBU-1 voltage sbu_1_voltage, type int.
  • \n
  • Get SBU-2 voltage sbu_2_voltage, type int.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_bus_status.BusElectricalStatus.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_bus_status", "qualname": "BusElectricalStatus.__init__", "kind": "function", "doc": "

\n", "signature": "(pdc_io: UniTAP.dev.ports.modules.pdc.pdc_io.PDCPortIO)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_bus_status.BusElectricalStatus.vbus_voltage", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_bus_status", "qualname": "BusElectricalStatus.vbus_voltage", "kind": "variable", "doc": "

Returns current VBus voltage.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_bus_status.BusElectricalStatus.vbus_current", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_bus_status", "qualname": "BusElectricalStatus.vbus_current", "kind": "variable", "doc": "

Returns current VBus current.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_bus_status.BusElectricalStatus.cc1_voltage", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_bus_status", "qualname": "BusElectricalStatus.cc1_voltage", "kind": "variable", "doc": "

Returns current CC1 voltage.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_bus_status.BusElectricalStatus.cc2_voltage", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_bus_status", "qualname": "BusElectricalStatus.cc2_voltage", "kind": "variable", "doc": "

Returns current CC2 voltage.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_bus_status.BusElectricalStatus.vconn_voltage", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_bus_status", "qualname": "BusElectricalStatus.vconn_voltage", "kind": "variable", "doc": "

Returns current VCONN voltage.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_bus_status.BusElectricalStatus.vconn_current", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_bus_status", "qualname": "BusElectricalStatus.vconn_current", "kind": "variable", "doc": "

Returns current VCONN current.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_bus_status.BusElectricalStatus.sbu_1_voltage", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_bus_status", "qualname": "BusElectricalStatus.sbu_1_voltage", "kind": "variable", "doc": "

Returns current SBU-1 voltage.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_bus_status.BusElectricalStatus.sbu_2_voltage", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_bus_status", "qualname": "BusElectricalStatus.sbu_2_voltage", "kind": "variable", "doc": "

Returns current SBU-2 voltage.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PcdCapsStatus", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PcdCapsStatus", "kind": "class", "doc": "

Class PcdCapsStatus contains information about PDC capabilities.

\n\n
    \n
  • Get initial device role initial_role, type PdcDeviceRole.
  • \n
  • Get data device role data_role, type PdcDeviceRole.
  • \n
  • Get power device role power_role, type PowerRole.
  • \n
  • Get Cable Control Pull Up cc_pull_up, type CCPullUp.
  • \n
  • Get current behavior, DRP try mode behavior, type DRPTryMode.
  • \n
  • Get state of PR Swap pr_swap, type bool.
  • \n
  • Get state of DR Swap dr_swap, type bool.
  • \n
  • Get state of FR Swap fr_swap, type bool.
  • \n
  • Get state of VCONN Swap vconn_swap, type bool.
  • \n
  • Get state of Debug accessory debug_accessory, type bool.
  • \n
  • Get state of Audio accessory audio_accessory, type bool.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PcdCapsStatus.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PcdCapsStatus.__init__", "kind": "function", "doc": "

\n", "signature": "(pdc_io: UniTAP.dev.ports.modules.pdc.pdc_io.PDCPortIO)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PcdCapsStatus.initial_role", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PcdCapsStatus.initial_role", "kind": "function", "doc": "

Returns current initial role.

\n\n
Returns:
\n\n
\n

object of PdcDeviceRole type

\n
\n", "signature": "(self) -> UniTAP.dev.ports.modules.pdc.pdc_types.PdcDeviceRole:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PcdCapsStatus.data_role", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PcdCapsStatus.data_role", "kind": "function", "doc": "

Returns current data role.

\n\n
Returns:
\n\n
\n

object of PdcDeviceRole type

\n
\n", "signature": "(self) -> UniTAP.dev.ports.modules.pdc.pdc_types.PdcDeviceRole:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PcdCapsStatus.power_role", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PcdCapsStatus.power_role", "kind": "function", "doc": "

Returns current power role.

\n\n
Returns:
\n\n
\n

object of PowerRole type

\n
\n", "signature": "(self) -> UniTAP.dev.ports.modules.pdc.pdc_types.PowerRole:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PcdCapsStatus.cc_pull_up", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PcdCapsStatus.cc_pull_up", "kind": "function", "doc": "

Returns current cable control pull up.

\n\n
Returns:
\n\n
\n

object of CCPullUp type

\n
\n", "signature": "(self) -> UniTAP.dev.ports.modules.pdc.pdc_types.CCPullUp:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PcdCapsStatus.behavior", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PcdCapsStatus.behavior", "kind": "function", "doc": "

Returns current behavior of DPR mode.

\n\n
Returns:
\n\n
\n

object of DRPTryMode type

\n
\n", "signature": "(self) -> UniTAP.dev.ports.modules.pdc.pdc_types.DRPTryMode:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PcdCapsStatus.pr_swap", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PcdCapsStatus.pr_swap", "kind": "function", "doc": "

Returns current state of PR Swap.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PcdCapsStatus.dr_swap", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PcdCapsStatus.dr_swap", "kind": "function", "doc": "

Returns current state of DR Swap.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PcdCapsStatus.fr_swap", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PcdCapsStatus.fr_swap", "kind": "function", "doc": "

Returns current state of FR Swap.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PcdCapsStatus.vconn_swap", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PcdCapsStatus.vconn_swap", "kind": "function", "doc": "

Returns current state of VCONN Swap.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PcdCapsStatus.debug_accessory", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PcdCapsStatus.debug_accessory", "kind": "function", "doc": "

Returns current state of Debug accessory.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PcdCapsStatus.audio_accessory", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PcdCapsStatus.audio_accessory", "kind": "function", "doc": "

Returns current state of Audio accessory.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PcdCapsStatus340", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PcdCapsStatus340", "kind": "class", "doc": "

Class PcdCapsStatus340 inherited of classPcdCapsStatus allows working with PDC.\nClass PcdCapsStatus340 has all the PcdCapsStatus functionality.

\n\n
    \n
  • Get state of USB 2.0 mode usb20_mode, type bool.
  • \n
  • Get state of UCd 3.0 mode usb30_mode, type USB3Mode.
  • \n
\n", "bases": "PcdCapsStatus"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PcdCapsStatus340.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PcdCapsStatus340.__init__", "kind": "function", "doc": "

\n", "signature": "(pdc_io: UniTAP.dev.ports.modules.pdc.pdc_io.PDCPortIO)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PcdCapsStatus340.usb20_mode", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PcdCapsStatus340.usb20_mode", "kind": "function", "doc": "

Returns current state of USB 2.0 mode.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PcdCapsStatus340.usb30_mode", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PcdCapsStatus340.usb30_mode", "kind": "function", "doc": "

Returns current state of USB 3.0 mode.

\n\n
Returns:
\n\n
\n

object of USB3Mode type

\n
\n", "signature": "(self) -> UniTAP.dev.ports.modules.pdc.pdc_types.USB3Mode:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PdcCapabilities", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PdcCapabilities", "kind": "class", "doc": "

Class PdcCapabilities allows controlling PDC capabilities.

\n\n
    \n
  • Set device initial role set_initial_role.
  • \n
  • Enable/Disable PR Swap enable_pr_swap.
  • \n
  • Enable/Disable DR Swap enable_dr_swap.
  • \n
  • Enable/Disable FR Swap enable_fr_swap.
  • \n
  • Enable/Disable VCONN Swap enable_vconn_swap.
  • \n
  • Set CC Pull Up cc_pull_up.
  • \n
  • Set DPR try mode behavior try_behavior.
  • \n
  • Enable/Disable Debug accessory enable_debug_accessory.
  • \n
  • Enable/Disable Audio accessory enable_audio_accessory.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PdcCapabilities.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PdcCapabilities.__init__", "kind": "function", "doc": "

\n", "signature": "(pdc_io: UniTAP.dev.ports.modules.pdc.pdc_io.PDCPortIO)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PdcCapabilities.status", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PdcCapabilities.status", "kind": "variable", "doc": "

Returns current PDC Capabilities status.

\n\n
Returns:
\n\n
\n

object of PcdCapsStatus type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_capabilities.PcdCapsStatus"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PdcCapabilities.set_initial_role", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PdcCapabilities.set_initial_role", "kind": "function", "doc": "

Set device initial role.

\n\n
Arguments:
\n\n
    \n
  • role (PdcDeviceRole)
  • \n
\n", "signature": "(self, role: UniTAP.dev.ports.modules.pdc.pdc_types.PdcDeviceRole):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PdcCapabilities.enable_pr_swap", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PdcCapabilities.enable_pr_swap", "kind": "function", "doc": "

Enable/Disable PR Swap.

\n\n
Arguments:
\n\n
    \n
  • enable (bool)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PdcCapabilities.enable_dr_swap", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PdcCapabilities.enable_dr_swap", "kind": "function", "doc": "

Enable/Disable DR Swap.

\n\n
Arguments:
\n\n
    \n
  • enable (bool)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PdcCapabilities.enable_fr_swap", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PdcCapabilities.enable_fr_swap", "kind": "function", "doc": "

Enable/Disable FR Swap.

\n\n
Arguments:
\n\n
    \n
  • enable (bool)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PdcCapabilities.enable_vconn_swap", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PdcCapabilities.enable_vconn_swap", "kind": "function", "doc": "

Enable/Disable VCONN Swap.

\n\n
Arguments:
\n\n
    \n
  • enable (bool)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PdcCapabilities.cc_pull_up", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PdcCapabilities.cc_pull_up", "kind": "function", "doc": "

Set Cable Control Pull Up.

\n\n
Arguments:
\n\n
    \n
  • cc_pull_up (CCPullUp)
  • \n
\n", "signature": "(self, cc_pull_up: UniTAP.dev.ports.modules.pdc.pdc_types.CCPullUp):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PdcCapabilities.try_behavior", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PdcCapabilities.try_behavior", "kind": "function", "doc": "

Set DRP try mode behavior.

\n\n
Arguments:
\n\n
    \n
  • behavior (DRPTryMode)
  • \n
\n", "signature": "(self, behavior: UniTAP.dev.ports.modules.pdc.pdc_types.DRPTryMode):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PdcCapabilities.enable_debug_accessory", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PdcCapabilities.enable_debug_accessory", "kind": "function", "doc": "

Enable/Disable Debug Accessory.

\n\n
Arguments:
\n\n
    \n
  • enable (bool)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PdcCapabilities.enable_audio_accessory", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PdcCapabilities.enable_audio_accessory", "kind": "function", "doc": "

Enable/Disable Audio Accessory.

\n\n
Arguments:
\n\n
    \n
  • enable (bool)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PdcCapabilities340", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PdcCapabilities340", "kind": "class", "doc": "

Class PdcCapabilities340 inherited of classPdcCapabilities allows working with PDC.\nClass PdcCapabilities340 has all the PdcCapabilities functionality.

\n\n
    \n
  • Enable/Disable USB 2.0 bypass usb_2_bypass_function.
  • \n
  • Enable/Disable USB 3.0 bypass usb_3_bypass_function.
  • \n
\n", "bases": "PdcCapabilities"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PdcCapabilities340.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PdcCapabilities340.__init__", "kind": "function", "doc": "

\n", "signature": "(pdc_io: UniTAP.dev.ports.modules.pdc.pdc_io.PDCPortIO)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PdcCapabilities340.usb_2_bypass_function", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PdcCapabilities340.usb_2_bypass_function", "kind": "function", "doc": "

Enable/Disable USB 2.0 bypass.

\n\n
Arguments:
\n\n
    \n
  • enable (bool)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_capabilities.PdcCapabilities340.usb_3_bypass_function", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_capabilities", "qualname": "PdcCapabilities340.usb_3_bypass_function", "kind": "function", "doc": "

Enable/Disable USB 3.0 bypass.

\n\n
Arguments:
\n\n
    \n
  • enable (bool)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_contract_control", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_contract_control", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_contract_control.PowerContractControlBase", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_contract_control", "qualname": "PowerContractControlBase", "kind": "class", "doc": "

Class PowerContractControlBase allows setting and getting field related with power contract.

\n\n
    \n
  • Set and get Give Back flag give_back_flag, type bool.
  • \n
  • Set and get No USB suspend no_usb_suspend, type bool.
  • \n
  • Set and get PDO type priority pdo_type_priority, type ContractTypePriority.
  • \n
  • Set and get Maximum operation current max_operation_current, type int.
  • \n
  • Set FW Swap required current fw_swap_required_current, type FrSwapCurrent.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_contract_control.PowerContractControlBase.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_contract_control", "qualname": "PowerContractControlBase.__init__", "kind": "function", "doc": "

\n", "signature": "(pdc_io: UniTAP.dev.ports.modules.pdc.pdc_io.PDCPortIO)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_contract_control.PowerContractControlBase.give_back_flag", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_contract_control", "qualname": "PowerContractControlBase.give_back_flag", "kind": "variable", "doc": "

Returns state of Give back flag.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_contract_control.PowerContractControlBase.no_usb_suspend", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_contract_control", "qualname": "PowerContractControlBase.no_usb_suspend", "kind": "variable", "doc": "

Returns state of No USB suspend flag.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_contract_control.PowerContractControlBase.fw_swap_required_current", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_contract_control", "qualname": "PowerContractControlBase.fw_swap_required_current", "kind": "function", "doc": "

Set FW Swap required current.

\n\n
Arguments:
\n\n
    \n
  • fr_swap_current (FrSwapCurrent)
  • \n
\n", "signature": "(\tself,\tfr_swap_current: UniTAP.dev.ports.modules.pdc.pdc_types.FrSwapCurrent):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_contract_control.PowerContractControlBase.pdo_type_priority", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_contract_control", "qualname": "PowerContractControlBase.pdo_type_priority", "kind": "variable", "doc": "

Returns current PDO Type priority.

\n\n
Returns:
\n\n
\n

object of ContractTypePriority type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_types.ContractTypePriority"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_contract_control.PowerContractControlBase.max_operation_current", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_contract_control", "qualname": "PowerContractControlBase.max_operation_current", "kind": "variable", "doc": "

Returns current value of maximum operation current.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_contract_control.PowerContractControlBase.established", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_contract_control", "qualname": "PowerContractControlBase.established", "kind": "function", "doc": "

Returns state of power contract (established or not).

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_contract_control.PowerContractControl340", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_contract_control", "qualname": "PowerContractControl340", "kind": "class", "doc": "

Class PowerContractControl340 inherited from class PowerContractControlBase.\nClass PowerContractControl340 allows setting and getting internal and external resistance,\nindex of power contract.\nAlso has all the PowerContractControlBase functionality.

\n\n
    \n
  • Set and get flag Selecting power contract by index selecting_by_index, type bool.
  • \n
  • Set and get index of power contract index_of_power_contract, type int.
  • \n
  • Set and get internal resistance internal_resistance, type int or InternalResistance.
  • \n
  • Set and get external resistance external_resistance, type int or ExternalResistance.
  • \n
\n", "bases": "PowerContractControlBase"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_contract_control.PowerContractControl340.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_contract_control", "qualname": "PowerContractControl340.__init__", "kind": "function", "doc": "

\n", "signature": "(pdc_io: UniTAP.dev.ports.modules.pdc.pdc_io.PDCPortIO)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_contract_control.PowerContractControl340.selecting_by_index", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_contract_control", "qualname": "PowerContractControl340.selecting_by_index", "kind": "variable", "doc": "

Returns state of Selecting by index flag.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_contract_control.PowerContractControl340.index_of_power_contract", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_contract_control", "qualname": "PowerContractControl340.index_of_power_contract", "kind": "variable", "doc": "

Returns index of current power contract.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_contract_control.PowerContractControl340.internal_resistance", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_contract_control", "qualname": "PowerContractControl340.internal_resistance", "kind": "variable", "doc": "

Returns internal resistance.

\n\n
Returns:
\n\n
\n

object of int or InternalResistance type

\n
\n", "annotation": ": Union[UniTAP.dev.ports.modules.pdc.pdc_types.InternalResistance, int]"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_contract_control.PowerContractControl340.external_resistance", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_contract_control", "qualname": "PowerContractControl340.external_resistance", "kind": "variable", "doc": "

Returns external resistance.

\n\n
Returns:
\n\n
\n

object of int or ExternalResistance type

\n
\n", "annotation": ": Union[UniTAP.dev.ports.modules.pdc.pdc_types.ExternalResistance, int]"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControlsBase", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControlsBase", "kind": "class", "doc": "

Class PdcControlsBase allows controlling some PDC commands:

\n\n
    \n
  • Send PR Swap send_pr_swap.
  • \n
  • Send DR Swap send_dr_swap.
  • \n
  • Send FR Swap send_fr_swap.
  • \n
  • Send VCONN Swap send_vconn_swap.
  • \n
  • Change cable control orientation orientation.
  • \n
  • Attach/DeAttach attach.
  • \n
  • Enable/Disable auto negotiate power contract enable_auto_negotiate_power_contract.
  • \n
  • Enable/Disable communication capable as PD Sink communication_capable_as_pd_sink.
  • \n
  • Enable/Disable communication capable as PD Source communication_capable_as_pd_source.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControlsBase.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControlsBase.__init__", "kind": "function", "doc": "

\n", "signature": "(pdc_io: UniTAP.dev.ports.modules.pdc.pdc_io.PDCPortIO)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControlsBase.send_pr_swap", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControlsBase.send_pr_swap", "kind": "function", "doc": "

Send Power Role swap. It will be necessary to manually check that the changes have been made.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControlsBase.send_dr_swap", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControlsBase.send_dr_swap", "kind": "function", "doc": "

Send Dual Role swap. It will be necessary to manually check that the changes have been made.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControlsBase.send_fr_swap", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControlsBase.send_fr_swap", "kind": "function", "doc": "

Send Fast Role swap. It will be necessary to manually check that the changes have been made.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControlsBase.send_vconn_swap", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControlsBase.send_vconn_swap", "kind": "function", "doc": "

Send VCONN Role swap. It will be necessary to manually check that the changes have been made.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControlsBase.orientation", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControlsBase.orientation", "kind": "variable", "doc": "

Change cable control orientation.

\n\n
Arguments:
\n\n
    \n
  • orientation (CableControlOrientation)
  • \n
\n", "annotation": ": Optional[UniTAP.dev.ports.modules.pdc.pdc_types.CableControlOrientation]"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControlsBase.enable_auto_negotiate_power_contract", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControlsBase.enable_auto_negotiate_power_contract", "kind": "function", "doc": "

Enable/Disable auto negotiate power contract.

\n\n
Arguments:
\n\n
    \n
  • enable (bool)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControlsBase.communication_capable_as_pd_sink", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControlsBase.communication_capable_as_pd_sink", "kind": "function", "doc": "

Enable/Disable communication capable as PD Sink.

\n\n
Arguments:
\n\n
    \n
  • capable (bool)
  • \n
\n", "signature": "(self, capable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControlsBase.communication_capable_as_pd_source", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControlsBase.communication_capable_as_pd_source", "kind": "function", "doc": "

Enable/Disable communication capable as PD Source.

\n\n
Arguments:
\n\n
    \n
  • capable (bool)
  • \n
\n", "signature": "(self, capable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControls340", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControls340", "kind": "class", "doc": "

Class PdcControls340 inherited from class PdcControlsBase.\nClass PdcControls340 allows controlling additional commands.\nAlso has all the PdcControlsBase functionality.

\n\n
    \n
  • Reconnect device reconnect.
  • \n
  • Reset device reset.
  • \n
  • Set ET cable different pairs et_cable_diff_pairs.
  • \n
\n", "bases": "PdcControlsBase"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControls340.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControls340.__init__", "kind": "function", "doc": "

\n", "signature": "(pdc_io: UniTAP.dev.ports.modules.pdc.pdc_io.PDCPortIO)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControls340.reset", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControls340.reset", "kind": "function", "doc": "

Reset device.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControls340.attach", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControls340.attach", "kind": "function", "doc": "

Attach/DeAttach device.

\n", "signature": "(self, attach: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControls340.reconnect", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControls340.reconnect", "kind": "function", "doc": "

Reconnect device.

\n\n
Returns:
\n\n
\n

result of reconnection, type bool.

\n
\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControls340.et_cable_diff_pairs", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControls340.et_cable_diff_pairs", "kind": "function", "doc": "

Set ET cable different pairs.

\n\n
Arguments:
\n\n
    \n
  • differential_pair (DifferentialPair)
  • \n
\n", "signature": "(\tself,\tdifferential_pair: UniTAP.dev.ports.modules.pdc.pdc_types.DifferentialPair):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControls424", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControls424", "kind": "class", "doc": "

Class PdcControls424 inherited from class PdcControlsBase.\nClass PdcControls424 allows controlling additional commands.\nAlso has all the PdcControlsBase functionality.

\n\n
    \n
  • Reconnect device reconnect.
  • \n
  • Reset device reset.
  • \n
\n", "bases": "PdcControlsBase"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControls424.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControls424.__init__", "kind": "function", "doc": "

\n", "signature": "(pdc_io: UniTAP.dev.ports.modules.pdc.pdc_io.PDCPortIO)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControls424.reset", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControls424.reset", "kind": "function", "doc": "

Reset device.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControls424.reconnect", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControls424.reconnect", "kind": "function", "doc": "

Reconnect device.

\n\n
Returns:
\n\n
\n

result of reconnection, type bool.

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControls500", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControls500", "kind": "class", "doc": "

Class PdcControls500 inherited from class PdcControlsBase.\nClass PdcControls500 allows controlling additional commands.\nAlso has all the PdcControlsBase functionality.

\n\n
    \n
  • Reconnect device reconnect.
  • \n
  • Enable/Disable internal resistance 10 Ohm enable_internal_load_10_ohm.
  • \n
\n", "bases": "PdcControlsBase"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControls500.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControls500.__init__", "kind": "function", "doc": "

\n", "signature": "(pdc_io: UniTAP.dev.ports.modules.pdc.pdc_io.PDCPortIO)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControls500.reconnect", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControls500.reconnect", "kind": "function", "doc": "

Reconnect device.

\n\n
Returns:
\n\n
\n

result of reconnection, type bool.

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControls500.attach", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControls500.attach", "kind": "function", "doc": "

Attach/DeAttach device.

\n", "signature": "(self, attach: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_controls.PdcControls500.enable_internal_load_10_ohm", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_controls", "qualname": "PdcControls500.enable_internal_load_10_ohm", "kind": "function", "doc": "

Enable/Disable internal resistance 10 Ohm.

\n\n
Arguments:
\n\n
    \n
  • enable (bool)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.PinAssignment", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "PinAssignment", "kind": "class", "doc": "

Class PinAssignment allows enabling and disabling assignment.

\n\n
    \n
  • Enable/Disable mode C 4 lanes c_4_lanes, type bool.
  • \n
  • Enable/Disable mode D 2 lanes d_2_lanes, type bool.
  • \n
  • Enable/Disable mode E 4 lanes e_4_lanes, type bool.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.PinAssignment.c_4_lanes", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "PinAssignment.c_4_lanes", "kind": "variable", "doc": "

Returns state of C 4 lanes mode.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.PinAssignment.d_2_lanes", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "PinAssignment.d_2_lanes", "kind": "variable", "doc": "

Returns state of D 2 lanes mode.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.PinAssignment.e_4_lanes", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "PinAssignment.e_4_lanes", "kind": "variable", "doc": "

Returns state of E 4 lanes mode.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DutDpAltModeStatus", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DutDpAltModeStatus", "kind": "class", "doc": "

Class DutDpAltModeStatus describes DUT DP Alt mode status.

\n\n
    \n
  • Get DUT connection state dut_connection, type str.
  • \n
  • Get DUT multi-function state dut_multi_function, type bool.
  • \n
  • Get DUT power low state dut_power_low, type bool.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DutDpAltModeStatus.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DutDpAltModeStatus.__init__", "kind": "function", "doc": "

\n", "signature": "(pdc_io: UniTAP.dev.ports.modules.pdc.pdc_io.PDCPortIO)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DutDpAltModeStatus.dut_connection", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DutDpAltModeStatus.dut_connection", "kind": "variable", "doc": "

Returns DUT connection state.

\n\n
Returns:
\n\n
\n

object of str type.

\n
\n", "annotation": ": str"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DutDpAltModeStatus.dut_multi_function", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DutDpAltModeStatus.dut_multi_function", "kind": "variable", "doc": "

Returns DUT multi-function state.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DutDpAltModeStatus.dut_power_low", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DutDpAltModeStatus.dut_power_low", "kind": "variable", "doc": "

Returns DUT power low state.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.TeDpAltModeStatus", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "TeDpAltModeStatus", "kind": "class", "doc": "

Class DutDpAltModeStatus describes TE DP Alt mode status.

\n\n
    \n
  • Get active state te_active, type bool.
  • \n
  • Get DISC signaling DP v1.3 state, type bool.
  • \n
  • Get DISC signaling USB Gen 2 state, type bool.
  • \n
  • Get PIN assignment, type PinAssignmentModes.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.TeDpAltModeStatus.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "TeDpAltModeStatus.__init__", "kind": "function", "doc": "

\n", "signature": "(pdc_io: UniTAP.dev.ports.modules.pdc.pdc_io.PDCPortIO)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.TeDpAltModeStatus.te_active", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "TeDpAltModeStatus.te_active", "kind": "variable", "doc": "

Returns active state.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.TeDpAltModeStatus.te_select_dp_1_3", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "TeDpAltModeStatus.te_select_dp_1_3", "kind": "variable", "doc": "

Returns DISC signaling DP v1.3 state.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.TeDpAltModeStatus.te_select_usb_gen2", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "TeDpAltModeStatus.te_select_usb_gen2", "kind": "variable", "doc": "

Returns DISC signaling USB Gen 2 state.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.TeDpAltModeStatus.te_pin_assignment", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "TeDpAltModeStatus.te_pin_assignment", "kind": "variable", "doc": "

Returns PIN assignment.

\n\n
Returns:
\n\n
\n

object of PinAssignmentModes type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_dpam_types.PinAssignmentModes"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeStatus", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeStatus", "kind": "class", "doc": "

Class DpAltModeStatus describes DP Alt mode status.

\n\n
    \n
  • Get DUT DP Alt mode status dut_dp_alt_mode, type DutDpAltModeStatus.
  • \n
  • Get TE DP Alt mode status, type TeDpAltModeStatus.
  • \n
  • Get support state of DISC Signaling DP v13 support_dp_1_3, type bool.
  • \n
  • Get support state of DISC Signaling USB Gen2 support_usb_gen2, type bool.
  • \n
  • Get support state of DFP D support_dfp_d, type bool.
  • \n
  • Get support state of UFP D support_ufp_d, type bool.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeStatus.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeStatus.__init__", "kind": "function", "doc": "

\n", "signature": "(pdc_io: UniTAP.dev.ports.modules.pdc.pdc_io.PDCPortIO)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeStatus.support_dp_1_3", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeStatus.support_dp_1_3", "kind": "variable", "doc": "

Returns support state of DISC Signaling DP v13.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeStatus.support_usb_gen2", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeStatus.support_usb_gen2", "kind": "variable", "doc": "

Returns support state of DISC Signaling USB Gen2.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeStatus.support_dfp_d", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeStatus.support_dfp_d", "kind": "variable", "doc": "

Returns support state of DFP D.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeStatus.support_ufp_d", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeStatus.support_ufp_d", "kind": "variable", "doc": "

Returns support state of UFP D.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeStatus.multifunction_preferred", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeStatus.multifunction_preferred", "kind": "function", "doc": "

Returns state of multifunction preferred.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeStatus.auto_enter", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeStatus.auto_enter", "kind": "function", "doc": "

Returns state of auto enter.

\n\n
Returns:
\n\n
\n

object of bool type.

\n
\n", "signature": "(self) -> bool:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeStatus.dut_dp_alt_mode", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeStatus.dut_dp_alt_mode", "kind": "variable", "doc": "

Returns DUT DP Alt mode status.

\n\n
Returns:
\n\n
\n

object of DutDpAltModeStatus type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DutDpAltModeStatus"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeStatus.te_dp_alt_mode", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeStatus.te_dp_alt_mode", "kind": "variable", "doc": "

Returns TE DP Alt mode status.

\n\n
Returns:
\n\n
\n

object of TeDpAltModeStatus type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.TeDpAltModeStatus"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeBase", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeBase", "kind": "class", "doc": "

Class DpAltModeBase describes basic DP Alt mode functionality.

\n\n
    \n
  • Get DP Alt mode status status, type DpAltModeStatus.
  • \n
  • Enter to 2 lane mode enter_2_lane.
  • \n
  • Enter to 4 lane mode enter_4_lane.
  • \n
  • Exit from DP Alt mode exit.
  • \n
  • Disable DP Alt mode disable.
  • \n
  • Enable/Disable auto enter to DP Alt mode auto_enter.
  • \n
  • Enable/Disable multifunction preferred multifunction_preferred.
  • \n
  • Enable/Disable align Dp and USB Data role align_dp_and_usb_data_role.
  • \n
  • Set and get UFP caps ufp_caps, type PinAssignment.
  • \n
  • Set and get DFP caps dfp_caps, type PinAssignment.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeBase.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeBase.__init__", "kind": "function", "doc": "

\n", "signature": "(pdc_io: UniTAP.dev.ports.modules.pdc.pdc_io.PDCPortIO)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeBase.status", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeBase.status", "kind": "variable", "doc": "

Returns DP Alt mode status.

\n\n
Returns:
\n\n
\n

object of DpAltModeStatus type.

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeStatus"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeBase.enter_2_lane", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeBase.enter_2_lane", "kind": "function", "doc": "

Enter to 2 lane mode.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeBase.enter_4_lane", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeBase.enter_4_lane", "kind": "function", "doc": "

Enter to 4 lane mode.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeBase.exit", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeBase.exit", "kind": "function", "doc": "

Exit from DP Alt mode.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeBase.disable", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeBase.disable", "kind": "function", "doc": "

Disable DP Alt mode.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeBase.auto_enter", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeBase.auto_enter", "kind": "function", "doc": "

Enable/Disable auto enter to DP Alt mode.

\n\n
Arguments:
\n\n
    \n
  • enable (bool)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeBase.multifunction_preferred", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeBase.multifunction_preferred", "kind": "function", "doc": "

Enable/Disable multifunction preferred.

\n\n
Arguments:
\n\n
    \n
  • enable (bool)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeBase.align_dp_and_usb_data_role", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeBase.align_dp_and_usb_data_role", "kind": "function", "doc": "

Enable/Disable align Dp and USB Data role.

\n\n
Arguments:
\n\n
    \n
  • enable (bool)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeBase.ufp_caps", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeBase.ufp_caps", "kind": "variable", "doc": "

Returns current UFP caps.

\n\n
Returns:
\n\n
\n

object of PinAssignment

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.PinAssignment"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeBase.dfp_caps", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeBase.dfp_caps", "kind": "variable", "doc": "

Returns current DFP caps.

\n\n
Returns:
\n\n
\n

object of PinAssignment

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.PinAssignment"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltModeBase.version", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltModeBase.version", "kind": "variable", "doc": "

\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdc_dpam_types.DPAMVersion"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltMode500", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltMode500", "kind": "class", "doc": "

Class DpAltMode500 inherited from class DpAltModeBase.\nClass DpAltMode500 allows controlling additional commands.\nAlso has all the DpAltModeBase functionality.

\n\n
    \n
  • Enable/Disable DP 2.1 Alt mode enable_dp21.
  • \n
\n", "bases": "DpAltModeBase"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltMode500.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltMode500.__init__", "kind": "function", "doc": "

\n", "signature": "(pdc_io: UniTAP.dev.ports.modules.pdc.pdc_io.PDCPortIO)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltMode500.enable_dp21", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltMode500.enable_dp21", "kind": "function", "doc": "

Enable/Disable DP 2.1 Alt mode.

\n\n
Arguments:
\n\n
    \n
  • enable (bool)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltMode340", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltMode340", "kind": "class", "doc": "

Class DpAltMode340 inherited from class DpAltModeBase.\nClass DpAltMode340 allows controlling additional commands.\nAlso has all the DpAltModeBase functionality.

\n\n
    \n
  • Enable/Disable DP to Type-C cable adapter mode dp_to_type_c_cable_adapter_mode.
  • \n
\n", "bases": "DpAltModeBase"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltMode340.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltMode340.__init__", "kind": "function", "doc": "

\n", "signature": "(pdc_io: UniTAP.dev.ports.modules.pdc.pdc_io.PDCPortIO)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode.DpAltMode340.dp_to_type_c_cable_adapter_mode", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode", "qualname": "DpAltMode340.dp_to_type_c_cable_adapter_mode", "kind": "function", "doc": "

Enable/Disable DP to Type-C cable adapter mode.

\n\n
Arguments:
\n\n
    \n
  • enable (bool)
  • \n
\n", "signature": "(self, enable: bool):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.DISCCapability", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "DISCCapability", "kind": "class", "doc": "

Class DISCCapability contains all possible variants of DISC capability.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.DISCCapability.Reserved", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "DISCCapability.Reserved", "kind": "variable", "doc": "

\n", "default_value": "<DISCCapability.Reserved: 0>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.DISCCapability.UFP_D_capable", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "DISCCapability.UFP_D_capable", "kind": "variable", "doc": "

\n", "default_value": "<DISCCapability.UFP_D_capable: 1>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.DISCCapability.DPF_D_capable", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "DISCCapability.DPF_D_capable", "kind": "variable", "doc": "

\n", "default_value": "<DISCCapability.DPF_D_capable: 2>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.DISCCapability.UFP_D_and_DPF_D", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "DISCCapability.UFP_D_and_DPF_D", "kind": "variable", "doc": "

\n", "default_value": "<DISCCapability.UFP_D_and_DPF_D: 3>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.DISCDpSignaling", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "DISCDpSignaling", "kind": "class", "doc": "

Class DISCDpSignaling contains all possible variants of signaling.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.DISCDpSignaling.Unspecified", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "DISCDpSignaling.Unspecified", "kind": "variable", "doc": "

\n", "default_value": "<DISCDpSignaling.Unspecified: 0>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.DISCDpSignaling.Dp_v13", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "DISCDpSignaling.Dp_v13", "kind": "variable", "doc": "

\n", "default_value": "<DISCDpSignaling.Dp_v13: 1>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.DISCDpSignaling.Gen2", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "DISCDpSignaling.Gen2", "kind": "variable", "doc": "

\n", "default_value": "<DISCDpSignaling.Gen2: 2>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.PinAssignmentModes", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "PinAssignmentModes", "kind": "class", "doc": "

Class PinAssignmentModes contains all possible variants of pin assignment.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.PinAssignmentModes.NotSupported", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "PinAssignmentModes.NotSupported", "kind": "variable", "doc": "

\n", "default_value": "<PinAssignmentModes.NotSupported: 0>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.PinAssignmentModes.A_4_2lanes", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "PinAssignmentModes.A_4_2lanes", "kind": "variable", "doc": "

\n", "default_value": "<PinAssignmentModes.A_4_2lanes: 1>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.PinAssignmentModes.B_2_1lanes", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "PinAssignmentModes.B_2_1lanes", "kind": "variable", "doc": "

\n", "default_value": "<PinAssignmentModes.B_2_1lanes: 2>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.PinAssignmentModes.C_4lanes", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "PinAssignmentModes.C_4lanes", "kind": "variable", "doc": "

\n", "default_value": "<PinAssignmentModes.C_4lanes: 4>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.PinAssignmentModes.D_2lanes", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "PinAssignmentModes.D_2lanes", "kind": "variable", "doc": "

\n", "default_value": "<PinAssignmentModes.D_2lanes: 8>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.PinAssignmentModes.E_4lanes", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "PinAssignmentModes.E_4lanes", "kind": "variable", "doc": "

\n", "default_value": "<PinAssignmentModes.E_4lanes: 16>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.PinAssignmentModes.F_2lanes_USB_GEN1", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "PinAssignmentModes.F_2lanes_USB_GEN1", "kind": "variable", "doc": "

\n", "default_value": "<PinAssignmentModes.F_2lanes_USB_GEN1: 32>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.DPAMVersion", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "DPAMVersion", "kind": "class", "doc": "

Class PinAssignmentModes contains all possible variants of DP Alt mode version.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.DPAMVersion.V_20_or_Earlier", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "DPAMVersion.V_20_or_Earlier", "kind": "variable", "doc": "

\n", "default_value": "<DPAMVersion.V_20_or_Earlier: 0>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.DPAMVersion.V_21_or_Higher", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "DPAMVersion.V_21_or_Higher", "kind": "variable", "doc": "

\n", "default_value": "<DPAMVersion.V_21_or_Higher: 1>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.DPAMVersion.Reserved", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "DPAMVersion.Reserved", "kind": "variable", "doc": "

\n", "default_value": "<DPAMVersion.Reserved: 2>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types.DPAMVersion.Reserved2", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_dpam_types", "qualname": "DPAMVersion.Reserved2", "kind": "variable", "doc": "

\n", "default_value": "<DPAMVersion.Reserved2: 3>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_sink", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_sink", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_sink.PowerSink", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_sink", "qualname": "PowerSink", "kind": "class", "doc": "

Class PowerSink contains information about PDO's on Sink side.

\n\n
    \n
  • Get PDO count pdo_count, type int.
  • \n
  • Set and get PDO list, set_pdo_list, get_pdo_list, type list with Pdo.
  • \n
  • Set and get PDO by index, set_pdo_by_index, get_pdo_by_index, type Pdo.
  • \n
  • Save information about PDO's to file, save_pdo.
  • \n
  • Load information about PDO's from file, load_pdo.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_sink.PowerSink.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_sink", "qualname": "PowerSink.__init__", "kind": "function", "doc": "

\n", "signature": "(pdc_io: UniTAP.dev.ports.modules.pdc.pdc_io.PDCPortIO)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_sink.PowerSink.pdo_count", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_sink", "qualname": "PowerSink.pdo_count", "kind": "variable", "doc": "

Returns current pdo count.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_sink.PowerSink.set_pdo_list", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_sink", "qualname": "PowerSink.set_pdo_list", "kind": "function", "doc": "

Set new Pdo list.

\n\n
Arguments:
\n\n
    \n
  • pdo_list (list with 'Pdo')
  • \n
\n", "signature": "(self, pdo_list: List[UniTAP.dev.ports.modules.pdc.pdo.Pdo]):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_sink.PowerSink.set_pdo_by_index", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_sink", "qualname": "PowerSink.set_pdo_by_index", "kind": "function", "doc": "

Set new Pdo by index.

\n\n
Arguments:
\n\n
    \n
  • pdo_object ('Pdo')
  • \n
  • index (int)
  • \n
\n", "signature": "(self, pdo_object, index: int):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_sink.PowerSink.get_pdo_list", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_sink", "qualname": "PowerSink.get_pdo_list", "kind": "function", "doc": "

Returns current pdo list.

\n\n
Arguments:
\n\n
    \n
  • read_from_device (bool)
  • \n
\n\n
Returns:
\n\n
\n

object of list type with Pdo.

\n
\n", "signature": "(\tself,\tread_from_device: bool = False) -> List[UniTAP.dev.ports.modules.pdc.pdo.Pdo]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_sink.PowerSink.get_pdo_by_index", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_sink", "qualname": "PowerSink.get_pdo_by_index", "kind": "function", "doc": "

Returns current pdo by index.

\n\n
Arguments:
\n\n
    \n
  • index (int)
  • \n
  • read_from_device (bool)
  • \n
\n\n
Returns:
\n\n
\n

object of Pdo type.

\n
\n", "signature": "(\tself,\tindex: int,\tread_from_device: bool = False) -> UniTAP.dev.ports.modules.pdc.pdo.Pdo:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_sink.PowerSink.save_pdo", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_sink", "qualname": "PowerSink.save_pdo", "kind": "function", "doc": "

Save information about PDO's to file.\nSupported formats:

\n\n
    \n
  • txt
  • \n
  • json
  • \n
\n\n
Arguments:
\n\n
    \n
  • path (str)
  • \n
\n", "signature": "(self, path: str):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_sink.PowerSink.load_pdo", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_sink", "qualname": "PowerSink.load_pdo", "kind": "function", "doc": "

Load information about PDO's from file.\nSupported formats:

\n\n
    \n
  • txt
  • \n
  • json
  • \n
\n\n
Arguments:
\n\n
    \n
  • path (str)
  • \n
\n", "signature": "(self, path: str):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_source", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_source", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_source.PowerSource", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_source", "qualname": "PowerSource", "kind": "class", "doc": "

Class PowerSource contains information about PDO's on Source side.

\n\n
    \n
  • Get PDO count pdo_count, type int.
  • \n
  • Set and get PDO list, set_pdo_list, get_pdo_list, type list with Pdo.
  • \n
  • Set and get PDO by index, set_pdo_by_index, get_pdo_by_index, type Pdo.
  • \n
  • Send Source PDO's, send_pdo.
  • \n
  • Save information about PDO's to file, save_pdo.
  • \n
  • Load information about PDO's from file, load_pdo.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_source.PowerSource.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_source", "qualname": "PowerSource.__init__", "kind": "function", "doc": "

\n", "signature": "(pdc_io: UniTAP.dev.ports.modules.pdc.pdc_io.PDCPortIO)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_source.PowerSource.pdo_count", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_source", "qualname": "PowerSource.pdo_count", "kind": "variable", "doc": "

Returns current pdo count.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_source.PowerSource.send_pdo", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_source", "qualname": "PowerSource.send_pdo", "kind": "function", "doc": "

Send Source PDO's.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_source.PowerSource.get_pdo_list", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_source", "qualname": "PowerSource.get_pdo_list", "kind": "function", "doc": "

Returns current pdo list.

\n\n
Arguments:
\n\n
    \n
  • read_from_device (bool)
  • \n
\n\n
Returns:
\n\n
\n

object of list type with Pdo.

\n
\n", "signature": "(\tself,\tread_from_device: bool = False) -> List[UniTAP.dev.ports.modules.pdc.pdo.Pdo]:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_source.PowerSource.get_pdo_by_index", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_source", "qualname": "PowerSource.get_pdo_by_index", "kind": "function", "doc": "

Returns current pdo by index.

\n\n
Arguments:
\n\n
    \n
  • index (int)
  • \n
  • read_from_device (bool)
  • \n
\n\n
Returns:
\n\n
\n

object of Pdo type.

\n
\n", "signature": "(self, index: int, read_from_device: bool = False):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_source.PowerSource.set_pdo_list", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_source", "qualname": "PowerSource.set_pdo_list", "kind": "function", "doc": "

Set new Pdo list.

\n\n
Arguments:
\n\n
    \n
  • pdo_list (list with 'Pdo')
  • \n
\n", "signature": "(self, pdo_list: List[UniTAP.dev.ports.modules.pdc.pdo.Pdo]):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_source.PowerSource.set_pdo_by_index", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_source", "qualname": "PowerSource.set_pdo_by_index", "kind": "function", "doc": "

Set new Pdo by index.

\n\n
Arguments:
\n\n
    \n
  • pdo_object ('Pdo')
  • \n
  • index (int)
  • \n
\n", "signature": "(self, pdo_object, index: int):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_source.PowerSource.save_pdo", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_source", "qualname": "PowerSource.save_pdo", "kind": "function", "doc": "

Save information about PDO's to file.\nSupported formats:

\n\n
    \n
  • txt
  • \n
  • json
  • \n
\n\n
Arguments:
\n\n
    \n
  • path (str)
  • \n
\n", "signature": "(self, path: str):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_power_source.PowerSource.load_pdo", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_power_source", "qualname": "PowerSource.load_pdo", "kind": "function", "doc": "

Load information about PDO's from file.\nSupported formats:

\n\n
    \n
  • txt
  • \n
  • json
  • \n
\n\n
Arguments:
\n\n
    \n
  • path (str)
  • \n
\n", "signature": "(self, path: str):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.CCPullUp", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "CCPullUp", "kind": "class", "doc": "

Class CCPullUp contains all possible variants of CC Pull Up.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.CCPullUp.Current_05_09A", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "CCPullUp.Current_05_09A", "kind": "variable", "doc": "

\n", "default_value": "<CCPullUp.Current_05_09A: 0>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.CCPullUp.Current_1_5A", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "CCPullUp.Current_1_5A", "kind": "variable", "doc": "

\n", "default_value": "<CCPullUp.Current_1_5A: 1>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.CCPullUp.Current_3A", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "CCPullUp.Current_3A", "kind": "variable", "doc": "

\n", "default_value": "<CCPullUp.Current_3A: 2>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.CCPullUp.Unknown", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "CCPullUp.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<CCPullUp.Unknown: 3>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.PowerRole", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "PowerRole", "kind": "class", "doc": "

Class PowerRole contains all possible variants of device power role.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.PowerRole.Source", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "PowerRole.Source", "kind": "variable", "doc": "

\n", "default_value": "<PowerRole.Source: 0>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.PowerRole.Sink", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "PowerRole.Sink", "kind": "variable", "doc": "

\n", "default_value": "<PowerRole.Sink: 1>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.FrSwapCurrent", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "FrSwapCurrent", "kind": "class", "doc": "

Class FrSwapCurrent contains all possible variants of FR Swap current.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.FrSwapCurrent.Disable", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "FrSwapCurrent.Disable", "kind": "variable", "doc": "

\n", "default_value": "<FrSwapCurrent.Disable: 0>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.FrSwapCurrent.EnableDefaultUSBPower", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "FrSwapCurrent.EnableDefaultUSBPower", "kind": "variable", "doc": "

\n", "default_value": "<FrSwapCurrent.EnableDefaultUSBPower: 1>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.FrSwapCurrent.Enable_1_5A_5V", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "FrSwapCurrent.Enable_1_5A_5V", "kind": "variable", "doc": "

\n", "default_value": "<FrSwapCurrent.Enable_1_5A_5V: 2>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.FrSwapCurrent.Enable_3A_5V", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "FrSwapCurrent.Enable_3A_5V", "kind": "variable", "doc": "

\n", "default_value": "<FrSwapCurrent.Enable_3A_5V: 3>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.PdcDeviceRole", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "PdcDeviceRole", "kind": "class", "doc": "

Class PdcDeviceRole contains all possible variants of PDC device role.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.PdcDeviceRole.UFP", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "PdcDeviceRole.UFP", "kind": "variable", "doc": "

\n", "default_value": "<PdcDeviceRole.UFP: 0>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.PdcDeviceRole.DFP", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "PdcDeviceRole.DFP", "kind": "variable", "doc": "

\n", "default_value": "<PdcDeviceRole.DFP: 1>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.PdcDeviceRole.DRP", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "PdcDeviceRole.DRP", "kind": "variable", "doc": "

\n", "default_value": "<PdcDeviceRole.DRP: 2>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.PdcDeviceRole.Unknown", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "PdcDeviceRole.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<PdcDeviceRole.Unknown: 3>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.PDMode", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "PDMode", "kind": "class", "doc": "

Class PDMode contains all possible variants of PD modes.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.PDMode.NormalPD", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "PDMode.NormalPD", "kind": "variable", "doc": "

\n", "default_value": "<PDMode.NormalPD: 0>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.PDMode.LegacyUSBSource", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "PDMode.LegacyUSBSource", "kind": "variable", "doc": "

\n", "default_value": "<PDMode.LegacyUSBSource: 1>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.PDMode.LegacyUSBSink", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "PDMode.LegacyUSBSink", "kind": "variable", "doc": "

\n", "default_value": "<PDMode.LegacyUSBSink: 2>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.PDMode.Unknown", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "PDMode.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<PDMode.Unknown: 3>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.USB3Mode", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "USB3Mode", "kind": "class", "doc": "

Class USB3Mode contains all possible variants of USB-3 modes.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.USB3Mode.Disabled", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "USB3Mode.Disabled", "kind": "variable", "doc": "

\n", "default_value": "<USB3Mode.Disabled: 0>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.USB3Mode.EnabledGen1", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "USB3Mode.EnabledGen1", "kind": "variable", "doc": "

\n", "default_value": "<USB3Mode.EnabledGen1: 1>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.USB3Mode.EnabledGen2", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "USB3Mode.EnabledGen2", "kind": "variable", "doc": "

\n", "default_value": "<USB3Mode.EnabledGen2: 2>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.USB3Mode.Unknown", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "USB3Mode.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<USB3Mode.Unknown: 3>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.DRPTryMode", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "DRPTryMode", "kind": "class", "doc": "

Class DRPTryMode contains all possible variants of DRP behavior modes.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.DRPTryMode.PureDRP", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "DRPTryMode.PureDRP", "kind": "variable", "doc": "

\n", "default_value": "<DRPTryMode.PureDRP: 0>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.DRPTryMode.DRP_try_SNK", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "DRPTryMode.DRP_try_SNK", "kind": "variable", "doc": "

\n", "default_value": "<DRPTryMode.DRP_try_SNK: 1>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.DRPTryMode.DRP_try_SRC", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "DRPTryMode.DRP_try_SRC", "kind": "variable", "doc": "

\n", "default_value": "<DRPTryMode.DRP_try_SRC: 2>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.DRPTryMode.Unknown", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "DRPTryMode.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<DRPTryMode.Unknown: 3>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.CableControlOrientation", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "CableControlOrientation", "kind": "class", "doc": "

Class CableControlOrientation contains all possible variants of orientation.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.CableControlOrientation.CC1", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "CableControlOrientation.CC1", "kind": "variable", "doc": "

\n", "default_value": "<CableControlOrientation.CC1: 0>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.CableControlOrientation.CC2", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "CableControlOrientation.CC2", "kind": "variable", "doc": "

\n", "default_value": "<CableControlOrientation.CC2: 1>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.DifferentialPair", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "DifferentialPair", "kind": "class", "doc": "

Class DifferentialPair contains all possible variants of differential pairs.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.DifferentialPair.OnePair", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "DifferentialPair.OnePair", "kind": "variable", "doc": "

\n", "default_value": "<DifferentialPair.OnePair: 0>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.DifferentialPair.TwoPair", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "DifferentialPair.TwoPair", "kind": "variable", "doc": "

\n", "default_value": "<DifferentialPair.TwoPair: 1>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.ContractTypePriority", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "ContractTypePriority", "kind": "class", "doc": "

Class ContractTypePriority contains all possible variants of contract type priority.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.ContractTypePriority.HigherCurrent", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "ContractTypePriority.HigherCurrent", "kind": "variable", "doc": "

\n", "default_value": "<ContractTypePriority.HigherCurrent: 0>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.ContractTypePriority.HigherVoltage", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "ContractTypePriority.HigherVoltage", "kind": "variable", "doc": "

\n", "default_value": "<ContractTypePriority.HigherVoltage: 1>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.ContractTypePriority.HigherPower", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "ContractTypePriority.HigherPower", "kind": "variable", "doc": "

\n", "default_value": "<ContractTypePriority.HigherPower: 2>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.ContractTypePriority.Unknown", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "ContractTypePriority.Unknown", "kind": "variable", "doc": "

\n", "default_value": "<ContractTypePriority.Unknown: 3>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.InternalResistance", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "InternalResistance", "kind": "class", "doc": "

Class InternalResistance contains all possible variants of internal resistance.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.InternalResistance.Disable", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "InternalResistance.Disable", "kind": "variable", "doc": "

\n", "default_value": "<InternalResistance.Disable: 1>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.InternalResistance.Resistance_10_Ohm", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "InternalResistance.Resistance_10_Ohm", "kind": "variable", "doc": "

\n", "default_value": "<InternalResistance.Resistance_10_Ohm: 40001>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.InternalResistance.Resistance_5_5_Ohm", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "InternalResistance.Resistance_5_5_Ohm", "kind": "variable", "doc": "

\n", "default_value": "<InternalResistance.Resistance_5_5_Ohm: 22001>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.InternalResistance.Resistance_3_55_Ohm", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "InternalResistance.Resistance_3_55_Ohm", "kind": "variable", "doc": "

\n", "default_value": "<InternalResistance.Resistance_3_55_Ohm: 14161>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.InternalResistance.Resistance_3_5_Ohm", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "InternalResistance.Resistance_3_5_Ohm", "kind": "variable", "doc": "

\n", "default_value": "<InternalResistance.Resistance_3_5_Ohm: 14001>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.InternalResistance.Resistance_2_6_Ohm", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "InternalResistance.Resistance_2_6_Ohm", "kind": "variable", "doc": "

\n", "default_value": "<InternalResistance.Resistance_2_6_Ohm: 10361>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.InternalResistance.Resistance_2_14_Ohm", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "InternalResistance.Resistance_2_14_Ohm", "kind": "variable", "doc": "

\n", "default_value": "<InternalResistance.Resistance_2_14_Ohm: 8521>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.InternalResistance.Resistance_1_76_Ohm", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "InternalResistance.Resistance_1_76_Ohm", "kind": "variable", "doc": "

\n", "default_value": "<InternalResistance.Resistance_1_76_Ohm: 7001>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.ExternalResistance", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "ExternalResistance", "kind": "class", "doc": "

Class ExternalResistance contains all possible variants of external resistance.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.ExternalResistance.Disable", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "ExternalResistance.Disable", "kind": "variable", "doc": "

\n", "default_value": "<ExternalResistance.Disable: 3>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.ExternalResistance.Resistance_13_9_Ohm", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "ExternalResistance.Resistance_13_9_Ohm", "kind": "variable", "doc": "

\n", "default_value": "<ExternalResistance.Resistance_13_9_Ohm: 55603>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.ExternalResistance.Resistance_10_6_Ohm", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "ExternalResistance.Resistance_10_6_Ohm", "kind": "variable", "doc": "

\n", "default_value": "<ExternalResistance.Resistance_10_6_Ohm: 42403>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.ExternalResistance.Resistance_9_1_Ohm", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "ExternalResistance.Resistance_9_1_Ohm", "kind": "variable", "doc": "

\n", "default_value": "<ExternalResistance.Resistance_9_1_Ohm: 36403>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.ExternalResistance.Resistance_7_6_Ohm", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "ExternalResistance.Resistance_7_6_Ohm", "kind": "variable", "doc": "

\n", "default_value": "<ExternalResistance.Resistance_7_6_Ohm: 30403>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.ExternalResistance.Resistance_6_6_Ohm", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "ExternalResistance.Resistance_6_6_Ohm", "kind": "variable", "doc": "

\n", "default_value": "<ExternalResistance.Resistance_6_6_Ohm: 26403>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.ExternalResistance.Resistance_5_6_Ohm", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "ExternalResistance.Resistance_5_6_Ohm", "kind": "variable", "doc": "

\n", "default_value": "<ExternalResistance.Resistance_5_6_Ohm: 22403>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.ExternalResistance.Resistance_4_6_Ohm", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "ExternalResistance.Resistance_4_6_Ohm", "kind": "variable", "doc": "

\n", "default_value": "<ExternalResistance.Resistance_4_6_Ohm: 18403>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.ExternalResistance.Resistance_3_6_Ohm", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "ExternalResistance.Resistance_3_6_Ohm", "kind": "variable", "doc": "

\n", "default_value": "<ExternalResistance.Resistance_3_6_Ohm: 14403>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdc_types.ExternalResistance.Resistance_1_8_Ohm", "modulename": "UniTAP.dev.ports.modules.pdc.pdc_types", "qualname": "ExternalResistance.Resistance_1_8_Ohm", "kind": "variable", "doc": "

\n", "default_value": "<ExternalResistance.Resistance_1_8_Ohm: 7203>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo", "modulename": "UniTAP.dev.ports.modules.pdc.pdo", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo.Pdo", "modulename": "UniTAP.dev.ports.modules.pdc.pdo", "qualname": "Pdo", "kind": "class", "doc": "

Class Pdo describes power delivery object in PDC module. Contains information about side of PDO PdoSide and\nmain PDO data. May have one of the available type PdoType: FixedPdoSink, FixedPdoSource, BatteryPdo,\nVariablePdo.

\n\n
    \n
  • Get PDO type pdo_type, type of PdoTypeEnum.
  • \n
  • Get PDO side pdo_side, type of PdoSide.
  • \n
  • Set and get main PDO object pdo_object, type of PdoType.
  • \n
  • Get pdo object as selected PDO type PdoType get_pdo_as_selected_type, type of PdoType.
  • \n
  • Convert (interpret) from one PDO type to another interpret_pdo_as_selected_type.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo.Pdo.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdo", "qualname": "Pdo.__init__", "kind": "function", "doc": "

\n", "signature": "(pdo: ~PdoType, side: UniTAP.dev.ports.modules.pdc.pdo_types.PdoSide)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo.Pdo.pdo_type", "modulename": "UniTAP.dev.ports.modules.pdc.pdo", "qualname": "Pdo.pdo_type", "kind": "variable", "doc": "

Returns current PDO type.

\n\n
Returns:
\n\n
\n

object of PdoTypeEnum type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdo_types.PdoTypeEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo.Pdo.pdo_side", "modulename": "UniTAP.dev.ports.modules.pdc.pdo", "qualname": "Pdo.pdo_side", "kind": "variable", "doc": "

Returns current PDO side.

\n\n
Returns:
\n\n
\n

object of PdoSide type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdo_types.PdoSide"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo.Pdo.pdo_object", "modulename": "UniTAP.dev.ports.modules.pdc.pdo", "qualname": "Pdo.pdo_object", "kind": "variable", "doc": "

Returns current PDO object.

\n\n
Returns:
\n\n
\n

object of PdoType type

\n
\n", "annotation": ": ~PdoType"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo.Pdo.disable_pdo", "modulename": "UniTAP.dev.ports.modules.pdc.pdo", "qualname": "Pdo.disable_pdo", "kind": "function", "doc": "

Disable PDO. Will be filled with zeros.

\n", "signature": "(self):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo.Pdo.get_pdo_as_selected_type", "modulename": "UniTAP.dev.ports.modules.pdc.pdo", "qualname": "Pdo.get_pdo_as_selected_type", "kind": "function", "doc": "

Returns PDO object as selected new PDO type.

\n\n
Arguments:
\n\n
    \n
  • pdo (PdoType) - type of PDO
  • \n
\n\n
Returns:
\n\n
\n

object of PdoType type

\n
\n", "signature": "(self, pdo: Type[~PdoType]) -> ~PdoType:", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo.Pdo.interpret_pdo_as_selected_type", "modulename": "UniTAP.dev.ports.modules.pdc.pdo", "qualname": "Pdo.interpret_pdo_as_selected_type", "kind": "function", "doc": "

Convert (interpret) from one PDO type to another.

\n\n
Arguments:
\n\n
    \n
  • pdo (PdoType) - type of PDO
  • \n
\n", "signature": "(self, pdo: Type[~PdoType]):", "funcdef": "def"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.PdoTypeEnum", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "PdoTypeEnum", "kind": "class", "doc": "

Class PdoTypeEnum contains all possible variants of PDO types.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.PdoTypeEnum.Fixed", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "PdoTypeEnum.Fixed", "kind": "variable", "doc": "

\n", "default_value": "<PdoTypeEnum.Fixed: 0>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.PdoTypeEnum.Battery", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "PdoTypeEnum.Battery", "kind": "variable", "doc": "

\n", "default_value": "<PdoTypeEnum.Battery: 1>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.PdoTypeEnum.Variable", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "PdoTypeEnum.Variable", "kind": "variable", "doc": "

\n", "default_value": "<PdoTypeEnum.Variable: 2>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.PdoTypeEnum.Disabled", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "PdoTypeEnum.Disabled", "kind": "variable", "doc": "

\n", "default_value": "<PdoTypeEnum.Disabled: 3>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.PdoTypeEnum.Mandatory", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "PdoTypeEnum.Mandatory", "kind": "variable", "doc": "

\n", "default_value": "<PdoTypeEnum.Mandatory: 4>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.PdoSide", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "PdoSide", "kind": "class", "doc": "

Class PdoTypeEnum contains all possible variants of PDO side.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.PdoSide.Sink", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "PdoSide.Sink", "kind": "variable", "doc": "

\n", "default_value": "<PdoSide.Sink: 0>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.PdoSide.Source", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "PdoSide.Source", "kind": "variable", "doc": "

\n", "default_value": "<PdoSide.Source: 1>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.PeakCurrent", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "PeakCurrent", "kind": "class", "doc": "

Class PdoTypeEnum contains all possible variants of peak current for PDO.

\n", "bases": "enum.IntEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.PeakCurrent.Percent_100", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "PeakCurrent.Percent_100", "kind": "variable", "doc": "

\n", "default_value": "<PeakCurrent.Percent_100: 0>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.PeakCurrent.Percent_110", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "PeakCurrent.Percent_110", "kind": "variable", "doc": "

\n", "default_value": "<PeakCurrent.Percent_110: 1>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.PeakCurrent.Percent_125", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "PeakCurrent.Percent_125", "kind": "variable", "doc": "

\n", "default_value": "<PeakCurrent.Percent_125: 2>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.PeakCurrent.Percent_150", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "PeakCurrent.Percent_150", "kind": "variable", "doc": "

\n", "default_value": "<PeakCurrent.Percent_150: 3>"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSource", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSource", "kind": "class", "doc": "

Class FixedPdoSource contains information about Fixed PDO on Source side.

\n\n
    \n
  • Set and get maximum current max_current, type int.
  • \n
  • Set and get voltage voltage, type int.
  • \n
  • Set and get peak_current peak_current, type PeakCurrent.
  • \n
  • Set and get dual data role flag dual_data_role, type bool.
  • \n
  • Set and get usb communication flag usb_communication, type bool.
  • \n
  • Set and get unconstrained power flag unconstrained_power, type bool.
  • \n
  • Set and get higher capability flag higher_capability, type bool.
  • \n
  • Set and get dual power role flag dual_power_role, type bool.
  • \n
  • Get PDO type pdo_type, type PdoTypeEnum.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSource.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSource.__init__", "kind": "function", "doc": "

\n", "signature": "(\tpdo: UniTAP.dev.ports.modules.pdc.pdo_private_types.FixedPdoSourceStruct = <UniTAP.dev.ports.modules.pdc.pdo_private_types.FixedPdoSourceStruct object>,\tdisable=False)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSource.max_current", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSource.max_current", "kind": "variable", "doc": "

Returns maximum current.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSource.voltage", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSource.voltage", "kind": "variable", "doc": "

Returns voltage.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSource.peak_current", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSource.peak_current", "kind": "variable", "doc": "

Returns peak current.

\n\n
Returns:
\n\n
\n

object of PeakCurrent type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdo_types.PeakCurrent"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSource.dual_data_role", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSource.dual_data_role", "kind": "variable", "doc": "

Returns flag of dual data role.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSource.usb_communication", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSource.usb_communication", "kind": "variable", "doc": "

Returns flag of usb communication.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSource.unconstrained_power", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSource.unconstrained_power", "kind": "variable", "doc": "

Returns flag of unconstrained power.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSource.higher_capability", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSource.higher_capability", "kind": "variable", "doc": "

Returns flag of higher capability.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSource.dual_power_role", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSource.dual_power_role", "kind": "variable", "doc": "

Returns flag of dual power role.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSource.pdo_type", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSource.pdo_type", "kind": "variable", "doc": "

Returns flag of PDO type.

\n\n
Returns:
\n\n
\n

object of PdoTypeEnum type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdo_types.PdoTypeEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.VariablePdo", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "VariablePdo", "kind": "class", "doc": "

Class VariablePdo contains information about Fixed PDO on Sink and Source side.

\n\n
    \n
  • Set and get maximum current max_current, type int.
  • \n
  • Set and get minimum voltage min_voltage, type int.
  • \n
  • Set and get maximum voltage max_voltage, type bool.
  • \n
  • Get PDO type pdo_type, type PdoTypeEnum.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.VariablePdo.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "VariablePdo.__init__", "kind": "function", "doc": "

\n", "signature": "(\tpdo: UniTAP.dev.ports.modules.pdc.pdo_private_types.VariablePdoStruct = <UniTAP.dev.ports.modules.pdc.pdo_private_types.VariablePdoStruct object>)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.VariablePdo.max_current", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "VariablePdo.max_current", "kind": "variable", "doc": "

Returns maximum current.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.VariablePdo.min_voltage", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "VariablePdo.min_voltage", "kind": "variable", "doc": "

Returns minimum voltage.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.VariablePdo.max_voltage", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "VariablePdo.max_voltage", "kind": "variable", "doc": "

Returns maximum voltage.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.VariablePdo.pdo_type", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "VariablePdo.pdo_type", "kind": "variable", "doc": "

Returns flag of PDO type.

\n\n
Returns:
\n\n
\n

object of PdoTypeEnum type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdo_types.PdoTypeEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.BatteryPdo", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "BatteryPdo", "kind": "class", "doc": "

Class BatteryPdo contains information about Fixed PDO on Sink and Source side.

\n\n
    \n
  • Set and get maximum power max_power, type int.
  • \n
  • Set and get minimum voltage min_voltage, type int.
  • \n
  • Set and get maximum voltage max_voltage, type bool.
  • \n
  • Get PDO type pdo_type, type PdoTypeEnum.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.BatteryPdo.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "BatteryPdo.__init__", "kind": "function", "doc": "

\n", "signature": "(\tpdo: UniTAP.dev.ports.modules.pdc.pdo_private_types.BatteryPdoStruct = <UniTAP.dev.ports.modules.pdc.pdo_private_types.BatteryPdoStruct object>)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.BatteryPdo.max_power", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "BatteryPdo.max_power", "kind": "variable", "doc": "

Returns maximum power.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.BatteryPdo.min_voltage", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "BatteryPdo.min_voltage", "kind": "variable", "doc": "

Returns minimum voltage.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.BatteryPdo.max_voltage", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "BatteryPdo.max_voltage", "kind": "variable", "doc": "

Returns maximum voltage.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.BatteryPdo.pdo_type", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "BatteryPdo.pdo_type", "kind": "variable", "doc": "

Returns flag of PDO type.

\n\n
Returns:
\n\n
\n

object of PdoTypeEnum type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdo_types.PdoTypeEnum"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSink", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSink", "kind": "class", "doc": "

Class FixedPdoSink contains information about Fixed PDO on Sink side.

\n\n
    \n
  • Set and get maximum current max_current, type int.
  • \n
  • Set and get voltage voltage, type int.
  • \n
  • Set and get dual data role flag dual_data_role, type bool.
  • \n
  • Set and get usb communication flag usb_communication, type bool.
  • \n
  • Set and get unconstrained power flag unconstrained_power, type bool.
  • \n
  • Set and get higher capability flag higher_capability, type bool.
  • \n
  • Set and get dual power role flag dual_power_role, type bool.
  • \n
  • Get PDO type pdo_type, type PdoTypeEnum.
  • \n
\n"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSink.__init__", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSink.__init__", "kind": "function", "doc": "

\n", "signature": "(\tpdo: UniTAP.dev.ports.modules.pdc.pdo_private_types.FixedPdoSinkStruct = <UniTAP.dev.ports.modules.pdc.pdo_private_types.FixedPdoSinkStruct object>,\tdisable=False)"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSink.oper_current", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSink.oper_current", "kind": "variable", "doc": "

Returns operation current.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSink.voltage", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSink.voltage", "kind": "variable", "doc": "

Returns voltage.

\n\n
Returns:
\n\n
\n

object of int type

\n
\n", "annotation": ": int"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSink.dual_data_role", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSink.dual_data_role", "kind": "variable", "doc": "

Returns flag of dual data role.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSink.usb_communication", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSink.usb_communication", "kind": "variable", "doc": "

Returns flag of usb communication.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSink.unconstrained_power", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSink.unconstrained_power", "kind": "variable", "doc": "

Returns flag of unconstrained power.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSink.higher_capability", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSink.higher_capability", "kind": "variable", "doc": "

Returns flag of higher capability.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSink.dual_power_role", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSink.dual_power_role", "kind": "variable", "doc": "

Returns flag of dual power role.

\n\n
Returns:
\n\n
\n

object of bool type

\n
\n", "annotation": ": bool"}, {"fullname": "UniTAP.dev.ports.modules.pdc.pdo_types.FixedPdoSink.pdo_type", "modulename": "UniTAP.dev.ports.modules.pdc.pdo_types", "qualname": "FixedPdoSink.pdo_type", "kind": "variable", "doc": "

Returns flag of PDO type.

\n\n
Returns:
\n\n
\n

object of PdoTypeEnum type

\n
\n", "annotation": ": UniTAP.dev.ports.modules.pdc.pdo_types.PdoTypeEnum"}, {"fullname": "UniTAP.utils.dscl_api", "modulename": "UniTAP.utils.dscl_api", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.utils.dscl_api.encode_video_frame", "modulename": "UniTAP.utils.dscl_api", "qualname": "encode_video_frame", "kind": "function", "doc": "

Encode custom video frame VideoFrame with transferred DSC parameters to video frame with DSC data.

\n\n
Arguments:
\n\n
    \n
  • src_video_frame (VideoFrame)
  • \n
  • info (CompressionInfo)
  • \n
\n", "signature": "(\tsrc_video_frame: UniTAP.common.video_frame.VideoFrame,\tinfo: UniTAP.common.dsc_compression_info.DscCompressionInfo) -> UniTAP.common.dsc_video_frame.VideoFrameDSC:", "funcdef": "def"}, {"fullname": "UniTAP.utils.dscl_api.decode_video_frame", "modulename": "UniTAP.utils.dscl_api", "qualname": "decode_video_frame", "kind": "function", "doc": "

Decode custom video frame VideoFrameDSC with DSC data.

\n\n
Arguments:
\n\n
    \n
  • src_video_frame (VideoFrame)
  • \n
\n", "signature": "(\tsrc_video_frame: UniTAP.common.dsc_video_frame.VideoFrameDSC) -> UniTAP.common.video_frame.VideoFrame:", "funcdef": "def"}, {"fullname": "UniTAP.utils.dscl_api.dsc_video_frame_from_data", "modulename": "UniTAP.utils.dscl_api", "qualname": "dsc_video_frame_from_data", "kind": "function", "doc": "

Read PPS from DSC video frame data VideoFrameDSC.

\n\n
Arguments:
\n\n
    \n
  • data (bytearray)
  • \n
\n", "signature": "(data: bytearray) -> UniTAP.common.dsc_video_frame.VideoFrameDSC:", "funcdef": "def"}, {"fullname": "UniTAP.utils.dscl_api.calculate_dsc_crc", "modulename": "UniTAP.utils.dscl_api", "qualname": "calculate_dsc_crc", "kind": "function", "doc": "

Calculate DSC CRC by DSC Video Frame.

\n\n
Arguments:
\n\n
    \n
  • video_frame ('VideoFrameDSC')
  • \n
\n", "signature": "(video_frame: UniTAP.common.dsc_video_frame.VideoFrameDSC) -> tuple:", "funcdef": "def"}, {"fullname": "UniTAP.utils.dscl_api.calculate_dsc_slice_size", "modulename": "UniTAP.utils.dscl_api", "qualname": "calculate_dsc_slice_size", "kind": "function", "doc": "

Calculate DSC slice size by value and slice number.

\n\n
Arguments:
\n\n
    \n
  • value ('int')
  • \n
  • slice_number ('int')
  • \n
\n", "signature": "(value: int, slice_number: int):", "funcdef": "def"}, {"fullname": "UniTAP.utils.function_wrapper", "modulename": "UniTAP.utils.function_wrapper", "kind": "module", "doc": "

\n"}, {"fullname": "UniTAP.utils.function_wrapper.function_scheduler", "modulename": "UniTAP.utils.function_wrapper", "qualname": "function_scheduler", "kind": "function", "doc": "

Execute function or lambda with timeout and interval.

\n\n
Arguments:
\n\n
    \n
  • exec_func (function) - Function for execution.
  • \n
  • *args - Arguments for executing function.
  • \n
  • interval (float) - Function call interval.
  • \n
  • timeout (float) - Timeout until the end of calls function.
  • \n
\n\n
Returns:
\n\n
\n

function_successful (bool) - function result

\n
\n", "signature": "(exec_func, *args, interval: float = 1, timeout: float = 1) -> bool:", "funcdef": "def"}, {"fullname": "Examples", "modulename": "Examples", "kind": "module", "doc": "

An example of working with a HDCP module.

\n\n
\n
#\n# Import UniTAP module.\n#\nimport time\nimport UniTAP\n\n#\n# To initialize UniTAP library wrapper user should create UniTAP.TsiLib() object.\n#\nlUniTAP = UniTAP.TsiLib()\n\n#\n# For opening device, please, put serial number of the device as 8 symbol str or put index of device.\n#\n# dev = lUniTAP.open("NNNNNNNN")\ndev = lUniTAP.open(0)\n\n# After opening device as in UCD Console device role should be selected.\n\nrole = dev.select_role(UniTAP.dev.UCD400.DPSourceDPSink)\n# role = dev.select_role(UniTAP.dev.UCD500.DPSourceDPSink)\n\n# Print HDCP 1.4 and 2.3 statuses\n# print(role.dptx.hdcp.status.get(UniTAP.HdcpStatus.Status1x))\nprint(role.dptx.hdcp.status.get(UniTAP.HdcpStatus.StatusTx2x))\n# print(role.dprx.hdcp.status.get(UniTAP.HdcpStatus.Status1x))\nprint(role.dprx.hdcp.status.get(UniTAP.HdcpStatus.StatusRx2x))\n\n# Set config HDCP 1.4 TX\n# config = UniTAP.HdcpTxConfig.Config1x()\n# config.encryption = True\n# config.authenticate = True\n# config.keys = UniTAP.HdcpSource1XKeys.Production\n# role.dptx.hdcp.config.set(config)\n# time.sleep(2)\n\n# Set config HDCP 1.4 RX\n# config = UniTAP.HdcpRxConfig.Config1x()\n# config.keys = UniTAP.HdcpSink1XKeys.Production\n# config.capable = True\n\n# print(role.dptx.hdcp.status.get(UniTAP.HdcpStatus.Status1x))\n# print(role.dptx.hdcp.status.get(UniTAP.HdcpStatus.StatusTx2x))\n# print(role.dprx.hdcp.status.get(UniTAP.HdcpStatus.Status1x))\n# print(role.dprx.hdcp.status.get(UniTAP.HdcpStatus.StatusRx2x))\n\n# Set config HDCP 2.3\nconfig = UniTAP.HdcpTxConfig.Config2x()\nconfig.encryption = True\nconfig.authenticate = True\nconfig.keys = UniTAP.HdcpSource2XKeys.Production\nconfig.store_km = True\nconfig.content_level = 1\nrole.dptx.hdcp.config.set(config)\ntime.sleep(2)\n\n# Set config HDCP 2.3 RX\nconfig = UniTAP.HdcpRxConfig.Config2x()\nconfig.keys = UniTAP.HdcpSink2XKeys.Production\nconfig.capable = True\n\n# print(role.dptx.hdcp.status.get(UniTAP.HdcpStatus.Status1x))\nprint(role.dptx.hdcp.status.get(UniTAP.HdcpStatus.StatusTx2x))\n# print(role.dprx.hdcp.status.get(UniTAP.HdcpStatus.Status1x))\nprint(role.dprx.hdcp.status.get(UniTAP.HdcpStatus.StatusRx2x))\n\n# Get config HDCP 1.4\n# config_14 = role.dptx.hdcp.config.get(UniTAP.HdcpTxConfig.Config1x)\n\n# Get config HDCP 2.3\nconfig_23 = role.dptx.hdcp.config.get(UniTAP.HdcpTxConfig.Config2x)\n\n\n# For UCD-323 -> UCD-301\n# role_rx = dev_rx.select_role(UniTAP.dev.UCD301.HDMISink)\n# role_tx = dev_tx.select_role(UniTAP.dev.UCD323.HDMISource)\n\n# Print HDCP 1.4 and 2.3 statuses\n# print(role_rx.hdrx.hdcp.status.get(UniTAP.HdcpStatus.Status1x))\n# print(role_tx.hdtx.hdcp.status.get(UniTAP.HdcpStatus.Status1x))\n\n# Set config HDCP 1.4\n# config = UniTAP.HdcpTxConfig.Config1x()\n# config.encryption = True\n# config.authenticate = True\n# config.keys = UniTAP.HdcpSource1XKeys.Production\n# role_tx.hdtx.hdcp.config.set(config)\n# time.sleep(2)\n\n# print(role_rx.hdrx.hdcp.status.get(UniTAP.HdcpStatus.Status1x))\n# print(role_tx.hdtx.hdcp.status.get(UniTAP.HdcpStatus.Status1x))\n\n#\n# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.\n# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().\n# Clean up will close all opened devices and block ability to open any devices\n# with same TsiLib object.\n#\nlUniTAP.close(dev)\n\nlUniTAP.cleanup(\n
\n
\n\n

An example of working with a EDID module.

\n\n
\n
#\n# Import UniTAP module.\n#\n\nimport UniTAP\n\n#\n# To initialize UniTAP library wrapper user should create UniTAP.TsiLib() object.\n#\nlUniTAP = UniTAP.TsiLib()\n\n#\n# For opening device, please, put serial number of the device as 8 symbol str or put index of device.\n#\n# dev = lUniTAP.open("NNNNNNNN")\ndev = lUniTAP.open(0)\n\n# After opening device as in UCD Console device role should be selected.\n\n# role = dev.select_role(UniTAP.dev.UCD323.DPSource)\n# role = dev.select_role(UniTAP.dev.UCD323.HDMISource)\nrole = dev.select_role(UniTAP.dev.UCD400.DPSourceDPSink)\n\ntimings_from_edid = role.dprx.edid.read_timings()\n\n#\n# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.\n# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().\n# Clean up will close all opened devices and block ability to open any devices\n# with same TsiLib object.\n#\nlUniTAP.close(dev)\n\nlUniTAP.cleanup(\n
\n
\n\n

An example of working with a Pattern Generator module.

\n\n
\n
#\n# Import UniTAP module.\n#\n\nimport UniTAP\nimport time\n\n#\n# To initialize UniTAP library wrapper user should create UniTAP.TsiLib() object.\n#\nlUniTAP = UniTAP.TsiLib()\n\n#\n# For opening device, please, put serial number of the device as 8 symbol str or put index of device.\n#\n# dev = lUniTAP.open("NNNNNNNN")\ndev = lUniTAP.open(0)\n\n# After opening device as in UCD Console device role should be selected.\n\nrole = dev.select_role(UniTAP.dev.UCD400.DPSourceDPSink)\n# role = dev.select_role(UniTAP.dev.UCD500.DPSourceDPSink)\n\ntiming_manager = role.dptx.pg.timing_manager\n\ncolor_mode = UniTAP.ColorInfo()\ncolor_mode.color_format = UniTAP.ColorInfo.ColorFormat.CF_RGB\ncolor_mode.bpc = 8\ncolor_mode.colorimetry = UniTAP.ColorInfo.Colorimetry.CM_sRGB\n\ntimings = [timing_manager.get_cta(16),\n           timing_manager.get_cta(12),\n           timing_manager.get_cta(1),\n           timing_manager.get_cta(19)]\n\n# Also, possible to select timing with using functions: 'get_dmt', 'get_cvt', 'get_by_list_index', 'get_all'\n\n# Print all available timings\nprint(timing_manager.print_all())\n\n#\n# If you want to select pattern, you need to use enum 'VideoPattern' from UniTAP.\n# Like this: UniTAP.VideoPattern.ColorRamp\n#\n\n# Iterate for each available streams\nfor i in range(role.dptx.pg.max_stream_count):\n    video_mode = UniTAP.VideoMode(timing=timings[i], color_info=color_mode)\n    role.dptx.pg[i].set_vm(vm=video_mode)\n    role.dptx.pg[i].set_pattern(pattern=UniTAP.VideoPattern.ColorRamp if i == 0 else UniTAP.VideoPattern.SolidGreen)\n    role.dptx.pg[i].apply()\n    res_app = role.dptx.pg[i].status().error\n    print(f"Stream {i} - Apply {res_app.__str__()}")\n\n#\n# After configure Pattern Generators, MST should be enabled in link module as well as selected\n# stream count\n#\n\ncfg = role.dptx.link.config.get()\ncfg.mst = True\ncfg.mst_stream_count = 4\nrole.dptx.link.config.set(cfg)\nrole.dptx.link.start_link_training()\n\ncfg = role.dprx.link.capabilities.link_caps_status()\ncfg.mst = True\ncfg.dp_128_132_bitrates = None\ncfg.override_10g = None\nrole.dprx.link.capabilities.set(cfg)\nrole.dprx.link.hpd_pulse()\n#\n# Just random sleep, to be sure that Sink get video\n#\ntime.sleep(2)\n\nfor i in range(role.dptx.pg.max_stream_count):\n    res = role.dprx.link.status.stream(i).video_mode.timing == timings[i]\n    print(f'Stream {i}\n'\n          f'Reference timing: {timings[i]}. '\n          f'Received timing RX: {role.dprx.link.status.stream(i).video_mode.timing}.\n'\n          f'Result: {res}')\n\n#\n# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.\n# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().\n# Clean up will close all opened devices and block ability to open any devices\n# with same TsiLib object.\n#\nlUniTAP.close(dev)\n\nlUniTAP.cleanup(\n
\n
\n\n

An example of working with a Audio Generator module.

\n\n
\n
#\n# Import UniTAP module.\n#\n\nimport UniTAP\nimport time\n\n#\n# To initialize UniTAP library wrapper user should create UniTAP.TsiLib() object.\n#\nlUniTAP = UniTAP.TsiLib()\n\n#\n# For opening device, please, put serial number of the device as 8 symbol str or put index of device.\n#\n# dev_tx = lUniTAP.open("NNNNNNNN")\n# dev_rx = lUniTAP.open("MMMMMMMM")\n# dev = lUniTAP.open("NNNNNNNN")\n\n# dev_tx = lUniTAP.open(0)\n# dev_rx = lUniTAP.open(1)\ndev = lUniTAP.open(0)\n\n# After opening device as in UCD Console device role should be selected.\n# role_tx = dev_tx.select_role(UniTAP.dev.UCD323.DPSource)\n# role_rx = dev_rx.select_role(UniTAP.dev.UCD323.DPSink)\nroles = dev.select_role(UniTAP.dev.UCD400.DPSourceDPSink)\nrole_tx = roles.dptx\nrole_rx = roles.dprx\n\n# For HDMI uncomment following lines, and comment previous lines.\n# role_tx = dev_tx.select_role(UniTAP.dev.UCD323.HDMISource)\n# role_rx = dev_rx.select_role(UniTAP.dev.UCD323.HDMISink)\n# roles = dev.select_role(UniTAP.dev.UCD422.HDMISourceHDMISink)\n# role_tx = roles.hdtx\n# role_rx = roles.hdrx\n\n# For configure Pattern Generator, you should call function 'setup' with parameters:\n#     number of stream(for UCD 323 DP TX and HDMI will be 0)\n#     Video mode - describe selected Timing and ColorMode\n#         Timing contain info about all resolutions (like H and V Total, H and V Active and so on), frame rate,\n#         timing standard (CVT, DMT, CTA)\n#         ColorMode contain info about colorimetry, color_format(RGB, YCbCr444, YCbCr422 and so on),\n#         dynamic_range(VESA or CTA) and bits per color (like 8, 10, 12, 16)\n#     content_type - one of the value from enum PGPatternID\n#     content_data - path to image or bytearray of image (if selected PGPatternID.ImageFile)\n\n\n# For using our predefined device specific timings, you can use 'timing manager' with which you can get them.\n# Timing manager available in dptx and hdtx roles.\n\n# timing_manager = role_tx.dptx.pg.timing_manager\n\n# For HDMI uncomment following lines, and comment previous lines.\n# timing_manager = role_tx.hdtx.pg.timing_manager\n\ntiming_manager = role_tx.pg.timing_manager\n\n# timing_manager allow to get full timing information from device. For example method get_cta(id) will return Timing\n# if there any available CTA timing with VIC=id\n\ntiming = timing_manager.get_cta(16)\n\ncolor_mode = UniTAP.ColorInfo()\ncolor_mode.color_format = UniTAP.ColorInfo.ColorFormat.CF_RGB\ncolor_mode.bpc = 8\ncolor_mode.colorimetry = UniTAP.ColorInfo.Colorimetry.CM_sRGB\n\nvideo_mode = UniTAP.VideoMode(timing=timing, color_info=color_mode)\n\n\n#\n# Start generate video.\n#\n\n# If you want to select pattern, you need to use enum 'VideoPattern' from UniTAP. \n# Like this: UniTAP.VideoPattern.ColorRamp\n\n# role_tx.dptx.pg.set_vm(vm=video_mode)\n# role_tx.dptx.pg.set_pattern(pattern=UniTAP.VideoPattern.ColorRamp)\n# res = role_tx.dptx.pg.apply()\n\n# For HDMI uncomment following lines, and comment previous lines.\n\n# role_tx.hdtx.pg.set_vm(vm=video_mode)\n# role_tx.hdtx.pg.set_pattern(pattern=UniTAP.VideoPattern.ColorRamp)\n# res = role_tx.hdtx.pg.apply()\n\nrole_tx.pg.set_vm(vm=video_mode)\nrole_tx.pg.set_pattern(pattern=UniTAP.VideoPattern.ColorRamp)\nres = role_tx.pg.apply()\n\nif res:\n    print("Pattern generator configure success")\n\n# HPD Control. For DP Possible to control HPD (assert/deassert) and generate HPD pulse with required length,\n# for HDMI only HPD (assert/deassert)\n\n# role_rx.dprx.link.set_assert_state(True)\n# role_rx.dprx.link.hpd_pulse()\n\n# For HDMI uncomment following lines, and comment previous lines.\n\n# role_rx.hdrx.link.status.set_assert_state(True)\n\nrole_rx.link.set_assert_state(True)\nrole_rx.link.hpd_pulse()\n\n#\n# Start generate audio\n#\n\n# For starting generate audio, need to config audio generator with following parameters:\n#     AudioMode - contain info about sample rate, bits count and channel count\n#     audio pattern - value from enum AudioPattern (like UniTAP.AudioPattern.SignalSine)\n\naudio_mode = UniTAP.AudioMode()\naudio_mode.channel_count = 2\naudio_mode.bits = 16\naudio_mode.sample_rate = 44100\n\n# role_tx.dptx.ag.setup(audio_mode=audio_mode, audio_pattern=UniTAP.AudioPattern.SignalSine,\n#                       signal_frequency=1000, amplitude=60)\n# res = role_tx.dptx.ag.apply()\n\n# For HDMI uncomment following lines, and comment previous lines.\n\n# role_tx.hdtx.ag.setup(audio_mode=audio_mode, audio_pattern='Sine', signal_frequency=1000, amplitude=60)\n# res = role_tx.hdtx.ag.apply()\n\nrole_tx.ag.setup(audio_mode=audio_mode, audio_pattern=UniTAP.AudioPattern.SignalSine, signal_frequency=1000, amplitude=60)\nres = role_tx.ag.apply()\n\nif res:\n    print("Audio generator configure success")\n\n# time.sleep(5)\n# role.dptx.ag.stop_generate()\n# role.hdtx.ag.stop_generate()\n\n#\n# Read current video mode and crc\n#\ntime.sleep(1)\n\n# Sometimes RX need some time to start getting video (will be improved in the future versions).\n\n\n# Get current stream status (VM, CRC, DSC CRC)\n# stream = role_rx.dprx.link.status.stream(0)\n# print(stream)\n\n# For HDMI uncomment following lines, and comment previous lines.\n\n# stream = role_rx.hdrx.link.status.stream(0)\n# print(stream)\n\nstream = role_rx.link.status.stream(0)\nprint(stream)\n\n#\n# Check and capture audio\n#\n# role_rx.dprx.audio_capturer.start(m_sec=5000)\n# audio_capture_result = role_rx.dprx.audio_capturer.capture_result\n\n# For HDMI uncomment following lines, and comment previous lines.\n\n# role_rx.hdrx.audio_capturer.start(m_sec=5000)\n# audio_capture_result = role_rx.hdrx.audio_capturer.capture_result\n\nrole_rx.audio_capturer.start(m_sec=5000)\naudio_capture_result = role_rx.audio_capturer.capture_result\n\n#\n# Save captured audio to wav file\n#\nprint(audio_capture_result.audio_mode.__str__())\naudio_capture_result.save_to_file(file_format=UniTAP.AudioFileFormat.WAV, path="example")\n\n#\n# Run Audio test 'Validate audio signal frequency and glitch-free audio reproduction'\n#\n# params = role_rx.dut_tests.default_params_of_group(UniTAP.TestGroupId.AUDIO_TEST)\n\ngroup_test = UniTAP.TestGroupId.AUDIO_TEST\n\n# params = role_rx.dut_tests.get_default_parameters(UniTAP.AudioTestParam)\nparams = roles.dut_tests.get_default_parameters(UniTAP.AudioTestParam)\nparams.sample_rate = 44100\nparams.audio_frequency = 1000\nparams.frequency_tolerance = 1\nparams.save_conditions = 'All'\nparams.storage_folder = "./"\n\n# role_rx.dut_tests.run(group_test, 3, params)\n# results = role_rx.dut_tests.get_all_tests_results()\n\nroles.dut_tests.run(group_test, 3, params)\nresults = roles.dut_tests.get_all_tests_results()\n\nprint(results.all_test_results()[0].test_result)\n\n#\n# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.\n# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().\n# Clean up will close all opened devices and block ability to open any devices\n# with same TsiLib object.\n#\nlUniTAP.close(dev)\n\nlUniTAP.cleanup()\n
\n
\n\n

An example of working with a Adaptive-Sync and Scrolling pattern.

\n\n
\n
#\n# Import UniTAP module.\n#\nimport UniTAP\n\n#\n# To initialize UniTAP library wrapper user should create UniTAP.TsiLib() object.\n#\nlUniTAP = UniTAP.TsiLib()\n\n#\n# For opening device, please, put serial number of the device as 8 symbol str or put index of device.\n#\n# dev = lUniTAP.open("NNNNNNNN")\ndev = lUniTAP.open(0)\n\n# After opening device as in UCD Console device role should be selected.\n\nrole = dev.select_role(UniTAP.dev.UCD400.DPSourceDPSink)\n# role = dev.select_role(UniTAP.dev.UCD500.DPSourceDPSink)\n\n\ntiming_manager = role.dptx.pg.timing_manager\ntimings = timing_manager.get_all()\n\ncolor_mode = UniTAP.ColorInfo()\ncolor_mode.color_format = UniTAP.ColorInfo.ColorFormat.CF_RGB\ncolor_mode.bpc = 8\ncolor_mode.colorimetry = UniTAP.ColorInfo.Colorimetry.CM_sRGB\n\nvideo_mode = UniTAP.VideoMode(timing=timings[0], color_info=color_mode)\nrole.dptx.pg.set_vm(vm=video_mode)\nrole.dptx.pg.set_pattern(pattern=UniTAP.VideoPattern.ColorRamp)\n\n# I case: configure ConstantASParams\nrole.dptx.pg.set_as_config(as_config=UniTAP.ConstantASParams(lines=20))\n\n# II case: configure SquareASParams\nrole.dptx.pg.set_as_config(as_config=UniTAP.SquareASParams(min_lanes=0, max_lanes=1000, period_frames=10))\n\n# III case: configure ZigzagASParams\nrole.dptx.pg.set_as_config(as_config=UniTAP.ZigzagASParams(min_lanes=0, max_lanes=1000, increase_lines=100,\n                                                        decrease_lines=100))\n\n# IV case: configure FixedASParams\nrole.dptx.pg.set_as_config(as_config=UniTAP.FixedASParams(refresh_rate=60, divide_by_1_001=False, increase_lines=100,\n                                                       decrease_lines=100))\n\n# Configure Scrolling Pattern Params\nrole.dptx.pg.set_scrolling_params(UniTAP.StepsScrollingParams(horizontally=20, vertically=20, frames=10))\n\nrole.dptx.pg.apply()\nres_app = role.dptx.pg.status().error\nprint(f"Stream 0 - Apply {res_app.__str__()}")\n\nprint(role.dptx.pg[0].adaptive_sync_status())\n\n#\n# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.\n# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().\n# Clean up will close all opened devices and block ability to open any devices\n# with same TsiLib object.\n#\nlUniTAP.close(dev)\n\nlUniTAP.cleanup(\n
\n
\n\n

An example of working with a Bulk Capturer module.

\n\n
\n
import UniTAP\nimport time\nimport threading\n\n\ndef link_training(dev_role):\n    time.sleep(1)\n    dev_role.dptx.link.start_link_training()\n\n\nlUniTAP = UniTAP.TsiLib()\n\n#\n# For opening device, please, put serial number of the device as 8 symbol str or put index of device.\n#\n# dev = lUniTAP.open("NNNNNNNN")\ndev = lUniTAP.open(0)\n\n# Need to select type of device: UCD-400 or UCD-500\nrole = dev.select_role(UniTAP.dev.UCD400.DPSourceDPSink)\n# role = dev.select_role(UniTAP.dev.UCD500.DPSourceDPSink)\n\n# bulk_size - size of data in megabytes\n# trigger_position - available position of trigger. Variants: TP_Start, TP_25, TP_50, TP_75, TP_End\n# trigger_config - one of the variant of active trigger.\n# assume_scrambler - just flag of assume scrambler\n\nbulk_size = 100\n\n# Case without trigger\n# role.dprx.bulk_capturer.start(bulk_size=bulk_size, trigger_position=UniTAP.bulk.TriggerPosition.TP_Start,\n#                               assume_scrambler=False, gpio=False)\n\n# Case with trigger\n# In loopback mode we need to use special function for calling 'trigger'.\n# In current case we need to call 'link training'.\nthread = threading.Thread(target=link_training, args=(role,))\ntrigger_config = UniTAP.bulk.TriggerType.U13()\ntrigger_config.position = UniTAP.bulk.TriggerTypeEnum.SourceTypePosition.InitialLT\n\nthread.start()\nrole.dprx.bulk_capturer.start(bulk_size=bulk_size, trigger_position=UniTAP.bulk.TriggerPosition.TP_Start,\n                              trigger_config=trigger_config,\n                              assume_scrambler=False, gpio=False)\nrole.dprx.bulk_capturer.stop()\nthread.join()\nthread.stop_thread = False\n\n# If you want to get captured data, please, use 'capture_result'. It is the object of class 'ResultBulkObject'.\n# For saving data in file, please, use 'save_to_bin_file'. You need to set 'directory_name' - name of directory,\n# where you want to save files. If directory have already existed, is will be clean up.\n# If directory does not exist, it will be created.\nresult = role.dprx.bulk_capturer.capture_result\n\ndirectory_name = "./BulkData"\nresult.save_to_bin_file(directory_name=directory_name)\n\n#\n# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.\n# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().\n# Clean up will close all opened devices and block ability to open any devices\n# with same TsiLib object.\n#\nlUniTAP.close(dev)\n\nlUniTAP.cleanup(\n
\n
\n\n

An example of working with a DP Link Sink module.

\n\n
\n
#\n# Import UniTAP module.\n#\n\nimport UniTAP\n\n#\n# To initialize UniTAP library wrapper user should create UniTAP.TsiLib() object.\n#\nlUniTAP = UniTAP.TsiLib()\n\n#\n# For opening device, please, put serial number of the device as 8 symbol str or put index of device.\n#\n# dev = lUniTAP.open("NNNNNNNN")\ndev = lUniTAP.open(0)\n\n# After opening device as in UCD Console device role should be selected.\n\n# role = dev.select_role(UniTAP.dev.UCD400.DPSourceDPSink)\nrole = dev.select_role(UniTAP.dev.UCD500.DPSourceDPSink)\n\n#\n# Read current Link Status\n#\nprint(role.dprx.link.status.cable_state)\n# Read status of lane 0\nlane_status = role.dprx.link.status.lane(0)\nprint(lane_status)\n\n# Read status of VCP (stream 0)\nvcp_table_status = role.dprx.link.status.vcp(0)\nprint(vcp_table_status)\n\n# Get current stream status (VM, CRC, DSC CRC)\nstream = role.dprx.link.status.stream(0)\nprint(stream)\n\n# Also, you can print all status\nprint(role.dprx.link.status)\n\n# role.dprx.link.hpd_pulse()\n\n# # Assert/Deassert\n# print(role.dprx.link.status.hpd_asserted)\n# role.dprx.link.set_assert_state(False)\n# print(role.dprx.link.status.hpd_asserted)\n# role.dprx.link.set_assert_state(True)\n# print(role.dprx.link.status.hpd_asserted)\n\n# Scrambler Seed\nprint(role.dprx.link.scrambler_seed)\nrole.dprx.link.scrambler_seed = 0xfffe\nprint(role.dprx.link.scrambler_seed)\n\n\ncaps = UniTAP.LinkCapabilities()\ncaps.max_lane = 4\ncaps.bit_rate = 8.1\ncaps.dp_128_132_bitrates = None\ncaps.override_10g = None\ncaps.force_cable_status_to_plugged = False\ncaps.old_dp_2_0_lt = False\ncaps.dsc = False\ncaps.ss_sbm = False\ncaps.fec = False\ncaps.tps3 = False\ncaps.tps4 = False\ncaps.mst = True\n\nprint(role.dprx.link.capabilities.link_caps_status())\nrole.dprx.link.capabilities.set(caps)\nprint(role.dprx.link.capabilities.link_caps_status())\n\nprint(role.dprx.link.status.stream(0).sdp_crc16)\nrole.dprx.link.status.reset_sdp_crc16_errors()\n\n#\n# Get eDP caps\n#\nedp_caps = role.dprx.link.capabilities.link_caps_status(UniTAP.LinkEDPCapabilities)\nprint(edp_caps)\nedp_caps.max_lane = 2\nedp_caps.eDp_cur_rate = [1.62, 2.16, 2.43]\n\n#\n# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.\n# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().\n# Clean up will close all opened devices and block ability to open any devices\n# with same TsiLib object.\n#\nlUniTAP.close(dev)\n\nlUniTAP.cleanup(\n
\n
\n\n

An example of working with a DP Link Source module.

\n\n
\n
#\n# Import UniTAP module.\n#\n\nimport UniTAP\n\n#\n# To initialize UniTAP library wrapper user should create UniTAP.TsiLib() object.\n#\nlUniTAP = UniTAP.TsiLib()\n\n#\n# For opening device, please, put serial number of the device as 8 symbol str or put index of device.\n#\n# dev = lUniTAP.open("NNNNNNNN")\ndev = lUniTAP.open(0)\n\n# After opening device as in UCD Console device role should be selected.\n\nrole = dev.select_role(UniTAP.dev.UCD400.DPSourceDPSink)\n# role = dev.select_role(UniTAP.dev.UCD500.DPSourceDPSink)\n\n#\n# Read current Link Status\n#\n\n# Read status of lane 0\nlane_status = role.dptx.link.status.lane(0)\nprint(lane_status)\n\n# Read status of VCP (stream 0)\nvcp_table_status = role.dptx.link.status.vcp(0)\nprint(vcp_table_status)\n\n# Read current status of link configuration\nlink_config = role.dptx.link.config.get()\nprint(link_config)\n\n# Get current stream status (VM, CRC, DSC CRC)\nstream = role.dptx.link.status.stream(0)\nprint(stream)\n\n# Also, you can print all status\nprint(role.dptx.link.status)\n\n# Configure Link 8b/10b\nconfig = UniTAP.LinkConfig.DP8b10b()\n\n# Set new lane count and bit rate\nconfig.lane_count = 2\nconfig.bit_rate = 6.75\n\n# Configure Link 128b/132b\n# config = UniTAP.LinkConfig.DP128b132b()\n\n# Set new lane count and bit rate\n# config.lane_count = 2\n# config.bit_rate = 5\n\n# config.force_dp_128_132 = True\n# config.try_dp_128_132 = True\n# config.enhanced_framing_mode = True\n\n# Enable MST mode and configure mst stream count\nconfig.mst = True\nconfig.mst_stream_count = 2\n\n# Enable/Disable Enhanced framing mode\nconfig.enhanced_framing_mode = True\n\n# Configure SSC\nssc_config = UniTAP.SSCConfig()\nssc_config.enabled = True\nssc_config.amplitude = 34\nssc_config.frequency = 59000\nconfig.ssc = ssc_config\n\n# Configure Scrambler Seed\n# If you do not want to setting scrambler seed value, you can activate 'auto seed'\n# config.auto_seed = True\n# role.dptx.link.scrambler_seed = 0xFFFF\n\nrole.dptx.link.config.set(config)\nrole.dptx.link.start_link_training()\n\nedp_conf = role.dptx.link.config.get(UniTAP.LinkConfig.eDP)\nprint(edp_conf)\nedp_conf.force_edp = True\nedp_conf.lane_count = 2\nedp_conf.eDp_cur_rate = 2.43\n\n#\n# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.\n# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().\n# Clean up will close all opened devices and block ability to open any devices\n# with same TsiLib object.\n#\nlUniTAP.close(dev)\n\nlUniTAP.cleanup()\n
\n
\n\n

An example of working with a DUT Test module [manual setting].

\n\n
\n
#\n# Import UniTAP module.\n#\nimport UniTAP\n\n#\n# To initialize UniTAP library wrapper user should create UniTAP.TsiLib() object.\n#\nlUniTAP = UniTAP.TsiLib()\n\n#\n# For opening device, please, put serial number of the device as 8 symbol str or put index of device.\n#\n# dev = lUniTAP.open("NNNNNNNN")\ndev = lUniTAP.open(0)\n\n# After opening device as in UCD Console device role should be selected.\nrole = dev.select_role(UniTAP.dev.UCD400.DPSourceDPSink)\n# role = dev.select_role(UniTAP.dev.UCD500.DPSourceDPSink)\ndev.opf_handler = UniTAP.OpfHandlerInternal(port_tx=role.dptx, port_rx=role.dprx)\n\ngroup_test = UniTAP.TestGroupId.DP_TX_LL_CTS\n\n# You can make a copy of the object, configure it and reassign it or can configure it directly\n\n# Copy\nparams = role.dut_tests.get_default_parameters(UniTAP.Dp14SinkTestParam)\n\n# Configure supported timings for DP DUT Sink tests\nparams.timings.T_3840_x_2160_60.set_all()\nparams.timings.T_5120_x_2160_60.set_all()\n\n# Configure Event Filter from Source side\nevent_filter_tx = role.dptx.event_capturer.event_filter(UniTAP.EventFilterDpTx)  # Get filter object\nevent_filter_tx.config_hpd_events(True)  # Enable capturing HPD events\nevent_filter_tx.config_aux_events(True)  # Enable capturing AUX events\nrole.dptx.event_capturer.configure_capturer(event_filter_tx)  # Transfer updated filter object\n\nevent_filter_rx = role.dprx.event_capturer.event_filter(UniTAP.EventFilterDpRx)  # Get filter object\nevent_filter_rx.config_hpd_events(True)  # Enable capturing HPD events\nevent_filter_rx.config_aux_events(True)  # Enable capturing AUX events\nevent_filter_rx.config_sdp_events(True, UniTAP.EventSDP.CG2)  # Enable capturing SDP (CG2) events\nrole.dprx.event_capturer.configure_capturer(event_filter_rx)  # Transfer updated filter object\n\nrole.dptx.event_capturer.start()  # Start event capturing\n\nrole.dut_tests.run(group_id=group_test, test_id=0, params=params)  # Run selected test\n\nresults = role.dut_tests.get_all_tests_results()  # Get results after testing\n\nrole.dptx.event_capturer.stop()  # Stop event capturing\n\ncapture_result = role.dptx.event_capturer.pop_all_elements_as_result_object()  # Get all captured events\n\nevent_log_file_path = "EventData"\nevent_log_html_file_path = "EventDataReport"\nif len(capture_result.buffer) > 0:\n    # Save captured events to BIN file and save HTML report\n    capture_result.save_to_file_all_events(file_format=UniTAP.EventFileFormat.BIN, path=event_log_file_path)\n    capture_result.save_to_file_all_events(file_format=UniTAP.EventFileFormat.HTML, path=event_log_html_file_path)\nelse:\n    print("Buffer is empty.")\n\n# Save test result to HTML report\nrole.dut_tests.make_report('./report',\n                           tested_by="Example",\n                           remarks="Remarks for test report.")\n#\n# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.\n# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().\n# Clean up will close all opened devices and block ability to open any devices\n# with same TsiLib object.\n#\nlUniTAP.close(dev)\n\nlUniTAP.cleanup()\n
\n
\n\n

An example of working with a DUT Test module [settings from file].

\n\n
\n
#\n# Import UniTAP module.\n#\nimport UniTAP\n\n#\n# To initialize UniTAP library wrapper user should create UniTAP.TsiLib() object.\n#\nlUniTAP = UniTAP.TsiLib()\n\n#\n# For opening device, please, put serial number of the device as 8 symbol str or put index of device.\n#\n# dev = lUniTAP.open("NNNNNNNN")\ndev = lUniTAP.open(0)\n\n# After opening device as in UCD Console device role should be selected.\nrole = dev.select_role(UniTAP.dev.UCD400.DPSourceDPSink)\n# role = dev.select_role(UniTAP.dev.UCD500.DPSourceDPSink)\ndev.opf_handler = UniTAP.OpfHandlerInternal(port_tx=role.dptx, port_rx=role.dprx)\n\nfile_name = "./config.json"\ngroup_id, test_id, params = role.dut_tests.get_params_from_file(file_name)\n\nrole.dut_tests.run(group_id=group_id, test_id=test_id, params=params)  # Run selected test\n\nresults = role.dut_tests.get_all_tests_results()  # Get results after testing\n\nrole.dptx.event_capturer.stop()  # Stop event capturing\n\n# Save test result to HTML report\nrole.dut_tests.make_report('./report',\n                           tested_by="Example",\n                           remarks="Remarks for test report.")\n\n#\n# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.\n# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().\n# Clean up will close all opened devices and block ability to open any devices\n# with same TsiLib object.\n#\nlUniTAP.close(dev)\n\nlUniTAP.cleanup(\n
\n
\n\n

An example of working with a Event capturer.

\n\n
\n
#\n# Import UniTAP module.\n#\nimport UniTAP\n\n#\n# To initialize UniTAP library wrapper user should create UniTAP.TsiLib() object.\n#\nlUniTAP = UniTAP.TsiLib()\n\n#\n# For opening device, please, put serial number of the device as 8 symbol str or put index of device.\n#\n# dev = lUniTAP.open("NNNNNNNN")\ndev = lUniTAP.open(0)\n\n# After opening device as in UCD Console device role should be selected.\n# role = dev.select_role(UniTAP.dev.UCD400.DPSourceDPSink)\nrole = dev.select_role(UniTAP.dev.UCD500.DPSourceDPSink)\ndev.opf_handler = UniTAP.OpfHandlerInternal(port_tx=role.dptx, port_rx=role.dprx)\n\n# For getting object of EventFilter, set type of required filter. If filter type is not supported\n# will be print list of available types.\nevent_filter = role.dprx.event_capturer.event_filter(UniTAP.EventFilterDpRx)\nevent_filter.config_hpd_events(True)\nevent_filter.config_aux_events(True)\nevent_filter.config_sdp_events(True, UniTAP.EventSDP.CG2)\nevent_filter.config_vb_id_events(True, UniTAP.EventVBID.AnyFieldID)\n\n# For configuration EventLogger, set object of EventFilter to function 'configure_capturer'\nrole.dprx.event_capturer.configure_capturer(event_filter)\nrole.dprx.link.hpd_pulse()\nrole.dprx.event_capturer.start(sec=1)\nrole.dprx.event_capturer.stop()\ncapture_result = role.dprx.event_capturer.capture_result\n\nfile_name = "./EventData"\nif len(capture_result.buffer) > 0:\n    capture_result.save_to_file_all_events(file_format=UniTAP.EventFileFormat.HTML, path=file_name)\n\n#\n# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.\n# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().\n# Clean up will close all opened devices and block ability to open any devices\n# with same TsiLib object.\n#\nlUniTAP.close(dev)\n\nlUniTAP.cleanup(\n
\n
\n\n

An example of working with a PDC Capabilities.

\n\n
\n
#\n# Import UniTAP module.\n#\nimport UniTAP\n\n#\n# To initialize UniTAP library wrapper user should create UniTAP.TsiLib() object.\n#\nlUniTAP = UniTAP.TsiLib()\n\n#\n# For opening device, please, put serial number of the device as 8 symbol str or put index of device.\n#\n# dev = lUniTAP.open("NNNNNNNN")\ndev = lUniTAP.open(0)\n\n# After opening device as in UCD Console device role should be selected.\nrole = dev.select_role(UniTAP.dev.UCD424.USBCSourceUSBCSink)\n# role = dev.select_role(UniTAP.dev.UCD500.USBCSourceUSBCSink)\ndev.opf_handler = UniTAP.OpfHandlerInternal(port_tx=role.dptx, port_rx=role.dprx)\n\n# Print current Capabilities status\nprint(role.pdcrx.capabilities.status)\n\n# Set Initial role for device\nrole.pdcrx.capabilities.set_initial_role(UniTAP.pdc.PdcDeviceRole.DFP)\n\n# Set cable control pull up value (current)\nrole.pdcrx.capabilities.cc_pull_up(UniTAP.pdc.CCPullUp.Current_3A)\n\n# Enable PR Swap\nrole.pdcrx.capabilities.enable_pr_swap(False)\n\n#\n# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.\n# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().\n# Clean up will close all opened devices and block ability to open any devices\n# with same TsiLib object.\n#\nlUniTAP.close(dev)\n\nlUniTAP.cleanup(\n
\n
\n\n

An example of working with a PDC Controls.

\n\n
\n
#\n# Import UniTAP module.\n#\nimport UniTAP\n\n#\n# To initialize UniTAP library wrapper user should create UniTAP.TsiLib() object.\n#\nlUniTAP = UniTAP.TsiLib()\n\n#\n# For opening device, please, put serial number of the device as 8 symbol str or put index of device.\n#\n# dev = lUniTAP.open("NNNNNNNN")\ndev = lUniTAP.open(0)\n\n# After opening device as in UCD Console device role should be selected.\n# role = dev.select_role(UniTAP.dev.UCD424.USBCSourceUSBCSink)\nrole = dev.select_role(UniTAP.dev.UCD500.USBCSourceUSBCSink)\ndev.opf_handler = UniTAP.OpfHandlerInternal(port_tx=role.dptx, port_rx=role.dprx)\n\n# Send PR Swap (Also available FR swap, DR swap and Vconn swap)\nrole.pdcrx.controls.send_pr_swap()\n\n# Do Reconnect\nrole.pdcrx.controls.reconnect()\n\n# Do Attach(True)/DeAttach(False)\nrole.pdcrx.controls.attach(True)\n\n# Change cable control orientation\nrole.pdcrx.controls.orientation(UniTAP.pdc.CableControlOrientation.CC2)\n\n# Capable communication as PD Source (also available for Sink)\nrole.pdcrx.controls.communication_capable_as_pd_source(capable=True)\n\n#\n# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.\n# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().\n# Clean up will close all opened devices and block ability to open any devices\n# with same TsiLib object.\n#\nlUniTAP.close(dev)\n\nlUniTAP.cleanup(\n
\n
\n\n

An example of working with a PDC DP Alt mode.

\n\n
\n
#\n# Import UniTAP module.\n#\nimport UniTAP\n\n#\n# To initialize UniTAP library wrapper user should create UniTAP.TsiLib() object.\n#\nlUniTAP = UniTAP.TsiLib()\n\n#\n# For opening device, please, put serial number of the device as 8 symbol str or put index of device.\n#\n# dev = lUniTAP.open("NNNNNNNN")\ndev = lUniTAP.open(0)\n\n# After opening device as in UCD Console device role should be selected.\n# role = dev.select_role(UniTAP.dev.UCD424.USBCSourceUSBCSink)\nrole = dev.select_role(UniTAP.dev.UCD500.USBCSourceUSBCSink)\ndev.opf_handler = UniTAP.OpfHandlerInternal(port_tx=role.dptx, port_rx=role.dprx)\n\n# Get and print current DP Alt Mode status\nprint(role.pdcrx.dp_alt_mode.status)\n\n# Enter to 4 lane (C and E) DP Alt Mode\nrole.pdcrx.dp_alt_mode.enter_4_lane()\n\n# Enable flag DP to Type-C adapter mode\n# role.pdcrx.dp_alt_mode.dp_to_type_c_cable_adapter_mode(enable=True)\n\n# Get and Set UFP Pin Assignment\nufp_pin_assignment = role.pdcrx.dp_alt_mode.ufp_caps\ndfp_caps = role.pdcrx.dp_alt_mode.dfp_caps\nufp_pin_assignment.c_4_lanes = True\nufp_pin_assignment.d_2_lanes = False\nrole.pdcrx.dp_alt_mode.ufp_caps = ufp_pin_assignment\nprint("UFP:\n", ufp_pin_assignment)\nprint("DFP:\n", dfp_caps)\n\n# If was selected UCD-500, may use DP 2.1 DPAM\n# role.pdcrx.dp_alt_mode.enable_dp21(True)\n\n#\n# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.\n# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().\n# Clean up will close all opened devices and block ability to open any devices\n# with same TsiLib object.\n#\nlUniTAP.close(dev)\n\nlUniTAP.cleanup(\n
\n
\n\n

An example of working with a PDC PDO.

\n\n
\n
#\n# Import UniTAP module.\n#\nimport UniTAP\n\n#\n# To initialize UniTAP library wrapper user should create UniTAP.TsiLib() object.\n#\nlUniTAP = UniTAP.TsiLib()\n\n#\n# For opening device, please, put serial number of the device as 8 symbol str or put index of device.\n#\n# dev = lUniTAP.open("NNNNNNNN")\ndev = lUniTAP.open(0)\n\n# After opening device as in UCD Console device role should be selected.\nrole = dev.select_role(UniTAP.dev.UCD424.USBCSourceUSBCSink)\n# role = dev.select_role(UniTAP.dev.UCD500.USBCSourceUSBCSink)\ndev.opf_handler = UniTAP.OpfHandlerInternal(port_tx=role.dptx, port_rx=role.dprx)\n\n\n# Get Source PDO from RX side.\n# If read_from_device = True, PDO will be read directly from device, not from internal buffer\nsource_pdo_list = role.pdcrx.power_source.get_pdo_list(read_from_device=True)\n\nfor item in source_pdo_list:\n    print(item)\n\n# Get current Power Role\npower_role = role.pdcrx.capabilities.status.power_role()\nprint(power_role.name)\n\nif power_role == UniTAP.pdc.PowerRole.Sink:\n    # If needed to change power role, use reconnect\n    role.pdcrx.controls.reconnect()\nif power_role == UniTAP.pdc.PowerRole.Source:\n    for index, item in enumerate(source_pdo_list):\n        if index > 0:\n            item.interpret_pdo_as_selected_type(UniTAP.pdc.BatteryPdo)\n    role.pdcrx.power_source.set_pdo_list(source_pdo_list)\n    role.pdcrx.power_source.send_pdo()\n    role.pdcrx.controls.reconnect()\n\nsource_pdo_list = role.pdcrx.power_source.get_pdo_list(read_from_device=True)\nfor item in source_pdo_list:\n    print(item)\n\n# For Sink PDO the same algorythm, but it is also possible to control `Power Contract`\nrole.pdcrx.power_contract_control.pdo_type_priority = UniTAP.pdc.ContractTypePriority.HigherCurrent\n\n# Control Internal resistance (only for UCD-340)\n# print(role.pdcrx.power_contract_control.internal_resistance)\n# role.pdcrx.power_contract_control.internal_resistance = UniTAP.pdc.InternalResistance.Resistance_3_5_Ohm\n# print(role.pdcrx.power_contract_control.internal_resistance)\n\n#\n# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.\n# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().\n# Clean up will close all opened devices and block ability to open any devices\n# with same TsiLib object.\n#\nlUniTAP.close(dev)\n\nlUniTAP.cleanup(\n
\n
\n\n

An example of working with a Video Capturer.

\n\n
\n
#\n# Import UniTAP module.\n#\nimport UniTAP\n\n#\n# To initialize UniTAP library wrapper user should create UniTAP.TsiLib() object.\n#\nlUniTAP = UniTAP.TsiLib()\n\n#\n# For opening device, please, put serial number of the device as 8 symbol str or put index of device.\n#\n# dev = lUniTAP.open("NNNNNNNN")\ndev = lUniTAP.open(0)\n\n# After opening device as in UCD Console device role should be selected.\n# For UCD-500 available following roles:\n# UniTAP.dev.UCD500.DPSourceDPSink, USBCSourceUSBCSink, DPSourceUSBCSink and USBCSourceDPSink\nrole = dev.select_role(UniTAP.dev.UCD500.DPSourceDPSink)\n\n# First variant of capturing = set frame count number\nrole.dprx.video_capturer.start(frames_count=1, stream_number=1)\nrole.dprx.video_capturer.stop()\nresult = role.dprx.video_capturer.capture_result\n\n# Second variant of capturing = set number of second\n# role.dprx.video_capturer.start(sec=1)\n# role.dprx.video_capturer.stop()\n# result = role.dprx.video_capturer.capture_result\n\n# Third variant of capturing = capturing with user's stop command (without predefined number of frames or second)\n# role.dprx.video_capturer.start()\n# result = role.dprx.video_capturer.pop_element_as_result_object()\n# role.dprx.video_capturer.stop()\n\n# Save captured frames\n# file_format - BIN, PPM and BMP\n# path - full path to save the image\n# index - index of captured image\nresult.save_image_to_file(file_format=UniTAP.PictureFileFormat.BMP,\n                          path="image.bmp",\n                          index=0)\n#\n# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.\n# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().\n# Clean up will close all opened devices and block ability to open any devices\n# with same TsiLib object.\n#\nlUniTAP.close(dev)\n\nlUniTAP.cleanup()\n
\n
\n\n

An example of working with a Panel Replay.

\n\n
\n
#\n# Import UniTAP module.\n#\nimport time\n\nimport UniTAP\n\n#\n# To initialize UniTAP library wrapper user should create UniTAP.TsiLib() object.\n#\nlUniTAP = UniTAP.TsiLib()\n\n#\n# For opening device, please, put serial number of the device as 8 symbol str or put index of device.\n#\n# dev = lUniTAP.open("NNNNNNNN")\ndev = lUniTAP.open(0)\n\n# After opening device as in UCD Console device role should be selected.\nrole = dev.select_role(UniTAP.dev.UCD500.DPSourceDPSink)\n\n# Select PR'Active mode'\nrole.dptx.pg.panel_replay.active_mode()\ntime.sleep(3)\n\n# Get current panel replay configuration of PR regions\npr_conf = role.dptx.pg.panel_replay.config.get()\n\n# Set new values for PR Region\npr_conf.regions[0].x = 10\npr_conf.regions[0].y = 20\npr_conf.regions[0].width = 30\npr_conf.regions[0].height = 40\n\n# PanelReplay config\npr_conf.flags.mode = UniTAP.PRMode.PR\npr_conf.flags.y_granularity = UniTAP.YGranularity.Value_14\npr_conf.flags.early_transport = True\npr_conf.flags.main_link_remain_on = True\npr_conf.flags.hpd_irq_vsc_sdp = True\n\n# Apply config\nrole.dptx.pg.panel_replay.config.set(pr_conf)\n\ntime.sleep(3)\n\n# Read status, command and error\nprint(role.dptx.pg.panel_replay.status.status().name)\nprint(role.dptx.pg.panel_replay.status.command().name)\nprint(role.dptx.pg.panel_replay.status.error().name)\n\n#\n# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.\n# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().\n# Clean up will close all opened devices and block ability to open any devices\n# with same TsiLib object.\n#\nlUniTAP.close(dev)\n\nlUniTAP.cleanup(\n
\n
\n\n

An example of working with a DSC generator.

\n\n
\n
#\n# Import UniTAP module.\n#\n\nimport UniTAP\nfrom UniTAP.utils import encode_video_frame, calculate_dsc_slice_size\nfrom UniTAP.common import get_vf_from_image, CompressionInfo\n\n#\n# To initialize UniTAP library wrapper user should create UniTAP.TsiLib() object.\n#\nlUniTAP = UniTAP.TsiLib()\n\n#\n# For opening device, please, put serial number of the device as 8 symbol str or put index of device.\n#\n# dev = lUniTAP.open("NNNNNNNN")\ndev = lUniTAP.open(0)\n\n# After opening device as in UCD Console device role should be selected.\nrole = dev.select_role(UniTAP.dev.UCD400.DPSourceDPSink)\n# role = dev.select_role(UniTAP.dev.UCD500.DPSourceDPSink)\n\n#\n# For using our predefined device specific timings, you can use 'timing manager' with which you can get them.\n#\ntiming_manager = role.dptx.pg.timing_manager\n\ncolor_mode = UniTAP.ColorInfo()\ncolor_mode.color_format = UniTAP.ColorInfo.ColorFormat.CF_RGB\ncolor_mode.bpc = 8\ncolor_mode.colorimetry = UniTAP.ColorInfo.Colorimetry.CM_sRGB\n\ntarget_width = 1920\ntarget_height = 1080\npath_custom_image = "Your_Path_To_Image.jpg"\n\nvf = get_vf_from_image(path_custom_image, target_width, target_height)\n\nparams = CompressionInfo()\nparams.color_format = CompressionInfo.DscColorFormat.CF_RGB\nparams.bpp = 128\nparams.version = (1, 2)\nparams.v_slice_size = calculate_dsc_slice_size(target_width, 4)\nparams.h_slice_size = calculate_dsc_slice_size(target_height, 4)\nparams.buffer_bit_depth = vf.color_info.bpc + 1\n\ndsc_vf = encode_video_frame(vf, params)\n\nvideo_mode = UniTAP.VideoMode(timing=timing_manager.get_cta(76), color_info=color_mode)\n\ncaps = role.dprx.link.capabilities.link_caps_status()\ncaps.dsc = True\ncaps.fec = True\nrole.dprx.link.capabilities.set(caps)\n\nrole.dptx.link.start_link_training()\n\nrole.dptx.pg.set_vm(video_mode)\n\n# Also you can put image path (dsc image path also) to function 'set_pattern' as argument.\n# path_custom_image = "Your_Path_To_Image.jpg"\n# role.dptx.pg.set_pattern(path_custom_image)\nrole.dptx.pg.set_pattern(dsc_vf)\nrole.dptx.pg.apply()\nres_app = role.dptx.pg.status().error\nprint(f"Stream {0} - Apply {res_app.__str__()}")\n\nrole.dprx.video_capturer.start()\ndsc_captured_frame = role.dprx.video_capturer.pop_element()\nrole.dprx.video_capturer.stop()\n\nprint(dsc_captured_frame.is_compressed())\nprint(dsc_captured_frame)\n\nrole.dptx.pg.set_pattern(UniTAP.VideoPattern.ColorSquares)\nrole.dptx.pg.apply()\nres_app = role.dptx.pg.status().error\nprint(f"Stream {0} - Apply {res_app.__str__()}")\n\nrole.dprx.video_capturer.start()\ncaptured_frame = role.dprx.video_capturer.pop_element()\nrole.dprx.video_capturer.stop()\nprint(captured_frame.is_compressed())\nprint(captured_frame)\n\n#\n# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.\n# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().\n# Clean up will close all opened devices and block ability to open any devices\n# with same TsiLib object.\n#\nlUniTAP.close(dev)\n\nlUniTAP.cleanup(\n
\n
\n\n

An example of working with a DSC images.

\n\n
\n
#\n# Import UniTAP module.\n#\nimport UniTAP\nfrom UniTAP.utils import encode_video_frame, decode_video_frame, video_frame_save_to_file, ImageFileFormat\n#\n# To initialize UniTAP library wrapper user should create UniTAP.TsiLib() object.\n#\nlUniTAP = UniTAP.TsiLib()\n\n#\n# For opening device, please, put serial number of the device as 8 symbol str or put index of device.\n#\n# dev = lUniTAP.open("NNNNNNNN")\ndev = lUniTAP.open(0)\n\n# After opening device as in UCD Console device role should be selected.\n# For UCD-500 available following roles:\n# UniTAP.dev.UCD500.DPSourceDPSink, USBCSourceUSBCSink, DPSourceUSBCSink and USBCSourceDPSink\nrole = dev.select_role(UniTAP.dev.UCD400.DPSourceDPSink)\n\n# First variant of capturing = set frame count number\nrole.dprx.video_capturer.start(stream_number=0)\nframe = role.dprx.video_capturer.pop_element()\nrole.dprx.video_capturer.stop()\n\n# Decode DSC Video frame and save\nimage_path = "image.bmp"\ndecoded_vf = decode_video_frame(frame)\nvideo_frame_save_to_file(video_frame=decoded_vf, path=image_path, file_type=ImageFileFormat.IFF_BMP)\n\n# Save raw DSC Video frame\nimage_path = "image.dsc"\nvideo_frame_save_to_file(video_frame=frame, path=image_path, file_type=ImageFileFormat.IFF_DSC)\n\n#\n# Since the 3.5 version, TsiLib and TSIDevice objects have the option to be closed earlier.\n# TSIDevice can be closed with the TsiLib method close(). TsiLib can be closed with cleanup().\n# Clean up will close all opened devices and block ability to open any devices\n# with same TsiLib object.\n#\nlUniTAP.close(dev)\n\nlUniTAP.cleanup()\n
\n
\n"}, {"fullname": "Quickstart", "modulename": "Quickstart", "kind": "module", "doc": "

Installation Python

\n\n

We Support only version 3.10 and more.\nYou can download python from https://www.python.org/downloads/ and see guide how install python correctly on your\ncomputer https://wiki.python.org/moin/BeginnersGuide/Download

\n\n

Installation UniTAP

\n\n

To start using the API, you need to install it.\nThe python module archive is located at sdk\\python\\UniTAP\\pip_python.\nYou can run the ready-made installation file (for example, in Windows it is called 'install_pip_package.bat') or use\nthe command python -m pip install 'name of tar.gz archive'.\nAll dependencies will be installed automatically.

\n\n

Removing

\n\n

If you want to remove a python package, you can run the file (in Windows it is called 'delete_pip_package.bat') or use\nthe command pip uninstall UniTAP

\n\n

Updating

\n\n

If you want to update a python package, you can run the file (in Windows it is called 'update_pip_package.bat') or use\nthe command pip install --upgrade UniTAP

\n\n

Using

\n\n

To start using the API, you need to write your own script or run existing examples. For writing any text editor like\nNotepad++ or development environment like Visual Studio code or PyCharm will do.\nYou can use the command line to run the script python.exe your_script.py or use development environment, where you\ncan set up your project and launch conditions in more detail and conveniently for you.\nIf you have some problems with running any python scripts, you can see some guides on official site about python\nhttps://wiki.python.org/moin/BeginnersGuide.

\n"}]; - - // mirrored in build-search-index.js (part 1) - // Also split on html tags. this is a cheap heuristic, but good enough. - elasticlunr.tokenizer.setSeperator(/[\s\-.;&_'"=,()]+|<[^>]*>/); - - let searchIndex; - if (docs._isPrebuiltIndex) { - console.info("using precompiled search index"); - searchIndex = elasticlunr.Index.load(docs); - } else { - console.time("building search index"); - // mirrored in build-search-index.js (part 2) - searchIndex = elasticlunr(function () { - this.pipeline.remove(elasticlunr.stemmer); - this.pipeline.remove(elasticlunr.stopWordFilter); - this.addField("qualname"); - this.addField("fullname"); - this.addField("annotation"); - this.addField("default_value"); - this.addField("signature"); - this.addField("bases"); - this.addField("doc"); - this.setRef("fullname"); - }); - for (let doc of docs) { - searchIndex.addDoc(doc); - } - console.timeEnd("building search index"); - } - - return (term) => searchIndex.search(term, { - fields: { - qualname: {boost: 4}, - fullname: {boost: 2}, - annotation: {boost: 2}, - default_value: {boost: 2}, - signature: {boost: 2}, - bases: {boost: 2}, - doc: {boost: 1}, - }, - expand: true - }); -})(); \ No newline at end of file diff --git a/docs/UCD-API文档/UniTAP.html b/docs/UCD-API文档/documentation/UniTAP.html similarity index 100% rename from docs/UCD-API文档/UniTAP.html rename to docs/UCD-API文档/documentation/UniTAP.html diff --git a/docs/UCD-API文档/content/DUT_TEST_GROUPS_INFO.html b/docs/UCD-API文档/documentation/content/DUT_TEST_GROUPS_INFO.html similarity index 86% rename from docs/UCD-API文档/content/DUT_TEST_GROUPS_INFO.html rename to docs/UCD-API文档/documentation/content/DUT_TEST_GROUPS_INFO.html index 0704398..5635141 100644 --- a/docs/UCD-API文档/content/DUT_TEST_GROUPS_INFO.html +++ b/docs/UCD-API文档/documentation/content/DUT_TEST_GROUPS_INFO.html @@ -3,14 +3,14 @@ - + DUT_TEST_GROUPS_INFO API documentation - - + +
+
+
+ Compressed = +<AudioFormat.Compressed: 0> + + +
+ + + +
@@ -379,7 +394,7 @@ UniTAP.common.audio_mode
- AudioFrameData( audio_mode: AudioMode = <AudioMode object>, samples: int = 0, sample_format: AudioFormat = <AudioFormat.Unknown: -1>, frame_counter: int = 0, timestamp: UniTAP.common.timestamp.Timestamp = <UniTAP.common.timestamp.Timestamp object>, data: bytearray = bytearray(b'')) + AudioFrameData( audio_mode: UniTAP.common.audio_mode.AudioMode = <UniTAP.common.audio_mode.AudioMode object>, samples: int = 0, sample_format: UniTAP.common.audio_mode.AudioFormat = <AudioFormat.Unknown: -1>, frame_counter: int = 0, timestamp: UniTAP.common.timestamp.Timestamp = <UniTAP.common.timestamp.Timestamp object>, data: bytearray = bytearray(b''))
@@ -466,7 +481,7 @@ UniTAP.common.audio_mode
- sample_format: AudioFormat + sample_format: UniTAP.common.audio_mode.AudioFormat
diff --git a/docs/UCD-API文档/content/UniTAP/common/color_info.html b/docs/UCD-API文档/documentation/content/UniTAP/common/color_info.html similarity index 91% rename from docs/UCD-API文档/content/UniTAP/common/color_info.html rename to docs/UCD-API文档/documentation/content/UniTAP/common/color_info.html index a318c1c..5370311 100644 --- a/docs/UCD-API文档/content/UniTAP/common/color_info.html +++ b/docs/UCD-API文档/documentation/content/UniTAP/common/color_info.html @@ -3,14 +3,14 @@ - + UniTAP.common.color_info API documentation - - + +
+
+
Inherited Members
+
+
UniTAP.dev.dev_base_roles.DevBase
+
is_fw_update_available
+
get_fw_update_info
+ +
+
+
class - UCD340.USBCSource: + UCD340.USBCSource(UniTAP.dev.dev_base_roles.DevBase):
@@ -510,6 +538,16 @@ role:

+
+
Inherited Members
+
+
UniTAP.dev.dev_base_roles.DevBase
+
is_fw_update_available
+
get_fw_update_info
+ +
+
+
@@ -568,7 +606,7 @@ Device has several possible role:

ROLE_DICT = - {'DisplayPort Reference Sink (SST, HDCP 2.3)': <class 'UCD323.DPSink'>, 'DisplayPort Reference Source (SST, HDCP 2.3)': <class 'UCD323.DPSource'>, 'HDMI Reference Sink (HDCP 2.3)': <class 'UCD323.HDMISink'>, 'HDMI Reference Source (HDCP 2.3)': <class 'UCD323.HDMISource'>} + {'DisplayPort Reference Sink (SST, HDCP 2.3)': <class 'UniTAP.dev.dev_3xx_roles.UCD323.DPSink'>, 'DisplayPort Reference Source (SST, HDCP 2.3)': <class 'UniTAP.dev.dev_3xx_roles.UCD323.DPSource'>, 'HDMI Reference Sink (HDCP 2.3)': <class 'UniTAP.dev.dev_3xx_roles.UCD323.HDMISink'>, 'HDMI Reference Source (HDCP 2.3)': <class 'UniTAP.dev.dev_3xx_roles.UCD323.HDMISource'>, 'HDMI Reference Sink (eARC)': <class 'UniTAP.dev.dev_3xx_roles.UCD323.HDMISinkEARC'>}
@@ -582,7 +620,7 @@ Device has several possible role:

class - UCD323.DPSink: + UCD323.DPSink(UniTAP.dev.dev_base_roles.DevBase):
@@ -666,12 +704,22 @@ Device has several possible role:

+
+
Inherited Members
+
+
UniTAP.dev.dev_base_roles.DevBase
+
is_fw_update_available
+
get_fw_update_info
+ +
+
+
class - UCD323.DPSource: + UCD323.DPSource(UniTAP.dev.dev_base_roles.DevBase):
@@ -756,12 +804,22 @@ role:

+
+
Inherited Members
+
+
UniTAP.dev.dev_base_roles.DevBase
+
is_fw_update_available
+
get_fw_update_info
+ +
+
+
class - UCD323.HDMISink: + UCD323.HDMISink(UniTAP.dev.dev_base_roles.DevBase):
@@ -791,7 +849,7 @@ role:

- hdrx: UniTAP.dev.ports.hdrx.HDRX + hdrx: UniTAP.dev.ports.hdrx_earc.HDRX_eARC
@@ -846,12 +904,22 @@ role:

+
+
Inherited Members
+
+
UniTAP.dev.dev_base_roles.DevBase
+
is_fw_update_available
+
get_fw_update_info
+ +
+
+
class - UCD323.HDMISource: + UCD323.HDMISource(UniTAP.dev.dev_base_roles.DevBase):
@@ -936,6 +1004,116 @@ role:

+
+
Inherited Members
+
+
UniTAP.dev.dev_base_roles.DevBase
+
is_fw_update_available
+
get_fw_update_info
+ +
+
+
+ +
+
+ + class + UCD323.HDMISinkEARC(UniTAP.dev.dev_base_roles.DevBase): + + +
+ + +

Class HDMISink contains information of available functionality modules for role HDMI Sink (RX - receiver) +role:

+ + +
+ + +
+
+ + UCD323.HDMISinkEARC( dev_io: UniTAP.libs.lib_tsi.tsi_io.DeviceIO, memory_manager: UniTAP.dev.modules.memory_manager.memory_manager.MemoryManager, capturer: UniTAP.dev.modules.capturer.capture.Capturer) + + +
+ + + + +
+
+
+ hdrx: UniTAP.dev.ports.hdrx_earc.HDRX_eARC + + +
+ + +

Returns HDMI Sink (RX - receiver) role.

+ +
Returns:
+ +
+

object of HDRX type.

+
+
+ + +
+
+ + + +

Returns DUT Test module.

+ +
Returns:
+ +
+

object of DUTTests type.

+
+
+ + +
+
+
+ name: str + + +
+ + +

Returns name of role.

+ +
Returns:
+ +
+

object of str type.

+
+
+ + +
+
+
Inherited Members
+
+
UniTAP.dev.dev_base_roles.DevBase
+
is_fw_update_available
+
get_fw_update_info
+ +
+
+
@@ -960,7 +1138,7 @@ role:

ROLE_DICT = - {'DisplayPort Reference Sink (SST, HDCP 2.3)': <class 'UCD301.DPSink'>, 'HDMI, DisplayPort (SST), SPDIF Reference Sink': <class 'UCD301.DPSinkHDMISink'>, 'HDMI Reference Sink (HDCP 2.3)': <class 'UCD301.HDMISink'>} + {'DisplayPort Reference Sink (SST, HDCP 2.3)': <class 'UniTAP.dev.dev_3xx_roles.UCD301.DPSink'>, 'HDMI, DisplayPort (SST), SPDIF Reference Sink': <class 'UniTAP.dev.dev_3xx_roles.UCD301.DPSinkHDMISink'>, 'HDMI Reference Sink (HDCP 2.3)': <class 'UniTAP.dev.dev_3xx_roles.UCD301.HDMISink'>}
@@ -974,7 +1152,7 @@ role:

class - UCD301.DPSink: + UCD301.DPSink(UniTAP.dev.dev_base_roles.DevBase):
@@ -1058,12 +1236,22 @@ role:

+
+
Inherited Members
+
+
UniTAP.dev.dev_base_roles.DevBase
+
is_fw_update_available
+
get_fw_update_info
+ +
+
+
class - UCD301.HDMISink: + UCD301.HDMISink(UniTAP.dev.dev_base_roles.DevBase):
@@ -1148,12 +1336,22 @@ role:

+
+
Inherited Members
+
+
UniTAP.dev.dev_base_roles.DevBase
+
is_fw_update_available
+
get_fw_update_info
+ +
+
+
class - UCD301.DPSinkHDMISink: + UCD301.DPSinkHDMISink(UniTAP.dev.dev_base_roles.DevBase):
@@ -1258,6 +1456,16 @@ role:

+
+
Inherited Members
+
+
UniTAP.dev.dev_base_roles.DevBase
+
is_fw_update_available
+
get_fw_update_info
+ +
+
+