diff options
Diffstat (limited to 'common/plugtrx')
-rw-r--r-- | common/plugtrx/__init__.py | 20 | ||||
-rw-r--r-- | common/plugtrx/mod.py | 192 |
2 files changed, 212 insertions, 0 deletions
diff --git a/common/plugtrx/__init__.py b/common/plugtrx/__init__.py new file mode 100644 index 0000000..8dd0822 --- /dev/null +++ b/common/plugtrx/__init__.py @@ -0,0 +1,20 @@ +## +## 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/>. +## + +from .mod import * diff --git a/common/plugtrx/mod.py b/common/plugtrx/mod.py new file mode 100644 index 0000000..f66c271 --- /dev/null +++ b/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", +] |