1.1.0版本

This commit is contained in:
xinzhu.yin
2026-04-16 16:51:05 +08:00
commit c157e774e5
333 changed files with 70759 additions and 0 deletions

View File

@@ -0,0 +1,215 @@
from UniTAP.libs.lib_tsi.tsi_io import PortIO
from UniTAP.dev.ports.modules.pdc.pdc_io import PDCPortIO
from UniTAP.dev.ports.modules.pdc.pdc_power_sink import PowerSink
from UniTAP.dev.ports.modules.pdc.pdc_contract_control import PowerContractControl340, PowerContractControlBase
from UniTAP.dev.ports.modules.pdc.pdc_power_source import PowerSource
from UniTAP.dev.ports.modules.pdc.pdc_controls import PdcControls340, PdcControls424, PdcControls500
from UniTAP.dev.ports.modules.pdc.pdc_dp_alt_mode import DpAltMode500, DpAltMode340
from UniTAP.dev.ports.modules.pdc.pdc_capabilities import PdcCapabilities, PdcCapabilities340
from UniTAP.dev.ports.modules.pdc.pdc_bus_status import BusElectricalStatus
class PDC:
"""
Class `PDC` describes capabilities of power delivery controller.
Contains following field:
- Power contract control `power_contract_control`, type `PowerContractControlBase`.
- Power Sink `power_sink`, type `PowerSink`.
- Power Source `power_source`, type `PowerSource`.
- DP Alt mode `dp_alt_mode`, type `DpAltMode340`.
- PDC Capabilities `capabilities`, type `PdcCapabilities`.
- BUS electrical status `bus_electrical_status`, type `BusElectricalStatus`.
"""
def __init__(self, port_io: PortIO):
self._pdc_io = PDCPortIO(port_io)
self.__power_contract_control = PowerContractControlBase(self._pdc_io)
self.__power_sink = PowerSink(self._pdc_io)
self.__power_source = PowerSource(self._pdc_io)
self.__dpam = DpAltMode340(self._pdc_io)
self.__caps = PdcCapabilities(self._pdc_io)
self.__bus_electrical_status = BusElectricalStatus(self._pdc_io)
@property
def power_contract_control(self) -> PowerContractControlBase:
"""
Returns Power contract control.
Returns:
object of `PowerContractControlBase` type
"""
return self.__power_contract_control
@property
def power_sink(self) -> PowerSink:
"""
Returns Power Sink.
Returns:
object of `PowerSink` type
"""
return self.__power_sink
@property
def power_source(self) -> PowerSource:
"""
Returns Power Source.
Returns:
object of `PowerSource` type
"""
return self.__power_source
@property
def dp_alt_mode(self) -> DpAltMode340:
"""
Returns DP Alt mode.
Returns:
object of `DpAltMode340` type
"""
return self.__dpam
@property
def capabilities(self) -> PdcCapabilities:
"""
Returns PDC capabilities.
Returns:
object of `PdcCapabilities` type
"""
return self.__caps
@property
def bus_electrical_status(self) -> BusElectricalStatus:
"""
Returns BUS electrical status.
Returns:
object of `BusElectricalStatus` type
"""
return self.__bus_electrical_status
def __str__(self) -> str:
return (f"DP Alt Mode\n{self.dp_alt_mode}\n"
f"{self.power_sink}\n"
f"{self.power_source}\n"
f"{self.power_contract_control}\n"
f"{self.capabilities.status}\n"
f"{self.bus_electrical_status}\n")
class PDC340(PDC):
"""
Class `PDC340` inherited from class `PDC`.
Class `PDC340` allows working with overriding PDc controls and power contract control.
Also has all the `PDC` functionality.
- Power Contract control `power_contract_control`, type `PowerContractControl340`.
- PDC Controls `controls`, type `PdcControls340`.
"""
def __init__(self, port_io: PortIO):
super().__init__(port_io)
self.__power_contract_control = PowerContractControl340(self._pdc_io)
self.__controls = PdcControls340(self._pdc_io)
self.__caps = PdcCapabilities340(self._pdc_io)
@property
def capabilities(self) -> PdcCapabilities340:
"""
Returns PDC capabilities.
Returns:
object of `PdcCapabilities340` type
"""
return self.__caps
@property
def power_contract_control(self) -> PowerContractControl340:
"""
Returns Power contract control.
Returns:
object of `PowerContractControl340` type
"""
return self.__power_contract_control
@property
def controls(self) -> PdcControls340:
"""
Returns PDC Controls.
Returns:
object of `PdcControls340` type
"""
return self.__controls
def __str__(self) -> str:
return (f"DP Alt Mode\n{self.dp_alt_mode}\n"
f"{self.power_sink}\n"
f"{self.power_source}\n"
f"{self.power_contract_control}\n"
f"{self.capabilities.status}"
f"{self.bus_electrical_status}\n")
class PDC424(PDC):
"""
Class `PDC424` inherited from class `PDC`.
Class `PDC424` allows working with overriding controls.
Also has all the `PDC` functionality.
- PDC Controls `controls`, type `PdcControls340`.
"""
def __init__(self, port_io: PortIO):
super().__init__(port_io)
self.__controls = PdcControls424(self._pdc_io)
@property
def controls(self) -> PdcControls424:
"""
Returns PDC Controls.
Returns:
object of `PdcControls424` type
"""
return self.__controls
class PDC500(PDC):
"""
Class `PDC500` inherited from class `PDC`.
Class `PDC500` allows working with overriding controls and DP Alt mode.
Also has all the `PDC` functionality.
- PDC Controls `controls`, type `PdcControls500`.
- DP Alt mode `dp_alt_mode`, type `DpAltMode500`.
"""
def __init__(self, port_io: PortIO):
super().__init__(port_io)
self.__controls = PdcControls500(self._pdc_io)
self.__dpam = DpAltMode500(self._pdc_io)
@property
def controls(self) -> PdcControls500:
"""
Returns PDC Controls.
Returns:
object of `PdcControls500` type
"""
return self.__controls
@property
def dp_alt_mode(self) -> DpAltMode500:
"""
Returns DP Alt mode.
Returns:
object of `DpAltMode500` type
"""
return self.__dpam