@@ -20,3 +20,122 @@ class CmisCodes(Sff8024):
2020 4 : "active_cable_media_interface" ,
2121 5 : "base_t_media_interface" ,
2222 }
23+
24+ MEDIA_INTERFACE_TECH = {
25+ 0 : '850 nm VCSEL' ,
26+ 1 : '1310 nm VCSEL' ,
27+ 2 : '1550 nm VCSEL' ,
28+ 3 : '1310 nm FP' ,
29+ 4 : '1310 nm DFB' ,
30+ 5 : '1550 nm DFB' ,
31+ 6 : '1310 nm EML' ,
32+ 7 : '1550 nm EML' ,
33+ 8 : 'Others' ,
34+ 9 : '1490 nm DFB' ,
35+ 10 : 'Copper cable unequalized' ,
36+ 11 : 'Copper cable passive equalized' ,
37+ 12 : 'Copper cable, near and far end limiting active equalizers' ,
38+ 13 : 'Copper cable, far end limiting active equalizers' ,
39+ 14 : 'Copper cable, near end limiting active equalizers' ,
40+ 15 : 'Copper cable, linear active equalizers' ,
41+ 16 : 'C-band tunable laser' ,
42+ 17 : 'L-band tunable laser' ,
43+ }
44+
45+ MODULE_STATE = {
46+ 1 : 'ModuleLowPwr' ,
47+ 2 : 'ModulePwrUp' ,
48+ 3 : 'ModuleReady' ,
49+ 4 : 'ModulePwrDn' ,
50+ 5 : 'ModuleFault' ,
51+ }
52+
53+ MODULE_FAULT_CAUSE = {
54+ 0 : 'No Fault detected' ,
55+ 1 : 'TEC runawawy' ,
56+ 2 : 'Data memory corrupted' ,
57+ 3 : 'Program memory corrupted' ,
58+ }
59+
60+ DATAPATH_STATE = {
61+ 1 : 'DataPathDeactivated' ,
62+ 2 : 'DataPathInit' ,
63+ 3 : 'DataPathDeinit' ,
64+ 4 : 'DataPathActivated' ,
65+ 5 : 'DataPathTxTurnOn' ,
66+ 6 : 'DataPathTxTurnOff' ,
67+ 7 : 'DataPathInitialized' ,
68+ }
69+
70+ CONFIG_STATUS = {
71+ 0 : 'ConfigUndefined' ,
72+ 1 : 'ConfigSuccess' ,
73+ 2 : 'ConfigRejected' ,
74+ 3 : 'ConfigRejectedInvalidAppSel' ,
75+ 4 : 'ConfigRejectedInvalidDataPath' ,
76+ 5 : 'ConfigRejectedInvalidSI' ,
77+ 6 : 'ConfigRejectedLaneInUse' ,
78+ 7 : 'ConfigRejectedPartialDataPath' ,
79+ 12 : 'ConfigInProgress' ,
80+ }
81+
82+ VDM_TYPE = {
83+ # VDM_ID: [VDM_NAME, DATA_TYPE, SCALE]
84+ 1 : ['Laser Age [%]' , 'U16' , 1 ],
85+ 2 : ['TEC Current [%]' , 'S16' , 100.0 / 32767 ],
86+ 3 : ['Laser Frequency Error [MHz]' , 'S16' , 10 ],
87+ 4 : ['Laser Temperature [C]' , 'S16' , 1.0 / 256 ],
88+ 5 : ['eSNR Media Input [dB]' , 'U16' , 1.0 / 256 ],
89+ 6 : ['eSNR Host Input [dB]' , 'U16' , 1.0 / 256 ],
90+ 7 : ['PAM4 Level Transition Parameter Media Input [dB]' , 'U16' , 1.0 / 256 ],
91+ 8 : ['PAM4 Level Transition Parameter Host Input [dB]' , 'U16' , 1.0 / 256 ],
92+ 9 : ['Pre-FEC BER Minimum Media Input' , 'F16' , 1 ],
93+ 10 : ['Pre-FEC BER Minimum Host Input' , 'F16' , 1 ],
94+ 11 : ['Pre-FEC BER Maximum Media Input' , 'F16' , 1 ],
95+ 12 : ['Pre-FEC BER Maximum Host Input' , 'F16' , 1 ],
96+ 13 : ['Pre-FEC BER Average Media Input' , 'F16' , 1 ],
97+ 14 : ['Pre-FEC BER Average Host Input' , 'F16' , 1 ],
98+ 15 : ['Pre-FEC BER Current Value Media Input' , 'F16' , 1 ],
99+ 16 : ['Pre-FEC BER Current Value Host Input' , 'F16' , 1 ],
100+ 17 : ['Errored Frames Minimum Media Input' , 'F16' , 1 ],
101+ 18 : ['Errored Frames Minimum Host Input' , 'F16' , 1 ],
102+ 19 : ['Errored Frames Maximum Media Input' , 'F16' , 1 ],
103+ 20 : ['Errored Frames Maximum Host Input' , 'F16' , 1 ],
104+ 21 : ['Errored Frames Average Media Input' , 'F16' , 1 ],
105+ 22 : ['Errored Frames Average Host Input' , 'F16' , 1 ],
106+ 23 : ['Errored Frames Current Value Media Input' , 'F16' , 1 ],
107+ 24 : ['Errored Frames Current Value Host Input' , 'F16' , 1 ],
108+ 128 : ['Modulator Bias X/I [%]' , 'U16' , 100.0 / 65535 ],
109+ 129 : ['Modulator Bias X/Q [%]' , 'U16' , 100.0 / 65535 ],
110+ 130 : ['Modulator Bias Y/I [%]' , 'U16' , 100.0 / 65535 ],
111+ 131 : ['Modulator Bias Y/Q [%]' , 'U16' , 100.0 / 65535 ],
112+ 132 : ['Modulator Bias X_Phase [%]' , 'U16' , 100.0 / 65535 ],
113+ 133 : ['Modulator Bias Y_Phase [%]' , 'U16' , 100.0 / 65535 ],
114+ 134 : ['CD high granularity, short link [ps/nm]' , 'S16' , 1 ],
115+ 135 : ['CD low granularity, long link [ps/nm]' , 'S16' , 20 ],
116+ 136 : ['DGD [ps]' , 'U16' , 0.01 ],
117+ 137 : ['SOPMD [ps^2]' , 'U16' , 0.01 ],
118+ 138 : ['PDL [dB]' , 'U16' , 0.1 ],
119+ 139 : ['OSNR [dB]' , 'U16' , 0.1 ],
120+ 140 : ['eSNR [dB]' , 'U16' , 0.1 ],
121+ 141 : ['CFO [MHz]' , 'S16' , 1 ],
122+ 142 : ['EVM_modem [%]' , 'U16' , 100.0 / 65535 ],
123+ 143 : ['Tx Power [dBm]' , 'S16' , 0.01 ],
124+ 144 : ['Rx Total Power [dBm]' , 'S16' , 0.01 ],
125+ 145 : ['Rx Signal Power [dBm]' , 'S16' , 0.01 ],
126+ 146 : ['SOP ROC [krad/s]' , 'U16' , 1 ],
127+ 147 : ['MER [dB]' , 'U16' , 0.1 ]
128+ }
129+
130+ CDB_FAIL_STATUS = {
131+ 0 : 'reserved' ,
132+ 1 : 'CMDID unknown' ,
133+ 2 : 'Parameter range error or parameter not supported' ,
134+ 3 : 'Previous CMD was not properly ABORTED' ,
135+ 4 : 'Command checking time out' ,
136+ 5 : 'CdbChkCode Error' ,
137+ 6 : 'Password related error' ,
138+ 7 : 'Command not compatible with operating status'
139+ }
140+
141+ # TODO: Add other codes
0 commit comments