Files
pqAutomationApp/UniTAP/dev/ports/dptx4xx.py

62 lines
1.9 KiB
Python
Raw Normal View History

2026-04-16 16:51:05 +08:00
from .dptx import *
from .modules.fec import FecTx, FECCounters, FECErrorType8b10b
from .modules.vtg.pg import DpMstPatternGenerator
from .modules.edid.edid import DisplayIdSource
class DPTX4xx(DPTX):
"""
Main class of `DPTX4xx` object.
Inherited from class `DPTX`.
Class describes capabilities of 400th (4XX) series of DP and USB-C devices in Source (TX - transmitter) role.
Attributes:
__fec (FecTx): object of `FecTx`.
__pg (DpMstPatternGenerator): object of `DpMstPatternGenerator`
"""
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.__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)
@property
def fec(self) -> FecTx:
"""
Should be used to control FEC functionality on Source (TX - transmitter) side.
Returns:
object of `FecTx` type.
"""
return self.__fec
@property
def pg(self) -> DpMstPatternGenerator:
"""
Should be used to control Pattern generator functionality on Source (TX - transmitter) side.
`DpMstPatternGenerator` contain list of `DpPatternGenerator` objects. For access to element in list,
use expression `pg.[index]`.
Returns:
object of `DpMstPatternGenerator` type.
"""
return self.__pg
@property
def display_id(self) -> DisplayIdSource:
"""
Should be used to control DisplayID functionality on Source (TX - transmitter) side.
Returns:
object of `DisplayIdSource` type.
"""
return self.__display_id