summaryrefslogtreecommitdiff
path: root/decoders/common/plugtrx/mod.py
diff options
context:
space:
mode:
Diffstat (limited to 'decoders/common/plugtrx/mod.py')
-rw-r--r--decoders/common/plugtrx/mod.py192
1 files changed, 192 insertions, 0 deletions
diff --git a/decoders/common/plugtrx/mod.py b/decoders/common/plugtrx/mod.py
new file mode 100644
index 0000000..3d1b66d
--- /dev/null
+++ b/decoders/common/plugtrx/mod.py
@@ -0,0 +1,192 @@
+##
+## This file is part of the libsigrokdecode project.
+##
+## Copyright (C) 2016 Bert Vermeulen <bert@biot.com>
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, see <http://www.gnu.org/licenses/>.
+##
+
+# This module contains definitions for use by pluggable network adapters,
+# such as SFP, XFP etc.
+
+MODULE_ID = {
+ 0x01: 'GBIC',
+ 0x02: 'Integrated module/connector',
+ 0x03: 'SFP',
+ 0x04: '300-pin XBI',
+ 0x05: 'XENPAK',
+ 0x06: 'XFP',
+ 0x07: 'XFF',
+ 0x08: 'XFP-E',
+ 0x09: 'XPAK',
+ 0x0a: 'X2',
+}
+
+ALARM_THRESHOLDS = {
+ 0: 'Temp high alarm',
+ 2: 'Temp low alarm',
+ 4: 'Temp high warning',
+ 6: 'Temp low warning',
+ 16: 'Bias high alarm',
+ 18: 'Bias low alarm',
+ 20: 'Bias high warning',
+ 22: 'Bias low warning',
+ 24: 'TX power high alarm',
+ 26: 'TX power low alarm',
+ 28: 'TX power high warning',
+ 30: 'TX power low warning',
+ 32: 'RX power high alarm',
+ 34: 'RX power low alarm',
+ 36: 'RX power high warning',
+ 38: 'RX power low warning',
+ 40: 'AUX 1 high alarm',
+ 42: 'AUX 1 low alarm',
+ 44: 'AUX 1 high warning',
+ 46: 'AUX 1 low warning',
+ 48: 'AUX 2 high alarm',
+ 50: 'AUX 2 low alarm',
+ 52: 'AUX 2 high warning',
+ 54: 'AUX 2 low warning',
+}
+
+AD_READOUTS = {
+ 0: 'Module temperature',
+ 4: 'TX bias current',
+ 6: 'Measured TX output power',
+ 8: 'Measured RX input power',
+ 10: 'AUX 1 measurement',
+ 12: 'AUX 2 measurement',
+}
+
+GCS_BITS = [
+ 'TX disable',
+ 'Soft TX disable',
+ 'MOD_NR',
+ 'P_Down',
+ 'Soft P_Down',
+ 'Interrupt',
+ 'RX_LOS',
+ 'Data_Not_Ready',
+ 'TX_NR',
+ 'TX_Fault',
+ 'TX_CDR not locked',
+ 'RX_NR',
+ 'RX_CDR not locked',
+]
+
+CONNECTOR = {
+ 0x01: 'SC',
+ 0x02: 'Fibre Channel style 1 copper',
+ 0x03: 'Fibre Channel style 2 copper',
+ 0x04: 'BNC/TNC',
+ 0x05: 'Fibre Channel coax',
+ 0x06: 'FiberJack',
+ 0x07: 'LC',
+ 0x08: 'MT-RJ',
+ 0x09: 'MU',
+ 0x0a: 'SG',
+ 0x0b: 'Optical pigtail',
+ 0x20: 'HSSDC II',
+ 0x21: 'Copper pigtail',
+}
+
+TRANSCEIVER = [
+ # 10GB Ethernet
+ ['10GBASE-SR', '10GBASE-LR', '10GBASE-ER', '10GBASE-LRM', '10GBASE-SW',
+ '10GBASE-LW', '10GBASE-EW'],
+ # 10GB Fibre Channel
+ ['1200-MX-SN-I', '1200-SM-LL-L', 'Extended Reach 1550 nm',
+ 'Intermediate reach 1300 nm FP'],
+ # 10GB Copper
+ [],
+ # 10GB low speed
+ ['1000BASE-SX / 1xFC MMF', '1000BASE-LX / 1xFC SMF', '2xFC MMF',
+ '2xFC SMF', 'OC48-SR', 'OC48-IR', 'OC48-LR'],
+ # 10GB SONET/SDH interconnect
+ ['I-64.1r', 'I-64.1', 'I-64.2r', 'I-64.2', 'I-64.3', 'I-64.5'],
+ # 10GB SONET/SDH short haul
+ ['S-64.1', 'S-64.2a', 'S-64.2b', 'S-64.3a', 'S-64.3b', 'S-64.5a', 'S-64.5b'],
+ # 10GB SONET/SDH long haul
+ ['L-64.1', 'L-64.2a', 'L-64.2b', 'L-64.2c', 'L-64.3', 'G.959.1 P1L1-2D2'],
+ # 10GB SONET/SDH very long haul
+ ['V-64.2a', 'V-64.2b', 'V-64.3'],
+]
+
+SERIAL_ENCODING = [
+ '64B/66B',
+ '8B/10B',
+ 'SONET scrambled',
+ 'NRZ',
+ 'RZ',
+]
+
+XMIT_TECH = [
+ '850 nm VCSEL',
+ '1310 nm VCSEL',
+ '1550 nm VCSEL',
+ '1310 nm FP',
+ '1310 nm DFB',
+ '1550 nm DFB',
+ '1310 nm EML'
+ '1550 nm EML'
+ 'copper',
+]
+
+CDR = [
+ '9.95Gb/s',
+ '10.3Gb/s',
+ '10.5Gb/s',
+ '10.7Gb/s',
+ '11.1Gb/s',
+ '(unknown)',
+ 'lineside loopback mode',
+ 'XFI loopback mode',
+]
+
+DEVICE_TECH = [
+ ['no wavelength control', 'sctive wavelength control'],
+ ['uncooled transmitter device', 'cooled transmitter'],
+ ['PIN detector', 'APD detector'],
+ ['transmitter not tunable', 'transmitter tunable'],
+]
+
+ENHANCED_OPTS = [
+ 'VPS',
+ 'soft TX_DISABLE',
+ 'soft P_Down',
+ 'VPS LV regulator mode',
+ 'VPS bypassed regulator mode',
+ 'active FEC control',
+ 'wavelength tunability',
+ 'CMU',
+]
+
+AUX_TYPES = [
+ 'not implemented',
+ 'APD bias voltage',
+ '(unknown)',
+ 'TEC current',
+ 'laser temperature',
+ 'laser wavelength',
+ '5V supply voltage',
+ '3.3V supply voltage',
+ '1.8V supply voltage',
+ '-5.2V supply voltage',
+ '5V supply current',
+ '(unknown)',
+ '(unknown)',
+ '3.3V supply current',
+ '1.8V supply current',
+ '-5.2V supply current',
+]