1.1.0版本
This commit is contained in:
220
UniTAP/dev/dev_4xx_roles.py
Normal file
220
UniTAP/dev/dev_4xx_roles.py
Normal file
@@ -0,0 +1,220 @@
|
||||
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
|
||||
|
||||
|
||||
class UCD400:
|
||||
"""
|
||||
Class `UCD400` describes of device UCD-400. Device has one possible role:
|
||||
- 'DisplayPort Source and Sink' `DPSourceDPSink`
|
||||
"""
|
||||
class DPSourceDPSink:
|
||||
"""
|
||||
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__()
|
||||
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(UCD400.ROLE_DICT.keys())[list(UCD400.ROLE_DICT.values()).index(type(self))]
|
||||
|
||||
ROLE_DICT = {
|
||||
"DisplayPort Source and Sink": DPSourceDPSink
|
||||
}
|
||||
|
||||
|
||||
class UCD422:
|
||||
"""
|
||||
Class `UCD422` describes of device UCD-422. Device has one possible role:
|
||||
- 'HDMI Source and Sink' `HDMISourceHDMISink`
|
||||
"""
|
||||
class HDMISourceHDMISink:
|
||||
"""
|
||||
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__()
|
||||
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(UCD422.ROLE_DICT.keys())[list(UCD422.ROLE_DICT.values()).index(type(self))]
|
||||
|
||||
ROLE_DICT = {
|
||||
"HDMI Source and Sink": HDMISourceHDMISink
|
||||
}
|
||||
|
||||
|
||||
class UCD424:
|
||||
"""
|
||||
Class `UCD424` describes of device UCD-424. Device has one possible role:
|
||||
- 'USB-C Source and Sink' `USBCSourceUSBCSink`.
|
||||
"""
|
||||
class USBCSourceUSBCSink:
|
||||
"""
|
||||
Class `DPSourceDPSink` contains information of available functionality modules for role HDMI Sink
|
||||
(RX - receiver) and HDMI Source (TX - transmitter) roles:
|
||||
- `DPRX4xx`.
|
||||
- `DPTX4xx`.
|
||||
- `DUTTests`.
|
||||
- `PDC`.
|
||||
"""
|
||||
def __init__(self, dev_io: DeviceIO, memory_manager: MemoryManager, capturer: Capturer):
|
||||
super().__init__()
|
||||
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)
|
||||
self.__dptx = DPTX4xx(self.__port_tx, memory_manager, capturer)
|
||||
self.__dut_tests = DUTTests(dev_io)
|
||||
self.__pdcrx = PDC424(self.__port_rx)
|
||||
self.__pdctx = PDC424(self.__port_tx)
|
||||
|
||||
@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 pdcrx(self) -> PDC424:
|
||||
"""
|
||||
Returns PDC Sink (RX - receiver) role.
|
||||
|
||||
Returns:
|
||||
object of `PDC424` type.
|
||||
"""
|
||||
return self.__pdcrx
|
||||
|
||||
@property
|
||||
def pdctx(self) -> PDC424:
|
||||
"""
|
||||
Returns PDC source (TX - transmitter) role.
|
||||
|
||||
Returns:
|
||||
object of `PDC424` type.
|
||||
"""
|
||||
return self.__pdctx
|
||||
|
||||
@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(UCD424.ROLE_DICT.keys())[list(UCD424.ROLE_DICT.values()).index(type(self))]
|
||||
|
||||
ROLE_DICT = {
|
||||
"USB-C Source and Sink": USBCSourceUSBCSink
|
||||
}
|
||||
Reference in New Issue
Block a user