Skip to content
This repository was archived by the owner on Feb 27, 2025. It is now read-only.
Merged

2.1.4 #197

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion docs/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

# Defining the exact version will make sure things don't break
sphinx
sphinx_rtd_theme
readthedocs-sphinx-search
sphinx-inline-tabs
loguru
Expand Down
2 changes: 1 addition & 1 deletion xoa_driver/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
__version__ = "2.1.3"
__version__ = "2.1.4"
__short_version__ = "2.0"
16 changes: 8 additions & 8 deletions xoa_driver/enums.py
Original file line number Diff line number Diff line change
Expand Up @@ -162,10 +162,10 @@
LinkTrainPresets,
AnLtLogControl,
RxEqExtCap,
RxEqExtCapStatus,
PreCodingStatus,
GrayCodingStatus,
Endianness,
RxEqExtCapMode,
PreCodingMode,
GrayCodingMode,
Endianness
)

__all__ = (
Expand Down Expand Up @@ -330,8 +330,8 @@
"LinkTrainPresets",
"AnLtLogControl",
"RxEqExtCap",
"RxEqExtCapStatus",
"PreCodingStatus",
"GrayCodingStatus",
"Endianness",
"RxEqExtCapMode",
"PreCodingMode",
"GrayCodingMode",
"Endianness"
)
18 changes: 8 additions & 10 deletions xoa_driver/internals/commands/enums.py
Original file line number Diff line number Diff line change
Expand Up @@ -2486,21 +2486,20 @@ class RxEqExtCap(IntEnum):
"""CTLE high frequency."""


class RxEqExtCapStatus(IntEnum):
class RxEqExtCapMode(IntEnum):
"""Status for Rx Equalizer Advanced Capability."""

STATUS_AUTO = 0
AUTO = 0
"""Auto."""

STATUS_MANUAL = 1
MANUAL = 1
"""Manual."""

STATUS_FREEZE = 2
FREEZE = 2
"""Freeze."""


class PreCodingStatus(IntEnum):
"""Rx/Tx Pre-Coding Status."""
class PreCodingMode(IntEnum):
"""Rx/Tx Pre-Coding Mode."""

OFF = 0
"""Off"""
Expand All @@ -2511,9 +2510,8 @@ class PreCodingStatus(IntEnum):
AUTO = 2
"""Auto"""


class GrayCodingStatus(IntEnum):
"""Rx/Tx Gray-Coding Status."""
class GrayCodingMode(IntEnum):
"""Rx/Tx Gray-Coding Mode."""

OFF = 0
"""Off"""
Expand Down
224 changes: 78 additions & 146 deletions xoa_driver/internals/commands/pp_commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,10 @@
PHYSignalStatus,
OnOffDefault,
RxEqExtCap,
RxEqExtCapStatus,
PreCodingStatus,
GrayCodingStatus,
Endianness,
RxEqExtCapMode,
PreCodingMode,
GrayCodingMode,
Endianness
)


Expand Down Expand Up @@ -1875,37 +1875,37 @@ class PP_PHYRXEQ_EXT:
_capability_type: RxEqExtCap

class GetDataAttr(ResponseBodyStruct):
status: RxEqExtCapStatus = field(XmpInt())
"""The status of the capability"""
mode: RxEqExtCapMode = field(XmpInt())
"""The capability mode"""
value: int = field(XmpInt())
"""The value for the capability"""

class SetDataAttr(RequestBodyStruct):
status: RxEqExtCapStatus = field(XmpInt())
"""The status of the capability Auto/Manual/Freeze"""
mode: RxEqExtCapMode = field(XmpInt())
"""The capability mode Auto/Manual/Freeze"""
value: int = field(XmpInt())
"""The value for the capability"""

def get(self) -> Token[GetDataAttr]:
"""Get RX EQ Advanced parameters.

:return: status Auto/Manual/Freeze, value.
:return: mode Auto/Manual/Freeze, value.
:rtype: PP_PHYRXEQ_EXT.GetDataAttr
"""

return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex, self._capability_type]))

def set(self, status: RxEqExtCapStatus, value: int) -> Token[None]:
def set(self, mode: RxEqExtCapMode, value: int) -> Token[None]:
"""Set RX EQ Advanced parameters.
The type of the capability(RxEqExtCap) should be passed as the second index.

:param status: Auto/Manual/Freeze
:type status: RxEqExtCapStatus
:param mode: Auto/Manual/Freeze
:type mode: RxEqExtCapMode
:param value: The value for the capability
:type value: int
"""

return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex, self._capability_type], status=status, value=value))
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex, self._capability_type], mode=mode, value=value))


@register_command
Expand Down Expand Up @@ -2146,11 +2146,11 @@ def get(self) -> Token[GetDataAttr]:

@register_command
@dataclass
class PP_RXPRECODING:
class PP_PRECODING:
"""
GET/SET Rx Pre-Coding Configurations.
GET/SET Pre-Coding Configurations.
"""

code: typing.ClassVar[int] = 420
pushed: typing.ClassVar[bool] = True

Expand All @@ -2160,139 +2160,58 @@ class PP_RXPRECODING:
_serdes_xindex: int

class GetDataAttr(ResponseBodyStruct):
status: PreCodingStatus = field(XmpInt())
"""Status Off/On/Auto"""
endianness: Endianness = field(XmpInt())
"""Endianness Normal/Reverted(BigEndian/LittleEndian)) """
rx_mode: PreCodingMode = field(XmpInt())
"""RX Mode Off/On/Auto"""
rx_endianness: Endianness = field(XmpInt())
"""RX Endianness Normal/Reverted(BigEndian/LittleEndian)) """
tx_mode: PreCodingMode = field(XmpInt())
"""TX Mode Off/On/Auto"""
tx_endianness: Endianness = field(XmpInt())
"""TX Endianness Normal/Reverted(BigEndian/LittleEndian)) """

class SetDataAttr(RequestBodyStruct):
status: PreCodingStatus = field(XmpInt())
"""Status Off/On/Auto"""
endianness: Endianness = field(XmpInt())
"""Endianness Normal/Reverted(BigEndian/LittleEndian)) """
rx_mode: PreCodingMode = field(XmpInt())
"""RX Mode Off/On/Auto"""
rx_endianness: Endianness = field(XmpInt())
"""RX Endianness Normal/Reverted(BigEndian/LittleEndian)) """
tx_mode: PreCodingMode = field(XmpInt())
"""TX Mode Off/On/Auto"""
tx_endianness: Endianness = field(XmpInt())
"""TX Endianness Normal/Reverted(BigEndian/LittleEndian)) """

def get(self) -> Token[GetDataAttr]:
"""Get the Rx Pre-Coding Configurations.
"""Get the Pre-Coding Configurations.

:return: Rx Pre-Coding configurations including status, and endianness type.
:rtype: PP_RXPRECODING.GetDataAttr
:return: Pre-Coding configurations including rx_mode, rx_endianness, tx_mode, and tx_endianness.
:rtype: PP_PRECODING.GetDataAttr
"""

return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex]))

def set(self, status: PreCodingStatus, endianness: Endianness) -> Token[None]:
def set(self, rx_mode: PreCodingMode, rx_endianness: Endianness, tx_mode: PreCodingMode, tx_endianness: Endianness) -> Token[None]:
"""Set the Rx Pre-coding settings of the PHY.

:param status: The status(Off/On/Auto)
:type status: PreCodingStatus
:param endianness: Endianness type
:param rx_mode: The RX Mode(Off/On/Auto)
:type rx_mode: PreCodingMode
:param rx_endianness: RX Endianness type
:type rx_endianness: Endianness
:param tx_mode: The TX Mode(Off/On/Auto)
:type tx_mode: PreCodingMode
:param tx_endianness: TX Endianness type
:type endianness: Endianness
"""

return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex], status=status, endianness=endianness))

@register_command
@dataclass
class PP_TXPRECODING:
"""
GET/SET Tx Pre-Coding Configurations.
"""

code: typing.ClassVar[int] = 421
pushed: typing.ClassVar[bool] = True

_connection: 'interfaces.IConnection'
_module: int
_port: int
_serdes_xindex: int

class GetDataAttr(ResponseBodyStruct):
status: PreCodingStatus = field(XmpInt())
"""Status Off/On/Auto"""
endianness: Endianness = field(XmpInt())
"""Endianness Normal/Reverted(BigEndian/LittleEndian)) """

class SetDataAttr(RequestBodyStruct):
status: PreCodingStatus = field(XmpInt())
"""Status Off/On/Auto"""
endianness: Endianness = field(XmpInt())
"""Endianness Normal/Reverted(BigEndian/LittleEndian)) """

def get(self) -> Token[GetDataAttr]:
"""Get the Tx Pre-Coding Configurations.

:return: Tx Pre-Coding configurations including status, and endianness type.
:rtype: PP_TXPRECODING.GetDataAttr
"""

return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex]))

def set(self, status: PreCodingStatus, endianness: Endianness) -> Token[None]:
"""Set the Tx Pre-coding settings of the PHY.
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex],
rx_mode=rx_mode, rx_endianness=rx_endianness, tx_mode=tx_mode, tx_endianness=tx_endianness))

:param status: The status(Off/On/Auto)
:type status: PreCodingStatus
:param endianness: Endianness type
:type endianness: Endianness
"""

return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex], status=status, endianness=endianness))

@register_command
@dataclass
class PP_RXGRAYCODING:
class PP_GRAYCODING:
"""
GET/SET Rx Gray-Coding Configurations.
GET/SET Gray-Coding Configurations.
"""

code: typing.ClassVar[int] = 422
pushed: typing.ClassVar[bool] = True

_connection: 'interfaces.IConnection'
_module: int
_port: int
_serdes_xindex: int

class GetDataAttr(ResponseBodyStruct):
status: GrayCodingStatus = field(XmpInt())
"""Status Off/On"""
endianness: Endianness = field(XmpInt())
"""Endianness Normal/Reverted(BigEndian/LittleEndian)) """

class SetDataAttr(RequestBodyStruct):
status: GrayCodingStatus = field(XmpInt())
"""Status Off/On"""
endianness: Endianness = field(XmpInt())
"""Endianness Normal/Reverted(BigEndian/LittleEndian)) """

def get(self) -> Token[GetDataAttr]:
"""Get the Rx Gray-Coding Configurations.

:return: Rx Gray-Coding configurations including status, and endianness type.
:rtype: PP_RXGRAYCODING.GetDataAttr
"""

return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex]))

def set(self, status: GrayCodingStatus, endianness: Endianness) -> Token[None]:
"""Set the Rx Gray-coding settings of the PHY.

:param status: The status(Off/On)
:type status: GrayCodingStatus
:param endianness: Endianness type
:type endianness: Endianness
"""

return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex], status=status, endianness=endianness))

@register_command
@dataclass
class PP_TXGRAYCODING:
"""
GET/SET Tx Gray-Coding Configurations.
"""

code: typing.ClassVar[int] = 423
code: typing.ClassVar[int] = 421
pushed: typing.ClassVar[bool] = True

_connection: 'interfaces.IConnection'
Expand All @@ -2301,33 +2220,46 @@ class PP_TXGRAYCODING:
_serdes_xindex: int

class GetDataAttr(ResponseBodyStruct):
status: GrayCodingStatus = field(XmpInt())
"""Status Off/On/Auto"""
endianness: Endianness = field(XmpInt())
"""Endianness Normal/Reverted(BigEndian/LittleEndian)) """
rx_mode: GrayCodingMode = field(XmpInt())
"""RX Mode Off/On/Auto"""
rx_endianness: Endianness = field(XmpInt())
"""RX Endianness Normal/Reverted(BigEndian/LittleEndian)) """
tx_mode: GrayCodingMode = field(XmpInt())
"""TX Mode Off/On/Auto"""
tx_endianness: Endianness = field(XmpInt())
"""TX Endianness Normal/Reverted(BigEndian/LittleEndian)) """

class SetDataAttr(RequestBodyStruct):
status: GrayCodingStatus = field(XmpInt())
"""Status Off/On/Auto"""
endianness: Endianness = field(XmpInt())
"""Endianness Normal/Reverted(BigEndian/LittleEndian)) """
rx_mode: GrayCodingMode = field(XmpInt())
"""RX Mode Off/On/Auto"""
rx_endianness: Endianness = field(XmpInt())
"""RX Endianness Normal/Reverted(BigEndian/LittleEndian)) """
tx_mode: GrayCodingMode = field(XmpInt())
"""TX Mode Off/On/Auto"""
tx_endianness: Endianness = field(XmpInt())
"""TX Endianness Normal/Reverted(BigEndian/LittleEndian)) """

def get(self) -> Token[GetDataAttr]:
"""Get the Tx Gray-Coding Configurations.
"""Get the Gray-Coding Configurations.

:return: Tx Gray-Coding configurations including status, and endianness type.
:rtype: PP_TXGRAYCODING.GetDataAttr
:return: Gray-Coding configurations including rx_mode, rx_endianness, tx_mode, and tx_endianness.
:rtype: PP_GRAYCODING.GetDataAttr
"""

return Token(self._connection, build_get_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex]))

def set(self, status: GrayCodingStatus, endianness: Endianness) -> Token[None]:
"""Set the Tx Gray-coding settings of the PHY.
def set(self, rx_mode: GrayCodingMode, rx_endianness: Endianness, tx_mode: GrayCodingMode, tx_endianness: Endianness) -> Token[None]:
"""Set the Rx Gray-coding settings of the PHY.

:param status: The status(Off/On/Auto)
:type status: GrayCodingStatus
:param endianness: Endianness type
:param rx_mode: The RX Mode(Off/On/Auto)
:type rx_mode: GrayCodingMode
:param rx_endianness: RX Endianness type
:type rx_endianness: Endianness
:param tx_mode: The TX Mode(Off/On/Auto)
:type tx_mode: GrayCodingMode
:param tx_endianness: TX Endianness type
:type endianness: Endianness
"""

return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex], status=status, endianness=endianness))
return Token(self._connection, build_set_request(self, module=self._module, port=self._port, indices=[self._serdes_xindex],
rx_mode=rx_mode, rx_endianness=rx_endianness, tx_mode=tx_mode, tx_endianness=tx_endianness))
Loading