567 lines
15 KiB
Python
567 lines
15 KiB
Python
# 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",
|
|
11: "WEMA Custom?",
|
|
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"
|
|
},
|
|
11: {150: "WEMA Fluid level" # Custom?
|
|
},
|
|
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",
|
|
2046: "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"
|
|
}
|