更新UCD-API库及文档
This commit is contained in:
@@ -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):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user