Transceiver
This module contains the L23 port transceiver classes that deal with access to the register interfaces of the transceiver on a port.
- class PX_CDB_ABORT_FW_DOWNLOAD[source]
Bases:
object
This is CMD 0102h: Abort Firmware Download
- class PX_CDB_ABORT_PROCESSING[source]
Bases:
object
This is CMD 0004h: Abort Processing
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json
{ "cdb_status": "0x00" }
cdb_status
: hex string, provides the status of the most recently triggered CDB command.
- class PX_CDB_CHANGE_PASSWORD[source]
Bases:
object
This is CMD 0002h: Change Password
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json
{ "cdb_status": "0x00" }
cdb_status
: hex string, provides the status of the most recently triggered CDB command.
- class PX_CDB_COMMIT_FW_IMAGE[source]
Bases:
object
This is CMD 010Ah: Commit Firmware Image
- class PX_CDB_COMPLETE_FW_DOWNLOAD[source]
Bases:
object
This is CMD 0107h: Complete Firmware Download
- class PX_CDB_COPY_FW_IMAGE[source]
Bases:
object
This is CMD 0108h: Copy Firmware Image
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json
{ "cdb_status": "0x00", "copy_direction": "0xAB", "copy_status": "0x00" }
cdb_status
: hex string, provides the status of the most recently triggered CDB command.copy_direction
: hex string, copy direction.0xAB
, Copy Image A into Image B0xBA
,Copy Image B into Image A
copy_status
: hex string, copy status.0x00
, Copy Successful0x01
, Copy Failed
- class PX_CDB_ENTER_PASSWORD[source]
Bases:
object
This is CMD 0001h: Enter Password
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json
{ "cdb_status": "0x00" }
cdb_status
: hex string, provides the status of the most recently triggered CDB command.
- class SetDataAttr[source]
Bases:
RequestBodyStruct
- cmd_data
dict, json
{ "password": "0x54555657" }
password
: hex string, password to be entered.
- class PX_CDB_EXTERNAL_FEATURES[source]
Bases:
object
This is CMD 0045h: Externally Defined Features
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json
{ "cdb_status": "0x00", "supplement_support": "0x00" }
cdb_status
: hex string, provides the status of the most recently triggered CDB command.supplement_support
: hex string, Bit 0 = 0/1: CMIS-VCS not supported/supported
- class PX_CDB_FW_MGMT_FEATURES[source]
Bases:
object
This is CMD 0041h: Firmware Management Features
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json
{ "cdb_status": "0x00", "feature_support_mask": "0x00", "start_cmd_payload_size": 2, "erased_byte": "0x00", "read_write_length_ext": 2, "write_mechanism": "0x00", "read_mechanism": "0x00", "hitless_restart": 0, "max_duration_start": 123, "max_duration_abort": 123, "max_duration_write": 123, "max_duration_complete": 123, "max_duration_copy": 123 }
cdb_status
: hex string, provides the status of the most recently triggered CDB command.feature_support_mask
: hex string, indicates support of Firmware Management features.start_cmd_payload_size
: integer, This defines the number of bytes that the host must extract from the beginning of the vendor-delivered binary firmware image file and send to the module in CMD 0101h (Start).erased_byte
: hex string, This is the value representing an erased byte. The purpose of advertising this byte is to optionally reduce download time by allowing the host to skip sending blocks of the image containing ErasedByte values only.read_write_length_ext
: integer, specifies the allowable additional number of byte octets in a READ or a WRITE, specifically for Firmware Management Commands (IDs 0100h-01FFh).write_mechanism
: hex string, Firmware update supported mechanismread_mechanism
: hex string, Firmware read / readback support mechanism.hitless_restart
: integer, 0: CMD Run Image causes a reset. Traffic is affected. 1: CMD Run Image may reset but module will do its best to maintain traffic and management states. Data path functions are not reset.max_duration_start
: integer, U16 Maximum time in M ms for a CDB Start command to complete executionmax_duration_abort
: integer, U16 Maximum time in M ms for a CDB Abort command to complete executionmax_duration_write
: integer, U16 Maximum time in M ms for a CDB Write command to complete executionmax_duration_complete
: integer, U16 Maximum time in M ms for a CDB Complete command to complete executionmax_duration_copy
: integer, U16 Maximum time in M ms for a CDB Copy command to complete execution
- class PX_CDB_GET_APP_ATTRIBUTES[source]
Bases:
object
This is CMD 0050h: Get Application Attributes
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json
{ "cdb_status": "0x00", "application_number": 123, "max_module_power": 123, "prog_output_power_min": 123, "prog_output_power_max": 123, "pre_fec_ber_threshold": 123.123, "rx_los_optical_power_threshold": 123, "rx_power_high_alarm_threshold": 123, "rx_power_low_alarm_threshold": 123, "rx_power_high_warning_threshold": 123, "rx_power_low_warning_threshold": 123 }
cdb_status
: hex string, provides the status of the most recently triggered CDB command.application_number
: integer, U16 Application number. 15-8: reserved (0). 7-4: NADBlockIndex (0-15) or 0. 3-0: AppSelCode (1-15).max_module_power
: integer, U16: Worst case module power dissipation when this Application is instantiated homogeneously as often as possible in parallel (when applicable) with worst case configuration options. Unit: 0.25 W.prog_output_power_min
: integer, S16: Minimum Programmable Output Power, Unit: 0.01 dBm.prog_output_power_max
: integer, S16: Maximum Programmable Output Power, Unit: 0.01 dBm.pre_fec_ber_threshold
: float, F16: Pre FEC BER VDM high alarm threshold.rx_los_optical_power_threshold
: integer, S16: Optical power threshold for RxLOS alarm. Unit: 0.01dBm.rx_power_high_alarm_threshold
: integer, U16: OpticalPowerRxHighAlarmThreshold. Unit: 0.1uW.rx_power_low_alarm_threshold
: integer, U16: OpticalPowerRxLowAlarmThreshold. Unit: 0.1uW.rx_power_high_warning_threshold
: integer, U16: OpticalPowerRxHighWarningThreshold.Unit: 0.1uW.rx_power_low_warning_threshold
: integer, U16: OpticalPowerRxLowWarningThreshold. Unit: 0.1uW.
- class SetDataAttr[source]
Bases:
RequestBodyStruct
- cmd_data
dict, json
{ "application_number": 1 }
application_number
: integer, U16 Application number. 15-8: reserved (0). 7-4: NADBlockIndex (0-15) or 0. 3-0: AppSelCode (1-15)
- class PX_CDB_GET_FW_INFO[source]
Bases:
object
This is CMD 0100h: Get Firmware Info
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json
{ "cdb_status": "0x00", "firmware_status": 0, "image_information": 0, "image_a_major": 0, "image_a_minor": 0, "image_a_build": 0, "image_a_extra_string": "abcdef", "image_b_major": 0, "image_b_minor": 0, "image_b_build": 0, "image_b_extra_string": "abcdef", "factory_boot_major": 0, "factory_boot_minor": 0, "factory_boot_build": 0, "factory_boot_extra_string": "abcdef" }
cdb_status
: hex string, provides the status of the most recently triggered CDB command.firmware_status
: integer, Firmware Status.
Bitmask to indicate FW Status.
Image in Bank A:
Bit 0: Operational Status
Bit 1: Administrative Status
Bit 2: Validity Status
Bit 3: Reserved
Image in Bank B:
Bit 4: Operational Status
Bit 5: Administrative Status
Bit 6: Validity Status
Bit 7: Reserved
Encoding as follows:
Operational Status: 1 = running, 0 = not running
Administrative Status: 1=committed, 0=uncommitted
Validity Status: 1 = invalid, 0 = valid
image_information
: integer, Image Information.Bit 0: Firmware image A information
Bit 1: Firmware image B information
Bit 2: Factory or Boot image information
image_a_major
: integer, Image A firmware major revision.image_a_minor
: integer, Image A firmware minor revision.image_a_build
: integer, Image A firmware build number.image_a_extra_string
: string, Image A additional information (32-byte long ASCII string).image_b_major
: integer, Image B firmware major revision.image_b_minor
: integer, Image B firmware minor revision.image_b_build
: integer, Image B firmware build number.image_b_extra_string
: string, Image B additional information (32-byte long ASCII string).factory_boot_major
: integer, Factory or Boot firmware major revision.factory_boot_minor
: integer, Factory or Boot firmware minor revision.factory_boot_build
: integer, Factory or Boot firmware build number.factory_boot_extra_string
: string, Factory or Boot additional information (32-byte long ASCII string).
- class PX_CDB_GET_IF_CODE_DESCR[source]
Bases:
object
This is CMD 0051h: Get Interface Code Description
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json
{ "cdb_status": "0x00", "interface_id": "0x01", "interface_location": "0x00", "interfacre_name": "10G Ethernet", "interfacre_description": "10G Ethernet", "interfacre_data_rate": 10.3125, "interfacre_lane_count": 1, "lane_signaling_rate": 10.3125, "modulation": "PAM4", "bits_per_symbol": 2 }
cdb_status
: hex string, provides the status of the most recently triggered CDB command.interface_id
: hex string, U16: HostInterfaceID or MediaInterfaceID. 15-8: reserved (0). 7-0: InterfaceIDinterface_location
: integer, 0: media side. 1: host side.interfacre_name
: string, 16-byte long ACII string. Name of the interface.interfacre_description
: string, 48-byte long ACII string. Description of the interface.interfacre_data_rate
: float, F16: Application Bit Rate in Gb/sinterfacre_lane_count
: integer, U16: Number of parallel lanes.lane_signaling_rate
: float, F16: Lane Signaling Rate in GBd.modulation
: string, 16-byte long ACII string. Lane Modulation Format.bits_per_symbol
: integer, U16: Bits per Symbol.
- class SetDataAttr[source]
Bases:
RequestBodyStruct
- cmd_data
dict, json
{ "interface_id": "0x01", "interface_location": "0x00" }
interface_id
: hex string, U16: HostInterfaceID or MediaInterfaceID. 15-8: reserved (0). 7-0: InterfaceIDinterface_location
: integer, 0: media side. 1: host side.
- set(cmd_data)[source]
Set CMD Data :param cmd_data: CMD DATA :type cmd_data: dict
{ "interface_id": "0x01", "interface_location": "0x00" }
interface_id
: hex string, U16: HostInterfaceID or MediaInterfaceID. 15-8: reserved (0). 7-0: InterfaceIDinterface_location
: integer, 0: media side. 1: host side.
- class PX_CDB_MODULE_FEATURES[source]
Bases:
object
This is CMD 0040h: Module Features
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json
{ "cdb_status": "0x00", "cmd_support_mask": "0x0000000000000000000000000000000000000000000000000000000000000000", "max_completion_time": 1000 }
cdb_status
: hex string, provides the status of the most recently triggered CDB command.cmd_support_mask
: :hex string, indicates support of CDB commands 0000h-00FFh. This array of 32 bytes indicates support of CDB commands CMD <i>, with identifiers 0 ≤ <i> ≤ 255, as follows: CMD <i> is supported when bit<j>=<i>mod 8 of byte<k> = 138+floor(<i>/8) is set.max_completion_time
: integer, U16 Maximum CDB command execution time in ms, of all supported CDB commands.
- class PX_CDB_QUERY_STATUS[source]
Bases:
object
This is CMD 0000h: Query Status
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json
{ "cdb_status": "0x00", "status": "0x00" }
cdb_status
: hex string, provides the status of the most recently triggered CDB command.status
: hex string0000 0000b: Module Boot Up.
0000 0001b: Host Password Accepted.
1xxx xxxxb: Module Password accepted.
Bits ‘x’ may contain custom information.
- class SetDataAttr[source]
Bases:
RequestBodyStruct
- cmd_data
dict, json
{ "response_delay": 0 }
response_delay
: Programmable delay in ms for module responding to this command. A value of 0 asks for module response as fast as possible.
- class PX_CDB_READ_FW_BLOCK_EPL[source]
Bases:
object
This is CMD 0106h: Read Firmware Block EPL
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json
{ "cdb_status": "0x00", "image_data": "0x00010203040506070809" }
cdb_status
: hex string, provides the status of the most recently triggered CDB command.image_data
: hex string, Up to 2048 bytes.
- set(cmd_data)[source]
Set CMD Data
- Parameters:
cmd_data (dict) – CMD DATA
{ "block_address": 12, "length": 10 }
block_address
: integer, U32 Starting byte address of this block of data within the supplied image file minus the size of the size of the “Start Command Payload Size”.length
: integer, Number of bytes to read back to the EPL in this command, starting at the indicated address.
- class PX_CDB_READ_FW_BLOCK_LPL[source]
Bases:
object
This is CMD 0105h: Read Firmware Block LPL
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json
{ "cdb_status": "0x00", "base_address_block": "0x0000000C", "image_data": "0x00010203040506070809" }
cdb_status
: hex string, provides the status of the most recently triggered CDB command.base_address_block
: hex string, Base address of the data block within the firmware image.image_data
: : hex string, Up to 2048 bytes.
- set(cmd_data)[source]
Set CMD Data
- Parameters:
cmd_data (dict) – CMD DATA
{ "block_address": 12, "length": 10 }
block_address
: integer, U32 Starting byte address of this block of data within the supplied image file minus the size of the size of the “Start Command Payload Size”.length
: integer, Number of bytes to read back to the EPL in this command, starting at the indicated address.
- class PX_CDB_RUN_FW_IMAGE[source]
Bases:
object
This is CMD 0109h: Run Firmware Image
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json
{ "cdb_status": "0x00" }
cdb_status
: hex string, provides the status of the most recently triggered CDB command.
- class SetDataAttr[source]
Bases:
RequestBodyStruct
- cmd_data
dict, json
{ "image_to_run": 0, "delay_to_reset": 100 }
image_to_run
: integer, index of the image to run.0 = Traffic affecting Reset to Inactive Image.
1 = Attempt Hitless Reset to Inactive Image
2 = Traffic affecting Reset to Running Image.
3 = Attempt Hitless Reset to Running Image
delay_to_reset
: integer, Indicates the delay in ms after receiving this command before a reset will occur, starting from the time the CDB complete Flag is set.
- set(cmd_data)[source]
Set CMD Data :param cmd_data: CMD DATA :type cmd_data: dict
{ "image_to_run": 0, "delay_to_reset": 100 }
image_to_run
: integer, index of the image to run.0 = Traffic affecting Reset to Inactive Image.
1 = Attempt Hitless Reset to Inactive Image
2 = Traffic affecting Reset to Running Image.
3 = Attempt Hitless Reset to Running Image
delay_to_reset
: integer, Indicates the delay in ms after receiving this command before a reset will occur, starting from the time the CDB complete Flag is set.
- class PX_CDB_SEC_FEAT_CAPABILITIES[source]
Bases:
object
This is CMD 0044h: Security Features and Capabilities
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json
{ "cdb_status": "0x00", "cmd_support_mask": "0xFF", "num_certificates": 0, "cert_chain_supported": 0, "certificate_format": 0, "certificate_length_1": 0, "certificate_length_2": 0, "certificate_length_3": 0, "certificate_length_4": 0, "digest_length": 0, "signature_time": 0, "signature_length": 0, "signature_format": 0, "signature_pad_scheme": 0 }
cdb_status
: hex string, provides the status of the most recently triggered CDB command.cmd_support_mask
: hex string, indicates support of CDB commands 0400-04FFh.num_certificates
: integer, number of public certificates the host may obtain from the module. The device must contain a single leaf certificate and it may optionally contain one or more intermediate certificates optionally followed by a root certificate. For X.509 certificates, intermediate certificates are not self-signed, and the root cert is self-signed.num_certificates <= 4
.cert_chain_supported
: integer, 0: Certificate chain is not supported. Module contains leaf certificate instance i = 0 only. 1: Module supports certificate chain and host must specify the instance when downloading a certificate. Instance i = 0 is the start of the chain, i.e. the leaf certificate, and any instance i+1 is another certificate used to sign the certificate instance i, wherei < num_certificates <= 4
certificate_format
: integer, 0: Not supported. 1: Custom. 2: X509v3 DER encoding. 3-255: Reserved.certificate_length_1
: integer, Length of leaf certificate i = 0.certificate_length_2
: integer, Length of certificate i = 1 or 0 when not supported.certificate_length_3
: integer, Length of certificate i = 2 or 0 when not supported.certificate_length_4
: integer, Length of certificate i = 3 or 0 when not supported.digest_length
: integer, Required message hash digest length (in bytes) 0: Not supported. 1: 28 bytes (SHA224). 2: 32 bytes (SHA256). 3: 48 bytes (SHA384). 4: 64 bytes (SHA512). 5-255: Reserved.signature_time
: integer, Maximum time (in milliseconds) for signature generation.signature_length
: integer, Length (in bytes) of the encoded/padded (if applicable) digest signaturesignature_format
: integer, 0: Not supported. 1: Custom, vendor specific encoding. 2: Raw binary byte stream. 3: DER encoding. 4: ECDSA (R,S) integer pair, integers prefixed with length. 5-255: Reserved.signature_pad_scheme
: integer, 0: None. 1: Custom. 2: PKCS#1 v1.5. 3: OAEP. 4: PSS. 5-255: Reserved
- class PX_CDB_START_FW_DOWNLOAD[source]
Bases:
object
This is CMD 0101h: Start Firmware Download
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json
{ "cdb_status": "0x00" }
cdb_status
: hex string, provides the status of the most recently triggered CDB command.
- class SetDataAttr[source]
Bases:
RequestBodyStruct
- cmd_data
dict, json
{ "image_size": 12, "vendor_data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" }
image_size
: integer, U32 Size of firmware image to download into the module. This should be the file size including the LPL bytes sent as vendor data in this message.vendor_data
: hex string, U8 Array of vendor specific data to be sent to the module. This data is sent as part of the firmware download message. The size of this data is included in the image_size parameter.
- set(cmd_data)[source]
Set CMD Data :param cmd_data: CMD DATA :type cmd_data: dict
{ "image_size": 12, "vendor_data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" }
image_size
: integer, U32 Size of firmware image to download into the module. This should be the file size including the LPL bytes sent as vendor data in this message.vendor_data
: hex string, U8 Array of vendor specific data to be sent to the module. This data is sent as part of the firmware download message. The size of this data is included in the image_size parameter.
- class PX_CDB_SUPPORT[source]
Bases:
object
Return the supported CDB instances.
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json.
{ "cdb_instances_supported": 2 }
cdb_instances_supported
: CDP instnaces supported0 = CDB functionality not supported
1 = One CDB instance supported
2 = Two CDB instances supported
- class PX_CDB_WRITE_FW_BLOCK_EPL[source]
Bases:
object
This is CMD 0104h: Write Firmware Block EPL
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json
{ "cdb_status": "0x00" }
cdb_status
: hex string, provides the status of the most recently triggered CDB command.
- set(cmd_data)[source]
Set CMD Data :param cmd_data: CMD DATA :type cmd_data: dict
{ "block_address": 12, "firmware_block": "0x00010203040506070809" }
block_address
: integer, U32 Starting byte address of this block of data within the supplied image file minus the size of the size of the “Start Command Payload Size”.firmware_block
: hex string, Up to 2048 Bytes.
- class PX_CDB_WRITE_FW_BLOCK_LPL[source]
Bases:
object
This is CMD 0103h: Write Firmware Block LPL
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json
{ "cdb_status": "0x00" }
cdb_status
: hex string, provides the status of the most recently triggered CDB command.
- set(cmd_data)[source]
Set CMD Data :param cmd_data: CMD DATA :type cmd_data: dict
{ "block_address": 12, "firmware_block": "0x00010203040506070809" }
block_address
: integer, U32 Starting byte address of this block of data within the supplied image file minus the size of the size of the “Start Command Payload Size”.firmware_block
: hex string, Up to 116 bytes. One block of the firmware image. The actually needed length may be shorter than the available FirmwareBlock field size.
- class PX_CUST_CMD[source]
Bases:
object
Defines the custom request and reply to be sent to the CDB instance.
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- reply
dict, json
{ "reply_status": { "cdb_cmd_complete_flag": "0x00", "cdb_status": "0x00", }, "reply_header": { "rpl_length": 9, "rpl_check_code": 9 } "reply_data": { "data": "0x00" } }
reply_status
: dict, JSON formatted string containing the following fields:cdb_cmd_complete_flag
: hex string, indicates whether the CDB command is complete.cdb_status
: hex string, provides the status of the most recently triggered CDB command.
reply_header
: dict, JSON formatted string containing the following fields:rpl_length
: integer, length of the reply data.rpl_check_code
: integer, check code for the reply data.
reply_data
: dict, JSON formatted string containing the following fields:data
: hex string, the actual data to be sent in the reply.
- set(cmd)[source]
Set CMD :param cmd: CMD :type cmd: dict
{ "cmd_header": { "cmd_id": "0x00", "epl_length": 0, "lpl_length": 0, "rpl_length": 0, "rpl_check_code": 0 }, "cmd_data": { "data": "0x00" } }
cmd_header
: dict, contains the command header fields.cmd_id
: hex string, command ID.epl_length
: integer, length of the EPL.lpl_length
: integer, length of the LPL.rpl_length
: integer, length of the RPL. (optional)rpl_check_code
: integer, check code for the RPL. (optional)
cmd_data
: dict, contains the command data fields.data
: hex string, command data.
- class PX_I2C_CONFIG[source]
Bases:
object
Access speed on a transceiver I2C access in the unit of KHz. Default to 100. When the transceiver is plugged out and in again, the speed will be reset to the default value 100. The speed has a minimum and a maximum, which can be obtained from P_CAPABILITIES. The I2C speed configuration will not be included in the port configuration file (.xpc). When you load a port configuration to a port, the transceiver I2C access speed will be reset to default 100.
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- frequency
integer, frequency in kHz, default is 100.
- class SetDataAttr[source]
Bases:
RequestBodyStruct
- frequency
integer, frequency in kHz, default is 100.
- class PX_MII[source]
Bases:
object
Provides access to the register interface supported by the media-independent interface (MII) transceiver. It is possible to both read and write register values.
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- value
2 hex bytes, register value of the transceiver
- class SetDataAttr[source]
Bases:
RequestBodyStruct
- value
2 hex bytes, register value of the transceiver
- class PX_RW[source]
Bases:
object
Provides read and write access to the register interface supported by the port transceiver. It is possible to both read and write register values.
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- value
4 hex bytes, register value of the port transceiver
- class SetDataAttr[source]
Bases:
RequestBodyStruct
- value
4 hex bytes, register value of the port transceiver
- class PX_RW_SEQ[source]
Bases:
object
I2C sequential access to a transceiver’s register. When invoked, the <byte_count> number of bytes will be read or written in one I2C transaction, in which the <value> is read or written with only a single register address setup. A subsequent invocation will perform a second I2C transaction in the same manner.
<_byte_xcount> number of bytes will be read or written in one I2C transaction
<_page_xindex>: the transceiver page address, integer, 0x00 - 0xFF (0-255).
<_register_xaddress>: the address within the page, integer, 0x00 - 0xFF (0-255).
If <_register_xaddress> < 128, the page index <_page_xindex> is ignored by the server. The server will read from page 0 without writing 0 into byte 127.
If <_register_xaddress> >=128, the page index <_page_xindex> will be written into byte 127.
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- value
the bytes to be read or written in one I2C transaction. The number of bytes in the <value> equals <byte_count>.
- class SetDataAttr[source]
Bases:
RequestBodyStruct
- value
the bytes to be read or written in one I2C transaction. The number of bytes in the <value> equals <byte_count>.
- class PX_RW_SEQ_BANK[source]
Bases:
object
I2C sequential access to a transceiver’s register. When invoked, the <byte_count> number of bytes will be read or written in one I2C transaction, in which the <value> is read or written with only a single register address setup. A subsequent invocation will perform a second I2C transaction in the same manner.
<_bank_xindex>: the bank address, integer, 0x00 - 0xFF (0-255).
<_page_xindex>: the transceiver page address, integer, 0x00 - 0xFF (0-255).
<_register_xaddress>: the address within the page, integer, 0x00 - 0xFF (0-255).
<_byte_xcount> number of bytes will be read or written in one I2C transaction
If <_register_xaddress> < 128, the page index <page> and the bank index <_bank_xindex> is ignored by the server. The server will read from page 0 without writing 0 into byte 127.
If <_register_xaddress> >=128, the page index <page> will be written into byte 127, and the bank index <_bank_xindex> will be written into byte 126.
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- value
the bytes to be read or written in one I2C transaction. The number of bytes in the <value> equals <byte_count>.
- class SetDataAttr[source]
Bases:
RequestBodyStruct
- value
the bytes to be read or written in one I2C transaction. The number of bytes in the <value> equals <byte_count>.
- class PX_TEMPERATURE[source]
Bases:
object
Transceiver temperature in degrees Celsius.
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- fractional_part
byte, 1/256th of a degree Celsius after the decimal digit.
- integral_part
byte, temperature value before the decimal digit.