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