# Lookup tables accesslevel = { 0: "Locked", 1: "unlocked level 1", 2: "unlocked level 2" } alarmgroup = { 0: "Instrument", 1: "Autopilot", 2: "Radar", 3: "Chart Plotter", 4: "AIS" } alarmid = { 0: "No Alarm", 1: "Shallow Depth", 2: "Deep Depth", 3: "Shallow Anchor", 4: "Deep Anchor", 5: "Off Course", 6: "AWA High", 7: "AWA Low", 8: "AWS High", 9: "AWS Low", 10: "TWA High", 11: "TWA Low", 12: "TWS High", 13: "TWS Low", 14: "WP Arrival", 15: "Boat Speed High", 16: "Boat Speed Low", 17: "Sea Temperature High", 18: "Sea Temperature Low", 19: "Pilot Watch", 20: "Pilot Off Course", 21: "Pilot Wind Shift", 22: "Pilot Low Battery", 23: "Pilot Last Minute Of Watch", 24: "Pilot No NMEA Data", 25: "Pilot Large XTE", 26: "Pilot NMEA DataError", 27: "Pilot CU Disconnected", 28: "Pilot Auto Release", 29: "Pilot Way Point Advance", 30: "Pilot Drive Stopped", 31: "Pilot Type Unspecified", 32: "Pilot Calibration Required", 33: "Pilot Last Heading", 34: "Pilot No Pilot", 35: "Pilot Route Complete", 36: "Pilot Variable Text", 37: "GPS Failure", 38: "MOB", 39: "Seatalk1 Anchor", 40: "Pilot Swapped Motor Power", 41: "Pilot Standby Too Fast To Fish", 42: "Pilot No GPS Fix", 43: "Pilot No GPS COG", 44: "Pilot Start Up", 45: "Pilot Too Slow", 46: "Pilot No Compass", 47: "Pilot Rate Gyro Fault", 48: "Pilot Current Limit", 49: "Pilot Way Point Advance Port", 50: "Pilot Way Point Advance Stbd", 51: "Pilot No Wind Data", 52: "Pilot No Speed Data", 53: "Pilot Seatalk Fail1", 54: "Pilot Seatalk Fail2", 55: "Pilot Warning Too Fast To Fish", 56: "Pilot Auto Dockside Fail", 57: "Pilot Turn Too Fast", 58: "Pilot No Nav Data", 59: "Pilot Lost Waypoint Data", 60: "Pilot EEPROM Corrupt", 61: "Pilot Rudder Feedback Fail", 62: "Pilot Autolearn Fail1", 63: "Pilot Autolearn Fail2", 64: "Pilot Autolearn Fail3", 65: "Pilot Autolearn Fail4", 66: "Pilot Autolearn Fail5", 67: "Pilot Autolearn Fail6", 68: "Pilot Warning Cal Required", 69: "Pilot Warning OffCourse", 70: "Pilot Warning XTE", 71: "Pilot Warning Wind Shift", 72: "Pilot Warning Drive Short", 73: "Pilot Warning Clutch Short", 74: "Pilot Warning Solenoid Short", 75: "Pilot Joystick Fault", 76: "Pilot No Joystick Data", 80: "Pilot Invalid Command", 81: "AIS TX Malfunction", 82: "AIS Antenna VSWR fault", 83: "AIS Rx channel 1 malfunction", 84: "AIS Rx channel 2 malfunction", 85: "AIS No sensor position in use", 86: "AIS No valid SOG information", 87: "AIS No valid COG information", 88: "AIS 12V alarm", 89: "AIS 6V alarm", 90: "AIS Noise threshold exceeded channel A", 91: "AIS Noise threshold exceeded channel B", 92: "AIS Transmitter PA fault", 93: "AIS 3V3 alarm", 94: "AIS Rx channel 70 malfunction", 95: "AIS Heading lost/invalid", 96: "AIS internal GPS lost", 97: "AIS No sensor position", 98: "AIS Lock failure", 99: "AIS Internal GGA timeout", 100: "AIS Protocol stack restart", 101: "Pilot No IPS communications", 102: "Pilot Power-On or Sleep-Switch Reset While Engaged", 103: "Pilot Unexpected Reset While Engaged", 104: "AIS Dangerous Target", 105: "AIS Lost Target", 106: "AIS Safety Related Message (used to silence)", 107: "AIS Connection Lost", 108: "No Fix" } alarmstatus = { 0: "Alarm condition not met", 1: "Alarm condition met and not silenced", 2: "Alarm condition met and silenced" } # Class 1, 2, Level A, B? certlevel = { # Not yet verified! 0: "None", 1: "Certified", 2: "Not applicable" } control = { 0: "ACK", 1: "NAK", 2: "Access Denied", 3: "Address Busy" } deviceclass = { 0: "Reserved for 2000 Use", 10: "System tools", 20: "Safety systems", 25: "Internetwork device", 30: "Electrical Distribution", 35: "Electrical Generation", 40: "Steering and Control surfaces", 50: "Propulsion", 60: "Navigation", 70: "Communication", 75: "Sensor Communication Interface", 80: "Instrumentation/general systems", # deprecated 85: "External Environment", 90: "Internal Environment", 100: "Deck + cargo + fishing equipment systems", 110: "Human Interface", 120: "Display", 125: "Entertainment" } devicefunction = { # dependent of deviceclass above 0: {}, 10: {130: "Diagnostic", 140: "Bus Traffic Logger" }, 20: {110: "Alarm Enunciator", 130: "Emergency Positon Indicating Radia Beacon (EPIRB)", 135: "Man Overboard", 140: "Voyage Date Recorder", 150: "Camera" }, 25: {130: "PC Gateway", 131: "NMEA 2000 to Analog Gateway", 132: "Analog to NMEA 2000 Gateway", 135: "NMEA 0183 Gateway", 140: "Router", 150: "Bridge", 160: "Repeater" }, 30: {130: "Binary Event Monitor", 140: "Load Controller", 141: "AC/DC Input", 150: "Function Controller" }, 35: {140: "Engine", 141: "DC Generator/Alternator", 142: "Solar Panel (Solar Array)", 143: "Wind Generator (DC)", 144: "Fuel Cell", 145: "Network Power Supply", 151: "AC Generator", 152: "AC Bus", 153: "AC Mains (Utility/Shore)", 154: "AC Output", 160: "Power Converter - Battery Charger", 161: "Power Converter - Battery Charger+Inverter", 162: "Power Converter - Inverter", 163: "Power Converter DC", 170: "Battery", 180: "Engine Gateway" }, 40: {130: "Follow-up Controller", 140: "Mode Controller", 150: "Autopilot", 155: "Rudder", 160: "Heading Sensors", # deprecated 170: "Trim (Tabs)/Interceptors", 180: "Attitude (Pitch, Roll, Yaw) Control" }, 50: {130: "Engineroom Monitoring", # deprecated 140: "Engine", 141: "DC Generator/Alternator", 150: "Engine Controller", # deprecated 151: "AC Generator", 155: "Motor", 160: "Engine Gateway", 165: "Transmission", 170: "Throttle/Shift Control", 180: "Actuator", # deprecated 190: "Gauge Interface", #deprecated 200: "Gauge Large", # deprecated 210: "Gauge Small" # deprecated }, 60: {130: "Bottom Depth", 135: "Bottom Depth/Speed", 140: "Ownship Attitude", 145: "Ownship Position (GNSS)", 150: "Ownship Position (Loran C)", 155: "Speed", 160: "Turn Rate Indicator", # deprecated 170: "Integrated Navigaton", # deprecated 175: "Integrated Navigation System", 190: "Navigation Management", 195: "Automatic Identification System (AIS)", 200: "Radar", 201: "Infrared Imaging", 205: "ECDIS", # deprecated 210: "ECS", # deprecated 220: "Direction Finder", # deprecated 230: "Voyage Status" }, 70: {130: "EPIRB", # deprecated 140: "AIS", # deprecated 150: "DSC", # deprecated 160: "Data Receiver/Transceiver", 170: "Satellite", 180: "Radio-telephone (MF/HF)", # deprecated 190: "Radiotelephone" }, 75: {130: "Temperature", 140: "Pressure", 150: "Fluid Level", 160: "Flow", 170: "Humidity" }, 80: {130: "Time/Date Systems", # deprecated 140: "VDR", # deprecated 150: "Integrated Instrumentation", # deprecated 160: "General Purpose Displays", # deprecated 170: "General Sensor Box", # deprecated 180: "Wheather Instruments", # deprecated 190: "Transducer/General", # deprecated 200: "NMEA 0183 Converter" # deprecated }, 85: {130: "Athmospheric", 140: "Aquatic" }, 90: {130: "HVAC" }, 100: {130: "Scale (Catch)" }, 110: { # NEW? WIP }, 120: {130: "Display", 140: "Alarm Enunciator" }, 125: {130: "Multimedia Player", 140: "Multimedia Controller" } } fluidtype = { 0: "Fuel", 1: "Water", 2: "Gray Water", 3: "Live Well", 4: "Oil", 5: "Black Water", 6: "Fuel Gasoline", 14: "Error", 15: "Unavailable" } industrygroup = { 0: "Global", 1: "Highway", 2: "Agriculture", 3: "Construction", 4: "Marine", 5: "Industrial" } manufacturer = { 69: "ARKS Enterprises, Inc.", 78: "FW Murphy/Enovation Controls", 80: "Twin Disc", 85: "Kohler Power Systems", 88: "Hemisphere GPS Inc", 116: "BEP Marine", 135: "Airmar", 137: "Maretron", 140: "Lowrance", 144: "Mercury Marine", 147: "Nautibus Electronic GmbH", 148: "Blue Water Data", 154: "Westerbeke", 161: "Offshore Systems (UK) Ltd.", 163: "Evinrude/BRP", 165: "CPAC Systems AB", 168: "Xantrex Technology Inc.", 172: "Yanmar Marine", 174: "Volvo Penta", 175: "Honda Marine", 176: "Carling Technologies Inc. (Moritz Aerospace)", 185: "Beede Instruments", 192: "Floscan Instrument Co. Inc.", 193: "Nobletec", 198: "Mystic Valley Communications", 199: "Actia", 200: "Honda Marine", 201: "Disenos Y Technologia", 211: "Digital Switching Systems", 215: "Xintex/Atena", 224: "EMMI NETWORK S.L.", 225: "Honda Marine", 228: "ZF", 229: "Garmin", 233: "Yacht Monitoring Solutions", 235: "Sailormade Marine Telemetry/Tetra Technology LTD", 243: "Eride", 250: "Honda Marine", 257: "Honda Motor Company LTD", 272: "Groco", 273: "Actisense", 274: "Amphenol LTW Technology", 275: "Navico", 283: "Hamilton Jet", 285: "Sea Recovery", 286: "Coelmo SRL Italy", 295: "BEP Marine", 304: "Empir Bus", 305: "NovAtel", 306: "Sleipner Motor AS", 307: "MBW Technologies", 311: "Fischer Panda", 315: "ICOM", 328: "Qwerty", 329: "Dief", 341: "Böning Automationstechnologie GmbH & Co. KG", 345: "Korean Maritime University", 351: "Thrane and Thrane", 355: "Mastervolt", 356: "Fischer Panda Generators", 358: "Victron Energy", 370: "Rolls Royce Marine", 373: "Electronic Design", 374: "Northern Lights", 378: "Glendinning", 381: "B & G", 384: "Rose Point Navigation Systems", 385: "Johnson Outdoors Marine Electronics Inc Geonav", 394: "Capi 2", 396: "Beyond Measure", 400: "Livorsi Marine", 404: "ComNav", 409: "Chetco", 419: "Fusion Electronics", 421: "Standard Horizon", 422: "True Heading AB", 426: "Egersund Marine Electronics AS", 427: "em-trak Marine Electronics", 431: "Tohatsu Co, JP", 437: "Digital Yacht", 438: "Comar Systems Limited", 440: "Cummins", 443: "VDO (aka Continental-Corporation)", 451: "Parker Hannifin aka Village Marine Tech", 459: "Alltek Marine Electronics Corp", 460: "SAN GIORGIO S.E.I.N", 466: "Veethree Electronics & Marine", 467: "Humminbird Marine Electronics", 470: "SI-TEX Marine Electronics", 471: "Sea Cross Marine AB", 475: "GME aka Standard Communications Pty LTD", 476: "Humminbird Marine Electronics", 478: "Ocean Sat BV", 481: "Chetco Digitial Instruments", 493: "Watcheye", 499: "Lcj Capteurs", 502: "Attwood Marine", 503: "Naviop S.R.L.", 504: "Vesper Marine Ltd", 510: "Marinesoft Co. LTD", 517: "NoLand Engineering", 518: "Transas USA", 529: "National Instruments Korea", 532: "Onwa Marine", 571: "Marinecraft (South Korea)", 573: "McMurdo Group aka Orolia LTD", 578: "Advansea", 579: "KVH", 580: "San Jose Technology", 583: "Yacht Control", 586: "Suzuki Motor Corporation", 591: "US Coast Guard", 595: "Ship Module aka Customware", 600: "Aquatic AV", 605: "Aventics GmbH", 606: "Intellian", 612: "SamwonIT", 614: "Arlt Tecnologies", 637: "Bavaria Yacts", 641: "Diverse Yacht Services", 644: "Wema U.S.A dba KUS", 645: "Garmin", 658: "Shenzhen Jiuzhou Himunication", 688: "Rockford Corp", 704: "JL Audio", 715: "Autonnic", 717: "Yacht Devices", 734: "REAP Systems", 735: "Au Electronics Group", 739: "LxNav", 743: "DaeMyung", 744: "Woosung", 773: "Clarion US", 776: "HMI Systems", 777: "Ocean Signal", 778: "Seekeeper", 781: "Poly Planar", 785: "Fischer Panda DE", 795: "Broyda Industries", 796: "Canadian Automotive", 797: "Tides Marine", 798: "Lumishore", 799: "Still Water Designs and Audio", 802: "BJ Technologies (Beneteau)", 803: "Gill Sensors", 811: "Blue Water Desalination", 815: "FLIR", 824: "Undheim Systems", 838: "TeamSurv", 844: "Fell Marine", 847: "Oceanvolt", 862: "Prospec", 868: "Data Panel Corp", 890: "L3 Technologies", 894: "Rhodan Marine Systems", 896: "Nexfour Solutions", 905: "ASA Electronics", 909: "Marines Co (South Korea)", 911: "Nautic-on", 930: "Ecotronix", 962: "Timbolier Industries", 963: "TJC Micro", 968: "Cox Powertrain", 969: "Blue Seas", 1850: "Teleflex Marine (SeaStar Solutions)", 1851: "Raymarine", 1852: "Navionics", 1853: "Japan Radio Co", 1854: "Northstar Technologies", 1855: "Furuno", 1856: "Trimble", 1857: "Simrad", 1858: "Litton", 1859: "Kvasar AB", 1860: "MMP", 1861: "Vector Cantech", 1862: "Yamaha Marine", 1863: "Faria Instruments", 2001: "Open Boat Projects" } pilotmode = { 64: "Standby", 66: "Auto", 70: "Wind", 74: "Track" } pressure = { 0: "Athmospheric", 1: "Water", 2: "Steam", 3: "Compressed Air", 4: "Hydraulic", 5: "Filter", 6: "AltimeterSetting", 7: "Oil", 8: "Fuel" } prnusage = { 0: "Not Tracked", 1: "Tracked", 2: "Used", 3: "Not tracked+Diff", 4: "Tracked+Diff", 5: "Used+Diff", 14: "Error", 15: "No Selection" } speedwater = { 0: "Paddle wheel", 1: "Pitot tube", 2: "Doppler", 3: "Correlation (ultra sound)", 4: "Electro Magnetic" } timesource = { 0: "GPS", 1: "GLONASS", 2: "Radio Station", 3: "Local Cesium clock", 4: "Local Rubidium clock", 5: "Local Crystal clock" } temperature = { 0: "Sea Temperature", 1: "Outside Temperature", 2: "Inside Temperature", 3: "Engine Room Temperature", 4: "Main Cabin Temperature", 5: "Live Well Temperature", 6: "Bait Well Temperature", 7: "Refrigeration Temperature", 8: "Heating System Temperature", 9: "Dew Point Temperature", 10: "Apparent Wind Chill Temperature", 11: "Theoretical Wind Chill Temperature", 12: "Heat Index Temperature", 13: "Freezer Temperature", 14: "Exhaust Gas Temperature", 15: "Shaft Seal Temperature" } xtemode = { 0: "auto", 1: "differential", 2: "estimated", 3: "simulation", 4: "manual" }