<filename>sonic_platform_base/sonic_xcvr/fields/consts.py
# COMMON

ID_FIELD = "Identifier"
ID_ABBRV_FIELD = "Identifier Abbreviation"

STATUS_FIELD = "Status Indicators"
STATUS_IND_BITS_FIELD = "Status Indicator Bits"

FLAT_MEM_FIELD = "Flat_mem"
CONNECTOR_FIELD = "Connector"

DIAG_MON_TYPE_FIELD = "Diagnostic Monitoring Type"
DEVICE_TECH_FIELD = "Device Technology"
EXT_SPEC_COMPLIANCE_FIELD = "Extended Specification Compliance"

LENGTH_SMF_KM_FIELD = "Length SMF (km)"
LENGTH_SMF_M_FIELD = "Length SMF (m)"
LENGTH_OM4_FIELD = "Length OM4"
LENGTH_OM3_FIELD = "Length OM3"
LENGTH_OM2_FIELD = "Length OM2"
LENGTH_OM1_FIELD = "Length OM1"

MODULE_MONITORS_FIELD = "Module Monitors"

RX_LOS_FIELD = "RxLOS"
RX_POWER_FIELD = "RxPower"
RX_POWER_THRESHOLDS_FIELD = "RxPowerThresholds"
RX_POWER_HIGH_ALARM_FIELD = "RxPowerHighAlarm"
RX_POWER_LOW_ALARM_FIELD = "RxPowerLowAlarm"
RX_POWER_HIGH_WARNING_FIELD = "RxPowerHighWarning"
RX_POWER_LOW_WARNING_FIELD = "RxPowerLowWarning"

TEMPERATURE_FIELD = "Temperature"
TEMP_SUPPORT_FIELD = "Temperature Monitoring Implemented"
TEMP_THRESHOLDS_FIELD = "TempThresholds"
TEMP_HIGH_ALARM_FIELD = "TempHighAlarm"
TEMP_LOW_ALARM_FIELD = "TempLowAlarm"
TEMP_HIGH_WARNING_FIELD = "TempHighWarning"
TEMP_LOW_WARNING_FIELD = "TempLowWarning"

THRESHOLDS_FIELD = "Thresholds"

TX_BIAS_FIELD = "TxBias"
TX_BIAS_THRESHOLDS_FIELD = "TxBiasThresholds"
TX_BIAS_HIGH_ALARM_FIELD = "TxHighAlarm"
TX_BIAS_LOW_ALARM_FIELD = "TxLowAlarm"
TX_BIAS_HIGH_WARNING_FIELD = "TxHighWarning"
TX_BIAS_LOW_WARNING_FIELD = "TxLowWarning"

TX_FAULT_FIELD = "TxFault"
TX_FAULT_SUPPORT_FIELD = "TxFaultSupported"
TX_DISABLE_FIELD = "TxDisable"
TX_DISABLE_SUPPORT_FIELD = "TxDisableSupported"

TX_POWER_FIELD = "TxPower"
TX_POWER_SUPPORT_FIELD = "TxPowerSupported"
TX_POWER_THRESHOLDS_FIELD = "TxPowerThresholds"
TX_POWER_HIGH_ALARM_FIELD = "TxPowerHighAlarm"
TX_POWER_LOW_ALARM_FIELD = "TxPowerLowAlarm"
TX_POWER_HIGH_WARNING_FIELD = "TxPowerHighWarning"
TX_POWER_LOW_WARNING_FIELD = "TxPowerLowWarning"

VENDOR_NAME_FIELD = "VendorName"
VENDOR_DATE_FIELD = "VendorDate"
VENDOR_OUI_FIELD = "VendorOUI"
VENDOR_PART_NO_FIELD = "VendorPN"
VENDOR_REV_FIELD = "VendorRev"
VENDOR_SERIAL_NO_FIELD = "VendorSN"
VOLTAGE_FIELD = "Voltage"
VOLTAGE_SUPPORT_FIELD = "Supply Voltage Monitoring Implemented"
VOLTAGE_THRESHOLDS_FIELD = "VoltageThresholds"
VOLTAGE_HIGH_ALARM_FIELD = "VoltageHighAlarm"
VOLTAGE_LOW_ALARM_FIELD = "VoltageLowAlarm"
VOLTAGE_HIGH_WARNING_FIELD = "VoltageHighWarning"
VOLTAGE_LOW_WARNING_FIELD = "VoltageLowWarning"

SERIAL_ID_FIELD = "Serial ID"
EXT_ID_FIELD = "Extended Identifier"
POWER_CLASS_FIELD = "Power Class"
CLEI_CODE_FIELD = "CLEI Code"
CDR_TX_FIELD = "CDR TX"
CDR_RX_FIELD = "CDR RX"
SPEC_COMPLIANCE_FIELD = "Specification Compliance"
ENCODING_FIELD = "Encoding"
NOMINAL_BR_FIELD = "Nominal BR"
EXT_RATE_SELECT_COMPLIANCE_FIELD = "Extended RateSelect Compliance"
LENGTH_ASSEMBLY_FIELD = "Length Cable Assembly"

ETHERNET_10_40G_COMPLIANCE_FIELD = "10/40G Ethernet Compliance Code"
SONET_COMPLIANCE_FIELD = "SONET Compliance Codes"
SAS_SATA_COMPLIANCE_FIELD = "SAS/SATA Compliance Codes"
GIGABIT_ETHERNET_COMPLIANCE_FIELD = "Gigabit Ethernet Compliant Codes"
FIBRE_CHANNEL_LINK_LENGTH_FIELD = "Fibre Channel Link Length"
FIBRE_CHANNEL_TRANSMITTER_TECH_FIELD = "Fibre Channel Transmitter Technology"
FIBRE_CHANNEL_TRANSMISSION_MEDIA_FIELD = "Fibre Channel Transmission Media"
FIBRE_CHANNEL_SPEED_FIELD = "Fibre Channel Speed"

OPTIONS_FIELD = "Options"

POWER_CTRL_FIELD = "Power Control"
POWER_OVERRIDE_FIELD = "Power Override"
POWER_SET_FIELD = "Power Set"

# SFF-8636

REV_COMPLIANCE_FIELD = "Revision Compliance"

# CMIS

ADMIN_INFO_FIELD = "AdminInfo"
MEDIA_TYPE_FIELD = "ModuleMediaType"
HOST_ELECTRICAL_INTERFACE = "HostElectricalInterfaceID"
MODULE_MEDIA_INTERFACE_850NM = "ModuleMediaInterface850nm"
MODULE_MEDIA_INTERFACE_SM = "ModuleMediaInterfaceSM"
MODULE_MEDIA_INTERFACE_PASSIVE_COPPER = "ModuleMediaInterfacePassiveCopper"
MODULE_MEDIA_INTERFACE_ACTIVE_CABLE = "ModuleMediaInterfaceActiveCable"
MODULE_MEDIA_INTERFACE_BASE_T = "ModuleMediaInterfaceBaseT"
HOST_LANE_COUNT = "HostLaneCount"
MEDIA_LANE_COUNT = "MediaLaneCount"
HOST_LANE_ASSIGNMENT_OPTION = "HostLaneAssignmentOptions"
MEDIA_LANE_ASSIGNMENT_OPTION = "MediaLaneAssignmentOptions"
ACTIVE_APSEL_CODE = "ActiveAppSelCode"
ACTIVE_APSEL_HOSTLANE = "ActiveAppSelLane"
MEDIA_INTERFACE_TECH = "MediaInterfaceTechnology"
HW_MAJOR_REV = "ModuleHardwareMajorRevision"
HW_MINOR_REV = "ModuleHardwareMinorRevision"
CMIS_MAJOR_REVISION = "CmisMajorRevision"
CMIS_MINOR_REVISION = "CmisMinorRevision"
ACTIVE_FW_MAJOR_REV = "ModuleActiveFirmwareMajorRevision"
ACTIVE_FW_MINOR_REV = "ModuleActiveFirmwareMinorRevision"
INACTIVE_FW_MAJOR_REV = "ModuleInactiveFirmwareMajorRevision"
INACTIVE_FW_MINOR_REV = "ModuleInactiveFirmwareMinorRevision"

# DOM
TRANS_DOM_FIELD = "TransceiverDom"
CASE_TEMP = "ModuleTemp"
VOLTAGE = "Supply3V3"
GRID_SPACING = "Tx1SelectedGridSpacing"
LASER_CONFIG_CHANNEL = "Tx1ChannelNumber"
LASER_CURRENT_FREQ = "Tx1CurrentLaserFrequency"
TX_CONFIG_POWER = "Tx1TargetOutputPower"
AUX_MON_TYPE = "AuxMonitorType"
AUX1_MON = "Aux1MonValue"
AUX2_MON = "Aux2MonValue"
AUX3_MON = "Aux3MonValue"
CUSTOM_MON = "CustomMonValue"

# Loopback
TRANS_LOOPBACK_FIELD = "TransceiverLoopback"
LOOPBACK_CAPABILITY = "LoopbackCapability"
MEDIA_OUTPUT_LOOPBACK = "MediaSideOutputLoopbackEnable"
MEDIA_INPUT_LOOPBACK = "MediaSideInputLoopbackEnable"
HOST_OUTPUT_LOOPBACK = "HostSideOutputLoopbackEnable"
HOST_INPUT_LOOPBACK = "HostSideLoopbackEnable"

# Threshold
TRANS_THRESHOLD_FIELD = "TransceiverThreshold"
CASE_TEMP_HIGH_ALARM = "TempeartureHighAlarmThreshold"
CASE_TEMP_LOW_ALARM = "TempeartureLowAlarmThreshold"
CASE_TEMP_HIGH_WARN = "TempeartureHighWarningThreshold"
CASE_TEMP_LOW_WARN = "TempeartureLowWarningThreshold"
VOLTAGE_HIGH_ALARM = "Supply3V3HighAlarmThreshold"
VOLTAGE_LOW_ALARM = "Supply3V3LowAlarmThreshold"
VOLTAGE_HIGH_WARN = "Supply3V3HighWarningThreshold"
VOLTAGE_LOW_WARN = "Supply3V3LowWarningThreshold"
AUX1_HIGH_ALARM = "Aux1MonitorHighAlarmThreshold"
AUX1_LOW_ALARM = "Aux1MonitorLowAlarmThreshold"
AUX1_HIGH_WARN = "Aux1MonitorHighWarningThreshold"
AUX1_LOW_WARN = "Aux1MonitorLowWarningThreshold"
AUX2_HIGH_ALARM = "Aux2MonitorHighAlarmThreshold"
AUX2_LOW_ALARM = "Aux2MonitorLowAlarmThreshold"
AUX2_HIGH_WARN = "Aux2MonitorHighWarningThreshold"
AUX2_LOW_WARN = "Aux2MonitorLowWarningThreshold"
AUX3_HIGH_ALARM = "Aux3MonitorHighAlarmThreshold"
AUX3_LOW_ALARM = "Aux3MonitorLowAlarmThreshold"
AUX3_HIGH_WARN = "Aux3MonitorHighWarningThreshold"
AUX3_LOW_WARN = "Aux3MonitorLowWarningThreshold"
TX_POWER_HIGH_ALARM = "TxOpticalPowerHighAlarmThreshold"
TX_POWER_LOW_ALARM = "TxOpticalPowerLowAlarmThreshold"
TX_POWER_HIGH_WARN = "TxOpticalPowerHighWarningThreshold"
TX_POWER_LOW_WARN = "TxOpticalPowerLowWarningThreshold"
TX_BIAS_CURR_HIGH_ALARM = "TxBiasCurrentHighAlarmThreshold"
TX_BIAS_CURR_LOW_ALARM = "TxBiasCurrentLowAlarmThreshold"
TX_BIAS_CURR_HIGH_WARN = "TxBiasCurrentHighWarningThreshold"
TX_BIAS_CURR_LOW_WARN = "TxBiasCurrentLowWarningThreshold"
RX_POWER_HIGH_ALARM = "RxOpticalPowerHighAlarmThreshold"
RX_POWER_LOW_ALARM = "RxOpticalPowerLowAlarmThreshold"
RX_POWER_HIGH_WARN = "RxOpticalPowerHighWarningThreshold"
RX_POWER_LOW_WARN = "RxOpticalPowerLowWarningThreshold"

# Status
TRANS_MODULE_STATUS_FIELD = "TransceiverModuleStatus"
TRANS_LANE_STATUS_FIELD = "TransceiverLaneStatus"
MODULE_STATE = "ModuleState"
MODULE_FIRMWARE_FAULT_INFO = "FirmwareFault"
MODULE_FLAG_BYTE1 = "ModuleFlagByte1"
MODULE_FLAG_BYTE2 = "ModuleFlagByte2"
MODULE_FLAG_BYTE3 = "ModuleFlagByte3"
CDB1_STATUS = "Cdb1Status"
MODULE_FAULT_CAUSE = "ModuleFaultCause"
DATA_PATH_STATE= "DataPathState"
TX_OUTPUT_STATUS = "TxOutputStatus"
RX_OUTPUT_STATUS = "RxOutputStatus"
TX_LOS_FIELD = "TxLOS"
TX_CDR_LOL = "TxCDRLOL"
TX_POWER_HIGH_ALARM_FLAG = "TxPowerHighAlarmFlag"
TX_POWER_LOW_ALARM_FLAG = "TxPowerLowAlarmFlag"
TX_POWER_HIGH_WARN_FLAG = "TxPowerHighWarnFlag"
TX_POWER_LOW_WARN_FLAG = "TxPowerLowWarnFlag"
TX_BIAS_HIGH_ALARM_FLAG = "TxBiasHighAlarmFlag"
TX_BIAS_LOW_ALARM_FLAG = "TxBiasLowAlarmFlag"
TX_BIAS_HIGH_WARN_FLAG = "TxBiasHighWarnFlag"
TX_BIAS_LOW_WARN_FLAG = "TxBiasLowWarnFlag"
RX_POWER_HIGH_ALARM_FLAG = "RxPowerHighAlarmFlag"
RX_POWER_LOW_ALARM_FLAG = "RxPowerLowAlarmFlag"
RX_POWER_HIGH_WARN_FLAG = "RxPowerHighWarnFlag"
RX_POWER_LOW_WARN_FLAG = "RxPowerLowWarnFlag"

RX_CDR_LOL = "RxCDRLOL"
CONFIG_LANE_STATUS = "ConfigStatusLane"
DPINIT_PENDING = "DPInitPending"
TUNING_IN_PROGRESS = "TxTuningInProgress"
WAVELENGTH_UNLOCKED = "TxWavelengthUnlocked"
LASER_TUNING_DETAIL = "TxTuningDetail"

# CONFIG
TRANS_CONFIG_FIELD = "TransceriverConfig"
MODULE_LEVEL_CONTROL = "ModuleControl"

CTRLS_ADVT_FIELD = "Supported Controls Advertisement"
FLAGS_ADVT_FIELD = "Supported Flags Advertisement"

LANE_DATAPATH_CTRL_FIELD = "Lane Control and Data Path Control"
LANE_DATAPATH_STATUS_FIELD = "Lane Status and Data Path Status"
LEN_MULT_FIELD = "LengthMultiplier"
MAX_POWER_FIELD = "MaxPower"
MGMT_CHAR_FIELD = "Management Characteristics"
MGMT_CHAR_MISC_FIELD = "Management Characteristics (Misc)"

MODULE_CHAR_ADVT_FIELD = "Module Characteristics Advertising"

# C-CMIS

# Module configuration support fields
MODULE_CONFIG_SUPPORT_FIELD = "ModuleConfigSupport"
SUPPORT_GRID = "GridSupported"
LOW_CHANNEL = "LowChannel75GHz"
HIGH_CHANNEL = "HighChannel75GHz"
MIN_PROG_OUTPUT_POWER = "MinProgOutputPower"
MAX_PROG_OUTPUT_POWER = "MaxProgOutputPower"

## Media Lane FEC Performance Monitoring
## Media Lane Link Performance Monitoring
# PM
TRANS_PM_FIELD = "TransceiverPm"
VDM_SUPPORTED_PAGE = "VdmSupportedPage"
VDM_CONTROL = "VdmControl"
MEDIA_LANE_FEC_PM = "Media Lane FEC Performance Monitoring"
MEDIA_LANE_LINK_PM = "Media Lane Link Performance Monitoring"
RX_BITS_PM = "rxBitsPm"
RX_BITS_SUB_INTERVAL_PM = "rxBitsSubIntPm"
RX_CORR_BITS_PM = "rxCorrBitsPm"
RX_MIN_CORR_BITS_SUB_INTERVAL_PM = "rxMinCorrBitsSubIntPm"
RX_MAX_CORR_BITS_SUB_INTERVAL_PM = "rxMaxCorrBitsSubIntPm"
RX_FRAMES_PM = "rxFramesPm"
RX_FRAMES_SUB_INTERVAL_PM = "rxFramsSubIntPm"
RX_FRAMES_UNCORR_ERR_PM = "rxFramesUncorrErrPm"
RX_MIN_FRAMES_UNCORR_ERR_SUB_INTERVAL_PM = "rxMinFramesUncorrErrSubintPm"
RX_MAX_FRAMES_UNCORR_ERR_SUB_INTERVAL_PM = "rxMaxFramesUncorrErrSubintPm"

RX_AVG_CD_PM = "rxAvgCdPm"
RX_MIN_CD_PM = "rxMinCdPm"
RX_MAX_CD_PM = "rxMaxCdPm"
RX_AVG_DGD_PM = "rxAvgDgdPm"
RX_MIN_DGD_PM = "rxMinDgdPm"
RX_MAX_DGD_PM = "rxMaxDgdPm"
RX_AVG_SOPMD_PM = "rxAvgSopmdPm"
RX_MIN_SOPMD_PM = "rxMinSopmdPm"
RX_MAX_SOPMD_PM = "rxMaxSopmdPm"
RX_AVG_PDL_PM = "rxAvgPdlPm"
RX_MIN_PDL_PM = "rxMinPdlPm"
RX_MAX_PDL_PM = "rxMaxPdlPm"
RX_AVG_OSNR_PM = "rxAvgOsnrPm"
RX_MIN_OSNR_PM = "rxMinOsnrPm"
RX_MAX_OSNR_PM = "rxMaxOsnrPm"
RX_AVG_ESNR_PM = "rxAvgEsnrPm"
RX_MIN_ESNR_PM = "rxMinEsnrPm"
RX_MAX_ESNR_PM = "rxMaxEsnrPm"
RX_AVG_CFO_PM = "rxAvgCfoPm"
RX_MAX_CFO_PM = "rxMinCfoPm"
RX_MIN_CFO_PM = "rxMaxCfoPm"
RX_AVG_EVM_PM = "rxAvgEvmPm"
RX_MIN_EVM_PM = "rxMinEvmPm"
RX_MAX_EVM_PM = "rxMaxEvmPm"
TX_AVG_POWER_PM = "txAvgPowerPm"
TX_MIN_POWER_PM = "txMinPowerPm"
TX_MAX_POWER_PM = "txMaxPowerPm"
RX_AVG_POWER_PM = "rxAvgPowerPm"
RX_MIN_POWER_PM = "rxMinPowerPm"
RX_MAX_POWER_PM = "rxMaxPowerPm"
RX_AVG_SIG_POWER_PM = "rxAvgSigPowerPm"
RX_MIN_SIG_POWER_PM = "rxMinSigPowerPm"
RX_MAX_SIG_POWER_PM = "rxMaxSigPowerPm"
RX_AVG_SOPROC_PM = "rxAvgSigSoprocPm"
RX_MIN_SOPROC_PM = "rxMinSigSoprocPm"
RX_MAX_SOPROC_PM = "rxMaxSigSoprocPm"
RX_AVG_MER_PM = "rxAvgMerPm"
RX_MIN_MER_PM = "rxMinMerPm"
RX_MAX_MER_PM = "rxMaxMerPm"

# CDB
TRANS_CDB_FIELD = "TransceiverCdb"
CDB_SUPPORT = "CdbSupport"
AUTO_PAGING_SUPPORT = "AutoPagingSupport"
CDB_SEQ_WRITE_LENGTH_EXT = "CdbReadWriteLengthExtension"
CDB_RPL_LENGTH = "CdbReplyLength"
CDB_RPL_CHKCODE = "CdbReplyCheckCode"
CDB_LPL = "CdbLocalPayload"
CDB_CMD = "CdbCommand"
CDB_WRITE_MSG = "CdbWriteMessage"



<filename>sonic_platform_base/sonic_xcvr/fields/consts.py
# COMMON

ID_FIELD = "Identifier"
ID_ABBRV_FIELD = "Identifier Abbreviation"

STATUS_FIELD = "Status Indicators"
STATUS_IND_BITS_FIELD = "Status Indicator Bits"

FLAT_MEM_FIELD = "Flat_mem"
CONNECTOR_FIELD = "Connector"

DIAG_MON_TYPE_FIELD = "Diagnostic Monitoring Type"
DEVICE_TECH_FIELD = "Device Technology"
EXT_SPEC_COMPLIANCE_FIELD = "Extended Specification Compliance"

LENGTH_SMF_KM_FIELD = "Length SMF (km)"
LENGTH_SMF_M_FIELD = "Length SMF (m)"
LENGTH_OM4_FIELD = "Length OM4"
LENGTH_OM3_FIELD = "Length OM3"
LENGTH_OM2_FIELD = "Length OM2"
LENGTH_OM1_FIELD = "Length OM1"

MODULE_MONITORS_FIELD = "Module Monitors"

RX_LOS_FIELD = "RxLOS"
RX_POWER_FIELD = "RxPower"
RX_POWER_THRESHOLDS_FIELD = "RxPowerThresholds"
RX_POWER_HIGH_ALARM_FIELD = "RxPowerHighAlarm"
RX_POWER_LOW_ALARM_FIELD = "RxPowerLowAlarm"
RX_POWER_HIGH_WARNING_FIELD = "RxPowerHighWarning"
RX_POWER_LOW_WARNING_FIELD = "RxPowerLowWarning"

TEMPERATURE_FIELD = "Temperature"
TEMP_SUPPORT_FIELD = "Temperature Monitoring Implemented"
TEMP_THRESHOLDS_FIELD = "TempThresholds"
TEMP_HIGH_ALARM_FIELD = "TempHighAlarm"
TEMP_LOW_ALARM_FIELD = "TempLowAlarm"
TEMP_HIGH_WARNING_FIELD = "TempHighWarning"
TEMP_LOW_WARNING_FIELD = "TempLowWarning"

THRESHOLDS_FIELD = "Thresholds"

TX_BIAS_FIELD = "TxBias"
TX_BIAS_THRESHOLDS_FIELD = "TxBiasThresholds"
TX_BIAS_HIGH_ALARM_FIELD = "TxHighAlarm"
TX_BIAS_LOW_ALARM_FIELD = "TxLowAlarm"
TX_BIAS_HIGH_WARNING_FIELD = "TxHighWarning"
TX_BIAS_LOW_WARNING_FIELD = "TxLowWarning"

TX_FAULT_FIELD = "TxFault"
TX_FAULT_SUPPORT_FIELD = "TxFaultSupported"
TX_DISABLE_FIELD = "TxDisable"
TX_DISABLE_SUPPORT_FIELD = "TxDisableSupported"

TX_POWER_FIELD = "TxPower"
TX_POWER_SUPPORT_FIELD = "TxPowerSupported"
TX_POWER_THRESHOLDS_FIELD = "TxPowerThresholds"
TX_POWER_HIGH_ALARM_FIELD = "TxPowerHighAlarm"
TX_POWER_LOW_ALARM_FIELD = "TxPowerLowAlarm"
TX_POWER_HIGH_WARNING_FIELD = "TxPowerHighWarning"
TX_POWER_LOW_WARNING_FIELD = "TxPowerLowWarning"

VENDOR_NAME_FIELD = "VendorName"
VENDOR_DATE_FIELD = "VendorDate"
VENDOR_OUI_FIELD = "VendorOUI"
VENDOR_PART_NO_FIELD = "VendorPN"
VENDOR_REV_FIELD = "VendorRev"
VENDOR_SERIAL_NO_FIELD = "VendorSN"
VOLTAGE_FIELD = "Voltage"
VOLTAGE_SUPPORT_FIELD = "Supply Voltage Monitoring Implemented"
VOLTAGE_THRESHOLDS_FIELD = "VoltageThresholds"
VOLTAGE_HIGH_ALARM_FIELD = "VoltageHighAlarm"
VOLTAGE_LOW_ALARM_FIELD = "VoltageLowAlarm"
VOLTAGE_HIGH_WARNING_FIELD = "VoltageHighWarning"
VOLTAGE_LOW_WARNING_FIELD = "VoltageLowWarning"

SERIAL_ID_FIELD = "Serial ID"
EXT_ID_FIELD = "Extended Identifier"
POWER_CLASS_FIELD = "Power Class"
CLEI_CODE_FIELD = "CLEI Code"
CDR_TX_FIELD = "CDR TX"
CDR_RX_FIELD = "CDR RX"
SPEC_COMPLIANCE_FIELD = "Specification Compliance"
ENCODING_FIELD = "Encoding"
NOMINAL_BR_FIELD = "Nominal BR"
EXT_RATE_SELECT_COMPLIANCE_FIELD = "Extended RateSelect Compliance"
LENGTH_ASSEMBLY_FIELD = "Length Cable Assembly"

ETHERNET_10_40G_COMPLIANCE_FIELD = "10/40G Ethernet Compliance Code"
SONET_COMPLIANCE_FIELD = "SONET Compliance Codes"
SAS_SATA_COMPLIANCE_FIELD = "SAS/SATA Compliance Codes"
GIGABIT_ETHERNET_COMPLIANCE_FIELD = "Gigabit Ethernet Compliant Codes"
FIBRE_CHANNEL_LINK_LENGTH_FIELD = "Fibre Channel Link Length"
FIBRE_CHANNEL_TRANSMITTER_TECH_FIELD = "Fibre Channel Transmitter Technology"
FIBRE_CHANNEL_TRANSMISSION_MEDIA_FIELD = "Fibre Channel Transmission Media"
FIBRE_CHANNEL_SPEED_FIELD = "Fibre Channel Speed"

OPTIONS_FIELD = "Options"

POWER_CTRL_FIELD = "Power Control"
POWER_OVERRIDE_FIELD = "Power Override"
POWER_SET_FIELD = "Power Set"

# SFF-8636

REV_COMPLIANCE_FIELD = "Revision Compliance"

# CMIS

ADMIN_INFO_FIELD = "AdminInfo"
MEDIA_TYPE_FIELD = "ModuleMediaType"
HOST_ELECTRICAL_INTERFACE = "HostElectricalInterfaceID"
MODULE_MEDIA_INTERFACE_850NM = "ModuleMediaInterface850nm"
MODULE_MEDIA_INTERFACE_SM = "ModuleMediaInterfaceSM"
MODULE_MEDIA_INTERFACE_PASSIVE_COPPER = "ModuleMediaInterfacePassiveCopper"
MODULE_MEDIA_INTERFACE_ACTIVE_CABLE = "ModuleMediaInterfaceActiveCable"
MODULE_MEDIA_INTERFACE_BASE_T = "ModuleMediaInterfaceBaseT"
HOST_LANE_COUNT = "HostLaneCount"
MEDIA_LANE_COUNT = "MediaLaneCount"
HOST_LANE_ASSIGNMENT_OPTION = "HostLaneAssignmentOptions"
MEDIA_LANE_ASSIGNMENT_OPTION = "MediaLaneAssignmentOptions"
ACTIVE_APSEL_CODE = "ActiveAppSelCode"
ACTIVE_APSEL_HOSTLANE = "ActiveAppSelLane"
MEDIA_INTERFACE_TECH = "MediaInterfaceTechnology"
HW_MAJOR_REV = "ModuleHardwareMajorRevision"
HW_MINOR_REV = "ModuleHardwareMinorRevision"
CMIS_MAJOR_REVISION = "CmisMajorRevision"
CMIS_MINOR_REVISION = "CmisMinorRevision"
ACTIVE_FW_MAJOR_REV = "ModuleActiveFirmwareMajorRevision"
ACTIVE_FW_MINOR_REV = "ModuleActiveFirmwareMinorRevision"
INACTIVE_FW_MAJOR_REV = "ModuleInactiveFirmwareMajorRevision"
INACTIVE_FW_MINOR_REV = "ModuleInactiveFirmwareMinorRevision"

# DOM
TRANS_DOM_FIELD = "TransceiverDom"
CASE_TEMP = "ModuleTemp"
VOLTAGE = "Supply3V3"
GRID_SPACING = "Tx1SelectedGridSpacing"
LASER_CONFIG_CHANNEL = "Tx1ChannelNumber"
LASER_CURRENT_FREQ = "Tx1CurrentLaserFrequency"
TX_CONFIG_POWER = "Tx1TargetOutputPower"
AUX_MON_TYPE = "AuxMonitorType"
AUX1_MON = "Aux1MonValue"
AUX2_MON = "Aux2MonValue"
AUX3_MON = "Aux3MonValue"
CUSTOM_MON = "CustomMonValue"

# Loopback
TRANS_LOOPBACK_FIELD = "TransceiverLoopback"
LOOPBACK_CAPABILITY = "LoopbackCapability"
MEDIA_OUTPUT_LOOPBACK = "MediaSideOutputLoopbackEnable"
MEDIA_INPUT_LOOPBACK = "MediaSideInputLoopbackEnable"
HOST_OUTPUT_LOOPBACK = "HostSideOutputLoopbackEnable"
HOST_INPUT_LOOPBACK = "HostSideLoopbackEnable"

# Threshold
TRANS_THRESHOLD_FIELD = "TransceiverThreshold"
CASE_TEMP_HIGH_ALARM = "TempeartureHighAlarmThreshold"
CASE_TEMP_LOW_ALARM = "TempeartureLowAlarmThreshold"
CASE_TEMP_HIGH_WARN = "TempeartureHighWarningThreshold"
CASE_TEMP_LOW_WARN = "TempeartureLowWarningThreshold"
VOLTAGE_HIGH_ALARM = "Supply3V3HighAlarmThreshold"
VOLTAGE_LOW_ALARM = "Supply3V3LowAlarmThreshold"
VOLTAGE_HIGH_WARN = "Supply3V3HighWarningThreshold"
VOLTAGE_LOW_WARN = "Supply3V3LowWarningThreshold"
AUX1_HIGH_ALARM = "Aux1MonitorHighAlarmThreshold"
AUX1_LOW_ALARM = "Aux1MonitorLowAlarmThreshold"
AUX1_HIGH_WARN = "Aux1MonitorHighWarningThreshold"
AUX1_LOW_WARN = "Aux1MonitorLowWarningThreshold"
AUX2_HIGH_ALARM = "Aux2MonitorHighAlarmThreshold"
AUX2_LOW_ALARM = "Aux2MonitorLowAlarmThreshold"
AUX2_HIGH_WARN = "Aux2MonitorHighWarningThreshold"
AUX2_LOW_WARN = "Aux2MonitorLowWarningThreshold"
AUX3_HIGH_ALARM = "Aux3MonitorHighAlarmThreshold"
AUX3_LOW_ALARM = "Aux3MonitorLowAlarmThreshold"
AUX3_HIGH_WARN = "Aux3MonitorHighWarningThreshold"
AUX3_LOW_WARN = "Aux3MonitorLowWarningThreshold"
TX_POWER_HIGH_ALARM = "TxOpticalPowerHighAlarmThreshold"
TX_POWER_LOW_ALARM = "TxOpticalPowerLowAlarmThreshold"
TX_POWER_HIGH_WARN = "TxOpticalPowerHighWarningThreshold"
TX_POWER_LOW_WARN = "TxOpticalPowerLowWarningThreshold"
TX_BIAS_CURR_HIGH_ALARM = "TxBiasCurrentHighAlarmThreshold"
TX_BIAS_CURR_LOW_ALARM = "TxBiasCurrentLowAlarmThreshold"
TX_BIAS_CURR_HIGH_WARN = "TxBiasCurrentHighWarningThreshold"
TX_BIAS_CURR_LOW_WARN = "TxBiasCurrentLowWarningThreshold"
RX_POWER_HIGH_ALARM = "RxOpticalPowerHighAlarmThreshold"
RX_POWER_LOW_ALARM = "RxOpticalPowerLowAlarmThreshold"
RX_POWER_HIGH_WARN = "RxOpticalPowerHighWarningThreshold"
RX_POWER_LOW_WARN = "RxOpticalPowerLowWarningThreshold"

# Status
TRANS_MODULE_STATUS_FIELD = "TransceiverModuleStatus"
TRANS_LANE_STATUS_FIELD = "TransceiverLaneStatus"
MODULE_STATE = "ModuleState"
MODULE_FIRMWARE_FAULT_INFO = "FirmwareFault"
MODULE_FLAG_BYTE1 = "ModuleFlagByte1"
MODULE_FLAG_BYTE2 = "ModuleFlagByte2"
MODULE_FLAG_BYTE3 = "ModuleFlagByte3"
CDB1_STATUS = "Cdb1Status"
MODULE_FAULT_CAUSE = "ModuleFaultCause"
DATA_PATH_STATE= "DataPathState"
TX_OUTPUT_STATUS = "TxOutputStatus"
RX_OUTPUT_STATUS = "RxOutputStatus"
TX_LOS_FIELD = "TxLOS"
TX_CDR_LOL = "TxCDRLOL"
TX_POWER_HIGH_ALARM_FLAG = "TxPowerHighAlarmFlag"
TX_POWER_LOW_ALARM_FLAG = "TxPowerLowAlarmFlag"
TX_POWER_HIGH_WARN_FLAG = "TxPowerHighWarnFlag"
TX_POWER_LOW_WARN_FLAG = "TxPowerLowWarnFlag"
TX_BIAS_HIGH_ALARM_FLAG = "TxBiasHighAlarmFlag"
TX_BIAS_LOW_ALARM_FLAG = "TxBiasLowAlarmFlag"
TX_BIAS_HIGH_WARN_FLAG = "TxBiasHighWarnFlag"
TX_BIAS_LOW_WARN_FLAG = "TxBiasLowWarnFlag"
RX_POWER_HIGH_ALARM_FLAG = "RxPowerHighAlarmFlag"
RX_POWER_LOW_ALARM_FLAG = "RxPowerLowAlarmFlag"
RX_POWER_HIGH_WARN_FLAG = "RxPowerHighWarnFlag"
RX_POWER_LOW_WARN_FLAG = "RxPowerLowWarnFlag"

RX_CDR_LOL = "RxCDRLOL"
CONFIG_LANE_STATUS = "ConfigStatusLane"
DPINIT_PENDING = "DPInitPending"
TUNING_IN_PROGRESS = "TxTuningInProgress"
WAVELENGTH_UNLOCKED = "TxWavelengthUnlocked"
LASER_TUNING_DETAIL = "TxTuningDetail"

# CONFIG
TRANS_CONFIG_FIELD = "TransceriverConfig"
MODULE_LEVEL_CONTROL = "ModuleControl"

CTRLS_ADVT_FIELD = "Supported Controls Advertisement"
FLAGS_ADVT_FIELD = "Supported Flags Advertisement"

LANE_DATAPATH_CTRL_FIELD = "Lane Control and Data Path Control"
LANE_DATAPATH_STATUS_FIELD = "Lane Status and Data Path Status"
LEN_MULT_FIELD = "LengthMultiplier"
MAX_POWER_FIELD = "MaxPower"
MGMT_CHAR_FIELD = "Management Characteristics"
MGMT_CHAR_MISC_FIELD = "Management Characteristics (Misc)"

MODULE_CHAR_ADVT_FIELD = "Module Characteristics Advertising"

# C-CMIS

# Module configuration support fields
MODULE_CONFIG_SUPPORT_FIELD = "ModuleConfigSupport"
SUPPORT_GRID = "GridSupported"
LOW_CHANNEL = "LowChannel75GHz"
HIGH_CHANNEL = "HighChannel75GHz"
MIN_PROG_OUTPUT_POWER = "MinProgOutputPower"
MAX_PROG_OUTPUT_POWER = "MaxProgOutputPower"

## Media Lane FEC Performance Monitoring
## Media Lane Link Performance Monitoring
# PM
TRANS_PM_FIELD = "TransceiverPm"
VDM_SUPPORTED_PAGE = "VdmSupportedPage"
VDM_CONTROL = "VdmControl"
MEDIA_LANE_FEC_PM = "Media Lane FEC Performance Monitoring"
MEDIA_LANE_LINK_PM = "Media Lane Link Performance Monitoring"
RX_BITS_PM = "rxBitsPm"
RX_BITS_SUB_INTERVAL_PM = "rxBitsSubIntPm"
RX_CORR_BITS_PM = "rxCorrBitsPm"
RX_MIN_CORR_BITS_SUB_INTERVAL_PM = "rxMinCorrBitsSubIntPm"
RX_MAX_CORR_BITS_SUB_INTERVAL_PM = "rxMaxCorrBitsSubIntPm"
RX_FRAMES_PM = "rxFramesPm"
RX_FRAMES_SUB_INTERVAL_PM = "rxFramsSubIntPm"
RX_FRAMES_UNCORR_ERR_PM = "rxFramesUncorrErrPm"
RX_MIN_FRAMES_UNCORR_ERR_SUB_INTERVAL_PM = "rxMinFramesUncorrErrSubintPm"
RX_MAX_FRAMES_UNCORR_ERR_SUB_INTERVAL_PM = "rxMaxFramesUncorrErrSubintPm"

RX_AVG_CD_PM = "rxAvgCdPm"
RX_MIN_CD_PM = "rxMinCdPm"
RX_MAX_CD_PM = "rxMaxCdPm"
RX_AVG_DGD_PM = "rxAvgDgdPm"
RX_MIN_DGD_PM = "rxMinDgdPm"
RX_MAX_DGD_PM = "rxMaxDgdPm"
RX_AVG_SOPMD_PM = "rxAvgSopmdPm"
RX_MIN_SOPMD_PM = "rxMinSopmdPm"
RX_MAX_SOPMD_PM = "rxMaxSopmdPm"
RX_AVG_PDL_PM = "rxAvgPdlPm"
RX_MIN_PDL_PM = "rxMinPdlPm"
RX_MAX_PDL_PM = "rxMaxPdlPm"
RX_AVG_OSNR_PM = "rxAvgOsnrPm"
RX_MIN_OSNR_PM = "rxMinOsnrPm"
RX_MAX_OSNR_PM = "rxMaxOsnrPm"
RX_AVG_ESNR_PM = "rxAvgEsnrPm"
RX_MIN_ESNR_PM = "rxMinEsnrPm"
RX_MAX_ESNR_PM = "rxMaxEsnrPm"
RX_AVG_CFO_PM = "rxAvgCfoPm"
RX_MAX_CFO_PM = "rxMinCfoPm"
RX_MIN_CFO_PM = "rxMaxCfoPm"
RX_AVG_EVM_PM = "rxAvgEvmPm"
RX_MIN_EVM_PM = "rxMinEvmPm"
RX_MAX_EVM_PM = "rxMaxEvmPm"
TX_AVG_POWER_PM = "txAvgPowerPm"
TX_MIN_POWER_PM = "txMinPowerPm"
TX_MAX_POWER_PM = "txMaxPowerPm"
RX_AVG_POWER_PM = "rxAvgPowerPm"
RX_MIN_POWER_PM = "rxMinPowerPm"
RX_MAX_POWER_PM = "rxMaxPowerPm"
RX_AVG_SIG_POWER_PM = "rxAvgSigPowerPm"
RX_MIN_SIG_POWER_PM = "rxMinSigPowerPm"
RX_MAX_SIG_POWER_PM = "rxMaxSigPowerPm"
RX_AVG_SOPROC_PM = "rxAvgSigSoprocPm"
RX_MIN_SOPROC_PM = "rxMinSigSoprocPm"
RX_MAX_SOPROC_PM = "rxMaxSigSoprocPm"
RX_AVG_MER_PM = "rxAvgMerPm"
RX_MIN_MER_PM = "rxMinMerPm"
RX_MAX_MER_PM = "rxMaxMerPm"

# CDB
TRANS_CDB_FIELD = "TransceiverCdb"
CDB_SUPPORT = "CdbSupport"
AUTO_PAGING_SUPPORT = "AutoPagingSupport"
CDB_SEQ_WRITE_LENGTH_EXT = "CdbReadWriteLengthExtension"
CDB_RPL_LENGTH = "CdbReplyLength"
CDB_RPL_CHKCODE = "CdbReplyCheckCode"
CDB_LPL = "CdbLocalPayload"
CDB_CMD = "CdbCommand"
CDB_WRITE_MSG = "CdbWriteMessage"



# COMMON # SFF-8636 # CMIS # DOM # Loopback # Threshold # Status # CONFIG # C-CMIS # Module configuration support fields ## Media Lane FEC Performance Monitoring ## Media Lane Link Performance Monitoring # PM # CDB